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 opAcceptTransitGatewayMulticastDomainAssociations = "AcceptTransitGatewayMulticastDomainAssociations"
92
93// AcceptTransitGatewayMulticastDomainAssociationsRequest generates a "aws/request.Request" representing the
94// client's request for the AcceptTransitGatewayMulticastDomainAssociations 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 AcceptTransitGatewayMulticastDomainAssociations for more information on using the AcceptTransitGatewayMulticastDomainAssociations
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 AcceptTransitGatewayMulticastDomainAssociationsRequest method.
109//    req, resp := client.AcceptTransitGatewayMulticastDomainAssociationsRequest(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/AcceptTransitGatewayMulticastDomainAssociations
117func (c *EC2) AcceptTransitGatewayMulticastDomainAssociationsRequest(input *AcceptTransitGatewayMulticastDomainAssociationsInput) (req *request.Request, output *AcceptTransitGatewayMulticastDomainAssociationsOutput) {
118	op := &request.Operation{
119		Name:       opAcceptTransitGatewayMulticastDomainAssociations,
120		HTTPMethod: "POST",
121		HTTPPath:   "/",
122	}
123
124	if input == nil {
125		input = &AcceptTransitGatewayMulticastDomainAssociationsInput{}
126	}
127
128	output = &AcceptTransitGatewayMulticastDomainAssociationsOutput{}
129	req = c.newRequest(op, input, output)
130	return
131}
132
133// AcceptTransitGatewayMulticastDomainAssociations API operation for Amazon Elastic Compute Cloud.
134//
135// Accepts a request to associate subnets with a transit gateway multicast domain.
136//
137// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
138// with awserr.Error's Code and Message methods to get detailed information about
139// the error.
140//
141// See the AWS API reference guide for Amazon Elastic Compute Cloud's
142// API operation AcceptTransitGatewayMulticastDomainAssociations for usage and error information.
143// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptTransitGatewayMulticastDomainAssociations
144func (c *EC2) AcceptTransitGatewayMulticastDomainAssociations(input *AcceptTransitGatewayMulticastDomainAssociationsInput) (*AcceptTransitGatewayMulticastDomainAssociationsOutput, error) {
145	req, out := c.AcceptTransitGatewayMulticastDomainAssociationsRequest(input)
146	return out, req.Send()
147}
148
149// AcceptTransitGatewayMulticastDomainAssociationsWithContext is the same as AcceptTransitGatewayMulticastDomainAssociations with the addition of
150// the ability to pass a context and additional request options.
151//
152// See AcceptTransitGatewayMulticastDomainAssociations for details on how to use this API operation.
153//
154// The context must be non-nil and will be used for request cancellation. If
155// the context is nil a panic will occur. In the future the SDK may create
156// sub-contexts for http.Requests. See https://golang.org/pkg/context/
157// for more information on using Contexts.
158func (c *EC2) AcceptTransitGatewayMulticastDomainAssociationsWithContext(ctx aws.Context, input *AcceptTransitGatewayMulticastDomainAssociationsInput, opts ...request.Option) (*AcceptTransitGatewayMulticastDomainAssociationsOutput, error) {
159	req, out := c.AcceptTransitGatewayMulticastDomainAssociationsRequest(input)
160	req.SetContext(ctx)
161	req.ApplyOptions(opts...)
162	return out, req.Send()
163}
164
165const opAcceptTransitGatewayPeeringAttachment = "AcceptTransitGatewayPeeringAttachment"
166
167// AcceptTransitGatewayPeeringAttachmentRequest generates a "aws/request.Request" representing the
168// client's request for the AcceptTransitGatewayPeeringAttachment operation. The "output" return
169// value will be populated with the request's response once the request completes
170// successfully.
171//
172// Use "Send" method on the returned Request to send the API call to the service.
173// the "output" return value is not valid until after Send returns without error.
174//
175// See AcceptTransitGatewayPeeringAttachment for more information on using the AcceptTransitGatewayPeeringAttachment
176// API call, and error handling.
177//
178// This method is useful when you want to inject custom logic or configuration
179// into the SDK's request lifecycle. Such as custom headers, or retry logic.
180//
181//
182//    // Example sending a request using the AcceptTransitGatewayPeeringAttachmentRequest method.
183//    req, resp := client.AcceptTransitGatewayPeeringAttachmentRequest(params)
184//
185//    err := req.Send()
186//    if err == nil { // resp is now filled
187//        fmt.Println(resp)
188//    }
189//
190// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptTransitGatewayPeeringAttachment
191func (c *EC2) AcceptTransitGatewayPeeringAttachmentRequest(input *AcceptTransitGatewayPeeringAttachmentInput) (req *request.Request, output *AcceptTransitGatewayPeeringAttachmentOutput) {
192	op := &request.Operation{
193		Name:       opAcceptTransitGatewayPeeringAttachment,
194		HTTPMethod: "POST",
195		HTTPPath:   "/",
196	}
197
198	if input == nil {
199		input = &AcceptTransitGatewayPeeringAttachmentInput{}
200	}
201
202	output = &AcceptTransitGatewayPeeringAttachmentOutput{}
203	req = c.newRequest(op, input, output)
204	return
205}
206
207// AcceptTransitGatewayPeeringAttachment API operation for Amazon Elastic Compute Cloud.
208//
209// Accepts a transit gateway peering attachment request. The peering attachment
210// must be in the pendingAcceptance state.
211//
212// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
213// with awserr.Error's Code and Message methods to get detailed information about
214// the error.
215//
216// See the AWS API reference guide for Amazon Elastic Compute Cloud's
217// API operation AcceptTransitGatewayPeeringAttachment for usage and error information.
218// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptTransitGatewayPeeringAttachment
219func (c *EC2) AcceptTransitGatewayPeeringAttachment(input *AcceptTransitGatewayPeeringAttachmentInput) (*AcceptTransitGatewayPeeringAttachmentOutput, error) {
220	req, out := c.AcceptTransitGatewayPeeringAttachmentRequest(input)
221	return out, req.Send()
222}
223
224// AcceptTransitGatewayPeeringAttachmentWithContext is the same as AcceptTransitGatewayPeeringAttachment with the addition of
225// the ability to pass a context and additional request options.
226//
227// See AcceptTransitGatewayPeeringAttachment for details on how to use this API operation.
228//
229// The context must be non-nil and will be used for request cancellation. If
230// the context is nil a panic will occur. In the future the SDK may create
231// sub-contexts for http.Requests. See https://golang.org/pkg/context/
232// for more information on using Contexts.
233func (c *EC2) AcceptTransitGatewayPeeringAttachmentWithContext(ctx aws.Context, input *AcceptTransitGatewayPeeringAttachmentInput, opts ...request.Option) (*AcceptTransitGatewayPeeringAttachmentOutput, error) {
234	req, out := c.AcceptTransitGatewayPeeringAttachmentRequest(input)
235	req.SetContext(ctx)
236	req.ApplyOptions(opts...)
237	return out, req.Send()
238}
239
240const opAcceptTransitGatewayVpcAttachment = "AcceptTransitGatewayVpcAttachment"
241
242// AcceptTransitGatewayVpcAttachmentRequest generates a "aws/request.Request" representing the
243// client's request for the AcceptTransitGatewayVpcAttachment operation. The "output" return
244// value will be populated with the request's response once the request completes
245// successfully.
246//
247// Use "Send" method on the returned Request to send the API call to the service.
248// the "output" return value is not valid until after Send returns without error.
249//
250// See AcceptTransitGatewayVpcAttachment for more information on using the AcceptTransitGatewayVpcAttachment
251// API call, and error handling.
252//
253// This method is useful when you want to inject custom logic or configuration
254// into the SDK's request lifecycle. Such as custom headers, or retry logic.
255//
256//
257//    // Example sending a request using the AcceptTransitGatewayVpcAttachmentRequest method.
258//    req, resp := client.AcceptTransitGatewayVpcAttachmentRequest(params)
259//
260//    err := req.Send()
261//    if err == nil { // resp is now filled
262//        fmt.Println(resp)
263//    }
264//
265// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptTransitGatewayVpcAttachment
266func (c *EC2) AcceptTransitGatewayVpcAttachmentRequest(input *AcceptTransitGatewayVpcAttachmentInput) (req *request.Request, output *AcceptTransitGatewayVpcAttachmentOutput) {
267	op := &request.Operation{
268		Name:       opAcceptTransitGatewayVpcAttachment,
269		HTTPMethod: "POST",
270		HTTPPath:   "/",
271	}
272
273	if input == nil {
274		input = &AcceptTransitGatewayVpcAttachmentInput{}
275	}
276
277	output = &AcceptTransitGatewayVpcAttachmentOutput{}
278	req = c.newRequest(op, input, output)
279	return
280}
281
282// AcceptTransitGatewayVpcAttachment API operation for Amazon Elastic Compute Cloud.
283//
284// Accepts a request to attach a VPC to a transit gateway.
285//
286// The VPC attachment must be in the pendingAcceptance state. Use DescribeTransitGatewayVpcAttachments
287// to view your pending VPC attachment requests. Use RejectTransitGatewayVpcAttachment
288// to reject a VPC attachment request.
289//
290// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
291// with awserr.Error's Code and Message methods to get detailed information about
292// the error.
293//
294// See the AWS API reference guide for Amazon Elastic Compute Cloud's
295// API operation AcceptTransitGatewayVpcAttachment for usage and error information.
296// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptTransitGatewayVpcAttachment
297func (c *EC2) AcceptTransitGatewayVpcAttachment(input *AcceptTransitGatewayVpcAttachmentInput) (*AcceptTransitGatewayVpcAttachmentOutput, error) {
298	req, out := c.AcceptTransitGatewayVpcAttachmentRequest(input)
299	return out, req.Send()
300}
301
302// AcceptTransitGatewayVpcAttachmentWithContext is the same as AcceptTransitGatewayVpcAttachment with the addition of
303// the ability to pass a context and additional request options.
304//
305// See AcceptTransitGatewayVpcAttachment for details on how to use this API operation.
306//
307// The context must be non-nil and will be used for request cancellation. If
308// the context is nil a panic will occur. In the future the SDK may create
309// sub-contexts for http.Requests. See https://golang.org/pkg/context/
310// for more information on using Contexts.
311func (c *EC2) AcceptTransitGatewayVpcAttachmentWithContext(ctx aws.Context, input *AcceptTransitGatewayVpcAttachmentInput, opts ...request.Option) (*AcceptTransitGatewayVpcAttachmentOutput, error) {
312	req, out := c.AcceptTransitGatewayVpcAttachmentRequest(input)
313	req.SetContext(ctx)
314	req.ApplyOptions(opts...)
315	return out, req.Send()
316}
317
318const opAcceptVpcEndpointConnections = "AcceptVpcEndpointConnections"
319
320// AcceptVpcEndpointConnectionsRequest generates a "aws/request.Request" representing the
321// client's request for the AcceptVpcEndpointConnections operation. The "output" return
322// value will be populated with the request's response once the request completes
323// successfully.
324//
325// Use "Send" method on the returned Request to send the API call to the service.
326// the "output" return value is not valid until after Send returns without error.
327//
328// See AcceptVpcEndpointConnections for more information on using the AcceptVpcEndpointConnections
329// API call, and error handling.
330//
331// This method is useful when you want to inject custom logic or configuration
332// into the SDK's request lifecycle. Such as custom headers, or retry logic.
333//
334//
335//    // Example sending a request using the AcceptVpcEndpointConnectionsRequest method.
336//    req, resp := client.AcceptVpcEndpointConnectionsRequest(params)
337//
338//    err := req.Send()
339//    if err == nil { // resp is now filled
340//        fmt.Println(resp)
341//    }
342//
343// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptVpcEndpointConnections
344func (c *EC2) AcceptVpcEndpointConnectionsRequest(input *AcceptVpcEndpointConnectionsInput) (req *request.Request, output *AcceptVpcEndpointConnectionsOutput) {
345	op := &request.Operation{
346		Name:       opAcceptVpcEndpointConnections,
347		HTTPMethod: "POST",
348		HTTPPath:   "/",
349	}
350
351	if input == nil {
352		input = &AcceptVpcEndpointConnectionsInput{}
353	}
354
355	output = &AcceptVpcEndpointConnectionsOutput{}
356	req = c.newRequest(op, input, output)
357	return
358}
359
360// AcceptVpcEndpointConnections API operation for Amazon Elastic Compute Cloud.
361//
362// Accepts one or more interface VPC endpoint connection requests to your VPC
363// endpoint service.
364//
365// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
366// with awserr.Error's Code and Message methods to get detailed information about
367// the error.
368//
369// See the AWS API reference guide for Amazon Elastic Compute Cloud's
370// API operation AcceptVpcEndpointConnections for usage and error information.
371// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptVpcEndpointConnections
372func (c *EC2) AcceptVpcEndpointConnections(input *AcceptVpcEndpointConnectionsInput) (*AcceptVpcEndpointConnectionsOutput, error) {
373	req, out := c.AcceptVpcEndpointConnectionsRequest(input)
374	return out, req.Send()
375}
376
377// AcceptVpcEndpointConnectionsWithContext is the same as AcceptVpcEndpointConnections with the addition of
378// the ability to pass a context and additional request options.
379//
380// See AcceptVpcEndpointConnections for details on how to use this API operation.
381//
382// The context must be non-nil and will be used for request cancellation. If
383// the context is nil a panic will occur. In the future the SDK may create
384// sub-contexts for http.Requests. See https://golang.org/pkg/context/
385// for more information on using Contexts.
386func (c *EC2) AcceptVpcEndpointConnectionsWithContext(ctx aws.Context, input *AcceptVpcEndpointConnectionsInput, opts ...request.Option) (*AcceptVpcEndpointConnectionsOutput, error) {
387	req, out := c.AcceptVpcEndpointConnectionsRequest(input)
388	req.SetContext(ctx)
389	req.ApplyOptions(opts...)
390	return out, req.Send()
391}
392
393const opAcceptVpcPeeringConnection = "AcceptVpcPeeringConnection"
394
395// AcceptVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
396// client's request for the AcceptVpcPeeringConnection operation. The "output" return
397// value will be populated with the request's response once the request completes
398// successfully.
399//
400// Use "Send" method on the returned Request to send the API call to the service.
401// the "output" return value is not valid until after Send returns without error.
402//
403// See AcceptVpcPeeringConnection for more information on using the AcceptVpcPeeringConnection
404// API call, and error handling.
405//
406// This method is useful when you want to inject custom logic or configuration
407// into the SDK's request lifecycle. Such as custom headers, or retry logic.
408//
409//
410//    // Example sending a request using the AcceptVpcPeeringConnectionRequest method.
411//    req, resp := client.AcceptVpcPeeringConnectionRequest(params)
412//
413//    err := req.Send()
414//    if err == nil { // resp is now filled
415//        fmt.Println(resp)
416//    }
417//
418// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptVpcPeeringConnection
419func (c *EC2) AcceptVpcPeeringConnectionRequest(input *AcceptVpcPeeringConnectionInput) (req *request.Request, output *AcceptVpcPeeringConnectionOutput) {
420	op := &request.Operation{
421		Name:       opAcceptVpcPeeringConnection,
422		HTTPMethod: "POST",
423		HTTPPath:   "/",
424	}
425
426	if input == nil {
427		input = &AcceptVpcPeeringConnectionInput{}
428	}
429
430	output = &AcceptVpcPeeringConnectionOutput{}
431	req = c.newRequest(op, input, output)
432	return
433}
434
435// AcceptVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
436//
437// Accept a VPC peering connection request. To accept a request, the VPC peering
438// connection must be in the pending-acceptance state, and you must be the owner
439// of the peer VPC. Use DescribeVpcPeeringConnections to view your outstanding
440// VPC peering connection requests.
441//
442// For an inter-Region VPC peering connection request, you must accept the VPC
443// peering connection in the Region of the accepter VPC.
444//
445// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
446// with awserr.Error's Code and Message methods to get detailed information about
447// the error.
448//
449// See the AWS API reference guide for Amazon Elastic Compute Cloud's
450// API operation AcceptVpcPeeringConnection for usage and error information.
451// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptVpcPeeringConnection
452func (c *EC2) AcceptVpcPeeringConnection(input *AcceptVpcPeeringConnectionInput) (*AcceptVpcPeeringConnectionOutput, error) {
453	req, out := c.AcceptVpcPeeringConnectionRequest(input)
454	return out, req.Send()
455}
456
457// AcceptVpcPeeringConnectionWithContext is the same as AcceptVpcPeeringConnection with the addition of
458// the ability to pass a context and additional request options.
459//
460// See AcceptVpcPeeringConnection for details on how to use this API operation.
461//
462// The context must be non-nil and will be used for request cancellation. If
463// the context is nil a panic will occur. In the future the SDK may create
464// sub-contexts for http.Requests. See https://golang.org/pkg/context/
465// for more information on using Contexts.
466func (c *EC2) AcceptVpcPeeringConnectionWithContext(ctx aws.Context, input *AcceptVpcPeeringConnectionInput, opts ...request.Option) (*AcceptVpcPeeringConnectionOutput, error) {
467	req, out := c.AcceptVpcPeeringConnectionRequest(input)
468	req.SetContext(ctx)
469	req.ApplyOptions(opts...)
470	return out, req.Send()
471}
472
473const opAdvertiseByoipCidr = "AdvertiseByoipCidr"
474
475// AdvertiseByoipCidrRequest generates a "aws/request.Request" representing the
476// client's request for the AdvertiseByoipCidr operation. The "output" return
477// value will be populated with the request's response once the request completes
478// successfully.
479//
480// Use "Send" method on the returned Request to send the API call to the service.
481// the "output" return value is not valid until after Send returns without error.
482//
483// See AdvertiseByoipCidr for more information on using the AdvertiseByoipCidr
484// API call, and error handling.
485//
486// This method is useful when you want to inject custom logic or configuration
487// into the SDK's request lifecycle. Such as custom headers, or retry logic.
488//
489//
490//    // Example sending a request using the AdvertiseByoipCidrRequest method.
491//    req, resp := client.AdvertiseByoipCidrRequest(params)
492//
493//    err := req.Send()
494//    if err == nil { // resp is now filled
495//        fmt.Println(resp)
496//    }
497//
498// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AdvertiseByoipCidr
499func (c *EC2) AdvertiseByoipCidrRequest(input *AdvertiseByoipCidrInput) (req *request.Request, output *AdvertiseByoipCidrOutput) {
500	op := &request.Operation{
501		Name:       opAdvertiseByoipCidr,
502		HTTPMethod: "POST",
503		HTTPPath:   "/",
504	}
505
506	if input == nil {
507		input = &AdvertiseByoipCidrInput{}
508	}
509
510	output = &AdvertiseByoipCidrOutput{}
511	req = c.newRequest(op, input, output)
512	return
513}
514
515// AdvertiseByoipCidr API operation for Amazon Elastic Compute Cloud.
516//
517// Advertises an IPv4 or IPv6 address range that is provisioned for use with
518// your AWS resources through bring your own IP addresses (BYOIP).
519//
520// You can perform this operation at most once every 10 seconds, even if you
521// specify different address ranges each time.
522//
523// We recommend that you stop advertising the BYOIP CIDR from other locations
524// when you advertise it from AWS. To minimize down time, you can configure
525// your AWS resources to use an address from a BYOIP CIDR before it is advertised,
526// and then simultaneously stop advertising it from the current location and
527// start advertising it through AWS.
528//
529// It can take a few minutes before traffic to the specified addresses starts
530// routing to AWS because of BGP propagation delays.
531//
532// To stop advertising the BYOIP CIDR, use WithdrawByoipCidr.
533//
534// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
535// with awserr.Error's Code and Message methods to get detailed information about
536// the error.
537//
538// See the AWS API reference guide for Amazon Elastic Compute Cloud's
539// API operation AdvertiseByoipCidr for usage and error information.
540// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AdvertiseByoipCidr
541func (c *EC2) AdvertiseByoipCidr(input *AdvertiseByoipCidrInput) (*AdvertiseByoipCidrOutput, error) {
542	req, out := c.AdvertiseByoipCidrRequest(input)
543	return out, req.Send()
544}
545
546// AdvertiseByoipCidrWithContext is the same as AdvertiseByoipCidr with the addition of
547// the ability to pass a context and additional request options.
548//
549// See AdvertiseByoipCidr for details on how to use this API operation.
550//
551// The context must be non-nil and will be used for request cancellation. If
552// the context is nil a panic will occur. In the future the SDK may create
553// sub-contexts for http.Requests. See https://golang.org/pkg/context/
554// for more information on using Contexts.
555func (c *EC2) AdvertiseByoipCidrWithContext(ctx aws.Context, input *AdvertiseByoipCidrInput, opts ...request.Option) (*AdvertiseByoipCidrOutput, error) {
556	req, out := c.AdvertiseByoipCidrRequest(input)
557	req.SetContext(ctx)
558	req.ApplyOptions(opts...)
559	return out, req.Send()
560}
561
562const opAllocateAddress = "AllocateAddress"
563
564// AllocateAddressRequest generates a "aws/request.Request" representing the
565// client's request for the AllocateAddress operation. The "output" return
566// value will be populated with the request's response once the request completes
567// successfully.
568//
569// Use "Send" method on the returned Request to send the API call to the service.
570// the "output" return value is not valid until after Send returns without error.
571//
572// See AllocateAddress for more information on using the AllocateAddress
573// API call, and error handling.
574//
575// This method is useful when you want to inject custom logic or configuration
576// into the SDK's request lifecycle. Such as custom headers, or retry logic.
577//
578//
579//    // Example sending a request using the AllocateAddressRequest method.
580//    req, resp := client.AllocateAddressRequest(params)
581//
582//    err := req.Send()
583//    if err == nil { // resp is now filled
584//        fmt.Println(resp)
585//    }
586//
587// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateAddress
588func (c *EC2) AllocateAddressRequest(input *AllocateAddressInput) (req *request.Request, output *AllocateAddressOutput) {
589	op := &request.Operation{
590		Name:       opAllocateAddress,
591		HTTPMethod: "POST",
592		HTTPPath:   "/",
593	}
594
595	if input == nil {
596		input = &AllocateAddressInput{}
597	}
598
599	output = &AllocateAddressOutput{}
600	req = c.newRequest(op, input, output)
601	return
602}
603
604// AllocateAddress API operation for Amazon Elastic Compute Cloud.
605//
606// Allocates an Elastic IP address to your AWS account. After you allocate the
607// Elastic IP address you can associate it with an instance or network interface.
608// After you release an Elastic IP address, it is released to the IP address
609// pool and can be allocated to a different AWS account.
610//
611// You can allocate an Elastic IP address from an address pool owned by AWS
612// or from an address pool created from a public IPv4 address range that you
613// have brought to AWS for use with your AWS resources using bring your own
614// IP addresses (BYOIP). For more information, see Bring Your Own IP Addresses
615// (BYOIP) (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html)
616// in the Amazon Elastic Compute Cloud User Guide.
617//
618// [EC2-VPC] If you release an Elastic IP address, you might be able to recover
619// it. You cannot recover an Elastic IP address that you released after it is
620// allocated to another AWS account. You cannot recover an Elastic IP address
621// for EC2-Classic. To attempt to recover an Elastic IP address that you released,
622// specify it in this operation.
623//
624// An Elastic IP address is for use either in the EC2-Classic platform or in
625// a VPC. By default, you can allocate 5 Elastic IP addresses for EC2-Classic
626// per Region and 5 Elastic IP addresses for EC2-VPC per Region.
627//
628// For more information, see Elastic IP Addresses (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
629// in the Amazon Elastic Compute Cloud User Guide.
630//
631// You can allocate a carrier IP address which is a public IP address from a
632// telecommunication carrier, to a network interface which resides in a subnet
633// in a Wavelength Zone (for example an EC2 instance).
634//
635// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
636// with awserr.Error's Code and Message methods to get detailed information about
637// the error.
638//
639// See the AWS API reference guide for Amazon Elastic Compute Cloud's
640// API operation AllocateAddress for usage and error information.
641// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateAddress
642func (c *EC2) AllocateAddress(input *AllocateAddressInput) (*AllocateAddressOutput, error) {
643	req, out := c.AllocateAddressRequest(input)
644	return out, req.Send()
645}
646
647// AllocateAddressWithContext is the same as AllocateAddress with the addition of
648// the ability to pass a context and additional request options.
649//
650// See AllocateAddress for details on how to use this API operation.
651//
652// The context must be non-nil and will be used for request cancellation. If
653// the context is nil a panic will occur. In the future the SDK may create
654// sub-contexts for http.Requests. See https://golang.org/pkg/context/
655// for more information on using Contexts.
656func (c *EC2) AllocateAddressWithContext(ctx aws.Context, input *AllocateAddressInput, opts ...request.Option) (*AllocateAddressOutput, error) {
657	req, out := c.AllocateAddressRequest(input)
658	req.SetContext(ctx)
659	req.ApplyOptions(opts...)
660	return out, req.Send()
661}
662
663const opAllocateHosts = "AllocateHosts"
664
665// AllocateHostsRequest generates a "aws/request.Request" representing the
666// client's request for the AllocateHosts operation. The "output" return
667// value will be populated with the request's response once the request completes
668// successfully.
669//
670// Use "Send" method on the returned Request to send the API call to the service.
671// the "output" return value is not valid until after Send returns without error.
672//
673// See AllocateHosts for more information on using the AllocateHosts
674// API call, and error handling.
675//
676// This method is useful when you want to inject custom logic or configuration
677// into the SDK's request lifecycle. Such as custom headers, or retry logic.
678//
679//
680//    // Example sending a request using the AllocateHostsRequest method.
681//    req, resp := client.AllocateHostsRequest(params)
682//
683//    err := req.Send()
684//    if err == nil { // resp is now filled
685//        fmt.Println(resp)
686//    }
687//
688// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateHosts
689func (c *EC2) AllocateHostsRequest(input *AllocateHostsInput) (req *request.Request, output *AllocateHostsOutput) {
690	op := &request.Operation{
691		Name:       opAllocateHosts,
692		HTTPMethod: "POST",
693		HTTPPath:   "/",
694	}
695
696	if input == nil {
697		input = &AllocateHostsInput{}
698	}
699
700	output = &AllocateHostsOutput{}
701	req = c.newRequest(op, input, output)
702	return
703}
704
705// AllocateHosts API operation for Amazon Elastic Compute Cloud.
706//
707// Allocates a Dedicated Host to your account. At a minimum, specify the supported
708// instance type or instance family, the Availability Zone in which to allocate
709// the host, and the number of hosts to allocate.
710//
711// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
712// with awserr.Error's Code and Message methods to get detailed information about
713// the error.
714//
715// See the AWS API reference guide for Amazon Elastic Compute Cloud's
716// API operation AllocateHosts for usage and error information.
717// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateHosts
718func (c *EC2) AllocateHosts(input *AllocateHostsInput) (*AllocateHostsOutput, error) {
719	req, out := c.AllocateHostsRequest(input)
720	return out, req.Send()
721}
722
723// AllocateHostsWithContext is the same as AllocateHosts with the addition of
724// the ability to pass a context and additional request options.
725//
726// See AllocateHosts for details on how to use this API operation.
727//
728// The context must be non-nil and will be used for request cancellation. If
729// the context is nil a panic will occur. In the future the SDK may create
730// sub-contexts for http.Requests. See https://golang.org/pkg/context/
731// for more information on using Contexts.
732func (c *EC2) AllocateHostsWithContext(ctx aws.Context, input *AllocateHostsInput, opts ...request.Option) (*AllocateHostsOutput, error) {
733	req, out := c.AllocateHostsRequest(input)
734	req.SetContext(ctx)
735	req.ApplyOptions(opts...)
736	return out, req.Send()
737}
738
739const opApplySecurityGroupsToClientVpnTargetNetwork = "ApplySecurityGroupsToClientVpnTargetNetwork"
740
741// ApplySecurityGroupsToClientVpnTargetNetworkRequest generates a "aws/request.Request" representing the
742// client's request for the ApplySecurityGroupsToClientVpnTargetNetwork operation. The "output" return
743// value will be populated with the request's response once the request completes
744// successfully.
745//
746// Use "Send" method on the returned Request to send the API call to the service.
747// the "output" return value is not valid until after Send returns without error.
748//
749// See ApplySecurityGroupsToClientVpnTargetNetwork for more information on using the ApplySecurityGroupsToClientVpnTargetNetwork
750// API call, and error handling.
751//
752// This method is useful when you want to inject custom logic or configuration
753// into the SDK's request lifecycle. Such as custom headers, or retry logic.
754//
755//
756//    // Example sending a request using the ApplySecurityGroupsToClientVpnTargetNetworkRequest method.
757//    req, resp := client.ApplySecurityGroupsToClientVpnTargetNetworkRequest(params)
758//
759//    err := req.Send()
760//    if err == nil { // resp is now filled
761//        fmt.Println(resp)
762//    }
763//
764// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ApplySecurityGroupsToClientVpnTargetNetwork
765func (c *EC2) ApplySecurityGroupsToClientVpnTargetNetworkRequest(input *ApplySecurityGroupsToClientVpnTargetNetworkInput) (req *request.Request, output *ApplySecurityGroupsToClientVpnTargetNetworkOutput) {
766	op := &request.Operation{
767		Name:       opApplySecurityGroupsToClientVpnTargetNetwork,
768		HTTPMethod: "POST",
769		HTTPPath:   "/",
770	}
771
772	if input == nil {
773		input = &ApplySecurityGroupsToClientVpnTargetNetworkInput{}
774	}
775
776	output = &ApplySecurityGroupsToClientVpnTargetNetworkOutput{}
777	req = c.newRequest(op, input, output)
778	return
779}
780
781// ApplySecurityGroupsToClientVpnTargetNetwork API operation for Amazon Elastic Compute Cloud.
782//
783// Applies a security group to the association between the target network and
784// the Client VPN endpoint. This action replaces the existing security groups
785// with the specified security groups.
786//
787// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
788// with awserr.Error's Code and Message methods to get detailed information about
789// the error.
790//
791// See the AWS API reference guide for Amazon Elastic Compute Cloud's
792// API operation ApplySecurityGroupsToClientVpnTargetNetwork for usage and error information.
793// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ApplySecurityGroupsToClientVpnTargetNetwork
794func (c *EC2) ApplySecurityGroupsToClientVpnTargetNetwork(input *ApplySecurityGroupsToClientVpnTargetNetworkInput) (*ApplySecurityGroupsToClientVpnTargetNetworkOutput, error) {
795	req, out := c.ApplySecurityGroupsToClientVpnTargetNetworkRequest(input)
796	return out, req.Send()
797}
798
799// ApplySecurityGroupsToClientVpnTargetNetworkWithContext is the same as ApplySecurityGroupsToClientVpnTargetNetwork with the addition of
800// the ability to pass a context and additional request options.
801//
802// See ApplySecurityGroupsToClientVpnTargetNetwork for details on how to use this API operation.
803//
804// The context must be non-nil and will be used for request cancellation. If
805// the context is nil a panic will occur. In the future the SDK may create
806// sub-contexts for http.Requests. See https://golang.org/pkg/context/
807// for more information on using Contexts.
808func (c *EC2) ApplySecurityGroupsToClientVpnTargetNetworkWithContext(ctx aws.Context, input *ApplySecurityGroupsToClientVpnTargetNetworkInput, opts ...request.Option) (*ApplySecurityGroupsToClientVpnTargetNetworkOutput, error) {
809	req, out := c.ApplySecurityGroupsToClientVpnTargetNetworkRequest(input)
810	req.SetContext(ctx)
811	req.ApplyOptions(opts...)
812	return out, req.Send()
813}
814
815const opAssignIpv6Addresses = "AssignIpv6Addresses"
816
817// AssignIpv6AddressesRequest generates a "aws/request.Request" representing the
818// client's request for the AssignIpv6Addresses operation. The "output" return
819// value will be populated with the request's response once the request completes
820// successfully.
821//
822// Use "Send" method on the returned Request to send the API call to the service.
823// the "output" return value is not valid until after Send returns without error.
824//
825// See AssignIpv6Addresses for more information on using the AssignIpv6Addresses
826// API call, and error handling.
827//
828// This method is useful when you want to inject custom logic or configuration
829// into the SDK's request lifecycle. Such as custom headers, or retry logic.
830//
831//
832//    // Example sending a request using the AssignIpv6AddressesRequest method.
833//    req, resp := client.AssignIpv6AddressesRequest(params)
834//
835//    err := req.Send()
836//    if err == nil { // resp is now filled
837//        fmt.Println(resp)
838//    }
839//
840// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignIpv6Addresses
841func (c *EC2) AssignIpv6AddressesRequest(input *AssignIpv6AddressesInput) (req *request.Request, output *AssignIpv6AddressesOutput) {
842	op := &request.Operation{
843		Name:       opAssignIpv6Addresses,
844		HTTPMethod: "POST",
845		HTTPPath:   "/",
846	}
847
848	if input == nil {
849		input = &AssignIpv6AddressesInput{}
850	}
851
852	output = &AssignIpv6AddressesOutput{}
853	req = c.newRequest(op, input, output)
854	return
855}
856
857// AssignIpv6Addresses API operation for Amazon Elastic Compute Cloud.
858//
859// Assigns one or more IPv6 addresses to the specified network interface. You
860// can specify one or more specific IPv6 addresses, or you can specify the number
861// of IPv6 addresses to be automatically assigned from within the subnet's IPv6
862// CIDR block range. You can assign as many IPv6 addresses to a network interface
863// as you can assign private IPv4 addresses, and the limit varies per instance
864// type. For information, see IP Addresses Per Network Interface Per Instance
865// Type (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI)
866// in the Amazon Elastic Compute Cloud User Guide.
867//
868// You must specify either the IPv6 addresses or the IPv6 address count in the
869// request.
870//
871// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
872// with awserr.Error's Code and Message methods to get detailed information about
873// the error.
874//
875// See the AWS API reference guide for Amazon Elastic Compute Cloud's
876// API operation AssignIpv6Addresses for usage and error information.
877// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignIpv6Addresses
878func (c *EC2) AssignIpv6Addresses(input *AssignIpv6AddressesInput) (*AssignIpv6AddressesOutput, error) {
879	req, out := c.AssignIpv6AddressesRequest(input)
880	return out, req.Send()
881}
882
883// AssignIpv6AddressesWithContext is the same as AssignIpv6Addresses with the addition of
884// the ability to pass a context and additional request options.
885//
886// See AssignIpv6Addresses for details on how to use this API operation.
887//
888// The context must be non-nil and will be used for request cancellation. If
889// the context is nil a panic will occur. In the future the SDK may create
890// sub-contexts for http.Requests. See https://golang.org/pkg/context/
891// for more information on using Contexts.
892func (c *EC2) AssignIpv6AddressesWithContext(ctx aws.Context, input *AssignIpv6AddressesInput, opts ...request.Option) (*AssignIpv6AddressesOutput, error) {
893	req, out := c.AssignIpv6AddressesRequest(input)
894	req.SetContext(ctx)
895	req.ApplyOptions(opts...)
896	return out, req.Send()
897}
898
899const opAssignPrivateIpAddresses = "AssignPrivateIpAddresses"
900
901// AssignPrivateIpAddressesRequest generates a "aws/request.Request" representing the
902// client's request for the AssignPrivateIpAddresses operation. The "output" return
903// value will be populated with the request's response once the request completes
904// successfully.
905//
906// Use "Send" method on the returned Request to send the API call to the service.
907// the "output" return value is not valid until after Send returns without error.
908//
909// See AssignPrivateIpAddresses for more information on using the AssignPrivateIpAddresses
910// API call, and error handling.
911//
912// This method is useful when you want to inject custom logic or configuration
913// into the SDK's request lifecycle. Such as custom headers, or retry logic.
914//
915//
916//    // Example sending a request using the AssignPrivateIpAddressesRequest method.
917//    req, resp := client.AssignPrivateIpAddressesRequest(params)
918//
919//    err := req.Send()
920//    if err == nil { // resp is now filled
921//        fmt.Println(resp)
922//    }
923//
924// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignPrivateIpAddresses
925func (c *EC2) AssignPrivateIpAddressesRequest(input *AssignPrivateIpAddressesInput) (req *request.Request, output *AssignPrivateIpAddressesOutput) {
926	op := &request.Operation{
927		Name:       opAssignPrivateIpAddresses,
928		HTTPMethod: "POST",
929		HTTPPath:   "/",
930	}
931
932	if input == nil {
933		input = &AssignPrivateIpAddressesInput{}
934	}
935
936	output = &AssignPrivateIpAddressesOutput{}
937	req = c.newRequest(op, input, output)
938	return
939}
940
941// AssignPrivateIpAddresses API operation for Amazon Elastic Compute Cloud.
942//
943// Assigns one or more secondary private IP addresses to the specified network
944// interface.
945//
946// You can specify one or more specific secondary IP addresses, or you can specify
947// the number of secondary IP addresses to be automatically assigned within
948// the subnet's CIDR block range. The number of secondary IP addresses that
949// you can assign to an instance varies by instance type. For information about
950// instance types, see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
951// in the Amazon Elastic Compute Cloud User Guide. For more information about
952// Elastic IP addresses, see Elastic IP Addresses (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
953// in the Amazon Elastic Compute Cloud User Guide.
954//
955// When you move a secondary private IP address to another network interface,
956// any Elastic IP address that is associated with the IP address is also moved.
957//
958// Remapping an IP address is an asynchronous operation. When you move an IP
959// address from one network interface to another, check network/interfaces/macs/mac/local-ipv4s
960// in the instance metadata to confirm that the remapping is complete.
961//
962// You must specify either the IP addresses or the IP address count in the request.
963//
964// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
965// with awserr.Error's Code and Message methods to get detailed information about
966// the error.
967//
968// See the AWS API reference guide for Amazon Elastic Compute Cloud's
969// API operation AssignPrivateIpAddresses for usage and error information.
970// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignPrivateIpAddresses
971func (c *EC2) AssignPrivateIpAddresses(input *AssignPrivateIpAddressesInput) (*AssignPrivateIpAddressesOutput, error) {
972	req, out := c.AssignPrivateIpAddressesRequest(input)
973	return out, req.Send()
974}
975
976// AssignPrivateIpAddressesWithContext is the same as AssignPrivateIpAddresses with the addition of
977// the ability to pass a context and additional request options.
978//
979// See AssignPrivateIpAddresses for details on how to use this API operation.
980//
981// The context must be non-nil and will be used for request cancellation. If
982// the context is nil a panic will occur. In the future the SDK may create
983// sub-contexts for http.Requests. See https://golang.org/pkg/context/
984// for more information on using Contexts.
985func (c *EC2) AssignPrivateIpAddressesWithContext(ctx aws.Context, input *AssignPrivateIpAddressesInput, opts ...request.Option) (*AssignPrivateIpAddressesOutput, error) {
986	req, out := c.AssignPrivateIpAddressesRequest(input)
987	req.SetContext(ctx)
988	req.ApplyOptions(opts...)
989	return out, req.Send()
990}
991
992const opAssociateAddress = "AssociateAddress"
993
994// AssociateAddressRequest generates a "aws/request.Request" representing the
995// client's request for the AssociateAddress operation. The "output" return
996// value will be populated with the request's response once the request completes
997// successfully.
998//
999// Use "Send" method on the returned Request to send the API call to the service.
1000// the "output" return value is not valid until after Send returns without error.
1001//
1002// See AssociateAddress for more information on using the AssociateAddress
1003// API call, and error handling.
1004//
1005// This method is useful when you want to inject custom logic or configuration
1006// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1007//
1008//
1009//    // Example sending a request using the AssociateAddressRequest method.
1010//    req, resp := client.AssociateAddressRequest(params)
1011//
1012//    err := req.Send()
1013//    if err == nil { // resp is now filled
1014//        fmt.Println(resp)
1015//    }
1016//
1017// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateAddress
1018func (c *EC2) AssociateAddressRequest(input *AssociateAddressInput) (req *request.Request, output *AssociateAddressOutput) {
1019	op := &request.Operation{
1020		Name:       opAssociateAddress,
1021		HTTPMethod: "POST",
1022		HTTPPath:   "/",
1023	}
1024
1025	if input == nil {
1026		input = &AssociateAddressInput{}
1027	}
1028
1029	output = &AssociateAddressOutput{}
1030	req = c.newRequest(op, input, output)
1031	return
1032}
1033
1034// AssociateAddress API operation for Amazon Elastic Compute Cloud.
1035//
1036// Associates an Elastic IP address, or carrier IP address (for instances that
1037// are in subnets in Wavelength Zones) with an instance or a network interface.
1038// Before you can use an Elastic IP address, you must allocate it to your account.
1039//
1040// An Elastic IP address is for use in either the EC2-Classic platform or in
1041// a VPC. For more information, see Elastic IP Addresses (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
1042// in the Amazon Elastic Compute Cloud User Guide.
1043//
1044// [EC2-Classic, VPC in an EC2-VPC-only account] If the Elastic IP address is
1045// already associated with a different instance, it is disassociated from that
1046// instance and associated with the specified instance. If you associate an
1047// Elastic IP address with an instance that has an existing Elastic IP address,
1048// the existing address is disassociated from the instance, but remains allocated
1049// to your account.
1050//
1051// [VPC in an EC2-Classic account] If you don't specify a private IP address,
1052// the Elastic IP address is associated with the primary IP address. If the
1053// Elastic IP address is already associated with a different instance or a network
1054// interface, you get an error unless you allow reassociation. You cannot associate
1055// an Elastic IP address with an instance or network interface that has an existing
1056// Elastic IP address.
1057//
1058// [Subnets in Wavelength Zones] You can associate an IP address from the telecommunication
1059// carrier to the instance or network interface.
1060//
1061// You cannot associate an Elastic IP address with an interface in a different
1062// network border group.
1063//
1064// This is an idempotent operation. If you perform the operation more than once,
1065// Amazon EC2 doesn't return an error, and you may be charged for each time
1066// the Elastic IP address is remapped to the same instance. For more information,
1067// see the Elastic IP Addresses section of Amazon EC2 Pricing (http://aws.amazon.com/ec2/pricing/).
1068//
1069// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1070// with awserr.Error's Code and Message methods to get detailed information about
1071// the error.
1072//
1073// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1074// API operation AssociateAddress for usage and error information.
1075// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateAddress
1076func (c *EC2) AssociateAddress(input *AssociateAddressInput) (*AssociateAddressOutput, error) {
1077	req, out := c.AssociateAddressRequest(input)
1078	return out, req.Send()
1079}
1080
1081// AssociateAddressWithContext is the same as AssociateAddress with the addition of
1082// the ability to pass a context and additional request options.
1083//
1084// See AssociateAddress for details on how to use this API operation.
1085//
1086// The context must be non-nil and will be used for request cancellation. If
1087// the context is nil a panic will occur. In the future the SDK may create
1088// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1089// for more information on using Contexts.
1090func (c *EC2) AssociateAddressWithContext(ctx aws.Context, input *AssociateAddressInput, opts ...request.Option) (*AssociateAddressOutput, error) {
1091	req, out := c.AssociateAddressRequest(input)
1092	req.SetContext(ctx)
1093	req.ApplyOptions(opts...)
1094	return out, req.Send()
1095}
1096
1097const opAssociateClientVpnTargetNetwork = "AssociateClientVpnTargetNetwork"
1098
1099// AssociateClientVpnTargetNetworkRequest generates a "aws/request.Request" representing the
1100// client's request for the AssociateClientVpnTargetNetwork operation. The "output" return
1101// value will be populated with the request's response once the request completes
1102// successfully.
1103//
1104// Use "Send" method on the returned Request to send the API call to the service.
1105// the "output" return value is not valid until after Send returns without error.
1106//
1107// See AssociateClientVpnTargetNetwork for more information on using the AssociateClientVpnTargetNetwork
1108// API call, and error handling.
1109//
1110// This method is useful when you want to inject custom logic or configuration
1111// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1112//
1113//
1114//    // Example sending a request using the AssociateClientVpnTargetNetworkRequest method.
1115//    req, resp := client.AssociateClientVpnTargetNetworkRequest(params)
1116//
1117//    err := req.Send()
1118//    if err == nil { // resp is now filled
1119//        fmt.Println(resp)
1120//    }
1121//
1122// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateClientVpnTargetNetwork
1123func (c *EC2) AssociateClientVpnTargetNetworkRequest(input *AssociateClientVpnTargetNetworkInput) (req *request.Request, output *AssociateClientVpnTargetNetworkOutput) {
1124	op := &request.Operation{
1125		Name:       opAssociateClientVpnTargetNetwork,
1126		HTTPMethod: "POST",
1127		HTTPPath:   "/",
1128	}
1129
1130	if input == nil {
1131		input = &AssociateClientVpnTargetNetworkInput{}
1132	}
1133
1134	output = &AssociateClientVpnTargetNetworkOutput{}
1135	req = c.newRequest(op, input, output)
1136	return
1137}
1138
1139// AssociateClientVpnTargetNetwork API operation for Amazon Elastic Compute Cloud.
1140//
1141// Associates a target network with a Client VPN endpoint. A target network
1142// is a subnet in a VPC. You can associate multiple subnets from the same VPC
1143// with a Client VPN endpoint. You can associate only one subnet in each Availability
1144// Zone. We recommend that you associate at least two subnets to provide Availability
1145// Zone redundancy.
1146//
1147// If you specified a VPC when you created the Client VPN endpoint or if you
1148// have previous subnet associations, the specified subnet must be in the same
1149// VPC. To specify a subnet that's in a different VPC, you must first modify
1150// the Client VPN endpoint (ModifyClientVpnEndpoint) and change the VPC that's
1151// associated with it.
1152//
1153// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1154// with awserr.Error's Code and Message methods to get detailed information about
1155// the error.
1156//
1157// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1158// API operation AssociateClientVpnTargetNetwork for usage and error information.
1159// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateClientVpnTargetNetwork
1160func (c *EC2) AssociateClientVpnTargetNetwork(input *AssociateClientVpnTargetNetworkInput) (*AssociateClientVpnTargetNetworkOutput, error) {
1161	req, out := c.AssociateClientVpnTargetNetworkRequest(input)
1162	return out, req.Send()
1163}
1164
1165// AssociateClientVpnTargetNetworkWithContext is the same as AssociateClientVpnTargetNetwork with the addition of
1166// the ability to pass a context and additional request options.
1167//
1168// See AssociateClientVpnTargetNetwork for details on how to use this API operation.
1169//
1170// The context must be non-nil and will be used for request cancellation. If
1171// the context is nil a panic will occur. In the future the SDK may create
1172// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1173// for more information on using Contexts.
1174func (c *EC2) AssociateClientVpnTargetNetworkWithContext(ctx aws.Context, input *AssociateClientVpnTargetNetworkInput, opts ...request.Option) (*AssociateClientVpnTargetNetworkOutput, error) {
1175	req, out := c.AssociateClientVpnTargetNetworkRequest(input)
1176	req.SetContext(ctx)
1177	req.ApplyOptions(opts...)
1178	return out, req.Send()
1179}
1180
1181const opAssociateDhcpOptions = "AssociateDhcpOptions"
1182
1183// AssociateDhcpOptionsRequest generates a "aws/request.Request" representing the
1184// client's request for the AssociateDhcpOptions operation. The "output" return
1185// value will be populated with the request's response once the request completes
1186// successfully.
1187//
1188// Use "Send" method on the returned Request to send the API call to the service.
1189// the "output" return value is not valid until after Send returns without error.
1190//
1191// See AssociateDhcpOptions for more information on using the AssociateDhcpOptions
1192// API call, and error handling.
1193//
1194// This method is useful when you want to inject custom logic or configuration
1195// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1196//
1197//
1198//    // Example sending a request using the AssociateDhcpOptionsRequest method.
1199//    req, resp := client.AssociateDhcpOptionsRequest(params)
1200//
1201//    err := req.Send()
1202//    if err == nil { // resp is now filled
1203//        fmt.Println(resp)
1204//    }
1205//
1206// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateDhcpOptions
1207func (c *EC2) AssociateDhcpOptionsRequest(input *AssociateDhcpOptionsInput) (req *request.Request, output *AssociateDhcpOptionsOutput) {
1208	op := &request.Operation{
1209		Name:       opAssociateDhcpOptions,
1210		HTTPMethod: "POST",
1211		HTTPPath:   "/",
1212	}
1213
1214	if input == nil {
1215		input = &AssociateDhcpOptionsInput{}
1216	}
1217
1218	output = &AssociateDhcpOptionsOutput{}
1219	req = c.newRequest(op, input, output)
1220	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1221	return
1222}
1223
1224// AssociateDhcpOptions API operation for Amazon Elastic Compute Cloud.
1225//
1226// Associates a set of DHCP options (that you've previously created) with the
1227// specified VPC, or associates no DHCP options with the VPC.
1228//
1229// After you associate the options with the VPC, any existing instances and
1230// all new instances that you launch in that VPC use the options. You don't
1231// need to restart or relaunch the instances. They automatically pick up the
1232// changes within a few hours, depending on how frequently the instance renews
1233// its DHCP lease. You can explicitly renew the lease using the operating system
1234// on the instance.
1235//
1236// For more information, see DHCP Options Sets (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html)
1237// in the Amazon Virtual Private Cloud User Guide.
1238//
1239// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1240// with awserr.Error's Code and Message methods to get detailed information about
1241// the error.
1242//
1243// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1244// API operation AssociateDhcpOptions for usage and error information.
1245// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateDhcpOptions
1246func (c *EC2) AssociateDhcpOptions(input *AssociateDhcpOptionsInput) (*AssociateDhcpOptionsOutput, error) {
1247	req, out := c.AssociateDhcpOptionsRequest(input)
1248	return out, req.Send()
1249}
1250
1251// AssociateDhcpOptionsWithContext is the same as AssociateDhcpOptions with the addition of
1252// the ability to pass a context and additional request options.
1253//
1254// See AssociateDhcpOptions for details on how to use this API operation.
1255//
1256// The context must be non-nil and will be used for request cancellation. If
1257// the context is nil a panic will occur. In the future the SDK may create
1258// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1259// for more information on using Contexts.
1260func (c *EC2) AssociateDhcpOptionsWithContext(ctx aws.Context, input *AssociateDhcpOptionsInput, opts ...request.Option) (*AssociateDhcpOptionsOutput, error) {
1261	req, out := c.AssociateDhcpOptionsRequest(input)
1262	req.SetContext(ctx)
1263	req.ApplyOptions(opts...)
1264	return out, req.Send()
1265}
1266
1267const opAssociateEnclaveCertificateIamRole = "AssociateEnclaveCertificateIamRole"
1268
1269// AssociateEnclaveCertificateIamRoleRequest generates a "aws/request.Request" representing the
1270// client's request for the AssociateEnclaveCertificateIamRole operation. The "output" return
1271// value will be populated with the request's response once the request completes
1272// successfully.
1273//
1274// Use "Send" method on the returned Request to send the API call to the service.
1275// the "output" return value is not valid until after Send returns without error.
1276//
1277// See AssociateEnclaveCertificateIamRole for more information on using the AssociateEnclaveCertificateIamRole
1278// API call, and error handling.
1279//
1280// This method is useful when you want to inject custom logic or configuration
1281// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1282//
1283//
1284//    // Example sending a request using the AssociateEnclaveCertificateIamRoleRequest method.
1285//    req, resp := client.AssociateEnclaveCertificateIamRoleRequest(params)
1286//
1287//    err := req.Send()
1288//    if err == nil { // resp is now filled
1289//        fmt.Println(resp)
1290//    }
1291//
1292// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateEnclaveCertificateIamRole
1293func (c *EC2) AssociateEnclaveCertificateIamRoleRequest(input *AssociateEnclaveCertificateIamRoleInput) (req *request.Request, output *AssociateEnclaveCertificateIamRoleOutput) {
1294	op := &request.Operation{
1295		Name:       opAssociateEnclaveCertificateIamRole,
1296		HTTPMethod: "POST",
1297		HTTPPath:   "/",
1298	}
1299
1300	if input == nil {
1301		input = &AssociateEnclaveCertificateIamRoleInput{}
1302	}
1303
1304	output = &AssociateEnclaveCertificateIamRoleOutput{}
1305	req = c.newRequest(op, input, output)
1306	return
1307}
1308
1309// AssociateEnclaveCertificateIamRole API operation for Amazon Elastic Compute Cloud.
1310//
1311// Associates an AWS Identity and Access Management (IAM) role with an AWS Certificate
1312// Manager (ACM) certificate. This enables the certificate to be used by the
1313// ACM for Nitro Enclaves application inside an enclave. For more information,
1314// see AWS Certificate Manager for Nitro Enclaves (https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave-refapp.html)
1315// in the AWS Nitro Enclaves User Guide.
1316//
1317// When the IAM role is associated with the ACM certificate, the certificate,
1318// certificate chain, and encrypted private key are placed in an Amazon S3 bucket
1319// that only the associated IAM role can access. The private key of the certificate
1320// is encrypted with an AWS-managed KMS customer master (CMK) that has an attached
1321// attestation-based CMK policy.
1322//
1323// To enable the IAM role to access the Amazon S3 object, you must grant it
1324// permission to call s3:GetObject on the Amazon S3 bucket returned by the command.
1325// To enable the IAM role to access the AWS KMS CMK, you must grant it permission
1326// to call kms:Decrypt on the AWS KMS CMK returned by the command. For more
1327// information, see Grant the role permission to access the certificate and
1328// encryption key (https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave-refapp.html#add-policy)
1329// in the AWS Nitro Enclaves User Guide.
1330//
1331// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1332// with awserr.Error's Code and Message methods to get detailed information about
1333// the error.
1334//
1335// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1336// API operation AssociateEnclaveCertificateIamRole for usage and error information.
1337// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateEnclaveCertificateIamRole
1338func (c *EC2) AssociateEnclaveCertificateIamRole(input *AssociateEnclaveCertificateIamRoleInput) (*AssociateEnclaveCertificateIamRoleOutput, error) {
1339	req, out := c.AssociateEnclaveCertificateIamRoleRequest(input)
1340	return out, req.Send()
1341}
1342
1343// AssociateEnclaveCertificateIamRoleWithContext is the same as AssociateEnclaveCertificateIamRole with the addition of
1344// the ability to pass a context and additional request options.
1345//
1346// See AssociateEnclaveCertificateIamRole for details on how to use this API operation.
1347//
1348// The context must be non-nil and will be used for request cancellation. If
1349// the context is nil a panic will occur. In the future the SDK may create
1350// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1351// for more information on using Contexts.
1352func (c *EC2) AssociateEnclaveCertificateIamRoleWithContext(ctx aws.Context, input *AssociateEnclaveCertificateIamRoleInput, opts ...request.Option) (*AssociateEnclaveCertificateIamRoleOutput, error) {
1353	req, out := c.AssociateEnclaveCertificateIamRoleRequest(input)
1354	req.SetContext(ctx)
1355	req.ApplyOptions(opts...)
1356	return out, req.Send()
1357}
1358
1359const opAssociateIamInstanceProfile = "AssociateIamInstanceProfile"
1360
1361// AssociateIamInstanceProfileRequest generates a "aws/request.Request" representing the
1362// client's request for the AssociateIamInstanceProfile operation. The "output" return
1363// value will be populated with the request's response once the request completes
1364// successfully.
1365//
1366// Use "Send" method on the returned Request to send the API call to the service.
1367// the "output" return value is not valid until after Send returns without error.
1368//
1369// See AssociateIamInstanceProfile for more information on using the AssociateIamInstanceProfile
1370// API call, and error handling.
1371//
1372// This method is useful when you want to inject custom logic or configuration
1373// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1374//
1375//
1376//    // Example sending a request using the AssociateIamInstanceProfileRequest method.
1377//    req, resp := client.AssociateIamInstanceProfileRequest(params)
1378//
1379//    err := req.Send()
1380//    if err == nil { // resp is now filled
1381//        fmt.Println(resp)
1382//    }
1383//
1384// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateIamInstanceProfile
1385func (c *EC2) AssociateIamInstanceProfileRequest(input *AssociateIamInstanceProfileInput) (req *request.Request, output *AssociateIamInstanceProfileOutput) {
1386	op := &request.Operation{
1387		Name:       opAssociateIamInstanceProfile,
1388		HTTPMethod: "POST",
1389		HTTPPath:   "/",
1390	}
1391
1392	if input == nil {
1393		input = &AssociateIamInstanceProfileInput{}
1394	}
1395
1396	output = &AssociateIamInstanceProfileOutput{}
1397	req = c.newRequest(op, input, output)
1398	return
1399}
1400
1401// AssociateIamInstanceProfile API operation for Amazon Elastic Compute Cloud.
1402//
1403// Associates an IAM instance profile with a running or stopped instance. You
1404// cannot associate more than one IAM instance profile with an instance.
1405//
1406// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1407// with awserr.Error's Code and Message methods to get detailed information about
1408// the error.
1409//
1410// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1411// API operation AssociateIamInstanceProfile for usage and error information.
1412// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateIamInstanceProfile
1413func (c *EC2) AssociateIamInstanceProfile(input *AssociateIamInstanceProfileInput) (*AssociateIamInstanceProfileOutput, error) {
1414	req, out := c.AssociateIamInstanceProfileRequest(input)
1415	return out, req.Send()
1416}
1417
1418// AssociateIamInstanceProfileWithContext is the same as AssociateIamInstanceProfile with the addition of
1419// the ability to pass a context and additional request options.
1420//
1421// See AssociateIamInstanceProfile for details on how to use this API operation.
1422//
1423// The context must be non-nil and will be used for request cancellation. If
1424// the context is nil a panic will occur. In the future the SDK may create
1425// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1426// for more information on using Contexts.
1427func (c *EC2) AssociateIamInstanceProfileWithContext(ctx aws.Context, input *AssociateIamInstanceProfileInput, opts ...request.Option) (*AssociateIamInstanceProfileOutput, error) {
1428	req, out := c.AssociateIamInstanceProfileRequest(input)
1429	req.SetContext(ctx)
1430	req.ApplyOptions(opts...)
1431	return out, req.Send()
1432}
1433
1434const opAssociateRouteTable = "AssociateRouteTable"
1435
1436// AssociateRouteTableRequest generates a "aws/request.Request" representing the
1437// client's request for the AssociateRouteTable operation. The "output" return
1438// value will be populated with the request's response once the request completes
1439// successfully.
1440//
1441// Use "Send" method on the returned Request to send the API call to the service.
1442// the "output" return value is not valid until after Send returns without error.
1443//
1444// See AssociateRouteTable for more information on using the AssociateRouteTable
1445// API call, and error handling.
1446//
1447// This method is useful when you want to inject custom logic or configuration
1448// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1449//
1450//
1451//    // Example sending a request using the AssociateRouteTableRequest method.
1452//    req, resp := client.AssociateRouteTableRequest(params)
1453//
1454//    err := req.Send()
1455//    if err == nil { // resp is now filled
1456//        fmt.Println(resp)
1457//    }
1458//
1459// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateRouteTable
1460func (c *EC2) AssociateRouteTableRequest(input *AssociateRouteTableInput) (req *request.Request, output *AssociateRouteTableOutput) {
1461	op := &request.Operation{
1462		Name:       opAssociateRouteTable,
1463		HTTPMethod: "POST",
1464		HTTPPath:   "/",
1465	}
1466
1467	if input == nil {
1468		input = &AssociateRouteTableInput{}
1469	}
1470
1471	output = &AssociateRouteTableOutput{}
1472	req = c.newRequest(op, input, output)
1473	return
1474}
1475
1476// AssociateRouteTable API operation for Amazon Elastic Compute Cloud.
1477//
1478// Associates a subnet in your VPC or an internet gateway or virtual private
1479// gateway attached to your VPC with a route table in your VPC. This association
1480// causes traffic from the subnet or gateway to be routed according to the routes
1481// in the route table. The action returns an association ID, which you need
1482// in order to disassociate the route table later. A route table can be associated
1483// with multiple subnets.
1484//
1485// For more information, see Route Tables (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html)
1486// in the Amazon Virtual Private Cloud User Guide.
1487//
1488// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1489// with awserr.Error's Code and Message methods to get detailed information about
1490// the error.
1491//
1492// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1493// API operation AssociateRouteTable for usage and error information.
1494// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateRouteTable
1495func (c *EC2) AssociateRouteTable(input *AssociateRouteTableInput) (*AssociateRouteTableOutput, error) {
1496	req, out := c.AssociateRouteTableRequest(input)
1497	return out, req.Send()
1498}
1499
1500// AssociateRouteTableWithContext is the same as AssociateRouteTable with the addition of
1501// the ability to pass a context and additional request options.
1502//
1503// See AssociateRouteTable for details on how to use this API operation.
1504//
1505// The context must be non-nil and will be used for request cancellation. If
1506// the context is nil a panic will occur. In the future the SDK may create
1507// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1508// for more information on using Contexts.
1509func (c *EC2) AssociateRouteTableWithContext(ctx aws.Context, input *AssociateRouteTableInput, opts ...request.Option) (*AssociateRouteTableOutput, error) {
1510	req, out := c.AssociateRouteTableRequest(input)
1511	req.SetContext(ctx)
1512	req.ApplyOptions(opts...)
1513	return out, req.Send()
1514}
1515
1516const opAssociateSubnetCidrBlock = "AssociateSubnetCidrBlock"
1517
1518// AssociateSubnetCidrBlockRequest generates a "aws/request.Request" representing the
1519// client's request for the AssociateSubnetCidrBlock operation. The "output" return
1520// value will be populated with the request's response once the request completes
1521// successfully.
1522//
1523// Use "Send" method on the returned Request to send the API call to the service.
1524// the "output" return value is not valid until after Send returns without error.
1525//
1526// See AssociateSubnetCidrBlock for more information on using the AssociateSubnetCidrBlock
1527// API call, and error handling.
1528//
1529// This method is useful when you want to inject custom logic or configuration
1530// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1531//
1532//
1533//    // Example sending a request using the AssociateSubnetCidrBlockRequest method.
1534//    req, resp := client.AssociateSubnetCidrBlockRequest(params)
1535//
1536//    err := req.Send()
1537//    if err == nil { // resp is now filled
1538//        fmt.Println(resp)
1539//    }
1540//
1541// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateSubnetCidrBlock
1542func (c *EC2) AssociateSubnetCidrBlockRequest(input *AssociateSubnetCidrBlockInput) (req *request.Request, output *AssociateSubnetCidrBlockOutput) {
1543	op := &request.Operation{
1544		Name:       opAssociateSubnetCidrBlock,
1545		HTTPMethod: "POST",
1546		HTTPPath:   "/",
1547	}
1548
1549	if input == nil {
1550		input = &AssociateSubnetCidrBlockInput{}
1551	}
1552
1553	output = &AssociateSubnetCidrBlockOutput{}
1554	req = c.newRequest(op, input, output)
1555	return
1556}
1557
1558// AssociateSubnetCidrBlock API operation for Amazon Elastic Compute Cloud.
1559//
1560// Associates a CIDR block with your subnet. You can only associate a single
1561// IPv6 CIDR block with your subnet. An IPv6 CIDR block must have a prefix length
1562// of /64.
1563//
1564// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1565// with awserr.Error's Code and Message methods to get detailed information about
1566// the error.
1567//
1568// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1569// API operation AssociateSubnetCidrBlock for usage and error information.
1570// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateSubnetCidrBlock
1571func (c *EC2) AssociateSubnetCidrBlock(input *AssociateSubnetCidrBlockInput) (*AssociateSubnetCidrBlockOutput, error) {
1572	req, out := c.AssociateSubnetCidrBlockRequest(input)
1573	return out, req.Send()
1574}
1575
1576// AssociateSubnetCidrBlockWithContext is the same as AssociateSubnetCidrBlock with the addition of
1577// the ability to pass a context and additional request options.
1578//
1579// See AssociateSubnetCidrBlock for details on how to use this API operation.
1580//
1581// The context must be non-nil and will be used for request cancellation. If
1582// the context is nil a panic will occur. In the future the SDK may create
1583// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1584// for more information on using Contexts.
1585func (c *EC2) AssociateSubnetCidrBlockWithContext(ctx aws.Context, input *AssociateSubnetCidrBlockInput, opts ...request.Option) (*AssociateSubnetCidrBlockOutput, error) {
1586	req, out := c.AssociateSubnetCidrBlockRequest(input)
1587	req.SetContext(ctx)
1588	req.ApplyOptions(opts...)
1589	return out, req.Send()
1590}
1591
1592const opAssociateTransitGatewayMulticastDomain = "AssociateTransitGatewayMulticastDomain"
1593
1594// AssociateTransitGatewayMulticastDomainRequest generates a "aws/request.Request" representing the
1595// client's request for the AssociateTransitGatewayMulticastDomain operation. The "output" return
1596// value will be populated with the request's response once the request completes
1597// successfully.
1598//
1599// Use "Send" method on the returned Request to send the API call to the service.
1600// the "output" return value is not valid until after Send returns without error.
1601//
1602// See AssociateTransitGatewayMulticastDomain for more information on using the AssociateTransitGatewayMulticastDomain
1603// API call, and error handling.
1604//
1605// This method is useful when you want to inject custom logic or configuration
1606// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1607//
1608//
1609//    // Example sending a request using the AssociateTransitGatewayMulticastDomainRequest method.
1610//    req, resp := client.AssociateTransitGatewayMulticastDomainRequest(params)
1611//
1612//    err := req.Send()
1613//    if err == nil { // resp is now filled
1614//        fmt.Println(resp)
1615//    }
1616//
1617// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateTransitGatewayMulticastDomain
1618func (c *EC2) AssociateTransitGatewayMulticastDomainRequest(input *AssociateTransitGatewayMulticastDomainInput) (req *request.Request, output *AssociateTransitGatewayMulticastDomainOutput) {
1619	op := &request.Operation{
1620		Name:       opAssociateTransitGatewayMulticastDomain,
1621		HTTPMethod: "POST",
1622		HTTPPath:   "/",
1623	}
1624
1625	if input == nil {
1626		input = &AssociateTransitGatewayMulticastDomainInput{}
1627	}
1628
1629	output = &AssociateTransitGatewayMulticastDomainOutput{}
1630	req = c.newRequest(op, input, output)
1631	return
1632}
1633
1634// AssociateTransitGatewayMulticastDomain API operation for Amazon Elastic Compute Cloud.
1635//
1636// Associates the specified subnets and transit gateway attachments with the
1637// specified transit gateway multicast domain.
1638//
1639// The transit gateway attachment must be in the available state before you
1640// can add a resource. Use DescribeTransitGatewayAttachments (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeTransitGatewayAttachments.html)
1641// to see the state of the attachment.
1642//
1643// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1644// with awserr.Error's Code and Message methods to get detailed information about
1645// the error.
1646//
1647// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1648// API operation AssociateTransitGatewayMulticastDomain for usage and error information.
1649// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateTransitGatewayMulticastDomain
1650func (c *EC2) AssociateTransitGatewayMulticastDomain(input *AssociateTransitGatewayMulticastDomainInput) (*AssociateTransitGatewayMulticastDomainOutput, error) {
1651	req, out := c.AssociateTransitGatewayMulticastDomainRequest(input)
1652	return out, req.Send()
1653}
1654
1655// AssociateTransitGatewayMulticastDomainWithContext is the same as AssociateTransitGatewayMulticastDomain with the addition of
1656// the ability to pass a context and additional request options.
1657//
1658// See AssociateTransitGatewayMulticastDomain for details on how to use this API operation.
1659//
1660// The context must be non-nil and will be used for request cancellation. If
1661// the context is nil a panic will occur. In the future the SDK may create
1662// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1663// for more information on using Contexts.
1664func (c *EC2) AssociateTransitGatewayMulticastDomainWithContext(ctx aws.Context, input *AssociateTransitGatewayMulticastDomainInput, opts ...request.Option) (*AssociateTransitGatewayMulticastDomainOutput, error) {
1665	req, out := c.AssociateTransitGatewayMulticastDomainRequest(input)
1666	req.SetContext(ctx)
1667	req.ApplyOptions(opts...)
1668	return out, req.Send()
1669}
1670
1671const opAssociateTransitGatewayRouteTable = "AssociateTransitGatewayRouteTable"
1672
1673// AssociateTransitGatewayRouteTableRequest generates a "aws/request.Request" representing the
1674// client's request for the AssociateTransitGatewayRouteTable operation. The "output" return
1675// value will be populated with the request's response once the request completes
1676// successfully.
1677//
1678// Use "Send" method on the returned Request to send the API call to the service.
1679// the "output" return value is not valid until after Send returns without error.
1680//
1681// See AssociateTransitGatewayRouteTable for more information on using the AssociateTransitGatewayRouteTable
1682// API call, and error handling.
1683//
1684// This method is useful when you want to inject custom logic or configuration
1685// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1686//
1687//
1688//    // Example sending a request using the AssociateTransitGatewayRouteTableRequest method.
1689//    req, resp := client.AssociateTransitGatewayRouteTableRequest(params)
1690//
1691//    err := req.Send()
1692//    if err == nil { // resp is now filled
1693//        fmt.Println(resp)
1694//    }
1695//
1696// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateTransitGatewayRouteTable
1697func (c *EC2) AssociateTransitGatewayRouteTableRequest(input *AssociateTransitGatewayRouteTableInput) (req *request.Request, output *AssociateTransitGatewayRouteTableOutput) {
1698	op := &request.Operation{
1699		Name:       opAssociateTransitGatewayRouteTable,
1700		HTTPMethod: "POST",
1701		HTTPPath:   "/",
1702	}
1703
1704	if input == nil {
1705		input = &AssociateTransitGatewayRouteTableInput{}
1706	}
1707
1708	output = &AssociateTransitGatewayRouteTableOutput{}
1709	req = c.newRequest(op, input, output)
1710	return
1711}
1712
1713// AssociateTransitGatewayRouteTable API operation for Amazon Elastic Compute Cloud.
1714//
1715// Associates the specified attachment with the specified transit gateway route
1716// table. You can associate only one route table with an attachment.
1717//
1718// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1719// with awserr.Error's Code and Message methods to get detailed information about
1720// the error.
1721//
1722// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1723// API operation AssociateTransitGatewayRouteTable for usage and error information.
1724// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateTransitGatewayRouteTable
1725func (c *EC2) AssociateTransitGatewayRouteTable(input *AssociateTransitGatewayRouteTableInput) (*AssociateTransitGatewayRouteTableOutput, error) {
1726	req, out := c.AssociateTransitGatewayRouteTableRequest(input)
1727	return out, req.Send()
1728}
1729
1730// AssociateTransitGatewayRouteTableWithContext is the same as AssociateTransitGatewayRouteTable with the addition of
1731// the ability to pass a context and additional request options.
1732//
1733// See AssociateTransitGatewayRouteTable for details on how to use this API operation.
1734//
1735// The context must be non-nil and will be used for request cancellation. If
1736// the context is nil a panic will occur. In the future the SDK may create
1737// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1738// for more information on using Contexts.
1739func (c *EC2) AssociateTransitGatewayRouteTableWithContext(ctx aws.Context, input *AssociateTransitGatewayRouteTableInput, opts ...request.Option) (*AssociateTransitGatewayRouteTableOutput, error) {
1740	req, out := c.AssociateTransitGatewayRouteTableRequest(input)
1741	req.SetContext(ctx)
1742	req.ApplyOptions(opts...)
1743	return out, req.Send()
1744}
1745
1746const opAssociateVpcCidrBlock = "AssociateVpcCidrBlock"
1747
1748// AssociateVpcCidrBlockRequest generates a "aws/request.Request" representing the
1749// client's request for the AssociateVpcCidrBlock operation. The "output" return
1750// value will be populated with the request's response once the request completes
1751// successfully.
1752//
1753// Use "Send" method on the returned Request to send the API call to the service.
1754// the "output" return value is not valid until after Send returns without error.
1755//
1756// See AssociateVpcCidrBlock for more information on using the AssociateVpcCidrBlock
1757// API call, and error handling.
1758//
1759// This method is useful when you want to inject custom logic or configuration
1760// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1761//
1762//
1763//    // Example sending a request using the AssociateVpcCidrBlockRequest method.
1764//    req, resp := client.AssociateVpcCidrBlockRequest(params)
1765//
1766//    err := req.Send()
1767//    if err == nil { // resp is now filled
1768//        fmt.Println(resp)
1769//    }
1770//
1771// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateVpcCidrBlock
1772func (c *EC2) AssociateVpcCidrBlockRequest(input *AssociateVpcCidrBlockInput) (req *request.Request, output *AssociateVpcCidrBlockOutput) {
1773	op := &request.Operation{
1774		Name:       opAssociateVpcCidrBlock,
1775		HTTPMethod: "POST",
1776		HTTPPath:   "/",
1777	}
1778
1779	if input == nil {
1780		input = &AssociateVpcCidrBlockInput{}
1781	}
1782
1783	output = &AssociateVpcCidrBlockOutput{}
1784	req = c.newRequest(op, input, output)
1785	return
1786}
1787
1788// AssociateVpcCidrBlock API operation for Amazon Elastic Compute Cloud.
1789//
1790// Associates a CIDR block with your VPC. You can associate a secondary IPv4
1791// CIDR block, an Amazon-provided IPv6 CIDR block, or an IPv6 CIDR block from
1792// an IPv6 address pool that you provisioned through bring your own IP addresses
1793// (BYOIP (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html)).
1794// The IPv6 CIDR block size is fixed at /56.
1795//
1796// You must specify one of the following in the request: an IPv4 CIDR block,
1797// an IPv6 pool, or an Amazon-provided IPv6 CIDR block.
1798//
1799// For more information about associating CIDR blocks with your VPC and applicable
1800// restrictions, see VPC and Subnet Sizing (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html#VPC_Sizing)
1801// in the Amazon Virtual Private Cloud User Guide.
1802//
1803// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1804// with awserr.Error's Code and Message methods to get detailed information about
1805// the error.
1806//
1807// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1808// API operation AssociateVpcCidrBlock for usage and error information.
1809// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateVpcCidrBlock
1810func (c *EC2) AssociateVpcCidrBlock(input *AssociateVpcCidrBlockInput) (*AssociateVpcCidrBlockOutput, error) {
1811	req, out := c.AssociateVpcCidrBlockRequest(input)
1812	return out, req.Send()
1813}
1814
1815// AssociateVpcCidrBlockWithContext is the same as AssociateVpcCidrBlock with the addition of
1816// the ability to pass a context and additional request options.
1817//
1818// See AssociateVpcCidrBlock for details on how to use this API operation.
1819//
1820// The context must be non-nil and will be used for request cancellation. If
1821// the context is nil a panic will occur. In the future the SDK may create
1822// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1823// for more information on using Contexts.
1824func (c *EC2) AssociateVpcCidrBlockWithContext(ctx aws.Context, input *AssociateVpcCidrBlockInput, opts ...request.Option) (*AssociateVpcCidrBlockOutput, error) {
1825	req, out := c.AssociateVpcCidrBlockRequest(input)
1826	req.SetContext(ctx)
1827	req.ApplyOptions(opts...)
1828	return out, req.Send()
1829}
1830
1831const opAttachClassicLinkVpc = "AttachClassicLinkVpc"
1832
1833// AttachClassicLinkVpcRequest generates a "aws/request.Request" representing the
1834// client's request for the AttachClassicLinkVpc operation. The "output" return
1835// value will be populated with the request's response once the request completes
1836// successfully.
1837//
1838// Use "Send" method on the returned Request to send the API call to the service.
1839// the "output" return value is not valid until after Send returns without error.
1840//
1841// See AttachClassicLinkVpc for more information on using the AttachClassicLinkVpc
1842// API call, and error handling.
1843//
1844// This method is useful when you want to inject custom logic or configuration
1845// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1846//
1847//
1848//    // Example sending a request using the AttachClassicLinkVpcRequest method.
1849//    req, resp := client.AttachClassicLinkVpcRequest(params)
1850//
1851//    err := req.Send()
1852//    if err == nil { // resp is now filled
1853//        fmt.Println(resp)
1854//    }
1855//
1856// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachClassicLinkVpc
1857func (c *EC2) AttachClassicLinkVpcRequest(input *AttachClassicLinkVpcInput) (req *request.Request, output *AttachClassicLinkVpcOutput) {
1858	op := &request.Operation{
1859		Name:       opAttachClassicLinkVpc,
1860		HTTPMethod: "POST",
1861		HTTPPath:   "/",
1862	}
1863
1864	if input == nil {
1865		input = &AttachClassicLinkVpcInput{}
1866	}
1867
1868	output = &AttachClassicLinkVpcOutput{}
1869	req = c.newRequest(op, input, output)
1870	return
1871}
1872
1873// AttachClassicLinkVpc API operation for Amazon Elastic Compute Cloud.
1874//
1875// Links an EC2-Classic instance to a ClassicLink-enabled VPC through one or
1876// more of the VPC's security groups. You cannot link an EC2-Classic instance
1877// to more than one VPC at a time. You can only link an instance that's in the
1878// running state. An instance is automatically unlinked from a VPC when it's
1879// stopped - you can link it to the VPC again when you restart it.
1880//
1881// After you've linked an instance, you cannot change the VPC security groups
1882// that are associated with it. To change the security groups, you must first
1883// unlink the instance, and then link it again.
1884//
1885// Linking your instance to a VPC is sometimes referred to as attaching your
1886// instance.
1887//
1888// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1889// with awserr.Error's Code and Message methods to get detailed information about
1890// the error.
1891//
1892// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1893// API operation AttachClassicLinkVpc for usage and error information.
1894// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachClassicLinkVpc
1895func (c *EC2) AttachClassicLinkVpc(input *AttachClassicLinkVpcInput) (*AttachClassicLinkVpcOutput, error) {
1896	req, out := c.AttachClassicLinkVpcRequest(input)
1897	return out, req.Send()
1898}
1899
1900// AttachClassicLinkVpcWithContext is the same as AttachClassicLinkVpc with the addition of
1901// the ability to pass a context and additional request options.
1902//
1903// See AttachClassicLinkVpc for details on how to use this API operation.
1904//
1905// The context must be non-nil and will be used for request cancellation. If
1906// the context is nil a panic will occur. In the future the SDK may create
1907// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1908// for more information on using Contexts.
1909func (c *EC2) AttachClassicLinkVpcWithContext(ctx aws.Context, input *AttachClassicLinkVpcInput, opts ...request.Option) (*AttachClassicLinkVpcOutput, error) {
1910	req, out := c.AttachClassicLinkVpcRequest(input)
1911	req.SetContext(ctx)
1912	req.ApplyOptions(opts...)
1913	return out, req.Send()
1914}
1915
1916const opAttachInternetGateway = "AttachInternetGateway"
1917
1918// AttachInternetGatewayRequest generates a "aws/request.Request" representing the
1919// client's request for the AttachInternetGateway operation. The "output" return
1920// value will be populated with the request's response once the request completes
1921// successfully.
1922//
1923// Use "Send" method on the returned Request to send the API call to the service.
1924// the "output" return value is not valid until after Send returns without error.
1925//
1926// See AttachInternetGateway for more information on using the AttachInternetGateway
1927// API call, and error handling.
1928//
1929// This method is useful when you want to inject custom logic or configuration
1930// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1931//
1932//
1933//    // Example sending a request using the AttachInternetGatewayRequest method.
1934//    req, resp := client.AttachInternetGatewayRequest(params)
1935//
1936//    err := req.Send()
1937//    if err == nil { // resp is now filled
1938//        fmt.Println(resp)
1939//    }
1940//
1941// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachInternetGateway
1942func (c *EC2) AttachInternetGatewayRequest(input *AttachInternetGatewayInput) (req *request.Request, output *AttachInternetGatewayOutput) {
1943	op := &request.Operation{
1944		Name:       opAttachInternetGateway,
1945		HTTPMethod: "POST",
1946		HTTPPath:   "/",
1947	}
1948
1949	if input == nil {
1950		input = &AttachInternetGatewayInput{}
1951	}
1952
1953	output = &AttachInternetGatewayOutput{}
1954	req = c.newRequest(op, input, output)
1955	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1956	return
1957}
1958
1959// AttachInternetGateway API operation for Amazon Elastic Compute Cloud.
1960//
1961// Attaches an internet gateway or a virtual private gateway to a VPC, enabling
1962// connectivity between the internet and the VPC. For more information about
1963// your VPC and internet gateway, see the Amazon Virtual Private Cloud User
1964// Guide (https://docs.aws.amazon.com/vpc/latest/userguide/).
1965//
1966// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1967// with awserr.Error's Code and Message methods to get detailed information about
1968// the error.
1969//
1970// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1971// API operation AttachInternetGateway for usage and error information.
1972// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachInternetGateway
1973func (c *EC2) AttachInternetGateway(input *AttachInternetGatewayInput) (*AttachInternetGatewayOutput, error) {
1974	req, out := c.AttachInternetGatewayRequest(input)
1975	return out, req.Send()
1976}
1977
1978// AttachInternetGatewayWithContext is the same as AttachInternetGateway with the addition of
1979// the ability to pass a context and additional request options.
1980//
1981// See AttachInternetGateway for details on how to use this API operation.
1982//
1983// The context must be non-nil and will be used for request cancellation. If
1984// the context is nil a panic will occur. In the future the SDK may create
1985// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1986// for more information on using Contexts.
1987func (c *EC2) AttachInternetGatewayWithContext(ctx aws.Context, input *AttachInternetGatewayInput, opts ...request.Option) (*AttachInternetGatewayOutput, error) {
1988	req, out := c.AttachInternetGatewayRequest(input)
1989	req.SetContext(ctx)
1990	req.ApplyOptions(opts...)
1991	return out, req.Send()
1992}
1993
1994const opAttachNetworkInterface = "AttachNetworkInterface"
1995
1996// AttachNetworkInterfaceRequest generates a "aws/request.Request" representing the
1997// client's request for the AttachNetworkInterface operation. The "output" return
1998// value will be populated with the request's response once the request completes
1999// successfully.
2000//
2001// Use "Send" method on the returned Request to send the API call to the service.
2002// the "output" return value is not valid until after Send returns without error.
2003//
2004// See AttachNetworkInterface for more information on using the AttachNetworkInterface
2005// API call, and error handling.
2006//
2007// This method is useful when you want to inject custom logic or configuration
2008// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2009//
2010//
2011//    // Example sending a request using the AttachNetworkInterfaceRequest method.
2012//    req, resp := client.AttachNetworkInterfaceRequest(params)
2013//
2014//    err := req.Send()
2015//    if err == nil { // resp is now filled
2016//        fmt.Println(resp)
2017//    }
2018//
2019// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachNetworkInterface
2020func (c *EC2) AttachNetworkInterfaceRequest(input *AttachNetworkInterfaceInput) (req *request.Request, output *AttachNetworkInterfaceOutput) {
2021	op := &request.Operation{
2022		Name:       opAttachNetworkInterface,
2023		HTTPMethod: "POST",
2024		HTTPPath:   "/",
2025	}
2026
2027	if input == nil {
2028		input = &AttachNetworkInterfaceInput{}
2029	}
2030
2031	output = &AttachNetworkInterfaceOutput{}
2032	req = c.newRequest(op, input, output)
2033	return
2034}
2035
2036// AttachNetworkInterface API operation for Amazon Elastic Compute Cloud.
2037//
2038// Attaches a network interface to an instance.
2039//
2040// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2041// with awserr.Error's Code and Message methods to get detailed information about
2042// the error.
2043//
2044// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2045// API operation AttachNetworkInterface for usage and error information.
2046// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachNetworkInterface
2047func (c *EC2) AttachNetworkInterface(input *AttachNetworkInterfaceInput) (*AttachNetworkInterfaceOutput, error) {
2048	req, out := c.AttachNetworkInterfaceRequest(input)
2049	return out, req.Send()
2050}
2051
2052// AttachNetworkInterfaceWithContext is the same as AttachNetworkInterface with the addition of
2053// the ability to pass a context and additional request options.
2054//
2055// See AttachNetworkInterface for details on how to use this API operation.
2056//
2057// The context must be non-nil and will be used for request cancellation. If
2058// the context is nil a panic will occur. In the future the SDK may create
2059// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2060// for more information on using Contexts.
2061func (c *EC2) AttachNetworkInterfaceWithContext(ctx aws.Context, input *AttachNetworkInterfaceInput, opts ...request.Option) (*AttachNetworkInterfaceOutput, error) {
2062	req, out := c.AttachNetworkInterfaceRequest(input)
2063	req.SetContext(ctx)
2064	req.ApplyOptions(opts...)
2065	return out, req.Send()
2066}
2067
2068const opAttachVolume = "AttachVolume"
2069
2070// AttachVolumeRequest generates a "aws/request.Request" representing the
2071// client's request for the AttachVolume operation. The "output" return
2072// value will be populated with the request's response once the request completes
2073// successfully.
2074//
2075// Use "Send" method on the returned Request to send the API call to the service.
2076// the "output" return value is not valid until after Send returns without error.
2077//
2078// See AttachVolume for more information on using the AttachVolume
2079// API call, and error handling.
2080//
2081// This method is useful when you want to inject custom logic or configuration
2082// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2083//
2084//
2085//    // Example sending a request using the AttachVolumeRequest method.
2086//    req, resp := client.AttachVolumeRequest(params)
2087//
2088//    err := req.Send()
2089//    if err == nil { // resp is now filled
2090//        fmt.Println(resp)
2091//    }
2092//
2093// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVolume
2094func (c *EC2) AttachVolumeRequest(input *AttachVolumeInput) (req *request.Request, output *VolumeAttachment) {
2095	op := &request.Operation{
2096		Name:       opAttachVolume,
2097		HTTPMethod: "POST",
2098		HTTPPath:   "/",
2099	}
2100
2101	if input == nil {
2102		input = &AttachVolumeInput{}
2103	}
2104
2105	output = &VolumeAttachment{}
2106	req = c.newRequest(op, input, output)
2107	return
2108}
2109
2110// AttachVolume API operation for Amazon Elastic Compute Cloud.
2111//
2112// Attaches an EBS volume to a running or stopped instance and exposes it to
2113// the instance with the specified device name.
2114//
2115// Encrypted EBS volumes must be attached to instances that support Amazon EBS
2116// encryption. For more information, see Amazon EBS encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
2117// in the Amazon Elastic Compute Cloud User Guide.
2118//
2119// After you attach an EBS volume, you must make it available. For more information,
2120// see Making an EBS volume available for use (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-using-volumes.html).
2121//
2122// If a volume has an AWS Marketplace product code:
2123//
2124//    * The volume can be attached only to a stopped instance.
2125//
2126//    * AWS Marketplace product codes are copied from the volume to the instance.
2127//
2128//    * You must be subscribed to the product.
2129//
2130//    * The instance type and operating system of the instance must support
2131//    the product. For example, you can't detach a volume from a Windows instance
2132//    and attach it to a Linux instance.
2133//
2134// For more information, see Attaching Amazon EBS volumes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html)
2135// in the Amazon Elastic Compute Cloud User Guide.
2136//
2137// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2138// with awserr.Error's Code and Message methods to get detailed information about
2139// the error.
2140//
2141// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2142// API operation AttachVolume for usage and error information.
2143// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVolume
2144func (c *EC2) AttachVolume(input *AttachVolumeInput) (*VolumeAttachment, error) {
2145	req, out := c.AttachVolumeRequest(input)
2146	return out, req.Send()
2147}
2148
2149// AttachVolumeWithContext is the same as AttachVolume with the addition of
2150// the ability to pass a context and additional request options.
2151//
2152// See AttachVolume for details on how to use this API operation.
2153//
2154// The context must be non-nil and will be used for request cancellation. If
2155// the context is nil a panic will occur. In the future the SDK may create
2156// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2157// for more information on using Contexts.
2158func (c *EC2) AttachVolumeWithContext(ctx aws.Context, input *AttachVolumeInput, opts ...request.Option) (*VolumeAttachment, error) {
2159	req, out := c.AttachVolumeRequest(input)
2160	req.SetContext(ctx)
2161	req.ApplyOptions(opts...)
2162	return out, req.Send()
2163}
2164
2165const opAttachVpnGateway = "AttachVpnGateway"
2166
2167// AttachVpnGatewayRequest generates a "aws/request.Request" representing the
2168// client's request for the AttachVpnGateway operation. The "output" return
2169// value will be populated with the request's response once the request completes
2170// successfully.
2171//
2172// Use "Send" method on the returned Request to send the API call to the service.
2173// the "output" return value is not valid until after Send returns without error.
2174//
2175// See AttachVpnGateway for more information on using the AttachVpnGateway
2176// API call, and error handling.
2177//
2178// This method is useful when you want to inject custom logic or configuration
2179// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2180//
2181//
2182//    // Example sending a request using the AttachVpnGatewayRequest method.
2183//    req, resp := client.AttachVpnGatewayRequest(params)
2184//
2185//    err := req.Send()
2186//    if err == nil { // resp is now filled
2187//        fmt.Println(resp)
2188//    }
2189//
2190// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVpnGateway
2191func (c *EC2) AttachVpnGatewayRequest(input *AttachVpnGatewayInput) (req *request.Request, output *AttachVpnGatewayOutput) {
2192	op := &request.Operation{
2193		Name:       opAttachVpnGateway,
2194		HTTPMethod: "POST",
2195		HTTPPath:   "/",
2196	}
2197
2198	if input == nil {
2199		input = &AttachVpnGatewayInput{}
2200	}
2201
2202	output = &AttachVpnGatewayOutput{}
2203	req = c.newRequest(op, input, output)
2204	return
2205}
2206
2207// AttachVpnGateway API operation for Amazon Elastic Compute Cloud.
2208//
2209// Attaches a virtual private gateway to a VPC. You can attach one virtual private
2210// gateway to one VPC at a time.
2211//
2212// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
2213// in the AWS Site-to-Site VPN User Guide.
2214//
2215// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2216// with awserr.Error's Code and Message methods to get detailed information about
2217// the error.
2218//
2219// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2220// API operation AttachVpnGateway for usage and error information.
2221// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVpnGateway
2222func (c *EC2) AttachVpnGateway(input *AttachVpnGatewayInput) (*AttachVpnGatewayOutput, error) {
2223	req, out := c.AttachVpnGatewayRequest(input)
2224	return out, req.Send()
2225}
2226
2227// AttachVpnGatewayWithContext is the same as AttachVpnGateway with the addition of
2228// the ability to pass a context and additional request options.
2229//
2230// See AttachVpnGateway for details on how to use this API operation.
2231//
2232// The context must be non-nil and will be used for request cancellation. If
2233// the context is nil a panic will occur. In the future the SDK may create
2234// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2235// for more information on using Contexts.
2236func (c *EC2) AttachVpnGatewayWithContext(ctx aws.Context, input *AttachVpnGatewayInput, opts ...request.Option) (*AttachVpnGatewayOutput, error) {
2237	req, out := c.AttachVpnGatewayRequest(input)
2238	req.SetContext(ctx)
2239	req.ApplyOptions(opts...)
2240	return out, req.Send()
2241}
2242
2243const opAuthorizeClientVpnIngress = "AuthorizeClientVpnIngress"
2244
2245// AuthorizeClientVpnIngressRequest generates a "aws/request.Request" representing the
2246// client's request for the AuthorizeClientVpnIngress operation. The "output" return
2247// value will be populated with the request's response once the request completes
2248// successfully.
2249//
2250// Use "Send" method on the returned Request to send the API call to the service.
2251// the "output" return value is not valid until after Send returns without error.
2252//
2253// See AuthorizeClientVpnIngress for more information on using the AuthorizeClientVpnIngress
2254// API call, and error handling.
2255//
2256// This method is useful when you want to inject custom logic or configuration
2257// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2258//
2259//
2260//    // Example sending a request using the AuthorizeClientVpnIngressRequest method.
2261//    req, resp := client.AuthorizeClientVpnIngressRequest(params)
2262//
2263//    err := req.Send()
2264//    if err == nil { // resp is now filled
2265//        fmt.Println(resp)
2266//    }
2267//
2268// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeClientVpnIngress
2269func (c *EC2) AuthorizeClientVpnIngressRequest(input *AuthorizeClientVpnIngressInput) (req *request.Request, output *AuthorizeClientVpnIngressOutput) {
2270	op := &request.Operation{
2271		Name:       opAuthorizeClientVpnIngress,
2272		HTTPMethod: "POST",
2273		HTTPPath:   "/",
2274	}
2275
2276	if input == nil {
2277		input = &AuthorizeClientVpnIngressInput{}
2278	}
2279
2280	output = &AuthorizeClientVpnIngressOutput{}
2281	req = c.newRequest(op, input, output)
2282	return
2283}
2284
2285// AuthorizeClientVpnIngress API operation for Amazon Elastic Compute Cloud.
2286//
2287// Adds an ingress authorization rule to a Client VPN endpoint. Ingress authorization
2288// rules act as firewall rules that grant access to networks. You must configure
2289// ingress authorization rules to enable clients to access resources in AWS
2290// or on-premises networks.
2291//
2292// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2293// with awserr.Error's Code and Message methods to get detailed information about
2294// the error.
2295//
2296// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2297// API operation AuthorizeClientVpnIngress for usage and error information.
2298// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeClientVpnIngress
2299func (c *EC2) AuthorizeClientVpnIngress(input *AuthorizeClientVpnIngressInput) (*AuthorizeClientVpnIngressOutput, error) {
2300	req, out := c.AuthorizeClientVpnIngressRequest(input)
2301	return out, req.Send()
2302}
2303
2304// AuthorizeClientVpnIngressWithContext is the same as AuthorizeClientVpnIngress with the addition of
2305// the ability to pass a context and additional request options.
2306//
2307// See AuthorizeClientVpnIngress for details on how to use this API operation.
2308//
2309// The context must be non-nil and will be used for request cancellation. If
2310// the context is nil a panic will occur. In the future the SDK may create
2311// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2312// for more information on using Contexts.
2313func (c *EC2) AuthorizeClientVpnIngressWithContext(ctx aws.Context, input *AuthorizeClientVpnIngressInput, opts ...request.Option) (*AuthorizeClientVpnIngressOutput, error) {
2314	req, out := c.AuthorizeClientVpnIngressRequest(input)
2315	req.SetContext(ctx)
2316	req.ApplyOptions(opts...)
2317	return out, req.Send()
2318}
2319
2320const opAuthorizeSecurityGroupEgress = "AuthorizeSecurityGroupEgress"
2321
2322// AuthorizeSecurityGroupEgressRequest generates a "aws/request.Request" representing the
2323// client's request for the AuthorizeSecurityGroupEgress operation. The "output" return
2324// value will be populated with the request's response once the request completes
2325// successfully.
2326//
2327// Use "Send" method on the returned Request to send the API call to the service.
2328// the "output" return value is not valid until after Send returns without error.
2329//
2330// See AuthorizeSecurityGroupEgress for more information on using the AuthorizeSecurityGroupEgress
2331// API call, and error handling.
2332//
2333// This method is useful when you want to inject custom logic or configuration
2334// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2335//
2336//
2337//    // Example sending a request using the AuthorizeSecurityGroupEgressRequest method.
2338//    req, resp := client.AuthorizeSecurityGroupEgressRequest(params)
2339//
2340//    err := req.Send()
2341//    if err == nil { // resp is now filled
2342//        fmt.Println(resp)
2343//    }
2344//
2345// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupEgress
2346func (c *EC2) AuthorizeSecurityGroupEgressRequest(input *AuthorizeSecurityGroupEgressInput) (req *request.Request, output *AuthorizeSecurityGroupEgressOutput) {
2347	op := &request.Operation{
2348		Name:       opAuthorizeSecurityGroupEgress,
2349		HTTPMethod: "POST",
2350		HTTPPath:   "/",
2351	}
2352
2353	if input == nil {
2354		input = &AuthorizeSecurityGroupEgressInput{}
2355	}
2356
2357	output = &AuthorizeSecurityGroupEgressOutput{}
2358	req = c.newRequest(op, input, output)
2359	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2360	return
2361}
2362
2363// AuthorizeSecurityGroupEgress API operation for Amazon Elastic Compute Cloud.
2364//
2365// [VPC only] Adds the specified egress rules to a security group for use with
2366// a VPC.
2367//
2368// An outbound rule permits instances to send traffic to the specified IPv4
2369// or IPv6 CIDR address ranges, or to the instances associated with the specified
2370// destination security groups.
2371//
2372// You specify a protocol for each rule (for example, TCP). For the TCP and
2373// UDP protocols, you must also specify the destination port or port range.
2374// For the ICMP protocol, you must also specify the ICMP type and code. You
2375// can use -1 for the type or code to mean all types or all codes.
2376//
2377// Rule changes are propagated to affected instances as quickly as possible.
2378// However, a small delay might occur.
2379//
2380// For more information about VPC security group limits, see Amazon VPC Limits
2381// (https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html).
2382//
2383// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2384// with awserr.Error's Code and Message methods to get detailed information about
2385// the error.
2386//
2387// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2388// API operation AuthorizeSecurityGroupEgress for usage and error information.
2389// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupEgress
2390func (c *EC2) AuthorizeSecurityGroupEgress(input *AuthorizeSecurityGroupEgressInput) (*AuthorizeSecurityGroupEgressOutput, error) {
2391	req, out := c.AuthorizeSecurityGroupEgressRequest(input)
2392	return out, req.Send()
2393}
2394
2395// AuthorizeSecurityGroupEgressWithContext is the same as AuthorizeSecurityGroupEgress with the addition of
2396// the ability to pass a context and additional request options.
2397//
2398// See AuthorizeSecurityGroupEgress for details on how to use this API operation.
2399//
2400// The context must be non-nil and will be used for request cancellation. If
2401// the context is nil a panic will occur. In the future the SDK may create
2402// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2403// for more information on using Contexts.
2404func (c *EC2) AuthorizeSecurityGroupEgressWithContext(ctx aws.Context, input *AuthorizeSecurityGroupEgressInput, opts ...request.Option) (*AuthorizeSecurityGroupEgressOutput, error) {
2405	req, out := c.AuthorizeSecurityGroupEgressRequest(input)
2406	req.SetContext(ctx)
2407	req.ApplyOptions(opts...)
2408	return out, req.Send()
2409}
2410
2411const opAuthorizeSecurityGroupIngress = "AuthorizeSecurityGroupIngress"
2412
2413// AuthorizeSecurityGroupIngressRequest generates a "aws/request.Request" representing the
2414// client's request for the AuthorizeSecurityGroupIngress operation. The "output" return
2415// value will be populated with the request's response once the request completes
2416// successfully.
2417//
2418// Use "Send" method on the returned Request to send the API call to the service.
2419// the "output" return value is not valid until after Send returns without error.
2420//
2421// See AuthorizeSecurityGroupIngress for more information on using the AuthorizeSecurityGroupIngress
2422// API call, and error handling.
2423//
2424// This method is useful when you want to inject custom logic or configuration
2425// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2426//
2427//
2428//    // Example sending a request using the AuthorizeSecurityGroupIngressRequest method.
2429//    req, resp := client.AuthorizeSecurityGroupIngressRequest(params)
2430//
2431//    err := req.Send()
2432//    if err == nil { // resp is now filled
2433//        fmt.Println(resp)
2434//    }
2435//
2436// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupIngress
2437func (c *EC2) AuthorizeSecurityGroupIngressRequest(input *AuthorizeSecurityGroupIngressInput) (req *request.Request, output *AuthorizeSecurityGroupIngressOutput) {
2438	op := &request.Operation{
2439		Name:       opAuthorizeSecurityGroupIngress,
2440		HTTPMethod: "POST",
2441		HTTPPath:   "/",
2442	}
2443
2444	if input == nil {
2445		input = &AuthorizeSecurityGroupIngressInput{}
2446	}
2447
2448	output = &AuthorizeSecurityGroupIngressOutput{}
2449	req = c.newRequest(op, input, output)
2450	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2451	return
2452}
2453
2454// AuthorizeSecurityGroupIngress API operation for Amazon Elastic Compute Cloud.
2455//
2456// Adds the specified ingress rules to a security group.
2457//
2458// An inbound rule permits instances to receive traffic from the specified IPv4
2459// or IPv6 CIDR address ranges, or from the instances associated with the specified
2460// destination security groups.
2461//
2462// You specify a protocol for each rule (for example, TCP). For TCP and UDP,
2463// you must also specify the destination port or port range. For ICMP/ICMPv6,
2464// you must also specify the ICMP/ICMPv6 type and code. You can use -1 to mean
2465// all types or all codes.
2466//
2467// Rule changes are propagated to instances within the security group as quickly
2468// as possible. However, a small delay might occur.
2469//
2470// For more information about VPC security group limits, see Amazon VPC Limits
2471// (https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html).
2472//
2473// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2474// with awserr.Error's Code and Message methods to get detailed information about
2475// the error.
2476//
2477// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2478// API operation AuthorizeSecurityGroupIngress for usage and error information.
2479// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupIngress
2480func (c *EC2) AuthorizeSecurityGroupIngress(input *AuthorizeSecurityGroupIngressInput) (*AuthorizeSecurityGroupIngressOutput, error) {
2481	req, out := c.AuthorizeSecurityGroupIngressRequest(input)
2482	return out, req.Send()
2483}
2484
2485// AuthorizeSecurityGroupIngressWithContext is the same as AuthorizeSecurityGroupIngress with the addition of
2486// the ability to pass a context and additional request options.
2487//
2488// See AuthorizeSecurityGroupIngress for details on how to use this API operation.
2489//
2490// The context must be non-nil and will be used for request cancellation. If
2491// the context is nil a panic will occur. In the future the SDK may create
2492// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2493// for more information on using Contexts.
2494func (c *EC2) AuthorizeSecurityGroupIngressWithContext(ctx aws.Context, input *AuthorizeSecurityGroupIngressInput, opts ...request.Option) (*AuthorizeSecurityGroupIngressOutput, error) {
2495	req, out := c.AuthorizeSecurityGroupIngressRequest(input)
2496	req.SetContext(ctx)
2497	req.ApplyOptions(opts...)
2498	return out, req.Send()
2499}
2500
2501const opBundleInstance = "BundleInstance"
2502
2503// BundleInstanceRequest generates a "aws/request.Request" representing the
2504// client's request for the BundleInstance operation. The "output" return
2505// value will be populated with the request's response once the request completes
2506// successfully.
2507//
2508// Use "Send" method on the returned Request to send the API call to the service.
2509// the "output" return value is not valid until after Send returns without error.
2510//
2511// See BundleInstance for more information on using the BundleInstance
2512// API call, and error handling.
2513//
2514// This method is useful when you want to inject custom logic or configuration
2515// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2516//
2517//
2518//    // Example sending a request using the BundleInstanceRequest method.
2519//    req, resp := client.BundleInstanceRequest(params)
2520//
2521//    err := req.Send()
2522//    if err == nil { // resp is now filled
2523//        fmt.Println(resp)
2524//    }
2525//
2526// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BundleInstance
2527func (c *EC2) BundleInstanceRequest(input *BundleInstanceInput) (req *request.Request, output *BundleInstanceOutput) {
2528	op := &request.Operation{
2529		Name:       opBundleInstance,
2530		HTTPMethod: "POST",
2531		HTTPPath:   "/",
2532	}
2533
2534	if input == nil {
2535		input = &BundleInstanceInput{}
2536	}
2537
2538	output = &BundleInstanceOutput{}
2539	req = c.newRequest(op, input, output)
2540	return
2541}
2542
2543// BundleInstance API operation for Amazon Elastic Compute Cloud.
2544//
2545// Bundles an Amazon instance store-backed Windows instance.
2546//
2547// During bundling, only the root device volume (C:\) is bundled. Data on other
2548// instance store volumes is not preserved.
2549//
2550// This action is not applicable for Linux/Unix instances or Windows instances
2551// that are backed by Amazon EBS.
2552//
2553// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2554// with awserr.Error's Code and Message methods to get detailed information about
2555// the error.
2556//
2557// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2558// API operation BundleInstance for usage and error information.
2559// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BundleInstance
2560func (c *EC2) BundleInstance(input *BundleInstanceInput) (*BundleInstanceOutput, error) {
2561	req, out := c.BundleInstanceRequest(input)
2562	return out, req.Send()
2563}
2564
2565// BundleInstanceWithContext is the same as BundleInstance with the addition of
2566// the ability to pass a context and additional request options.
2567//
2568// See BundleInstance for details on how to use this API operation.
2569//
2570// The context must be non-nil and will be used for request cancellation. If
2571// the context is nil a panic will occur. In the future the SDK may create
2572// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2573// for more information on using Contexts.
2574func (c *EC2) BundleInstanceWithContext(ctx aws.Context, input *BundleInstanceInput, opts ...request.Option) (*BundleInstanceOutput, error) {
2575	req, out := c.BundleInstanceRequest(input)
2576	req.SetContext(ctx)
2577	req.ApplyOptions(opts...)
2578	return out, req.Send()
2579}
2580
2581const opCancelBundleTask = "CancelBundleTask"
2582
2583// CancelBundleTaskRequest generates a "aws/request.Request" representing the
2584// client's request for the CancelBundleTask operation. The "output" return
2585// value will be populated with the request's response once the request completes
2586// successfully.
2587//
2588// Use "Send" method on the returned Request to send the API call to the service.
2589// the "output" return value is not valid until after Send returns without error.
2590//
2591// See CancelBundleTask for more information on using the CancelBundleTask
2592// API call, and error handling.
2593//
2594// This method is useful when you want to inject custom logic or configuration
2595// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2596//
2597//
2598//    // Example sending a request using the CancelBundleTaskRequest method.
2599//    req, resp := client.CancelBundleTaskRequest(params)
2600//
2601//    err := req.Send()
2602//    if err == nil { // resp is now filled
2603//        fmt.Println(resp)
2604//    }
2605//
2606// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelBundleTask
2607func (c *EC2) CancelBundleTaskRequest(input *CancelBundleTaskInput) (req *request.Request, output *CancelBundleTaskOutput) {
2608	op := &request.Operation{
2609		Name:       opCancelBundleTask,
2610		HTTPMethod: "POST",
2611		HTTPPath:   "/",
2612	}
2613
2614	if input == nil {
2615		input = &CancelBundleTaskInput{}
2616	}
2617
2618	output = &CancelBundleTaskOutput{}
2619	req = c.newRequest(op, input, output)
2620	return
2621}
2622
2623// CancelBundleTask API operation for Amazon Elastic Compute Cloud.
2624//
2625// Cancels a bundling operation for an instance store-backed Windows instance.
2626//
2627// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2628// with awserr.Error's Code and Message methods to get detailed information about
2629// the error.
2630//
2631// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2632// API operation CancelBundleTask for usage and error information.
2633// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelBundleTask
2634func (c *EC2) CancelBundleTask(input *CancelBundleTaskInput) (*CancelBundleTaskOutput, error) {
2635	req, out := c.CancelBundleTaskRequest(input)
2636	return out, req.Send()
2637}
2638
2639// CancelBundleTaskWithContext is the same as CancelBundleTask with the addition of
2640// the ability to pass a context and additional request options.
2641//
2642// See CancelBundleTask for details on how to use this API operation.
2643//
2644// The context must be non-nil and will be used for request cancellation. If
2645// the context is nil a panic will occur. In the future the SDK may create
2646// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2647// for more information on using Contexts.
2648func (c *EC2) CancelBundleTaskWithContext(ctx aws.Context, input *CancelBundleTaskInput, opts ...request.Option) (*CancelBundleTaskOutput, error) {
2649	req, out := c.CancelBundleTaskRequest(input)
2650	req.SetContext(ctx)
2651	req.ApplyOptions(opts...)
2652	return out, req.Send()
2653}
2654
2655const opCancelCapacityReservation = "CancelCapacityReservation"
2656
2657// CancelCapacityReservationRequest generates a "aws/request.Request" representing the
2658// client's request for the CancelCapacityReservation operation. The "output" return
2659// value will be populated with the request's response once the request completes
2660// successfully.
2661//
2662// Use "Send" method on the returned Request to send the API call to the service.
2663// the "output" return value is not valid until after Send returns without error.
2664//
2665// See CancelCapacityReservation for more information on using the CancelCapacityReservation
2666// API call, and error handling.
2667//
2668// This method is useful when you want to inject custom logic or configuration
2669// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2670//
2671//
2672//    // Example sending a request using the CancelCapacityReservationRequest method.
2673//    req, resp := client.CancelCapacityReservationRequest(params)
2674//
2675//    err := req.Send()
2676//    if err == nil { // resp is now filled
2677//        fmt.Println(resp)
2678//    }
2679//
2680// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelCapacityReservation
2681func (c *EC2) CancelCapacityReservationRequest(input *CancelCapacityReservationInput) (req *request.Request, output *CancelCapacityReservationOutput) {
2682	op := &request.Operation{
2683		Name:       opCancelCapacityReservation,
2684		HTTPMethod: "POST",
2685		HTTPPath:   "/",
2686	}
2687
2688	if input == nil {
2689		input = &CancelCapacityReservationInput{}
2690	}
2691
2692	output = &CancelCapacityReservationOutput{}
2693	req = c.newRequest(op, input, output)
2694	return
2695}
2696
2697// CancelCapacityReservation API operation for Amazon Elastic Compute Cloud.
2698//
2699// Cancels the specified Capacity Reservation, releases the reserved capacity,
2700// and changes the Capacity Reservation's state to cancelled.
2701//
2702// Instances running in the reserved capacity continue running until you stop
2703// them. Stopped instances that target the Capacity Reservation can no longer
2704// launch. Modify these instances to either target a different Capacity Reservation,
2705// launch On-Demand Instance capacity, or run in any open Capacity Reservation
2706// that has matching attributes and sufficient capacity.
2707//
2708// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2709// with awserr.Error's Code and Message methods to get detailed information about
2710// the error.
2711//
2712// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2713// API operation CancelCapacityReservation for usage and error information.
2714// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelCapacityReservation
2715func (c *EC2) CancelCapacityReservation(input *CancelCapacityReservationInput) (*CancelCapacityReservationOutput, error) {
2716	req, out := c.CancelCapacityReservationRequest(input)
2717	return out, req.Send()
2718}
2719
2720// CancelCapacityReservationWithContext is the same as CancelCapacityReservation with the addition of
2721// the ability to pass a context and additional request options.
2722//
2723// See CancelCapacityReservation for details on how to use this API operation.
2724//
2725// The context must be non-nil and will be used for request cancellation. If
2726// the context is nil a panic will occur. In the future the SDK may create
2727// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2728// for more information on using Contexts.
2729func (c *EC2) CancelCapacityReservationWithContext(ctx aws.Context, input *CancelCapacityReservationInput, opts ...request.Option) (*CancelCapacityReservationOutput, error) {
2730	req, out := c.CancelCapacityReservationRequest(input)
2731	req.SetContext(ctx)
2732	req.ApplyOptions(opts...)
2733	return out, req.Send()
2734}
2735
2736const opCancelConversionTask = "CancelConversionTask"
2737
2738// CancelConversionTaskRequest generates a "aws/request.Request" representing the
2739// client's request for the CancelConversionTask operation. The "output" return
2740// value will be populated with the request's response once the request completes
2741// successfully.
2742//
2743// Use "Send" method on the returned Request to send the API call to the service.
2744// the "output" return value is not valid until after Send returns without error.
2745//
2746// See CancelConversionTask for more information on using the CancelConversionTask
2747// API call, and error handling.
2748//
2749// This method is useful when you want to inject custom logic or configuration
2750// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2751//
2752//
2753//    // Example sending a request using the CancelConversionTaskRequest method.
2754//    req, resp := client.CancelConversionTaskRequest(params)
2755//
2756//    err := req.Send()
2757//    if err == nil { // resp is now filled
2758//        fmt.Println(resp)
2759//    }
2760//
2761// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelConversionTask
2762func (c *EC2) CancelConversionTaskRequest(input *CancelConversionTaskInput) (req *request.Request, output *CancelConversionTaskOutput) {
2763	op := &request.Operation{
2764		Name:       opCancelConversionTask,
2765		HTTPMethod: "POST",
2766		HTTPPath:   "/",
2767	}
2768
2769	if input == nil {
2770		input = &CancelConversionTaskInput{}
2771	}
2772
2773	output = &CancelConversionTaskOutput{}
2774	req = c.newRequest(op, input, output)
2775	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2776	return
2777}
2778
2779// CancelConversionTask API operation for Amazon Elastic Compute Cloud.
2780//
2781// Cancels an active conversion task. The task can be the import of an instance
2782// or volume. The action removes all artifacts of the conversion, including
2783// a partially uploaded volume or instance. If the conversion is complete or
2784// is in the process of transferring the final disk image, the command fails
2785// and returns an exception.
2786//
2787// For more information, see Importing a Virtual Machine Using the Amazon EC2
2788// CLI (https://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ec2-cli-vmimport-export.html).
2789//
2790// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2791// with awserr.Error's Code and Message methods to get detailed information about
2792// the error.
2793//
2794// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2795// API operation CancelConversionTask for usage and error information.
2796// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelConversionTask
2797func (c *EC2) CancelConversionTask(input *CancelConversionTaskInput) (*CancelConversionTaskOutput, error) {
2798	req, out := c.CancelConversionTaskRequest(input)
2799	return out, req.Send()
2800}
2801
2802// CancelConversionTaskWithContext is the same as CancelConversionTask with the addition of
2803// the ability to pass a context and additional request options.
2804//
2805// See CancelConversionTask for details on how to use this API operation.
2806//
2807// The context must be non-nil and will be used for request cancellation. If
2808// the context is nil a panic will occur. In the future the SDK may create
2809// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2810// for more information on using Contexts.
2811func (c *EC2) CancelConversionTaskWithContext(ctx aws.Context, input *CancelConversionTaskInput, opts ...request.Option) (*CancelConversionTaskOutput, error) {
2812	req, out := c.CancelConversionTaskRequest(input)
2813	req.SetContext(ctx)
2814	req.ApplyOptions(opts...)
2815	return out, req.Send()
2816}
2817
2818const opCancelExportTask = "CancelExportTask"
2819
2820// CancelExportTaskRequest generates a "aws/request.Request" representing the
2821// client's request for the CancelExportTask operation. The "output" return
2822// value will be populated with the request's response once the request completes
2823// successfully.
2824//
2825// Use "Send" method on the returned Request to send the API call to the service.
2826// the "output" return value is not valid until after Send returns without error.
2827//
2828// See CancelExportTask for more information on using the CancelExportTask
2829// API call, and error handling.
2830//
2831// This method is useful when you want to inject custom logic or configuration
2832// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2833//
2834//
2835//    // Example sending a request using the CancelExportTaskRequest method.
2836//    req, resp := client.CancelExportTaskRequest(params)
2837//
2838//    err := req.Send()
2839//    if err == nil { // resp is now filled
2840//        fmt.Println(resp)
2841//    }
2842//
2843// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelExportTask
2844func (c *EC2) CancelExportTaskRequest(input *CancelExportTaskInput) (req *request.Request, output *CancelExportTaskOutput) {
2845	op := &request.Operation{
2846		Name:       opCancelExportTask,
2847		HTTPMethod: "POST",
2848		HTTPPath:   "/",
2849	}
2850
2851	if input == nil {
2852		input = &CancelExportTaskInput{}
2853	}
2854
2855	output = &CancelExportTaskOutput{}
2856	req = c.newRequest(op, input, output)
2857	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2858	return
2859}
2860
2861// CancelExportTask API operation for Amazon Elastic Compute Cloud.
2862//
2863// Cancels an active export task. The request removes all artifacts of the export,
2864// including any partially-created Amazon S3 objects. If the export task is
2865// complete or is in the process of transferring the final disk image, the command
2866// fails and returns an error.
2867//
2868// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2869// with awserr.Error's Code and Message methods to get detailed information about
2870// the error.
2871//
2872// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2873// API operation CancelExportTask for usage and error information.
2874// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelExportTask
2875func (c *EC2) CancelExportTask(input *CancelExportTaskInput) (*CancelExportTaskOutput, error) {
2876	req, out := c.CancelExportTaskRequest(input)
2877	return out, req.Send()
2878}
2879
2880// CancelExportTaskWithContext is the same as CancelExportTask with the addition of
2881// the ability to pass a context and additional request options.
2882//
2883// See CancelExportTask for details on how to use this API operation.
2884//
2885// The context must be non-nil and will be used for request cancellation. If
2886// the context is nil a panic will occur. In the future the SDK may create
2887// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2888// for more information on using Contexts.
2889func (c *EC2) CancelExportTaskWithContext(ctx aws.Context, input *CancelExportTaskInput, opts ...request.Option) (*CancelExportTaskOutput, error) {
2890	req, out := c.CancelExportTaskRequest(input)
2891	req.SetContext(ctx)
2892	req.ApplyOptions(opts...)
2893	return out, req.Send()
2894}
2895
2896const opCancelImportTask = "CancelImportTask"
2897
2898// CancelImportTaskRequest generates a "aws/request.Request" representing the
2899// client's request for the CancelImportTask operation. The "output" return
2900// value will be populated with the request's response once the request completes
2901// successfully.
2902//
2903// Use "Send" method on the returned Request to send the API call to the service.
2904// the "output" return value is not valid until after Send returns without error.
2905//
2906// See CancelImportTask for more information on using the CancelImportTask
2907// API call, and error handling.
2908//
2909// This method is useful when you want to inject custom logic or configuration
2910// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2911//
2912//
2913//    // Example sending a request using the CancelImportTaskRequest method.
2914//    req, resp := client.CancelImportTaskRequest(params)
2915//
2916//    err := req.Send()
2917//    if err == nil { // resp is now filled
2918//        fmt.Println(resp)
2919//    }
2920//
2921// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelImportTask
2922func (c *EC2) CancelImportTaskRequest(input *CancelImportTaskInput) (req *request.Request, output *CancelImportTaskOutput) {
2923	op := &request.Operation{
2924		Name:       opCancelImportTask,
2925		HTTPMethod: "POST",
2926		HTTPPath:   "/",
2927	}
2928
2929	if input == nil {
2930		input = &CancelImportTaskInput{}
2931	}
2932
2933	output = &CancelImportTaskOutput{}
2934	req = c.newRequest(op, input, output)
2935	return
2936}
2937
2938// CancelImportTask API operation for Amazon Elastic Compute Cloud.
2939//
2940// Cancels an in-process import virtual machine or import snapshot task.
2941//
2942// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2943// with awserr.Error's Code and Message methods to get detailed information about
2944// the error.
2945//
2946// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2947// API operation CancelImportTask for usage and error information.
2948// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelImportTask
2949func (c *EC2) CancelImportTask(input *CancelImportTaskInput) (*CancelImportTaskOutput, error) {
2950	req, out := c.CancelImportTaskRequest(input)
2951	return out, req.Send()
2952}
2953
2954// CancelImportTaskWithContext is the same as CancelImportTask with the addition of
2955// the ability to pass a context and additional request options.
2956//
2957// See CancelImportTask for details on how to use this API operation.
2958//
2959// The context must be non-nil and will be used for request cancellation. If
2960// the context is nil a panic will occur. In the future the SDK may create
2961// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2962// for more information on using Contexts.
2963func (c *EC2) CancelImportTaskWithContext(ctx aws.Context, input *CancelImportTaskInput, opts ...request.Option) (*CancelImportTaskOutput, error) {
2964	req, out := c.CancelImportTaskRequest(input)
2965	req.SetContext(ctx)
2966	req.ApplyOptions(opts...)
2967	return out, req.Send()
2968}
2969
2970const opCancelReservedInstancesListing = "CancelReservedInstancesListing"
2971
2972// CancelReservedInstancesListingRequest generates a "aws/request.Request" representing the
2973// client's request for the CancelReservedInstancesListing operation. The "output" return
2974// value will be populated with the request's response once the request completes
2975// successfully.
2976//
2977// Use "Send" method on the returned Request to send the API call to the service.
2978// the "output" return value is not valid until after Send returns without error.
2979//
2980// See CancelReservedInstancesListing for more information on using the CancelReservedInstancesListing
2981// API call, and error handling.
2982//
2983// This method is useful when you want to inject custom logic or configuration
2984// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2985//
2986//
2987//    // Example sending a request using the CancelReservedInstancesListingRequest method.
2988//    req, resp := client.CancelReservedInstancesListingRequest(params)
2989//
2990//    err := req.Send()
2991//    if err == nil { // resp is now filled
2992//        fmt.Println(resp)
2993//    }
2994//
2995// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelReservedInstancesListing
2996func (c *EC2) CancelReservedInstancesListingRequest(input *CancelReservedInstancesListingInput) (req *request.Request, output *CancelReservedInstancesListingOutput) {
2997	op := &request.Operation{
2998		Name:       opCancelReservedInstancesListing,
2999		HTTPMethod: "POST",
3000		HTTPPath:   "/",
3001	}
3002
3003	if input == nil {
3004		input = &CancelReservedInstancesListingInput{}
3005	}
3006
3007	output = &CancelReservedInstancesListingOutput{}
3008	req = c.newRequest(op, input, output)
3009	return
3010}
3011
3012// CancelReservedInstancesListing API operation for Amazon Elastic Compute Cloud.
3013//
3014// Cancels the specified Reserved Instance listing in the Reserved Instance
3015// Marketplace.
3016//
3017// For more information, see Reserved Instance Marketplace (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
3018// in the Amazon EC2 User Guide.
3019//
3020// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3021// with awserr.Error's Code and Message methods to get detailed information about
3022// the error.
3023//
3024// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3025// API operation CancelReservedInstancesListing for usage and error information.
3026// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelReservedInstancesListing
3027func (c *EC2) CancelReservedInstancesListing(input *CancelReservedInstancesListingInput) (*CancelReservedInstancesListingOutput, error) {
3028	req, out := c.CancelReservedInstancesListingRequest(input)
3029	return out, req.Send()
3030}
3031
3032// CancelReservedInstancesListingWithContext is the same as CancelReservedInstancesListing with the addition of
3033// the ability to pass a context and additional request options.
3034//
3035// See CancelReservedInstancesListing for details on how to use this API operation.
3036//
3037// The context must be non-nil and will be used for request cancellation. If
3038// the context is nil a panic will occur. In the future the SDK may create
3039// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3040// for more information on using Contexts.
3041func (c *EC2) CancelReservedInstancesListingWithContext(ctx aws.Context, input *CancelReservedInstancesListingInput, opts ...request.Option) (*CancelReservedInstancesListingOutput, error) {
3042	req, out := c.CancelReservedInstancesListingRequest(input)
3043	req.SetContext(ctx)
3044	req.ApplyOptions(opts...)
3045	return out, req.Send()
3046}
3047
3048const opCancelSpotFleetRequests = "CancelSpotFleetRequests"
3049
3050// CancelSpotFleetRequestsRequest generates a "aws/request.Request" representing the
3051// client's request for the CancelSpotFleetRequests operation. The "output" return
3052// value will be populated with the request's response once the request completes
3053// successfully.
3054//
3055// Use "Send" method on the returned Request to send the API call to the service.
3056// the "output" return value is not valid until after Send returns without error.
3057//
3058// See CancelSpotFleetRequests for more information on using the CancelSpotFleetRequests
3059// API call, and error handling.
3060//
3061// This method is useful when you want to inject custom logic or configuration
3062// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3063//
3064//
3065//    // Example sending a request using the CancelSpotFleetRequestsRequest method.
3066//    req, resp := client.CancelSpotFleetRequestsRequest(params)
3067//
3068//    err := req.Send()
3069//    if err == nil { // resp is now filled
3070//        fmt.Println(resp)
3071//    }
3072//
3073// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotFleetRequests
3074func (c *EC2) CancelSpotFleetRequestsRequest(input *CancelSpotFleetRequestsInput) (req *request.Request, output *CancelSpotFleetRequestsOutput) {
3075	op := &request.Operation{
3076		Name:       opCancelSpotFleetRequests,
3077		HTTPMethod: "POST",
3078		HTTPPath:   "/",
3079	}
3080
3081	if input == nil {
3082		input = &CancelSpotFleetRequestsInput{}
3083	}
3084
3085	output = &CancelSpotFleetRequestsOutput{}
3086	req = c.newRequest(op, input, output)
3087	return
3088}
3089
3090// CancelSpotFleetRequests API operation for Amazon Elastic Compute Cloud.
3091//
3092// Cancels the specified Spot Fleet requests.
3093//
3094// After you cancel a Spot Fleet request, the Spot Fleet launches no new Spot
3095// Instances. You must specify whether the Spot Fleet should also terminate
3096// its Spot Instances. If you terminate the instances, the Spot Fleet request
3097// enters the cancelled_terminating state. Otherwise, the Spot Fleet request
3098// enters the cancelled_running state and the instances continue to run until
3099// they are interrupted or you terminate them manually.
3100//
3101// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3102// with awserr.Error's Code and Message methods to get detailed information about
3103// the error.
3104//
3105// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3106// API operation CancelSpotFleetRequests for usage and error information.
3107// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotFleetRequests
3108func (c *EC2) CancelSpotFleetRequests(input *CancelSpotFleetRequestsInput) (*CancelSpotFleetRequestsOutput, error) {
3109	req, out := c.CancelSpotFleetRequestsRequest(input)
3110	return out, req.Send()
3111}
3112
3113// CancelSpotFleetRequestsWithContext is the same as CancelSpotFleetRequests with the addition of
3114// the ability to pass a context and additional request options.
3115//
3116// See CancelSpotFleetRequests for details on how to use this API operation.
3117//
3118// The context must be non-nil and will be used for request cancellation. If
3119// the context is nil a panic will occur. In the future the SDK may create
3120// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3121// for more information on using Contexts.
3122func (c *EC2) CancelSpotFleetRequestsWithContext(ctx aws.Context, input *CancelSpotFleetRequestsInput, opts ...request.Option) (*CancelSpotFleetRequestsOutput, error) {
3123	req, out := c.CancelSpotFleetRequestsRequest(input)
3124	req.SetContext(ctx)
3125	req.ApplyOptions(opts...)
3126	return out, req.Send()
3127}
3128
3129const opCancelSpotInstanceRequests = "CancelSpotInstanceRequests"
3130
3131// CancelSpotInstanceRequestsRequest generates a "aws/request.Request" representing the
3132// client's request for the CancelSpotInstanceRequests operation. The "output" return
3133// value will be populated with the request's response once the request completes
3134// successfully.
3135//
3136// Use "Send" method on the returned Request to send the API call to the service.
3137// the "output" return value is not valid until after Send returns without error.
3138//
3139// See CancelSpotInstanceRequests for more information on using the CancelSpotInstanceRequests
3140// API call, and error handling.
3141//
3142// This method is useful when you want to inject custom logic or configuration
3143// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3144//
3145//
3146//    // Example sending a request using the CancelSpotInstanceRequestsRequest method.
3147//    req, resp := client.CancelSpotInstanceRequestsRequest(params)
3148//
3149//    err := req.Send()
3150//    if err == nil { // resp is now filled
3151//        fmt.Println(resp)
3152//    }
3153//
3154// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotInstanceRequests
3155func (c *EC2) CancelSpotInstanceRequestsRequest(input *CancelSpotInstanceRequestsInput) (req *request.Request, output *CancelSpotInstanceRequestsOutput) {
3156	op := &request.Operation{
3157		Name:       opCancelSpotInstanceRequests,
3158		HTTPMethod: "POST",
3159		HTTPPath:   "/",
3160	}
3161
3162	if input == nil {
3163		input = &CancelSpotInstanceRequestsInput{}
3164	}
3165
3166	output = &CancelSpotInstanceRequestsOutput{}
3167	req = c.newRequest(op, input, output)
3168	return
3169}
3170
3171// CancelSpotInstanceRequests API operation for Amazon Elastic Compute Cloud.
3172//
3173// Cancels one or more Spot Instance requests.
3174//
3175// Canceling a Spot Instance request does not terminate running Spot Instances
3176// associated with the request.
3177//
3178// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3179// with awserr.Error's Code and Message methods to get detailed information about
3180// the error.
3181//
3182// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3183// API operation CancelSpotInstanceRequests for usage and error information.
3184// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotInstanceRequests
3185func (c *EC2) CancelSpotInstanceRequests(input *CancelSpotInstanceRequestsInput) (*CancelSpotInstanceRequestsOutput, error) {
3186	req, out := c.CancelSpotInstanceRequestsRequest(input)
3187	return out, req.Send()
3188}
3189
3190// CancelSpotInstanceRequestsWithContext is the same as CancelSpotInstanceRequests with the addition of
3191// the ability to pass a context and additional request options.
3192//
3193// See CancelSpotInstanceRequests for details on how to use this API operation.
3194//
3195// The context must be non-nil and will be used for request cancellation. If
3196// the context is nil a panic will occur. In the future the SDK may create
3197// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3198// for more information on using Contexts.
3199func (c *EC2) CancelSpotInstanceRequestsWithContext(ctx aws.Context, input *CancelSpotInstanceRequestsInput, opts ...request.Option) (*CancelSpotInstanceRequestsOutput, error) {
3200	req, out := c.CancelSpotInstanceRequestsRequest(input)
3201	req.SetContext(ctx)
3202	req.ApplyOptions(opts...)
3203	return out, req.Send()
3204}
3205
3206const opConfirmProductInstance = "ConfirmProductInstance"
3207
3208// ConfirmProductInstanceRequest generates a "aws/request.Request" representing the
3209// client's request for the ConfirmProductInstance operation. The "output" return
3210// value will be populated with the request's response once the request completes
3211// successfully.
3212//
3213// Use "Send" method on the returned Request to send the API call to the service.
3214// the "output" return value is not valid until after Send returns without error.
3215//
3216// See ConfirmProductInstance for more information on using the ConfirmProductInstance
3217// API call, and error handling.
3218//
3219// This method is useful when you want to inject custom logic or configuration
3220// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3221//
3222//
3223//    // Example sending a request using the ConfirmProductInstanceRequest method.
3224//    req, resp := client.ConfirmProductInstanceRequest(params)
3225//
3226//    err := req.Send()
3227//    if err == nil { // resp is now filled
3228//        fmt.Println(resp)
3229//    }
3230//
3231// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ConfirmProductInstance
3232func (c *EC2) ConfirmProductInstanceRequest(input *ConfirmProductInstanceInput) (req *request.Request, output *ConfirmProductInstanceOutput) {
3233	op := &request.Operation{
3234		Name:       opConfirmProductInstance,
3235		HTTPMethod: "POST",
3236		HTTPPath:   "/",
3237	}
3238
3239	if input == nil {
3240		input = &ConfirmProductInstanceInput{}
3241	}
3242
3243	output = &ConfirmProductInstanceOutput{}
3244	req = c.newRequest(op, input, output)
3245	return
3246}
3247
3248// ConfirmProductInstance API operation for Amazon Elastic Compute Cloud.
3249//
3250// Determines whether a product code is associated with an instance. This action
3251// can only be used by the owner of the product code. It is useful when a product
3252// code owner must verify whether another user's instance is eligible for support.
3253//
3254// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3255// with awserr.Error's Code and Message methods to get detailed information about
3256// the error.
3257//
3258// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3259// API operation ConfirmProductInstance for usage and error information.
3260// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ConfirmProductInstance
3261func (c *EC2) ConfirmProductInstance(input *ConfirmProductInstanceInput) (*ConfirmProductInstanceOutput, error) {
3262	req, out := c.ConfirmProductInstanceRequest(input)
3263	return out, req.Send()
3264}
3265
3266// ConfirmProductInstanceWithContext is the same as ConfirmProductInstance with the addition of
3267// the ability to pass a context and additional request options.
3268//
3269// See ConfirmProductInstance for details on how to use this API operation.
3270//
3271// The context must be non-nil and will be used for request cancellation. If
3272// the context is nil a panic will occur. In the future the SDK may create
3273// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3274// for more information on using Contexts.
3275func (c *EC2) ConfirmProductInstanceWithContext(ctx aws.Context, input *ConfirmProductInstanceInput, opts ...request.Option) (*ConfirmProductInstanceOutput, error) {
3276	req, out := c.ConfirmProductInstanceRequest(input)
3277	req.SetContext(ctx)
3278	req.ApplyOptions(opts...)
3279	return out, req.Send()
3280}
3281
3282const opCopyFpgaImage = "CopyFpgaImage"
3283
3284// CopyFpgaImageRequest generates a "aws/request.Request" representing the
3285// client's request for the CopyFpgaImage operation. The "output" return
3286// value will be populated with the request's response once the request completes
3287// successfully.
3288//
3289// Use "Send" method on the returned Request to send the API call to the service.
3290// the "output" return value is not valid until after Send returns without error.
3291//
3292// See CopyFpgaImage for more information on using the CopyFpgaImage
3293// API call, and error handling.
3294//
3295// This method is useful when you want to inject custom logic or configuration
3296// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3297//
3298//
3299//    // Example sending a request using the CopyFpgaImageRequest method.
3300//    req, resp := client.CopyFpgaImageRequest(params)
3301//
3302//    err := req.Send()
3303//    if err == nil { // resp is now filled
3304//        fmt.Println(resp)
3305//    }
3306//
3307// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyFpgaImage
3308func (c *EC2) CopyFpgaImageRequest(input *CopyFpgaImageInput) (req *request.Request, output *CopyFpgaImageOutput) {
3309	op := &request.Operation{
3310		Name:       opCopyFpgaImage,
3311		HTTPMethod: "POST",
3312		HTTPPath:   "/",
3313	}
3314
3315	if input == nil {
3316		input = &CopyFpgaImageInput{}
3317	}
3318
3319	output = &CopyFpgaImageOutput{}
3320	req = c.newRequest(op, input, output)
3321	return
3322}
3323
3324// CopyFpgaImage API operation for Amazon Elastic Compute Cloud.
3325//
3326// Copies the specified Amazon FPGA Image (AFI) to the current Region.
3327//
3328// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3329// with awserr.Error's Code and Message methods to get detailed information about
3330// the error.
3331//
3332// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3333// API operation CopyFpgaImage for usage and error information.
3334// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyFpgaImage
3335func (c *EC2) CopyFpgaImage(input *CopyFpgaImageInput) (*CopyFpgaImageOutput, error) {
3336	req, out := c.CopyFpgaImageRequest(input)
3337	return out, req.Send()
3338}
3339
3340// CopyFpgaImageWithContext is the same as CopyFpgaImage with the addition of
3341// the ability to pass a context and additional request options.
3342//
3343// See CopyFpgaImage for details on how to use this API operation.
3344//
3345// The context must be non-nil and will be used for request cancellation. If
3346// the context is nil a panic will occur. In the future the SDK may create
3347// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3348// for more information on using Contexts.
3349func (c *EC2) CopyFpgaImageWithContext(ctx aws.Context, input *CopyFpgaImageInput, opts ...request.Option) (*CopyFpgaImageOutput, error) {
3350	req, out := c.CopyFpgaImageRequest(input)
3351	req.SetContext(ctx)
3352	req.ApplyOptions(opts...)
3353	return out, req.Send()
3354}
3355
3356const opCopyImage = "CopyImage"
3357
3358// CopyImageRequest generates a "aws/request.Request" representing the
3359// client's request for the CopyImage operation. The "output" return
3360// value will be populated with the request's response once the request completes
3361// successfully.
3362//
3363// Use "Send" method on the returned Request to send the API call to the service.
3364// the "output" return value is not valid until after Send returns without error.
3365//
3366// See CopyImage for more information on using the CopyImage
3367// API call, and error handling.
3368//
3369// This method is useful when you want to inject custom logic or configuration
3370// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3371//
3372//
3373//    // Example sending a request using the CopyImageRequest method.
3374//    req, resp := client.CopyImageRequest(params)
3375//
3376//    err := req.Send()
3377//    if err == nil { // resp is now filled
3378//        fmt.Println(resp)
3379//    }
3380//
3381// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyImage
3382func (c *EC2) CopyImageRequest(input *CopyImageInput) (req *request.Request, output *CopyImageOutput) {
3383	op := &request.Operation{
3384		Name:       opCopyImage,
3385		HTTPMethod: "POST",
3386		HTTPPath:   "/",
3387	}
3388
3389	if input == nil {
3390		input = &CopyImageInput{}
3391	}
3392
3393	output = &CopyImageOutput{}
3394	req = c.newRequest(op, input, output)
3395	return
3396}
3397
3398// CopyImage API operation for Amazon Elastic Compute Cloud.
3399//
3400// Initiates the copy of an AMI. You can copy an AMI from one Region to another,
3401// or from a Region to an AWS Outpost. You can't copy an AMI from an Outpost
3402// to a Region, from one Outpost to another, or within the same Outpost. To
3403// copy an AMI to another partition, see CreateStoreImageTask (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateStoreImageTask.html).
3404//
3405// To copy an AMI from one Region to another, specify the source Region using
3406// the SourceRegion parameter, and specify the destination Region using its
3407// endpoint. Copies of encrypted backing snapshots for the AMI are encrypted.
3408// Copies of unencrypted backing snapshots remain unencrypted, unless you set
3409// Encrypted during the copy operation. You cannot create an unencrypted copy
3410// of an encrypted backing snapshot.
3411//
3412// To copy an AMI from a Region to an Outpost, specify the source Region using
3413// the SourceRegion parameter, and specify the ARN of the destination Outpost
3414// using DestinationOutpostArn. Backing snapshots copied to an Outpost are encrypted
3415// by default using the default encryption key for the Region, or a different
3416// key that you specify in the request using KmsKeyId. Outposts do not support
3417// unencrypted snapshots. For more information, Amazon EBS local snapshots on
3418// Outposts (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshots-outposts.html#ami)
3419// in the Amazon Elastic Compute Cloud User Guide.
3420//
3421// For more information about the prerequisites and limits when copying an AMI,
3422// see Copying an AMI (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/CopyingAMIs.html)
3423// in the Amazon Elastic Compute Cloud User Guide.
3424//
3425// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3426// with awserr.Error's Code and Message methods to get detailed information about
3427// the error.
3428//
3429// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3430// API operation CopyImage for usage and error information.
3431// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyImage
3432func (c *EC2) CopyImage(input *CopyImageInput) (*CopyImageOutput, error) {
3433	req, out := c.CopyImageRequest(input)
3434	return out, req.Send()
3435}
3436
3437// CopyImageWithContext is the same as CopyImage with the addition of
3438// the ability to pass a context and additional request options.
3439//
3440// See CopyImage for details on how to use this API operation.
3441//
3442// The context must be non-nil and will be used for request cancellation. If
3443// the context is nil a panic will occur. In the future the SDK may create
3444// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3445// for more information on using Contexts.
3446func (c *EC2) CopyImageWithContext(ctx aws.Context, input *CopyImageInput, opts ...request.Option) (*CopyImageOutput, error) {
3447	req, out := c.CopyImageRequest(input)
3448	req.SetContext(ctx)
3449	req.ApplyOptions(opts...)
3450	return out, req.Send()
3451}
3452
3453const opCopySnapshot = "CopySnapshot"
3454
3455// CopySnapshotRequest generates a "aws/request.Request" representing the
3456// client's request for the CopySnapshot operation. The "output" return
3457// value will be populated with the request's response once the request completes
3458// successfully.
3459//
3460// Use "Send" method on the returned Request to send the API call to the service.
3461// the "output" return value is not valid until after Send returns without error.
3462//
3463// See CopySnapshot for more information on using the CopySnapshot
3464// API call, and error handling.
3465//
3466// This method is useful when you want to inject custom logic or configuration
3467// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3468//
3469//
3470//    // Example sending a request using the CopySnapshotRequest method.
3471//    req, resp := client.CopySnapshotRequest(params)
3472//
3473//    err := req.Send()
3474//    if err == nil { // resp is now filled
3475//        fmt.Println(resp)
3476//    }
3477//
3478// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopySnapshot
3479func (c *EC2) CopySnapshotRequest(input *CopySnapshotInput) (req *request.Request, output *CopySnapshotOutput) {
3480	op := &request.Operation{
3481		Name:       opCopySnapshot,
3482		HTTPMethod: "POST",
3483		HTTPPath:   "/",
3484	}
3485
3486	if input == nil {
3487		input = &CopySnapshotInput{}
3488	}
3489
3490	output = &CopySnapshotOutput{}
3491	req = c.newRequest(op, input, output)
3492	return
3493}
3494
3495// CopySnapshot API operation for Amazon Elastic Compute Cloud.
3496//
3497// Copies a point-in-time snapshot of an EBS volume and stores it in Amazon
3498// S3. You can copy a snapshot within the same Region, from one Region to another,
3499// or from a Region to an Outpost. You can't copy a snapshot from an Outpost
3500// to a Region, from one Outpost to another, or within the same Outpost.
3501//
3502// You can use the snapshot to create EBS volumes or Amazon Machine Images (AMIs).
3503//
3504// When copying snapshots to a Region, copies of encrypted EBS snapshots remain
3505// encrypted. Copies of unencrypted snapshots remain unencrypted, unless you
3506// enable encryption for the snapshot copy operation. By default, encrypted
3507// snapshot copies use the default AWS Key Management Service (AWS KMS) customer
3508// master key (CMK); however, you can specify a different CMK. To copy an encrypted
3509// snapshot that has been shared from another account, you must have permissions
3510// for the CMK used to encrypt the snapshot.
3511//
3512// Snapshots copied to an Outpost are encrypted by default using the default
3513// encryption key for the Region, or a different key that you specify in the
3514// request using KmsKeyId. Outposts do not support unencrypted snapshots. For
3515// more information, Amazon EBS local snapshots on Outposts (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshots-outposts.html#ami)
3516// in the Amazon Elastic Compute Cloud User Guide.
3517//
3518// Snapshots created by copying another snapshot have an arbitrary volume ID
3519// that should not be used for any purpose.
3520//
3521// For more information, see Copying an Amazon EBS snapshot (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-copy-snapshot.html)
3522// in the Amazon Elastic Compute Cloud User Guide.
3523//
3524// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3525// with awserr.Error's Code and Message methods to get detailed information about
3526// the error.
3527//
3528// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3529// API operation CopySnapshot for usage and error information.
3530// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopySnapshot
3531func (c *EC2) CopySnapshot(input *CopySnapshotInput) (*CopySnapshotOutput, error) {
3532	req, out := c.CopySnapshotRequest(input)
3533	return out, req.Send()
3534}
3535
3536// CopySnapshotWithContext is the same as CopySnapshot with the addition of
3537// the ability to pass a context and additional request options.
3538//
3539// See CopySnapshot for details on how to use this API operation.
3540//
3541// The context must be non-nil and will be used for request cancellation. If
3542// the context is nil a panic will occur. In the future the SDK may create
3543// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3544// for more information on using Contexts.
3545func (c *EC2) CopySnapshotWithContext(ctx aws.Context, input *CopySnapshotInput, opts ...request.Option) (*CopySnapshotOutput, error) {
3546	req, out := c.CopySnapshotRequest(input)
3547	req.SetContext(ctx)
3548	req.ApplyOptions(opts...)
3549	return out, req.Send()
3550}
3551
3552const opCreateCapacityReservation = "CreateCapacityReservation"
3553
3554// CreateCapacityReservationRequest generates a "aws/request.Request" representing the
3555// client's request for the CreateCapacityReservation operation. The "output" return
3556// value will be populated with the request's response once the request completes
3557// successfully.
3558//
3559// Use "Send" method on the returned Request to send the API call to the service.
3560// the "output" return value is not valid until after Send returns without error.
3561//
3562// See CreateCapacityReservation for more information on using the CreateCapacityReservation
3563// API call, and error handling.
3564//
3565// This method is useful when you want to inject custom logic or configuration
3566// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3567//
3568//
3569//    // Example sending a request using the CreateCapacityReservationRequest method.
3570//    req, resp := client.CreateCapacityReservationRequest(params)
3571//
3572//    err := req.Send()
3573//    if err == nil { // resp is now filled
3574//        fmt.Println(resp)
3575//    }
3576//
3577// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCapacityReservation
3578func (c *EC2) CreateCapacityReservationRequest(input *CreateCapacityReservationInput) (req *request.Request, output *CreateCapacityReservationOutput) {
3579	op := &request.Operation{
3580		Name:       opCreateCapacityReservation,
3581		HTTPMethod: "POST",
3582		HTTPPath:   "/",
3583	}
3584
3585	if input == nil {
3586		input = &CreateCapacityReservationInput{}
3587	}
3588
3589	output = &CreateCapacityReservationOutput{}
3590	req = c.newRequest(op, input, output)
3591	return
3592}
3593
3594// CreateCapacityReservation API operation for Amazon Elastic Compute Cloud.
3595//
3596// Creates a new Capacity Reservation with the specified attributes.
3597//
3598// Capacity Reservations enable you to reserve capacity for your Amazon EC2
3599// instances in a specific Availability Zone for any duration. This gives you
3600// the flexibility to selectively add capacity reservations and still get the
3601// Regional RI discounts for that usage. By creating Capacity Reservations,
3602// you ensure that you always have access to Amazon EC2 capacity when you need
3603// it, for as long as you need it. For more information, see Capacity Reservations
3604// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-capacity-reservations.html)
3605// in the Amazon EC2 User Guide.
3606//
3607// Your request to create a Capacity Reservation could fail if Amazon EC2 does
3608// not have sufficient capacity to fulfill the request. If your request fails
3609// due to Amazon EC2 capacity constraints, either try again at a later time,
3610// try in a different Availability Zone, or request a smaller capacity reservation.
3611// If your application is flexible across instance types and sizes, try to create
3612// a Capacity Reservation with different instance attributes.
3613//
3614// Your request could also fail if the requested quantity exceeds your On-Demand
3615// Instance limit for the selected instance type. If your request fails due
3616// to limit constraints, increase your On-Demand Instance limit for the required
3617// instance type and try again. For more information about increasing your instance
3618// limits, see Amazon EC2 Service Quotas (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-resource-limits.html)
3619// in the Amazon EC2 User Guide.
3620//
3621// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3622// with awserr.Error's Code and Message methods to get detailed information about
3623// the error.
3624//
3625// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3626// API operation CreateCapacityReservation for usage and error information.
3627// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCapacityReservation
3628func (c *EC2) CreateCapacityReservation(input *CreateCapacityReservationInput) (*CreateCapacityReservationOutput, error) {
3629	req, out := c.CreateCapacityReservationRequest(input)
3630	return out, req.Send()
3631}
3632
3633// CreateCapacityReservationWithContext is the same as CreateCapacityReservation with the addition of
3634// the ability to pass a context and additional request options.
3635//
3636// See CreateCapacityReservation for details on how to use this API operation.
3637//
3638// The context must be non-nil and will be used for request cancellation. If
3639// the context is nil a panic will occur. In the future the SDK may create
3640// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3641// for more information on using Contexts.
3642func (c *EC2) CreateCapacityReservationWithContext(ctx aws.Context, input *CreateCapacityReservationInput, opts ...request.Option) (*CreateCapacityReservationOutput, error) {
3643	req, out := c.CreateCapacityReservationRequest(input)
3644	req.SetContext(ctx)
3645	req.ApplyOptions(opts...)
3646	return out, req.Send()
3647}
3648
3649const opCreateCarrierGateway = "CreateCarrierGateway"
3650
3651// CreateCarrierGatewayRequest generates a "aws/request.Request" representing the
3652// client's request for the CreateCarrierGateway operation. The "output" return
3653// value will be populated with the request's response once the request completes
3654// successfully.
3655//
3656// Use "Send" method on the returned Request to send the API call to the service.
3657// the "output" return value is not valid until after Send returns without error.
3658//
3659// See CreateCarrierGateway for more information on using the CreateCarrierGateway
3660// API call, and error handling.
3661//
3662// This method is useful when you want to inject custom logic or configuration
3663// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3664//
3665//
3666//    // Example sending a request using the CreateCarrierGatewayRequest method.
3667//    req, resp := client.CreateCarrierGatewayRequest(params)
3668//
3669//    err := req.Send()
3670//    if err == nil { // resp is now filled
3671//        fmt.Println(resp)
3672//    }
3673//
3674// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCarrierGateway
3675func (c *EC2) CreateCarrierGatewayRequest(input *CreateCarrierGatewayInput) (req *request.Request, output *CreateCarrierGatewayOutput) {
3676	op := &request.Operation{
3677		Name:       opCreateCarrierGateway,
3678		HTTPMethod: "POST",
3679		HTTPPath:   "/",
3680	}
3681
3682	if input == nil {
3683		input = &CreateCarrierGatewayInput{}
3684	}
3685
3686	output = &CreateCarrierGatewayOutput{}
3687	req = c.newRequest(op, input, output)
3688	return
3689}
3690
3691// CreateCarrierGateway API operation for Amazon Elastic Compute Cloud.
3692//
3693// Creates a carrier gateway. For more information about carrier gateways, see
3694// Carrier gateways (https://docs.aws.amazon.com/wavelength/latest/developerguide/how-wavelengths-work.html#wavelength-carrier-gateway)
3695// in the AWS Wavelength Developer Guide.
3696//
3697// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3698// with awserr.Error's Code and Message methods to get detailed information about
3699// the error.
3700//
3701// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3702// API operation CreateCarrierGateway for usage and error information.
3703// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCarrierGateway
3704func (c *EC2) CreateCarrierGateway(input *CreateCarrierGatewayInput) (*CreateCarrierGatewayOutput, error) {
3705	req, out := c.CreateCarrierGatewayRequest(input)
3706	return out, req.Send()
3707}
3708
3709// CreateCarrierGatewayWithContext is the same as CreateCarrierGateway with the addition of
3710// the ability to pass a context and additional request options.
3711//
3712// See CreateCarrierGateway for details on how to use this API operation.
3713//
3714// The context must be non-nil and will be used for request cancellation. If
3715// the context is nil a panic will occur. In the future the SDK may create
3716// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3717// for more information on using Contexts.
3718func (c *EC2) CreateCarrierGatewayWithContext(ctx aws.Context, input *CreateCarrierGatewayInput, opts ...request.Option) (*CreateCarrierGatewayOutput, error) {
3719	req, out := c.CreateCarrierGatewayRequest(input)
3720	req.SetContext(ctx)
3721	req.ApplyOptions(opts...)
3722	return out, req.Send()
3723}
3724
3725const opCreateClientVpnEndpoint = "CreateClientVpnEndpoint"
3726
3727// CreateClientVpnEndpointRequest generates a "aws/request.Request" representing the
3728// client's request for the CreateClientVpnEndpoint operation. The "output" return
3729// value will be populated with the request's response once the request completes
3730// successfully.
3731//
3732// Use "Send" method on the returned Request to send the API call to the service.
3733// the "output" return value is not valid until after Send returns without error.
3734//
3735// See CreateClientVpnEndpoint for more information on using the CreateClientVpnEndpoint
3736// API call, and error handling.
3737//
3738// This method is useful when you want to inject custom logic or configuration
3739// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3740//
3741//
3742//    // Example sending a request using the CreateClientVpnEndpointRequest method.
3743//    req, resp := client.CreateClientVpnEndpointRequest(params)
3744//
3745//    err := req.Send()
3746//    if err == nil { // resp is now filled
3747//        fmt.Println(resp)
3748//    }
3749//
3750// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateClientVpnEndpoint
3751func (c *EC2) CreateClientVpnEndpointRequest(input *CreateClientVpnEndpointInput) (req *request.Request, output *CreateClientVpnEndpointOutput) {
3752	op := &request.Operation{
3753		Name:       opCreateClientVpnEndpoint,
3754		HTTPMethod: "POST",
3755		HTTPPath:   "/",
3756	}
3757
3758	if input == nil {
3759		input = &CreateClientVpnEndpointInput{}
3760	}
3761
3762	output = &CreateClientVpnEndpointOutput{}
3763	req = c.newRequest(op, input, output)
3764	return
3765}
3766
3767// CreateClientVpnEndpoint API operation for Amazon Elastic Compute Cloud.
3768//
3769// Creates a Client VPN endpoint. A Client VPN endpoint is the resource you
3770// create and configure to enable and manage client VPN sessions. It is the
3771// destination endpoint at which all client VPN sessions are terminated.
3772//
3773// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3774// with awserr.Error's Code and Message methods to get detailed information about
3775// the error.
3776//
3777// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3778// API operation CreateClientVpnEndpoint for usage and error information.
3779// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateClientVpnEndpoint
3780func (c *EC2) CreateClientVpnEndpoint(input *CreateClientVpnEndpointInput) (*CreateClientVpnEndpointOutput, error) {
3781	req, out := c.CreateClientVpnEndpointRequest(input)
3782	return out, req.Send()
3783}
3784
3785// CreateClientVpnEndpointWithContext is the same as CreateClientVpnEndpoint with the addition of
3786// the ability to pass a context and additional request options.
3787//
3788// See CreateClientVpnEndpoint for details on how to use this API operation.
3789//
3790// The context must be non-nil and will be used for request cancellation. If
3791// the context is nil a panic will occur. In the future the SDK may create
3792// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3793// for more information on using Contexts.
3794func (c *EC2) CreateClientVpnEndpointWithContext(ctx aws.Context, input *CreateClientVpnEndpointInput, opts ...request.Option) (*CreateClientVpnEndpointOutput, error) {
3795	req, out := c.CreateClientVpnEndpointRequest(input)
3796	req.SetContext(ctx)
3797	req.ApplyOptions(opts...)
3798	return out, req.Send()
3799}
3800
3801const opCreateClientVpnRoute = "CreateClientVpnRoute"
3802
3803// CreateClientVpnRouteRequest generates a "aws/request.Request" representing the
3804// client's request for the CreateClientVpnRoute operation. The "output" return
3805// value will be populated with the request's response once the request completes
3806// successfully.
3807//
3808// Use "Send" method on the returned Request to send the API call to the service.
3809// the "output" return value is not valid until after Send returns without error.
3810//
3811// See CreateClientVpnRoute for more information on using the CreateClientVpnRoute
3812// API call, and error handling.
3813//
3814// This method is useful when you want to inject custom logic or configuration
3815// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3816//
3817//
3818//    // Example sending a request using the CreateClientVpnRouteRequest method.
3819//    req, resp := client.CreateClientVpnRouteRequest(params)
3820//
3821//    err := req.Send()
3822//    if err == nil { // resp is now filled
3823//        fmt.Println(resp)
3824//    }
3825//
3826// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateClientVpnRoute
3827func (c *EC2) CreateClientVpnRouteRequest(input *CreateClientVpnRouteInput) (req *request.Request, output *CreateClientVpnRouteOutput) {
3828	op := &request.Operation{
3829		Name:       opCreateClientVpnRoute,
3830		HTTPMethod: "POST",
3831		HTTPPath:   "/",
3832	}
3833
3834	if input == nil {
3835		input = &CreateClientVpnRouteInput{}
3836	}
3837
3838	output = &CreateClientVpnRouteOutput{}
3839	req = c.newRequest(op, input, output)
3840	return
3841}
3842
3843// CreateClientVpnRoute API operation for Amazon Elastic Compute Cloud.
3844//
3845// Adds a route to a network to a Client VPN endpoint. Each Client VPN endpoint
3846// has a route table that describes the available destination network routes.
3847// Each route in the route table specifies the path for traffic to specific
3848// resources or networks.
3849//
3850// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3851// with awserr.Error's Code and Message methods to get detailed information about
3852// the error.
3853//
3854// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3855// API operation CreateClientVpnRoute for usage and error information.
3856// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateClientVpnRoute
3857func (c *EC2) CreateClientVpnRoute(input *CreateClientVpnRouteInput) (*CreateClientVpnRouteOutput, error) {
3858	req, out := c.CreateClientVpnRouteRequest(input)
3859	return out, req.Send()
3860}
3861
3862// CreateClientVpnRouteWithContext is the same as CreateClientVpnRoute with the addition of
3863// the ability to pass a context and additional request options.
3864//
3865// See CreateClientVpnRoute for details on how to use this API operation.
3866//
3867// The context must be non-nil and will be used for request cancellation. If
3868// the context is nil a panic will occur. In the future the SDK may create
3869// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3870// for more information on using Contexts.
3871func (c *EC2) CreateClientVpnRouteWithContext(ctx aws.Context, input *CreateClientVpnRouteInput, opts ...request.Option) (*CreateClientVpnRouteOutput, error) {
3872	req, out := c.CreateClientVpnRouteRequest(input)
3873	req.SetContext(ctx)
3874	req.ApplyOptions(opts...)
3875	return out, req.Send()
3876}
3877
3878const opCreateCustomerGateway = "CreateCustomerGateway"
3879
3880// CreateCustomerGatewayRequest generates a "aws/request.Request" representing the
3881// client's request for the CreateCustomerGateway operation. The "output" return
3882// value will be populated with the request's response once the request completes
3883// successfully.
3884//
3885// Use "Send" method on the returned Request to send the API call to the service.
3886// the "output" return value is not valid until after Send returns without error.
3887//
3888// See CreateCustomerGateway for more information on using the CreateCustomerGateway
3889// API call, and error handling.
3890//
3891// This method is useful when you want to inject custom logic or configuration
3892// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3893//
3894//
3895//    // Example sending a request using the CreateCustomerGatewayRequest method.
3896//    req, resp := client.CreateCustomerGatewayRequest(params)
3897//
3898//    err := req.Send()
3899//    if err == nil { // resp is now filled
3900//        fmt.Println(resp)
3901//    }
3902//
3903// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCustomerGateway
3904func (c *EC2) CreateCustomerGatewayRequest(input *CreateCustomerGatewayInput) (req *request.Request, output *CreateCustomerGatewayOutput) {
3905	op := &request.Operation{
3906		Name:       opCreateCustomerGateway,
3907		HTTPMethod: "POST",
3908		HTTPPath:   "/",
3909	}
3910
3911	if input == nil {
3912		input = &CreateCustomerGatewayInput{}
3913	}
3914
3915	output = &CreateCustomerGatewayOutput{}
3916	req = c.newRequest(op, input, output)
3917	return
3918}
3919
3920// CreateCustomerGateway API operation for Amazon Elastic Compute Cloud.
3921//
3922// Provides information to AWS about your VPN customer gateway device. The customer
3923// gateway is the appliance at your end of the VPN connection. (The device on
3924// the AWS side of the VPN connection is the virtual private gateway.) You must
3925// provide the internet-routable IP address of the customer gateway's external
3926// interface. The IP address must be static and can be behind a device performing
3927// network address translation (NAT).
3928//
3929// For devices that use Border Gateway Protocol (BGP), you can also provide
3930// the device's BGP Autonomous System Number (ASN). You can use an existing
3931// ASN assigned to your network. If you don't have an ASN already, you can use
3932// a private ASN (in the 64512 - 65534 range).
3933//
3934// Amazon EC2 supports all 4-byte ASN numbers in the range of 1 - 2147483647,
3935// with the exception of the following:
3936//
3937//    * 7224 - reserved in the us-east-1 Region
3938//
3939//    * 9059 - reserved in the eu-west-1 Region
3940//
3941//    * 17943 - reserved in the ap-southeast-1 Region
3942//
3943//    * 10124 - reserved in the ap-northeast-1 Region
3944//
3945// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
3946// in the AWS Site-to-Site VPN User Guide.
3947//
3948// To create more than one customer gateway with the same VPN type, IP address,
3949// and BGP ASN, specify a unique device name for each customer gateway. Identical
3950// requests return information about the existing customer gateway and do not
3951// create new customer gateways.
3952//
3953// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3954// with awserr.Error's Code and Message methods to get detailed information about
3955// the error.
3956//
3957// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3958// API operation CreateCustomerGateway for usage and error information.
3959// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCustomerGateway
3960func (c *EC2) CreateCustomerGateway(input *CreateCustomerGatewayInput) (*CreateCustomerGatewayOutput, error) {
3961	req, out := c.CreateCustomerGatewayRequest(input)
3962	return out, req.Send()
3963}
3964
3965// CreateCustomerGatewayWithContext is the same as CreateCustomerGateway with the addition of
3966// the ability to pass a context and additional request options.
3967//
3968// See CreateCustomerGateway for details on how to use this API operation.
3969//
3970// The context must be non-nil and will be used for request cancellation. If
3971// the context is nil a panic will occur. In the future the SDK may create
3972// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3973// for more information on using Contexts.
3974func (c *EC2) CreateCustomerGatewayWithContext(ctx aws.Context, input *CreateCustomerGatewayInput, opts ...request.Option) (*CreateCustomerGatewayOutput, error) {
3975	req, out := c.CreateCustomerGatewayRequest(input)
3976	req.SetContext(ctx)
3977	req.ApplyOptions(opts...)
3978	return out, req.Send()
3979}
3980
3981const opCreateDefaultSubnet = "CreateDefaultSubnet"
3982
3983// CreateDefaultSubnetRequest generates a "aws/request.Request" representing the
3984// client's request for the CreateDefaultSubnet operation. The "output" return
3985// value will be populated with the request's response once the request completes
3986// successfully.
3987//
3988// Use "Send" method on the returned Request to send the API call to the service.
3989// the "output" return value is not valid until after Send returns without error.
3990//
3991// See CreateDefaultSubnet for more information on using the CreateDefaultSubnet
3992// API call, and error handling.
3993//
3994// This method is useful when you want to inject custom logic or configuration
3995// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3996//
3997//
3998//    // Example sending a request using the CreateDefaultSubnetRequest method.
3999//    req, resp := client.CreateDefaultSubnetRequest(params)
4000//
4001//    err := req.Send()
4002//    if err == nil { // resp is now filled
4003//        fmt.Println(resp)
4004//    }
4005//
4006// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultSubnet
4007func (c *EC2) CreateDefaultSubnetRequest(input *CreateDefaultSubnetInput) (req *request.Request, output *CreateDefaultSubnetOutput) {
4008	op := &request.Operation{
4009		Name:       opCreateDefaultSubnet,
4010		HTTPMethod: "POST",
4011		HTTPPath:   "/",
4012	}
4013
4014	if input == nil {
4015		input = &CreateDefaultSubnetInput{}
4016	}
4017
4018	output = &CreateDefaultSubnetOutput{}
4019	req = c.newRequest(op, input, output)
4020	return
4021}
4022
4023// CreateDefaultSubnet API operation for Amazon Elastic Compute Cloud.
4024//
4025// Creates a default subnet with a size /20 IPv4 CIDR block in the specified
4026// Availability Zone in your default VPC. You can have only one default subnet
4027// per Availability Zone. For more information, see Creating a Default Subnet
4028// (https://docs.aws.amazon.com/vpc/latest/userguide/default-vpc.html#create-default-subnet)
4029// in the Amazon Virtual Private Cloud User Guide.
4030//
4031// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4032// with awserr.Error's Code and Message methods to get detailed information about
4033// the error.
4034//
4035// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4036// API operation CreateDefaultSubnet for usage and error information.
4037// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultSubnet
4038func (c *EC2) CreateDefaultSubnet(input *CreateDefaultSubnetInput) (*CreateDefaultSubnetOutput, error) {
4039	req, out := c.CreateDefaultSubnetRequest(input)
4040	return out, req.Send()
4041}
4042
4043// CreateDefaultSubnetWithContext is the same as CreateDefaultSubnet with the addition of
4044// the ability to pass a context and additional request options.
4045//
4046// See CreateDefaultSubnet for details on how to use this API operation.
4047//
4048// The context must be non-nil and will be used for request cancellation. If
4049// the context is nil a panic will occur. In the future the SDK may create
4050// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4051// for more information on using Contexts.
4052func (c *EC2) CreateDefaultSubnetWithContext(ctx aws.Context, input *CreateDefaultSubnetInput, opts ...request.Option) (*CreateDefaultSubnetOutput, error) {
4053	req, out := c.CreateDefaultSubnetRequest(input)
4054	req.SetContext(ctx)
4055	req.ApplyOptions(opts...)
4056	return out, req.Send()
4057}
4058
4059const opCreateDefaultVpc = "CreateDefaultVpc"
4060
4061// CreateDefaultVpcRequest generates a "aws/request.Request" representing the
4062// client's request for the CreateDefaultVpc operation. The "output" return
4063// value will be populated with the request's response once the request completes
4064// successfully.
4065//
4066// Use "Send" method on the returned Request to send the API call to the service.
4067// the "output" return value is not valid until after Send returns without error.
4068//
4069// See CreateDefaultVpc for more information on using the CreateDefaultVpc
4070// API call, and error handling.
4071//
4072// This method is useful when you want to inject custom logic or configuration
4073// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4074//
4075//
4076//    // Example sending a request using the CreateDefaultVpcRequest method.
4077//    req, resp := client.CreateDefaultVpcRequest(params)
4078//
4079//    err := req.Send()
4080//    if err == nil { // resp is now filled
4081//        fmt.Println(resp)
4082//    }
4083//
4084// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultVpc
4085func (c *EC2) CreateDefaultVpcRequest(input *CreateDefaultVpcInput) (req *request.Request, output *CreateDefaultVpcOutput) {
4086	op := &request.Operation{
4087		Name:       opCreateDefaultVpc,
4088		HTTPMethod: "POST",
4089		HTTPPath:   "/",
4090	}
4091
4092	if input == nil {
4093		input = &CreateDefaultVpcInput{}
4094	}
4095
4096	output = &CreateDefaultVpcOutput{}
4097	req = c.newRequest(op, input, output)
4098	return
4099}
4100
4101// CreateDefaultVpc API operation for Amazon Elastic Compute Cloud.
4102//
4103// Creates a default VPC with a size /16 IPv4 CIDR block and a default subnet
4104// in each Availability Zone. For more information about the components of a
4105// default VPC, see Default VPC and Default Subnets (https://docs.aws.amazon.com/vpc/latest/userguide/default-vpc.html)
4106// in the Amazon Virtual Private Cloud User Guide. You cannot specify the components
4107// of the default VPC yourself.
4108//
4109// If you deleted your previous default VPC, you can create a default VPC. You
4110// cannot have more than one default VPC per Region.
4111//
4112// If your account supports EC2-Classic, you cannot use this action to create
4113// a default VPC in a Region that supports EC2-Classic. If you want a default
4114// VPC in a Region that supports EC2-Classic, see "I really want a default VPC
4115// for my existing EC2 account. Is that possible?" in the Default VPCs FAQ (http://aws.amazon.com/vpc/faqs/#Default_VPCs).
4116//
4117// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4118// with awserr.Error's Code and Message methods to get detailed information about
4119// the error.
4120//
4121// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4122// API operation CreateDefaultVpc for usage and error information.
4123// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultVpc
4124func (c *EC2) CreateDefaultVpc(input *CreateDefaultVpcInput) (*CreateDefaultVpcOutput, error) {
4125	req, out := c.CreateDefaultVpcRequest(input)
4126	return out, req.Send()
4127}
4128
4129// CreateDefaultVpcWithContext is the same as CreateDefaultVpc with the addition of
4130// the ability to pass a context and additional request options.
4131//
4132// See CreateDefaultVpc for details on how to use this API operation.
4133//
4134// The context must be non-nil and will be used for request cancellation. If
4135// the context is nil a panic will occur. In the future the SDK may create
4136// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4137// for more information on using Contexts.
4138func (c *EC2) CreateDefaultVpcWithContext(ctx aws.Context, input *CreateDefaultVpcInput, opts ...request.Option) (*CreateDefaultVpcOutput, error) {
4139	req, out := c.CreateDefaultVpcRequest(input)
4140	req.SetContext(ctx)
4141	req.ApplyOptions(opts...)
4142	return out, req.Send()
4143}
4144
4145const opCreateDhcpOptions = "CreateDhcpOptions"
4146
4147// CreateDhcpOptionsRequest generates a "aws/request.Request" representing the
4148// client's request for the CreateDhcpOptions operation. The "output" return
4149// value will be populated with the request's response once the request completes
4150// successfully.
4151//
4152// Use "Send" method on the returned Request to send the API call to the service.
4153// the "output" return value is not valid until after Send returns without error.
4154//
4155// See CreateDhcpOptions for more information on using the CreateDhcpOptions
4156// API call, and error handling.
4157//
4158// This method is useful when you want to inject custom logic or configuration
4159// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4160//
4161//
4162//    // Example sending a request using the CreateDhcpOptionsRequest method.
4163//    req, resp := client.CreateDhcpOptionsRequest(params)
4164//
4165//    err := req.Send()
4166//    if err == nil { // resp is now filled
4167//        fmt.Println(resp)
4168//    }
4169//
4170// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDhcpOptions
4171func (c *EC2) CreateDhcpOptionsRequest(input *CreateDhcpOptionsInput) (req *request.Request, output *CreateDhcpOptionsOutput) {
4172	op := &request.Operation{
4173		Name:       opCreateDhcpOptions,
4174		HTTPMethod: "POST",
4175		HTTPPath:   "/",
4176	}
4177
4178	if input == nil {
4179		input = &CreateDhcpOptionsInput{}
4180	}
4181
4182	output = &CreateDhcpOptionsOutput{}
4183	req = c.newRequest(op, input, output)
4184	return
4185}
4186
4187// CreateDhcpOptions API operation for Amazon Elastic Compute Cloud.
4188//
4189// Creates a set of DHCP options for your VPC. After creating the set, you must
4190// associate it with the VPC, causing all existing and new instances that you
4191// launch in the VPC to use this set of DHCP options. The following are the
4192// individual DHCP options you can specify. For more information about the options,
4193// see RFC 2132 (http://www.ietf.org/rfc/rfc2132.txt).
4194//
4195//    * domain-name-servers - The IP addresses of up to four domain name servers,
4196//    or AmazonProvidedDNS. The default DHCP option set specifies AmazonProvidedDNS.
4197//    If specifying more than one domain name server, specify the IP addresses
4198//    in a single parameter, separated by commas. To have your instance receive
4199//    a custom DNS hostname as specified in domain-name, you must set domain-name-servers
4200//    to a custom DNS server.
4201//
4202//    * domain-name - If you're using AmazonProvidedDNS in us-east-1, specify
4203//    ec2.internal. If you're using AmazonProvidedDNS in another Region, specify
4204//    region.compute.internal (for example, ap-northeast-1.compute.internal).
4205//    Otherwise, specify a domain name (for example, ExampleCompany.com). This
4206//    value is used to complete unqualified DNS hostnames. Important: Some Linux
4207//    operating systems accept multiple domain names separated by spaces. However,
4208//    Windows and other Linux operating systems treat the value as a single
4209//    domain, which results in unexpected behavior. If your DHCP options set
4210//    is associated with a VPC that has instances with multiple operating systems,
4211//    specify only one domain name.
4212//
4213//    * ntp-servers - The IP addresses of up to four Network Time Protocol (NTP)
4214//    servers.
4215//
4216//    * netbios-name-servers - The IP addresses of up to four NetBIOS name servers.
4217//
4218//    * netbios-node-type - The NetBIOS node type (1, 2, 4, or 8). We recommend
4219//    that you specify 2 (broadcast and multicast are not currently supported).
4220//    For more information about these node types, see RFC 2132 (http://www.ietf.org/rfc/rfc2132.txt).
4221//
4222// Your VPC automatically starts out with a set of DHCP options that includes
4223// only a DNS server that we provide (AmazonProvidedDNS). If you create a set
4224// of options, and if your VPC has an internet gateway, make sure to set the
4225// domain-name-servers option either to AmazonProvidedDNS or to a domain name
4226// server of your choice. For more information, see DHCP Options Sets (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html)
4227// in the Amazon Virtual Private Cloud User Guide.
4228//
4229// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4230// with awserr.Error's Code and Message methods to get detailed information about
4231// the error.
4232//
4233// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4234// API operation CreateDhcpOptions for usage and error information.
4235// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDhcpOptions
4236func (c *EC2) CreateDhcpOptions(input *CreateDhcpOptionsInput) (*CreateDhcpOptionsOutput, error) {
4237	req, out := c.CreateDhcpOptionsRequest(input)
4238	return out, req.Send()
4239}
4240
4241// CreateDhcpOptionsWithContext is the same as CreateDhcpOptions with the addition of
4242// the ability to pass a context and additional request options.
4243//
4244// See CreateDhcpOptions for details on how to use this API operation.
4245//
4246// The context must be non-nil and will be used for request cancellation. If
4247// the context is nil a panic will occur. In the future the SDK may create
4248// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4249// for more information on using Contexts.
4250func (c *EC2) CreateDhcpOptionsWithContext(ctx aws.Context, input *CreateDhcpOptionsInput, opts ...request.Option) (*CreateDhcpOptionsOutput, error) {
4251	req, out := c.CreateDhcpOptionsRequest(input)
4252	req.SetContext(ctx)
4253	req.ApplyOptions(opts...)
4254	return out, req.Send()
4255}
4256
4257const opCreateEgressOnlyInternetGateway = "CreateEgressOnlyInternetGateway"
4258
4259// CreateEgressOnlyInternetGatewayRequest generates a "aws/request.Request" representing the
4260// client's request for the CreateEgressOnlyInternetGateway operation. The "output" return
4261// value will be populated with the request's response once the request completes
4262// successfully.
4263//
4264// Use "Send" method on the returned Request to send the API call to the service.
4265// the "output" return value is not valid until after Send returns without error.
4266//
4267// See CreateEgressOnlyInternetGateway for more information on using the CreateEgressOnlyInternetGateway
4268// API call, and error handling.
4269//
4270// This method is useful when you want to inject custom logic or configuration
4271// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4272//
4273//
4274//    // Example sending a request using the CreateEgressOnlyInternetGatewayRequest method.
4275//    req, resp := client.CreateEgressOnlyInternetGatewayRequest(params)
4276//
4277//    err := req.Send()
4278//    if err == nil { // resp is now filled
4279//        fmt.Println(resp)
4280//    }
4281//
4282// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateEgressOnlyInternetGateway
4283func (c *EC2) CreateEgressOnlyInternetGatewayRequest(input *CreateEgressOnlyInternetGatewayInput) (req *request.Request, output *CreateEgressOnlyInternetGatewayOutput) {
4284	op := &request.Operation{
4285		Name:       opCreateEgressOnlyInternetGateway,
4286		HTTPMethod: "POST",
4287		HTTPPath:   "/",
4288	}
4289
4290	if input == nil {
4291		input = &CreateEgressOnlyInternetGatewayInput{}
4292	}
4293
4294	output = &CreateEgressOnlyInternetGatewayOutput{}
4295	req = c.newRequest(op, input, output)
4296	return
4297}
4298
4299// CreateEgressOnlyInternetGateway API operation for Amazon Elastic Compute Cloud.
4300//
4301// [IPv6 only] Creates an egress-only internet gateway for your VPC. An egress-only
4302// internet gateway is used to enable outbound communication over IPv6 from
4303// instances in your VPC to the internet, and prevents hosts outside of your
4304// VPC from initiating an IPv6 connection with your instance.
4305//
4306// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4307// with awserr.Error's Code and Message methods to get detailed information about
4308// the error.
4309//
4310// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4311// API operation CreateEgressOnlyInternetGateway for usage and error information.
4312// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateEgressOnlyInternetGateway
4313func (c *EC2) CreateEgressOnlyInternetGateway(input *CreateEgressOnlyInternetGatewayInput) (*CreateEgressOnlyInternetGatewayOutput, error) {
4314	req, out := c.CreateEgressOnlyInternetGatewayRequest(input)
4315	return out, req.Send()
4316}
4317
4318// CreateEgressOnlyInternetGatewayWithContext is the same as CreateEgressOnlyInternetGateway with the addition of
4319// the ability to pass a context and additional request options.
4320//
4321// See CreateEgressOnlyInternetGateway for details on how to use this API operation.
4322//
4323// The context must be non-nil and will be used for request cancellation. If
4324// the context is nil a panic will occur. In the future the SDK may create
4325// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4326// for more information on using Contexts.
4327func (c *EC2) CreateEgressOnlyInternetGatewayWithContext(ctx aws.Context, input *CreateEgressOnlyInternetGatewayInput, opts ...request.Option) (*CreateEgressOnlyInternetGatewayOutput, error) {
4328	req, out := c.CreateEgressOnlyInternetGatewayRequest(input)
4329	req.SetContext(ctx)
4330	req.ApplyOptions(opts...)
4331	return out, req.Send()
4332}
4333
4334const opCreateFleet = "CreateFleet"
4335
4336// CreateFleetRequest generates a "aws/request.Request" representing the
4337// client's request for the CreateFleet operation. The "output" return
4338// value will be populated with the request's response once the request completes
4339// successfully.
4340//
4341// Use "Send" method on the returned Request to send the API call to the service.
4342// the "output" return value is not valid until after Send returns without error.
4343//
4344// See CreateFleet for more information on using the CreateFleet
4345// API call, and error handling.
4346//
4347// This method is useful when you want to inject custom logic or configuration
4348// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4349//
4350//
4351//    // Example sending a request using the CreateFleetRequest method.
4352//    req, resp := client.CreateFleetRequest(params)
4353//
4354//    err := req.Send()
4355//    if err == nil { // resp is now filled
4356//        fmt.Println(resp)
4357//    }
4358//
4359// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFleet
4360func (c *EC2) CreateFleetRequest(input *CreateFleetInput) (req *request.Request, output *CreateFleetOutput) {
4361	op := &request.Operation{
4362		Name:       opCreateFleet,
4363		HTTPMethod: "POST",
4364		HTTPPath:   "/",
4365	}
4366
4367	if input == nil {
4368		input = &CreateFleetInput{}
4369	}
4370
4371	output = &CreateFleetOutput{}
4372	req = c.newRequest(op, input, output)
4373	return
4374}
4375
4376// CreateFleet API operation for Amazon Elastic Compute Cloud.
4377//
4378// Launches an EC2 Fleet.
4379//
4380// You can create a single EC2 Fleet that includes multiple launch specifications
4381// that vary by instance type, AMI, Availability Zone, or subnet.
4382//
4383// For more information, see Launching an EC2 Fleet (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet.html)
4384// in the Amazon EC2 User Guide.
4385//
4386// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4387// with awserr.Error's Code and Message methods to get detailed information about
4388// the error.
4389//
4390// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4391// API operation CreateFleet for usage and error information.
4392// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFleet
4393func (c *EC2) CreateFleet(input *CreateFleetInput) (*CreateFleetOutput, error) {
4394	req, out := c.CreateFleetRequest(input)
4395	return out, req.Send()
4396}
4397
4398// CreateFleetWithContext is the same as CreateFleet with the addition of
4399// the ability to pass a context and additional request options.
4400//
4401// See CreateFleet for details on how to use this API operation.
4402//
4403// The context must be non-nil and will be used for request cancellation. If
4404// the context is nil a panic will occur. In the future the SDK may create
4405// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4406// for more information on using Contexts.
4407func (c *EC2) CreateFleetWithContext(ctx aws.Context, input *CreateFleetInput, opts ...request.Option) (*CreateFleetOutput, error) {
4408	req, out := c.CreateFleetRequest(input)
4409	req.SetContext(ctx)
4410	req.ApplyOptions(opts...)
4411	return out, req.Send()
4412}
4413
4414const opCreateFlowLogs = "CreateFlowLogs"
4415
4416// CreateFlowLogsRequest generates a "aws/request.Request" representing the
4417// client's request for the CreateFlowLogs operation. The "output" return
4418// value will be populated with the request's response once the request completes
4419// successfully.
4420//
4421// Use "Send" method on the returned Request to send the API call to the service.
4422// the "output" return value is not valid until after Send returns without error.
4423//
4424// See CreateFlowLogs for more information on using the CreateFlowLogs
4425// API call, and error handling.
4426//
4427// This method is useful when you want to inject custom logic or configuration
4428// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4429//
4430//
4431//    // Example sending a request using the CreateFlowLogsRequest method.
4432//    req, resp := client.CreateFlowLogsRequest(params)
4433//
4434//    err := req.Send()
4435//    if err == nil { // resp is now filled
4436//        fmt.Println(resp)
4437//    }
4438//
4439// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFlowLogs
4440func (c *EC2) CreateFlowLogsRequest(input *CreateFlowLogsInput) (req *request.Request, output *CreateFlowLogsOutput) {
4441	op := &request.Operation{
4442		Name:       opCreateFlowLogs,
4443		HTTPMethod: "POST",
4444		HTTPPath:   "/",
4445	}
4446
4447	if input == nil {
4448		input = &CreateFlowLogsInput{}
4449	}
4450
4451	output = &CreateFlowLogsOutput{}
4452	req = c.newRequest(op, input, output)
4453	return
4454}
4455
4456// CreateFlowLogs API operation for Amazon Elastic Compute Cloud.
4457//
4458// Creates one or more flow logs to capture information about IP traffic for
4459// a specific network interface, subnet, or VPC.
4460//
4461// Flow log data for a monitored network interface is recorded as flow log records,
4462// which are log events consisting of fields that describe the traffic flow.
4463// For more information, see Flow Log Records (https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html#flow-log-records)
4464// in the Amazon Virtual Private Cloud User Guide.
4465//
4466// When publishing to CloudWatch Logs, flow log records are published to a log
4467// group, and each network interface has a unique log stream in the log group.
4468// When publishing to Amazon S3, flow log records for all of the monitored network
4469// interfaces are published to a single log file object that is stored in the
4470// specified bucket.
4471//
4472// For more information, see VPC Flow Logs (https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html)
4473// in the Amazon Virtual Private Cloud User Guide.
4474//
4475// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4476// with awserr.Error's Code and Message methods to get detailed information about
4477// the error.
4478//
4479// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4480// API operation CreateFlowLogs for usage and error information.
4481// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFlowLogs
4482func (c *EC2) CreateFlowLogs(input *CreateFlowLogsInput) (*CreateFlowLogsOutput, error) {
4483	req, out := c.CreateFlowLogsRequest(input)
4484	return out, req.Send()
4485}
4486
4487// CreateFlowLogsWithContext is the same as CreateFlowLogs with the addition of
4488// the ability to pass a context and additional request options.
4489//
4490// See CreateFlowLogs for details on how to use this API operation.
4491//
4492// The context must be non-nil and will be used for request cancellation. If
4493// the context is nil a panic will occur. In the future the SDK may create
4494// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4495// for more information on using Contexts.
4496func (c *EC2) CreateFlowLogsWithContext(ctx aws.Context, input *CreateFlowLogsInput, opts ...request.Option) (*CreateFlowLogsOutput, error) {
4497	req, out := c.CreateFlowLogsRequest(input)
4498	req.SetContext(ctx)
4499	req.ApplyOptions(opts...)
4500	return out, req.Send()
4501}
4502
4503const opCreateFpgaImage = "CreateFpgaImage"
4504
4505// CreateFpgaImageRequest generates a "aws/request.Request" representing the
4506// client's request for the CreateFpgaImage operation. The "output" return
4507// value will be populated with the request's response once the request completes
4508// successfully.
4509//
4510// Use "Send" method on the returned Request to send the API call to the service.
4511// the "output" return value is not valid until after Send returns without error.
4512//
4513// See CreateFpgaImage for more information on using the CreateFpgaImage
4514// API call, and error handling.
4515//
4516// This method is useful when you want to inject custom logic or configuration
4517// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4518//
4519//
4520//    // Example sending a request using the CreateFpgaImageRequest method.
4521//    req, resp := client.CreateFpgaImageRequest(params)
4522//
4523//    err := req.Send()
4524//    if err == nil { // resp is now filled
4525//        fmt.Println(resp)
4526//    }
4527//
4528// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFpgaImage
4529func (c *EC2) CreateFpgaImageRequest(input *CreateFpgaImageInput) (req *request.Request, output *CreateFpgaImageOutput) {
4530	op := &request.Operation{
4531		Name:       opCreateFpgaImage,
4532		HTTPMethod: "POST",
4533		HTTPPath:   "/",
4534	}
4535
4536	if input == nil {
4537		input = &CreateFpgaImageInput{}
4538	}
4539
4540	output = &CreateFpgaImageOutput{}
4541	req = c.newRequest(op, input, output)
4542	return
4543}
4544
4545// CreateFpgaImage API operation for Amazon Elastic Compute Cloud.
4546//
4547// Creates an Amazon FPGA Image (AFI) from the specified design checkpoint (DCP).
4548//
4549// The create operation is asynchronous. To verify that the AFI is ready for
4550// use, check the output logs.
4551//
4552// An AFI contains the FPGA bitstream that is ready to download to an FPGA.
4553// You can securely deploy an AFI on multiple FPGA-accelerated instances. For
4554// more information, see the AWS FPGA Hardware Development Kit (https://github.com/aws/aws-fpga/).
4555//
4556// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4557// with awserr.Error's Code and Message methods to get detailed information about
4558// the error.
4559//
4560// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4561// API operation CreateFpgaImage for usage and error information.
4562// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFpgaImage
4563func (c *EC2) CreateFpgaImage(input *CreateFpgaImageInput) (*CreateFpgaImageOutput, error) {
4564	req, out := c.CreateFpgaImageRequest(input)
4565	return out, req.Send()
4566}
4567
4568// CreateFpgaImageWithContext is the same as CreateFpgaImage with the addition of
4569// the ability to pass a context and additional request options.
4570//
4571// See CreateFpgaImage for details on how to use this API operation.
4572//
4573// The context must be non-nil and will be used for request cancellation. If
4574// the context is nil a panic will occur. In the future the SDK may create
4575// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4576// for more information on using Contexts.
4577func (c *EC2) CreateFpgaImageWithContext(ctx aws.Context, input *CreateFpgaImageInput, opts ...request.Option) (*CreateFpgaImageOutput, error) {
4578	req, out := c.CreateFpgaImageRequest(input)
4579	req.SetContext(ctx)
4580	req.ApplyOptions(opts...)
4581	return out, req.Send()
4582}
4583
4584const opCreateImage = "CreateImage"
4585
4586// CreateImageRequest generates a "aws/request.Request" representing the
4587// client's request for the CreateImage operation. The "output" return
4588// value will be populated with the request's response once the request completes
4589// successfully.
4590//
4591// Use "Send" method on the returned Request to send the API call to the service.
4592// the "output" return value is not valid until after Send returns without error.
4593//
4594// See CreateImage for more information on using the CreateImage
4595// API call, and error handling.
4596//
4597// This method is useful when you want to inject custom logic or configuration
4598// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4599//
4600//
4601//    // Example sending a request using the CreateImageRequest method.
4602//    req, resp := client.CreateImageRequest(params)
4603//
4604//    err := req.Send()
4605//    if err == nil { // resp is now filled
4606//        fmt.Println(resp)
4607//    }
4608//
4609// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateImage
4610func (c *EC2) CreateImageRequest(input *CreateImageInput) (req *request.Request, output *CreateImageOutput) {
4611	op := &request.Operation{
4612		Name:       opCreateImage,
4613		HTTPMethod: "POST",
4614		HTTPPath:   "/",
4615	}
4616
4617	if input == nil {
4618		input = &CreateImageInput{}
4619	}
4620
4621	output = &CreateImageOutput{}
4622	req = c.newRequest(op, input, output)
4623	return
4624}
4625
4626// CreateImage API operation for Amazon Elastic Compute Cloud.
4627//
4628// Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance that
4629// is either running or stopped.
4630//
4631// If you customized your instance with instance store volumes or EBS volumes
4632// in addition to the root device volume, the new AMI contains block device
4633// mapping information for those volumes. When you launch an instance from this
4634// new AMI, the instance automatically launches with those additional volumes.
4635//
4636// For more information, see Creating Amazon EBS-Backed Linux AMIs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html)
4637// in the Amazon Elastic Compute Cloud User Guide.
4638//
4639// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4640// with awserr.Error's Code and Message methods to get detailed information about
4641// the error.
4642//
4643// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4644// API operation CreateImage for usage and error information.
4645// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateImage
4646func (c *EC2) CreateImage(input *CreateImageInput) (*CreateImageOutput, error) {
4647	req, out := c.CreateImageRequest(input)
4648	return out, req.Send()
4649}
4650
4651// CreateImageWithContext is the same as CreateImage with the addition of
4652// the ability to pass a context and additional request options.
4653//
4654// See CreateImage for details on how to use this API operation.
4655//
4656// The context must be non-nil and will be used for request cancellation. If
4657// the context is nil a panic will occur. In the future the SDK may create
4658// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4659// for more information on using Contexts.
4660func (c *EC2) CreateImageWithContext(ctx aws.Context, input *CreateImageInput, opts ...request.Option) (*CreateImageOutput, error) {
4661	req, out := c.CreateImageRequest(input)
4662	req.SetContext(ctx)
4663	req.ApplyOptions(opts...)
4664	return out, req.Send()
4665}
4666
4667const opCreateInstanceExportTask = "CreateInstanceExportTask"
4668
4669// CreateInstanceExportTaskRequest generates a "aws/request.Request" representing the
4670// client's request for the CreateInstanceExportTask operation. The "output" return
4671// value will be populated with the request's response once the request completes
4672// successfully.
4673//
4674// Use "Send" method on the returned Request to send the API call to the service.
4675// the "output" return value is not valid until after Send returns without error.
4676//
4677// See CreateInstanceExportTask for more information on using the CreateInstanceExportTask
4678// API call, and error handling.
4679//
4680// This method is useful when you want to inject custom logic or configuration
4681// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4682//
4683//
4684//    // Example sending a request using the CreateInstanceExportTaskRequest method.
4685//    req, resp := client.CreateInstanceExportTaskRequest(params)
4686//
4687//    err := req.Send()
4688//    if err == nil { // resp is now filled
4689//        fmt.Println(resp)
4690//    }
4691//
4692// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInstanceExportTask
4693func (c *EC2) CreateInstanceExportTaskRequest(input *CreateInstanceExportTaskInput) (req *request.Request, output *CreateInstanceExportTaskOutput) {
4694	op := &request.Operation{
4695		Name:       opCreateInstanceExportTask,
4696		HTTPMethod: "POST",
4697		HTTPPath:   "/",
4698	}
4699
4700	if input == nil {
4701		input = &CreateInstanceExportTaskInput{}
4702	}
4703
4704	output = &CreateInstanceExportTaskOutput{}
4705	req = c.newRequest(op, input, output)
4706	return
4707}
4708
4709// CreateInstanceExportTask API operation for Amazon Elastic Compute Cloud.
4710//
4711// Exports a running or stopped instance to an Amazon S3 bucket.
4712//
4713// For information about the supported operating systems, image formats, and
4714// known limitations for the types of instances you can export, see Exporting
4715// an instance as a VM Using VM Import/Export (https://docs.aws.amazon.com/vm-import/latest/userguide/vmexport.html)
4716// in the VM Import/Export User Guide.
4717//
4718// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4719// with awserr.Error's Code and Message methods to get detailed information about
4720// the error.
4721//
4722// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4723// API operation CreateInstanceExportTask for usage and error information.
4724// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInstanceExportTask
4725func (c *EC2) CreateInstanceExportTask(input *CreateInstanceExportTaskInput) (*CreateInstanceExportTaskOutput, error) {
4726	req, out := c.CreateInstanceExportTaskRequest(input)
4727	return out, req.Send()
4728}
4729
4730// CreateInstanceExportTaskWithContext is the same as CreateInstanceExportTask with the addition of
4731// the ability to pass a context and additional request options.
4732//
4733// See CreateInstanceExportTask for details on how to use this API operation.
4734//
4735// The context must be non-nil and will be used for request cancellation. If
4736// the context is nil a panic will occur. In the future the SDK may create
4737// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4738// for more information on using Contexts.
4739func (c *EC2) CreateInstanceExportTaskWithContext(ctx aws.Context, input *CreateInstanceExportTaskInput, opts ...request.Option) (*CreateInstanceExportTaskOutput, error) {
4740	req, out := c.CreateInstanceExportTaskRequest(input)
4741	req.SetContext(ctx)
4742	req.ApplyOptions(opts...)
4743	return out, req.Send()
4744}
4745
4746const opCreateInternetGateway = "CreateInternetGateway"
4747
4748// CreateInternetGatewayRequest generates a "aws/request.Request" representing the
4749// client's request for the CreateInternetGateway operation. The "output" return
4750// value will be populated with the request's response once the request completes
4751// successfully.
4752//
4753// Use "Send" method on the returned Request to send the API call to the service.
4754// the "output" return value is not valid until after Send returns without error.
4755//
4756// See CreateInternetGateway for more information on using the CreateInternetGateway
4757// API call, and error handling.
4758//
4759// This method is useful when you want to inject custom logic or configuration
4760// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4761//
4762//
4763//    // Example sending a request using the CreateInternetGatewayRequest method.
4764//    req, resp := client.CreateInternetGatewayRequest(params)
4765//
4766//    err := req.Send()
4767//    if err == nil { // resp is now filled
4768//        fmt.Println(resp)
4769//    }
4770//
4771// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInternetGateway
4772func (c *EC2) CreateInternetGatewayRequest(input *CreateInternetGatewayInput) (req *request.Request, output *CreateInternetGatewayOutput) {
4773	op := &request.Operation{
4774		Name:       opCreateInternetGateway,
4775		HTTPMethod: "POST",
4776		HTTPPath:   "/",
4777	}
4778
4779	if input == nil {
4780		input = &CreateInternetGatewayInput{}
4781	}
4782
4783	output = &CreateInternetGatewayOutput{}
4784	req = c.newRequest(op, input, output)
4785	return
4786}
4787
4788// CreateInternetGateway API operation for Amazon Elastic Compute Cloud.
4789//
4790// Creates an internet gateway for use with a VPC. After creating the internet
4791// gateway, you attach it to a VPC using AttachInternetGateway.
4792//
4793// For more information about your VPC and internet gateway, see the Amazon
4794// Virtual Private Cloud User Guide (https://docs.aws.amazon.com/vpc/latest/userguide/).
4795//
4796// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4797// with awserr.Error's Code and Message methods to get detailed information about
4798// the error.
4799//
4800// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4801// API operation CreateInternetGateway for usage and error information.
4802// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInternetGateway
4803func (c *EC2) CreateInternetGateway(input *CreateInternetGatewayInput) (*CreateInternetGatewayOutput, error) {
4804	req, out := c.CreateInternetGatewayRequest(input)
4805	return out, req.Send()
4806}
4807
4808// CreateInternetGatewayWithContext is the same as CreateInternetGateway with the addition of
4809// the ability to pass a context and additional request options.
4810//
4811// See CreateInternetGateway for details on how to use this API operation.
4812//
4813// The context must be non-nil and will be used for request cancellation. If
4814// the context is nil a panic will occur. In the future the SDK may create
4815// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4816// for more information on using Contexts.
4817func (c *EC2) CreateInternetGatewayWithContext(ctx aws.Context, input *CreateInternetGatewayInput, opts ...request.Option) (*CreateInternetGatewayOutput, error) {
4818	req, out := c.CreateInternetGatewayRequest(input)
4819	req.SetContext(ctx)
4820	req.ApplyOptions(opts...)
4821	return out, req.Send()
4822}
4823
4824const opCreateKeyPair = "CreateKeyPair"
4825
4826// CreateKeyPairRequest generates a "aws/request.Request" representing the
4827// client's request for the CreateKeyPair operation. The "output" return
4828// value will be populated with the request's response once the request completes
4829// successfully.
4830//
4831// Use "Send" method on the returned Request to send the API call to the service.
4832// the "output" return value is not valid until after Send returns without error.
4833//
4834// See CreateKeyPair for more information on using the CreateKeyPair
4835// API call, and error handling.
4836//
4837// This method is useful when you want to inject custom logic or configuration
4838// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4839//
4840//
4841//    // Example sending a request using the CreateKeyPairRequest method.
4842//    req, resp := client.CreateKeyPairRequest(params)
4843//
4844//    err := req.Send()
4845//    if err == nil { // resp is now filled
4846//        fmt.Println(resp)
4847//    }
4848//
4849// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateKeyPair
4850func (c *EC2) CreateKeyPairRequest(input *CreateKeyPairInput) (req *request.Request, output *CreateKeyPairOutput) {
4851	op := &request.Operation{
4852		Name:       opCreateKeyPair,
4853		HTTPMethod: "POST",
4854		HTTPPath:   "/",
4855	}
4856
4857	if input == nil {
4858		input = &CreateKeyPairInput{}
4859	}
4860
4861	output = &CreateKeyPairOutput{}
4862	req = c.newRequest(op, input, output)
4863	return
4864}
4865
4866// CreateKeyPair API operation for Amazon Elastic Compute Cloud.
4867//
4868// Creates a 2048-bit RSA key pair with the specified name. Amazon EC2 stores
4869// the public key and displays the private key for you to save to a file. The
4870// private key is returned as an unencrypted PEM encoded PKCS#1 private key.
4871// If a key with the specified name already exists, Amazon EC2 returns an error.
4872//
4873// You can have up to five thousand key pairs per Region.
4874//
4875// The key pair returned to you is available only in the Region in which you
4876// create it. If you prefer, you can create your own key pair using a third-party
4877// tool and upload it to any Region using ImportKeyPair.
4878//
4879// For more information, see Key Pairs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
4880// in the Amazon Elastic Compute Cloud User Guide.
4881//
4882// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4883// with awserr.Error's Code and Message methods to get detailed information about
4884// the error.
4885//
4886// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4887// API operation CreateKeyPair for usage and error information.
4888// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateKeyPair
4889func (c *EC2) CreateKeyPair(input *CreateKeyPairInput) (*CreateKeyPairOutput, error) {
4890	req, out := c.CreateKeyPairRequest(input)
4891	return out, req.Send()
4892}
4893
4894// CreateKeyPairWithContext is the same as CreateKeyPair with the addition of
4895// the ability to pass a context and additional request options.
4896//
4897// See CreateKeyPair for details on how to use this API operation.
4898//
4899// The context must be non-nil and will be used for request cancellation. If
4900// the context is nil a panic will occur. In the future the SDK may create
4901// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4902// for more information on using Contexts.
4903func (c *EC2) CreateKeyPairWithContext(ctx aws.Context, input *CreateKeyPairInput, opts ...request.Option) (*CreateKeyPairOutput, error) {
4904	req, out := c.CreateKeyPairRequest(input)
4905	req.SetContext(ctx)
4906	req.ApplyOptions(opts...)
4907	return out, req.Send()
4908}
4909
4910const opCreateLaunchTemplate = "CreateLaunchTemplate"
4911
4912// CreateLaunchTemplateRequest generates a "aws/request.Request" representing the
4913// client's request for the CreateLaunchTemplate operation. The "output" return
4914// value will be populated with the request's response once the request completes
4915// successfully.
4916//
4917// Use "Send" method on the returned Request to send the API call to the service.
4918// the "output" return value is not valid until after Send returns without error.
4919//
4920// See CreateLaunchTemplate for more information on using the CreateLaunchTemplate
4921// API call, and error handling.
4922//
4923// This method is useful when you want to inject custom logic or configuration
4924// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4925//
4926//
4927//    // Example sending a request using the CreateLaunchTemplateRequest method.
4928//    req, resp := client.CreateLaunchTemplateRequest(params)
4929//
4930//    err := req.Send()
4931//    if err == nil { // resp is now filled
4932//        fmt.Println(resp)
4933//    }
4934//
4935// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLaunchTemplate
4936func (c *EC2) CreateLaunchTemplateRequest(input *CreateLaunchTemplateInput) (req *request.Request, output *CreateLaunchTemplateOutput) {
4937	op := &request.Operation{
4938		Name:       opCreateLaunchTemplate,
4939		HTTPMethod: "POST",
4940		HTTPPath:   "/",
4941	}
4942
4943	if input == nil {
4944		input = &CreateLaunchTemplateInput{}
4945	}
4946
4947	output = &CreateLaunchTemplateOutput{}
4948	req = c.newRequest(op, input, output)
4949	return
4950}
4951
4952// CreateLaunchTemplate API operation for Amazon Elastic Compute Cloud.
4953//
4954// Creates a launch template. A launch template contains the parameters to launch
4955// an instance. When you launch an instance using RunInstances, you can specify
4956// a launch template instead of providing the launch parameters in the request.
4957// For more information, see Launching an instance from a launch template (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html)in
4958// the Amazon Elastic Compute Cloud User Guide.
4959//
4960// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4961// with awserr.Error's Code and Message methods to get detailed information about
4962// the error.
4963//
4964// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4965// API operation CreateLaunchTemplate for usage and error information.
4966// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLaunchTemplate
4967func (c *EC2) CreateLaunchTemplate(input *CreateLaunchTemplateInput) (*CreateLaunchTemplateOutput, error) {
4968	req, out := c.CreateLaunchTemplateRequest(input)
4969	return out, req.Send()
4970}
4971
4972// CreateLaunchTemplateWithContext is the same as CreateLaunchTemplate with the addition of
4973// the ability to pass a context and additional request options.
4974//
4975// See CreateLaunchTemplate for details on how to use this API operation.
4976//
4977// The context must be non-nil and will be used for request cancellation. If
4978// the context is nil a panic will occur. In the future the SDK may create
4979// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4980// for more information on using Contexts.
4981func (c *EC2) CreateLaunchTemplateWithContext(ctx aws.Context, input *CreateLaunchTemplateInput, opts ...request.Option) (*CreateLaunchTemplateOutput, error) {
4982	req, out := c.CreateLaunchTemplateRequest(input)
4983	req.SetContext(ctx)
4984	req.ApplyOptions(opts...)
4985	return out, req.Send()
4986}
4987
4988const opCreateLaunchTemplateVersion = "CreateLaunchTemplateVersion"
4989
4990// CreateLaunchTemplateVersionRequest generates a "aws/request.Request" representing the
4991// client's request for the CreateLaunchTemplateVersion operation. The "output" return
4992// value will be populated with the request's response once the request completes
4993// successfully.
4994//
4995// Use "Send" method on the returned Request to send the API call to the service.
4996// the "output" return value is not valid until after Send returns without error.
4997//
4998// See CreateLaunchTemplateVersion for more information on using the CreateLaunchTemplateVersion
4999// API call, and error handling.
5000//
5001// This method is useful when you want to inject custom logic or configuration
5002// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5003//
5004//
5005//    // Example sending a request using the CreateLaunchTemplateVersionRequest method.
5006//    req, resp := client.CreateLaunchTemplateVersionRequest(params)
5007//
5008//    err := req.Send()
5009//    if err == nil { // resp is now filled
5010//        fmt.Println(resp)
5011//    }
5012//
5013// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLaunchTemplateVersion
5014func (c *EC2) CreateLaunchTemplateVersionRequest(input *CreateLaunchTemplateVersionInput) (req *request.Request, output *CreateLaunchTemplateVersionOutput) {
5015	op := &request.Operation{
5016		Name:       opCreateLaunchTemplateVersion,
5017		HTTPMethod: "POST",
5018		HTTPPath:   "/",
5019	}
5020
5021	if input == nil {
5022		input = &CreateLaunchTemplateVersionInput{}
5023	}
5024
5025	output = &CreateLaunchTemplateVersionOutput{}
5026	req = c.newRequest(op, input, output)
5027	return
5028}
5029
5030// CreateLaunchTemplateVersion API operation for Amazon Elastic Compute Cloud.
5031//
5032// Creates a new version for a launch template. You can specify an existing
5033// version of launch template from which to base the new version.
5034//
5035// Launch template versions are numbered in the order in which they are created.
5036// You cannot specify, change, or replace the numbering of launch template versions.
5037//
5038// For more information, see Managing launch template versions (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html#manage-launch-template-versions)in
5039// the Amazon Elastic Compute Cloud User Guide.
5040//
5041// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5042// with awserr.Error's Code and Message methods to get detailed information about
5043// the error.
5044//
5045// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5046// API operation CreateLaunchTemplateVersion for usage and error information.
5047// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLaunchTemplateVersion
5048func (c *EC2) CreateLaunchTemplateVersion(input *CreateLaunchTemplateVersionInput) (*CreateLaunchTemplateVersionOutput, error) {
5049	req, out := c.CreateLaunchTemplateVersionRequest(input)
5050	return out, req.Send()
5051}
5052
5053// CreateLaunchTemplateVersionWithContext is the same as CreateLaunchTemplateVersion with the addition of
5054// the ability to pass a context and additional request options.
5055//
5056// See CreateLaunchTemplateVersion for details on how to use this API operation.
5057//
5058// The context must be non-nil and will be used for request cancellation. If
5059// the context is nil a panic will occur. In the future the SDK may create
5060// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5061// for more information on using Contexts.
5062func (c *EC2) CreateLaunchTemplateVersionWithContext(ctx aws.Context, input *CreateLaunchTemplateVersionInput, opts ...request.Option) (*CreateLaunchTemplateVersionOutput, error) {
5063	req, out := c.CreateLaunchTemplateVersionRequest(input)
5064	req.SetContext(ctx)
5065	req.ApplyOptions(opts...)
5066	return out, req.Send()
5067}
5068
5069const opCreateLocalGatewayRoute = "CreateLocalGatewayRoute"
5070
5071// CreateLocalGatewayRouteRequest generates a "aws/request.Request" representing the
5072// client's request for the CreateLocalGatewayRoute operation. The "output" return
5073// value will be populated with the request's response once the request completes
5074// successfully.
5075//
5076// Use "Send" method on the returned Request to send the API call to the service.
5077// the "output" return value is not valid until after Send returns without error.
5078//
5079// See CreateLocalGatewayRoute for more information on using the CreateLocalGatewayRoute
5080// API call, and error handling.
5081//
5082// This method is useful when you want to inject custom logic or configuration
5083// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5084//
5085//
5086//    // Example sending a request using the CreateLocalGatewayRouteRequest method.
5087//    req, resp := client.CreateLocalGatewayRouteRequest(params)
5088//
5089//    err := req.Send()
5090//    if err == nil { // resp is now filled
5091//        fmt.Println(resp)
5092//    }
5093//
5094// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLocalGatewayRoute
5095func (c *EC2) CreateLocalGatewayRouteRequest(input *CreateLocalGatewayRouteInput) (req *request.Request, output *CreateLocalGatewayRouteOutput) {
5096	op := &request.Operation{
5097		Name:       opCreateLocalGatewayRoute,
5098		HTTPMethod: "POST",
5099		HTTPPath:   "/",
5100	}
5101
5102	if input == nil {
5103		input = &CreateLocalGatewayRouteInput{}
5104	}
5105
5106	output = &CreateLocalGatewayRouteOutput{}
5107	req = c.newRequest(op, input, output)
5108	return
5109}
5110
5111// CreateLocalGatewayRoute API operation for Amazon Elastic Compute Cloud.
5112//
5113// Creates a static route for the specified local gateway route table.
5114//
5115// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5116// with awserr.Error's Code and Message methods to get detailed information about
5117// the error.
5118//
5119// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5120// API operation CreateLocalGatewayRoute for usage and error information.
5121// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLocalGatewayRoute
5122func (c *EC2) CreateLocalGatewayRoute(input *CreateLocalGatewayRouteInput) (*CreateLocalGatewayRouteOutput, error) {
5123	req, out := c.CreateLocalGatewayRouteRequest(input)
5124	return out, req.Send()
5125}
5126
5127// CreateLocalGatewayRouteWithContext is the same as CreateLocalGatewayRoute with the addition of
5128// the ability to pass a context and additional request options.
5129//
5130// See CreateLocalGatewayRoute for details on how to use this API operation.
5131//
5132// The context must be non-nil and will be used for request cancellation. If
5133// the context is nil a panic will occur. In the future the SDK may create
5134// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5135// for more information on using Contexts.
5136func (c *EC2) CreateLocalGatewayRouteWithContext(ctx aws.Context, input *CreateLocalGatewayRouteInput, opts ...request.Option) (*CreateLocalGatewayRouteOutput, error) {
5137	req, out := c.CreateLocalGatewayRouteRequest(input)
5138	req.SetContext(ctx)
5139	req.ApplyOptions(opts...)
5140	return out, req.Send()
5141}
5142
5143const opCreateLocalGatewayRouteTableVpcAssociation = "CreateLocalGatewayRouteTableVpcAssociation"
5144
5145// CreateLocalGatewayRouteTableVpcAssociationRequest generates a "aws/request.Request" representing the
5146// client's request for the CreateLocalGatewayRouteTableVpcAssociation operation. The "output" return
5147// value will be populated with the request's response once the request completes
5148// successfully.
5149//
5150// Use "Send" method on the returned Request to send the API call to the service.
5151// the "output" return value is not valid until after Send returns without error.
5152//
5153// See CreateLocalGatewayRouteTableVpcAssociation for more information on using the CreateLocalGatewayRouteTableVpcAssociation
5154// API call, and error handling.
5155//
5156// This method is useful when you want to inject custom logic or configuration
5157// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5158//
5159//
5160//    // Example sending a request using the CreateLocalGatewayRouteTableVpcAssociationRequest method.
5161//    req, resp := client.CreateLocalGatewayRouteTableVpcAssociationRequest(params)
5162//
5163//    err := req.Send()
5164//    if err == nil { // resp is now filled
5165//        fmt.Println(resp)
5166//    }
5167//
5168// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLocalGatewayRouteTableVpcAssociation
5169func (c *EC2) CreateLocalGatewayRouteTableVpcAssociationRequest(input *CreateLocalGatewayRouteTableVpcAssociationInput) (req *request.Request, output *CreateLocalGatewayRouteTableVpcAssociationOutput) {
5170	op := &request.Operation{
5171		Name:       opCreateLocalGatewayRouteTableVpcAssociation,
5172		HTTPMethod: "POST",
5173		HTTPPath:   "/",
5174	}
5175
5176	if input == nil {
5177		input = &CreateLocalGatewayRouteTableVpcAssociationInput{}
5178	}
5179
5180	output = &CreateLocalGatewayRouteTableVpcAssociationOutput{}
5181	req = c.newRequest(op, input, output)
5182	return
5183}
5184
5185// CreateLocalGatewayRouteTableVpcAssociation API operation for Amazon Elastic Compute Cloud.
5186//
5187// Associates the specified VPC with the specified local gateway route table.
5188//
5189// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5190// with awserr.Error's Code and Message methods to get detailed information about
5191// the error.
5192//
5193// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5194// API operation CreateLocalGatewayRouteTableVpcAssociation for usage and error information.
5195// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLocalGatewayRouteTableVpcAssociation
5196func (c *EC2) CreateLocalGatewayRouteTableVpcAssociation(input *CreateLocalGatewayRouteTableVpcAssociationInput) (*CreateLocalGatewayRouteTableVpcAssociationOutput, error) {
5197	req, out := c.CreateLocalGatewayRouteTableVpcAssociationRequest(input)
5198	return out, req.Send()
5199}
5200
5201// CreateLocalGatewayRouteTableVpcAssociationWithContext is the same as CreateLocalGatewayRouteTableVpcAssociation with the addition of
5202// the ability to pass a context and additional request options.
5203//
5204// See CreateLocalGatewayRouteTableVpcAssociation for details on how to use this API operation.
5205//
5206// The context must be non-nil and will be used for request cancellation. If
5207// the context is nil a panic will occur. In the future the SDK may create
5208// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5209// for more information on using Contexts.
5210func (c *EC2) CreateLocalGatewayRouteTableVpcAssociationWithContext(ctx aws.Context, input *CreateLocalGatewayRouteTableVpcAssociationInput, opts ...request.Option) (*CreateLocalGatewayRouteTableVpcAssociationOutput, error) {
5211	req, out := c.CreateLocalGatewayRouteTableVpcAssociationRequest(input)
5212	req.SetContext(ctx)
5213	req.ApplyOptions(opts...)
5214	return out, req.Send()
5215}
5216
5217const opCreateManagedPrefixList = "CreateManagedPrefixList"
5218
5219// CreateManagedPrefixListRequest generates a "aws/request.Request" representing the
5220// client's request for the CreateManagedPrefixList operation. The "output" return
5221// value will be populated with the request's response once the request completes
5222// successfully.
5223//
5224// Use "Send" method on the returned Request to send the API call to the service.
5225// the "output" return value is not valid until after Send returns without error.
5226//
5227// See CreateManagedPrefixList for more information on using the CreateManagedPrefixList
5228// API call, and error handling.
5229//
5230// This method is useful when you want to inject custom logic or configuration
5231// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5232//
5233//
5234//    // Example sending a request using the CreateManagedPrefixListRequest method.
5235//    req, resp := client.CreateManagedPrefixListRequest(params)
5236//
5237//    err := req.Send()
5238//    if err == nil { // resp is now filled
5239//        fmt.Println(resp)
5240//    }
5241//
5242// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateManagedPrefixList
5243func (c *EC2) CreateManagedPrefixListRequest(input *CreateManagedPrefixListInput) (req *request.Request, output *CreateManagedPrefixListOutput) {
5244	op := &request.Operation{
5245		Name:       opCreateManagedPrefixList,
5246		HTTPMethod: "POST",
5247		HTTPPath:   "/",
5248	}
5249
5250	if input == nil {
5251		input = &CreateManagedPrefixListInput{}
5252	}
5253
5254	output = &CreateManagedPrefixListOutput{}
5255	req = c.newRequest(op, input, output)
5256	return
5257}
5258
5259// CreateManagedPrefixList API operation for Amazon Elastic Compute Cloud.
5260//
5261// Creates a managed prefix list. You can specify one or more entries for the
5262// prefix list. Each entry consists of a CIDR block and an optional description.
5263//
5264// You must specify the maximum number of entries for the prefix list. The maximum
5265// number of entries cannot be changed later.
5266//
5267// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5268// with awserr.Error's Code and Message methods to get detailed information about
5269// the error.
5270//
5271// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5272// API operation CreateManagedPrefixList for usage and error information.
5273// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateManagedPrefixList
5274func (c *EC2) CreateManagedPrefixList(input *CreateManagedPrefixListInput) (*CreateManagedPrefixListOutput, error) {
5275	req, out := c.CreateManagedPrefixListRequest(input)
5276	return out, req.Send()
5277}
5278
5279// CreateManagedPrefixListWithContext is the same as CreateManagedPrefixList with the addition of
5280// the ability to pass a context and additional request options.
5281//
5282// See CreateManagedPrefixList for details on how to use this API operation.
5283//
5284// The context must be non-nil and will be used for request cancellation. If
5285// the context is nil a panic will occur. In the future the SDK may create
5286// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5287// for more information on using Contexts.
5288func (c *EC2) CreateManagedPrefixListWithContext(ctx aws.Context, input *CreateManagedPrefixListInput, opts ...request.Option) (*CreateManagedPrefixListOutput, error) {
5289	req, out := c.CreateManagedPrefixListRequest(input)
5290	req.SetContext(ctx)
5291	req.ApplyOptions(opts...)
5292	return out, req.Send()
5293}
5294
5295const opCreateNatGateway = "CreateNatGateway"
5296
5297// CreateNatGatewayRequest generates a "aws/request.Request" representing the
5298// client's request for the CreateNatGateway operation. The "output" return
5299// value will be populated with the request's response once the request completes
5300// successfully.
5301//
5302// Use "Send" method on the returned Request to send the API call to the service.
5303// the "output" return value is not valid until after Send returns without error.
5304//
5305// See CreateNatGateway for more information on using the CreateNatGateway
5306// API call, and error handling.
5307//
5308// This method is useful when you want to inject custom logic or configuration
5309// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5310//
5311//
5312//    // Example sending a request using the CreateNatGatewayRequest method.
5313//    req, resp := client.CreateNatGatewayRequest(params)
5314//
5315//    err := req.Send()
5316//    if err == nil { // resp is now filled
5317//        fmt.Println(resp)
5318//    }
5319//
5320// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNatGateway
5321func (c *EC2) CreateNatGatewayRequest(input *CreateNatGatewayInput) (req *request.Request, output *CreateNatGatewayOutput) {
5322	op := &request.Operation{
5323		Name:       opCreateNatGateway,
5324		HTTPMethod: "POST",
5325		HTTPPath:   "/",
5326	}
5327
5328	if input == nil {
5329		input = &CreateNatGatewayInput{}
5330	}
5331
5332	output = &CreateNatGatewayOutput{}
5333	req = c.newRequest(op, input, output)
5334	return
5335}
5336
5337// CreateNatGateway API operation for Amazon Elastic Compute Cloud.
5338//
5339// Creates a NAT gateway in the specified public subnet. This action creates
5340// a network interface in the specified subnet with a private IP address from
5341// the IP address range of the subnet. Internet-bound traffic from a private
5342// subnet can be routed to the NAT gateway, therefore enabling instances in
5343// the private subnet to connect to the internet. For more information, see
5344// NAT Gateways (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html)
5345// in the Amazon Virtual Private Cloud User Guide.
5346//
5347// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5348// with awserr.Error's Code and Message methods to get detailed information about
5349// the error.
5350//
5351// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5352// API operation CreateNatGateway for usage and error information.
5353// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNatGateway
5354func (c *EC2) CreateNatGateway(input *CreateNatGatewayInput) (*CreateNatGatewayOutput, error) {
5355	req, out := c.CreateNatGatewayRequest(input)
5356	return out, req.Send()
5357}
5358
5359// CreateNatGatewayWithContext is the same as CreateNatGateway with the addition of
5360// the ability to pass a context and additional request options.
5361//
5362// See CreateNatGateway for details on how to use this API operation.
5363//
5364// The context must be non-nil and will be used for request cancellation. If
5365// the context is nil a panic will occur. In the future the SDK may create
5366// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5367// for more information on using Contexts.
5368func (c *EC2) CreateNatGatewayWithContext(ctx aws.Context, input *CreateNatGatewayInput, opts ...request.Option) (*CreateNatGatewayOutput, error) {
5369	req, out := c.CreateNatGatewayRequest(input)
5370	req.SetContext(ctx)
5371	req.ApplyOptions(opts...)
5372	return out, req.Send()
5373}
5374
5375const opCreateNetworkAcl = "CreateNetworkAcl"
5376
5377// CreateNetworkAclRequest generates a "aws/request.Request" representing the
5378// client's request for the CreateNetworkAcl operation. The "output" return
5379// value will be populated with the request's response once the request completes
5380// successfully.
5381//
5382// Use "Send" method on the returned Request to send the API call to the service.
5383// the "output" return value is not valid until after Send returns without error.
5384//
5385// See CreateNetworkAcl for more information on using the CreateNetworkAcl
5386// API call, and error handling.
5387//
5388// This method is useful when you want to inject custom logic or configuration
5389// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5390//
5391//
5392//    // Example sending a request using the CreateNetworkAclRequest method.
5393//    req, resp := client.CreateNetworkAclRequest(params)
5394//
5395//    err := req.Send()
5396//    if err == nil { // resp is now filled
5397//        fmt.Println(resp)
5398//    }
5399//
5400// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAcl
5401func (c *EC2) CreateNetworkAclRequest(input *CreateNetworkAclInput) (req *request.Request, output *CreateNetworkAclOutput) {
5402	op := &request.Operation{
5403		Name:       opCreateNetworkAcl,
5404		HTTPMethod: "POST",
5405		HTTPPath:   "/",
5406	}
5407
5408	if input == nil {
5409		input = &CreateNetworkAclInput{}
5410	}
5411
5412	output = &CreateNetworkAclOutput{}
5413	req = c.newRequest(op, input, output)
5414	return
5415}
5416
5417// CreateNetworkAcl API operation for Amazon Elastic Compute Cloud.
5418//
5419// Creates a network ACL in a VPC. Network ACLs provide an optional layer of
5420// security (in addition to security groups) for the instances in your VPC.
5421//
5422// For more information, see Network ACLs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ACLs.html)
5423// in the Amazon Virtual Private Cloud User Guide.
5424//
5425// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5426// with awserr.Error's Code and Message methods to get detailed information about
5427// the error.
5428//
5429// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5430// API operation CreateNetworkAcl for usage and error information.
5431// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAcl
5432func (c *EC2) CreateNetworkAcl(input *CreateNetworkAclInput) (*CreateNetworkAclOutput, error) {
5433	req, out := c.CreateNetworkAclRequest(input)
5434	return out, req.Send()
5435}
5436
5437// CreateNetworkAclWithContext is the same as CreateNetworkAcl with the addition of
5438// the ability to pass a context and additional request options.
5439//
5440// See CreateNetworkAcl for details on how to use this API operation.
5441//
5442// The context must be non-nil and will be used for request cancellation. If
5443// the context is nil a panic will occur. In the future the SDK may create
5444// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5445// for more information on using Contexts.
5446func (c *EC2) CreateNetworkAclWithContext(ctx aws.Context, input *CreateNetworkAclInput, opts ...request.Option) (*CreateNetworkAclOutput, error) {
5447	req, out := c.CreateNetworkAclRequest(input)
5448	req.SetContext(ctx)
5449	req.ApplyOptions(opts...)
5450	return out, req.Send()
5451}
5452
5453const opCreateNetworkAclEntry = "CreateNetworkAclEntry"
5454
5455// CreateNetworkAclEntryRequest generates a "aws/request.Request" representing the
5456// client's request for the CreateNetworkAclEntry operation. The "output" return
5457// value will be populated with the request's response once the request completes
5458// successfully.
5459//
5460// Use "Send" method on the returned Request to send the API call to the service.
5461// the "output" return value is not valid until after Send returns without error.
5462//
5463// See CreateNetworkAclEntry for more information on using the CreateNetworkAclEntry
5464// API call, and error handling.
5465//
5466// This method is useful when you want to inject custom logic or configuration
5467// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5468//
5469//
5470//    // Example sending a request using the CreateNetworkAclEntryRequest method.
5471//    req, resp := client.CreateNetworkAclEntryRequest(params)
5472//
5473//    err := req.Send()
5474//    if err == nil { // resp is now filled
5475//        fmt.Println(resp)
5476//    }
5477//
5478// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAclEntry
5479func (c *EC2) CreateNetworkAclEntryRequest(input *CreateNetworkAclEntryInput) (req *request.Request, output *CreateNetworkAclEntryOutput) {
5480	op := &request.Operation{
5481		Name:       opCreateNetworkAclEntry,
5482		HTTPMethod: "POST",
5483		HTTPPath:   "/",
5484	}
5485
5486	if input == nil {
5487		input = &CreateNetworkAclEntryInput{}
5488	}
5489
5490	output = &CreateNetworkAclEntryOutput{}
5491	req = c.newRequest(op, input, output)
5492	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5493	return
5494}
5495
5496// CreateNetworkAclEntry API operation for Amazon Elastic Compute Cloud.
5497//
5498// Creates an entry (a rule) in a network ACL with the specified rule number.
5499// Each network ACL has a set of numbered ingress rules and a separate set of
5500// numbered egress rules. When determining whether a packet should be allowed
5501// in or out of a subnet associated with the ACL, we process the entries in
5502// the ACL according to the rule numbers, in ascending order. Each network ACL
5503// has a set of ingress rules and a separate set of egress rules.
5504//
5505// We recommend that you leave room between the rule numbers (for example, 100,
5506// 110, 120, ...), and not number them one right after the other (for example,
5507// 101, 102, 103, ...). This makes it easier to add a rule between existing
5508// ones without having to renumber the rules.
5509//
5510// After you add an entry, you can't modify it; you must either replace it,
5511// or create an entry and delete the old one.
5512//
5513// For more information about network ACLs, see Network ACLs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ACLs.html)
5514// in the Amazon Virtual Private Cloud User Guide.
5515//
5516// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5517// with awserr.Error's Code and Message methods to get detailed information about
5518// the error.
5519//
5520// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5521// API operation CreateNetworkAclEntry for usage and error information.
5522// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAclEntry
5523func (c *EC2) CreateNetworkAclEntry(input *CreateNetworkAclEntryInput) (*CreateNetworkAclEntryOutput, error) {
5524	req, out := c.CreateNetworkAclEntryRequest(input)
5525	return out, req.Send()
5526}
5527
5528// CreateNetworkAclEntryWithContext is the same as CreateNetworkAclEntry with the addition of
5529// the ability to pass a context and additional request options.
5530//
5531// See CreateNetworkAclEntry for details on how to use this API operation.
5532//
5533// The context must be non-nil and will be used for request cancellation. If
5534// the context is nil a panic will occur. In the future the SDK may create
5535// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5536// for more information on using Contexts.
5537func (c *EC2) CreateNetworkAclEntryWithContext(ctx aws.Context, input *CreateNetworkAclEntryInput, opts ...request.Option) (*CreateNetworkAclEntryOutput, error) {
5538	req, out := c.CreateNetworkAclEntryRequest(input)
5539	req.SetContext(ctx)
5540	req.ApplyOptions(opts...)
5541	return out, req.Send()
5542}
5543
5544const opCreateNetworkInsightsPath = "CreateNetworkInsightsPath"
5545
5546// CreateNetworkInsightsPathRequest generates a "aws/request.Request" representing the
5547// client's request for the CreateNetworkInsightsPath operation. The "output" return
5548// value will be populated with the request's response once the request completes
5549// successfully.
5550//
5551// Use "Send" method on the returned Request to send the API call to the service.
5552// the "output" return value is not valid until after Send returns without error.
5553//
5554// See CreateNetworkInsightsPath for more information on using the CreateNetworkInsightsPath
5555// API call, and error handling.
5556//
5557// This method is useful when you want to inject custom logic or configuration
5558// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5559//
5560//
5561//    // Example sending a request using the CreateNetworkInsightsPathRequest method.
5562//    req, resp := client.CreateNetworkInsightsPathRequest(params)
5563//
5564//    err := req.Send()
5565//    if err == nil { // resp is now filled
5566//        fmt.Println(resp)
5567//    }
5568//
5569// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInsightsPath
5570func (c *EC2) CreateNetworkInsightsPathRequest(input *CreateNetworkInsightsPathInput) (req *request.Request, output *CreateNetworkInsightsPathOutput) {
5571	op := &request.Operation{
5572		Name:       opCreateNetworkInsightsPath,
5573		HTTPMethod: "POST",
5574		HTTPPath:   "/",
5575	}
5576
5577	if input == nil {
5578		input = &CreateNetworkInsightsPathInput{}
5579	}
5580
5581	output = &CreateNetworkInsightsPathOutput{}
5582	req = c.newRequest(op, input, output)
5583	return
5584}
5585
5586// CreateNetworkInsightsPath API operation for Amazon Elastic Compute Cloud.
5587//
5588// Creates a path to analyze for reachability.
5589//
5590// Reachability Analyzer enables you to analyze and debug network reachability
5591// between two resources in your virtual private cloud (VPC). For more information,
5592// see What is Reachability Analyzer (https://docs.aws.amazon.com/vpc/latest/reachability/).
5593//
5594// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5595// with awserr.Error's Code and Message methods to get detailed information about
5596// the error.
5597//
5598// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5599// API operation CreateNetworkInsightsPath for usage and error information.
5600// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInsightsPath
5601func (c *EC2) CreateNetworkInsightsPath(input *CreateNetworkInsightsPathInput) (*CreateNetworkInsightsPathOutput, error) {
5602	req, out := c.CreateNetworkInsightsPathRequest(input)
5603	return out, req.Send()
5604}
5605
5606// CreateNetworkInsightsPathWithContext is the same as CreateNetworkInsightsPath with the addition of
5607// the ability to pass a context and additional request options.
5608//
5609// See CreateNetworkInsightsPath for details on how to use this API operation.
5610//
5611// The context must be non-nil and will be used for request cancellation. If
5612// the context is nil a panic will occur. In the future the SDK may create
5613// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5614// for more information on using Contexts.
5615func (c *EC2) CreateNetworkInsightsPathWithContext(ctx aws.Context, input *CreateNetworkInsightsPathInput, opts ...request.Option) (*CreateNetworkInsightsPathOutput, error) {
5616	req, out := c.CreateNetworkInsightsPathRequest(input)
5617	req.SetContext(ctx)
5618	req.ApplyOptions(opts...)
5619	return out, req.Send()
5620}
5621
5622const opCreateNetworkInterface = "CreateNetworkInterface"
5623
5624// CreateNetworkInterfaceRequest generates a "aws/request.Request" representing the
5625// client's request for the CreateNetworkInterface operation. The "output" return
5626// value will be populated with the request's response once the request completes
5627// successfully.
5628//
5629// Use "Send" method on the returned Request to send the API call to the service.
5630// the "output" return value is not valid until after Send returns without error.
5631//
5632// See CreateNetworkInterface for more information on using the CreateNetworkInterface
5633// API call, and error handling.
5634//
5635// This method is useful when you want to inject custom logic or configuration
5636// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5637//
5638//
5639//    // Example sending a request using the CreateNetworkInterfaceRequest method.
5640//    req, resp := client.CreateNetworkInterfaceRequest(params)
5641//
5642//    err := req.Send()
5643//    if err == nil { // resp is now filled
5644//        fmt.Println(resp)
5645//    }
5646//
5647// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterface
5648func (c *EC2) CreateNetworkInterfaceRequest(input *CreateNetworkInterfaceInput) (req *request.Request, output *CreateNetworkInterfaceOutput) {
5649	op := &request.Operation{
5650		Name:       opCreateNetworkInterface,
5651		HTTPMethod: "POST",
5652		HTTPPath:   "/",
5653	}
5654
5655	if input == nil {
5656		input = &CreateNetworkInterfaceInput{}
5657	}
5658
5659	output = &CreateNetworkInterfaceOutput{}
5660	req = c.newRequest(op, input, output)
5661	return
5662}
5663
5664// CreateNetworkInterface API operation for Amazon Elastic Compute Cloud.
5665//
5666// Creates a network interface in the specified subnet.
5667//
5668// For more information about network interfaces, see Elastic Network Interfaces
5669// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) in the
5670// Amazon Virtual Private Cloud User Guide.
5671//
5672// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5673// with awserr.Error's Code and Message methods to get detailed information about
5674// the error.
5675//
5676// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5677// API operation CreateNetworkInterface for usage and error information.
5678// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterface
5679func (c *EC2) CreateNetworkInterface(input *CreateNetworkInterfaceInput) (*CreateNetworkInterfaceOutput, error) {
5680	req, out := c.CreateNetworkInterfaceRequest(input)
5681	return out, req.Send()
5682}
5683
5684// CreateNetworkInterfaceWithContext is the same as CreateNetworkInterface with the addition of
5685// the ability to pass a context and additional request options.
5686//
5687// See CreateNetworkInterface for details on how to use this API operation.
5688//
5689// The context must be non-nil and will be used for request cancellation. If
5690// the context is nil a panic will occur. In the future the SDK may create
5691// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5692// for more information on using Contexts.
5693func (c *EC2) CreateNetworkInterfaceWithContext(ctx aws.Context, input *CreateNetworkInterfaceInput, opts ...request.Option) (*CreateNetworkInterfaceOutput, error) {
5694	req, out := c.CreateNetworkInterfaceRequest(input)
5695	req.SetContext(ctx)
5696	req.ApplyOptions(opts...)
5697	return out, req.Send()
5698}
5699
5700const opCreateNetworkInterfacePermission = "CreateNetworkInterfacePermission"
5701
5702// CreateNetworkInterfacePermissionRequest generates a "aws/request.Request" representing the
5703// client's request for the CreateNetworkInterfacePermission operation. The "output" return
5704// value will be populated with the request's response once the request completes
5705// successfully.
5706//
5707// Use "Send" method on the returned Request to send the API call to the service.
5708// the "output" return value is not valid until after Send returns without error.
5709//
5710// See CreateNetworkInterfacePermission for more information on using the CreateNetworkInterfacePermission
5711// API call, and error handling.
5712//
5713// This method is useful when you want to inject custom logic or configuration
5714// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5715//
5716//
5717//    // Example sending a request using the CreateNetworkInterfacePermissionRequest method.
5718//    req, resp := client.CreateNetworkInterfacePermissionRequest(params)
5719//
5720//    err := req.Send()
5721//    if err == nil { // resp is now filled
5722//        fmt.Println(resp)
5723//    }
5724//
5725// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterfacePermission
5726func (c *EC2) CreateNetworkInterfacePermissionRequest(input *CreateNetworkInterfacePermissionInput) (req *request.Request, output *CreateNetworkInterfacePermissionOutput) {
5727	op := &request.Operation{
5728		Name:       opCreateNetworkInterfacePermission,
5729		HTTPMethod: "POST",
5730		HTTPPath:   "/",
5731	}
5732
5733	if input == nil {
5734		input = &CreateNetworkInterfacePermissionInput{}
5735	}
5736
5737	output = &CreateNetworkInterfacePermissionOutput{}
5738	req = c.newRequest(op, input, output)
5739	return
5740}
5741
5742// CreateNetworkInterfacePermission API operation for Amazon Elastic Compute Cloud.
5743//
5744// Grants an AWS-authorized account permission to attach the specified network
5745// interface to an instance in their account.
5746//
5747// You can grant permission to a single AWS account only, and only one account
5748// at a time.
5749//
5750// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5751// with awserr.Error's Code and Message methods to get detailed information about
5752// the error.
5753//
5754// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5755// API operation CreateNetworkInterfacePermission for usage and error information.
5756// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterfacePermission
5757func (c *EC2) CreateNetworkInterfacePermission(input *CreateNetworkInterfacePermissionInput) (*CreateNetworkInterfacePermissionOutput, error) {
5758	req, out := c.CreateNetworkInterfacePermissionRequest(input)
5759	return out, req.Send()
5760}
5761
5762// CreateNetworkInterfacePermissionWithContext is the same as CreateNetworkInterfacePermission with the addition of
5763// the ability to pass a context and additional request options.
5764//
5765// See CreateNetworkInterfacePermission for details on how to use this API operation.
5766//
5767// The context must be non-nil and will be used for request cancellation. If
5768// the context is nil a panic will occur. In the future the SDK may create
5769// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5770// for more information on using Contexts.
5771func (c *EC2) CreateNetworkInterfacePermissionWithContext(ctx aws.Context, input *CreateNetworkInterfacePermissionInput, opts ...request.Option) (*CreateNetworkInterfacePermissionOutput, error) {
5772	req, out := c.CreateNetworkInterfacePermissionRequest(input)
5773	req.SetContext(ctx)
5774	req.ApplyOptions(opts...)
5775	return out, req.Send()
5776}
5777
5778const opCreatePlacementGroup = "CreatePlacementGroup"
5779
5780// CreatePlacementGroupRequest generates a "aws/request.Request" representing the
5781// client's request for the CreatePlacementGroup operation. The "output" return
5782// value will be populated with the request's response once the request completes
5783// successfully.
5784//
5785// Use "Send" method on the returned Request to send the API call to the service.
5786// the "output" return value is not valid until after Send returns without error.
5787//
5788// See CreatePlacementGroup for more information on using the CreatePlacementGroup
5789// API call, and error handling.
5790//
5791// This method is useful when you want to inject custom logic or configuration
5792// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5793//
5794//
5795//    // Example sending a request using the CreatePlacementGroupRequest method.
5796//    req, resp := client.CreatePlacementGroupRequest(params)
5797//
5798//    err := req.Send()
5799//    if err == nil { // resp is now filled
5800//        fmt.Println(resp)
5801//    }
5802//
5803// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreatePlacementGroup
5804func (c *EC2) CreatePlacementGroupRequest(input *CreatePlacementGroupInput) (req *request.Request, output *CreatePlacementGroupOutput) {
5805	op := &request.Operation{
5806		Name:       opCreatePlacementGroup,
5807		HTTPMethod: "POST",
5808		HTTPPath:   "/",
5809	}
5810
5811	if input == nil {
5812		input = &CreatePlacementGroupInput{}
5813	}
5814
5815	output = &CreatePlacementGroupOutput{}
5816	req = c.newRequest(op, input, output)
5817	return
5818}
5819
5820// CreatePlacementGroup API operation for Amazon Elastic Compute Cloud.
5821//
5822// Creates a placement group in which to launch instances. The strategy of the
5823// placement group determines how the instances are organized within the group.
5824//
5825// A cluster placement group is a logical grouping of instances within a single
5826// Availability Zone that benefit from low network latency, high network throughput.
5827// A spread placement group places instances on distinct hardware. A partition
5828// placement group places groups of instances in different partitions, where
5829// instances in one partition do not share the same hardware with instances
5830// in another partition.
5831//
5832// For more information, see Placement groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html)
5833// in the Amazon EC2 User Guide.
5834//
5835// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5836// with awserr.Error's Code and Message methods to get detailed information about
5837// the error.
5838//
5839// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5840// API operation CreatePlacementGroup for usage and error information.
5841// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreatePlacementGroup
5842func (c *EC2) CreatePlacementGroup(input *CreatePlacementGroupInput) (*CreatePlacementGroupOutput, error) {
5843	req, out := c.CreatePlacementGroupRequest(input)
5844	return out, req.Send()
5845}
5846
5847// CreatePlacementGroupWithContext is the same as CreatePlacementGroup with the addition of
5848// the ability to pass a context and additional request options.
5849//
5850// See CreatePlacementGroup for details on how to use this API operation.
5851//
5852// The context must be non-nil and will be used for request cancellation. If
5853// the context is nil a panic will occur. In the future the SDK may create
5854// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5855// for more information on using Contexts.
5856func (c *EC2) CreatePlacementGroupWithContext(ctx aws.Context, input *CreatePlacementGroupInput, opts ...request.Option) (*CreatePlacementGroupOutput, error) {
5857	req, out := c.CreatePlacementGroupRequest(input)
5858	req.SetContext(ctx)
5859	req.ApplyOptions(opts...)
5860	return out, req.Send()
5861}
5862
5863const opCreateReplaceRootVolumeTask = "CreateReplaceRootVolumeTask"
5864
5865// CreateReplaceRootVolumeTaskRequest generates a "aws/request.Request" representing the
5866// client's request for the CreateReplaceRootVolumeTask operation. The "output" return
5867// value will be populated with the request's response once the request completes
5868// successfully.
5869//
5870// Use "Send" method on the returned Request to send the API call to the service.
5871// the "output" return value is not valid until after Send returns without error.
5872//
5873// See CreateReplaceRootVolumeTask for more information on using the CreateReplaceRootVolumeTask
5874// API call, and error handling.
5875//
5876// This method is useful when you want to inject custom logic or configuration
5877// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5878//
5879//
5880//    // Example sending a request using the CreateReplaceRootVolumeTaskRequest method.
5881//    req, resp := client.CreateReplaceRootVolumeTaskRequest(params)
5882//
5883//    err := req.Send()
5884//    if err == nil { // resp is now filled
5885//        fmt.Println(resp)
5886//    }
5887//
5888// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateReplaceRootVolumeTask
5889func (c *EC2) CreateReplaceRootVolumeTaskRequest(input *CreateReplaceRootVolumeTaskInput) (req *request.Request, output *CreateReplaceRootVolumeTaskOutput) {
5890	op := &request.Operation{
5891		Name:       opCreateReplaceRootVolumeTask,
5892		HTTPMethod: "POST",
5893		HTTPPath:   "/",
5894	}
5895
5896	if input == nil {
5897		input = &CreateReplaceRootVolumeTaskInput{}
5898	}
5899
5900	output = &CreateReplaceRootVolumeTaskOutput{}
5901	req = c.newRequest(op, input, output)
5902	return
5903}
5904
5905// CreateReplaceRootVolumeTask API operation for Amazon Elastic Compute Cloud.
5906//
5907// Creates a root volume replacement task for an Amazon EC2 instance. The root
5908// volume can either be restored to its initial launch state, or it can be restored
5909// using a specific snapshot.
5910//
5911// For more information, see Replace a root volume (https://docs.aws.amazon.com/)
5912// in the Amazon Elastic Compute Cloud User Guide.
5913//
5914// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5915// with awserr.Error's Code and Message methods to get detailed information about
5916// the error.
5917//
5918// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5919// API operation CreateReplaceRootVolumeTask for usage and error information.
5920// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateReplaceRootVolumeTask
5921func (c *EC2) CreateReplaceRootVolumeTask(input *CreateReplaceRootVolumeTaskInput) (*CreateReplaceRootVolumeTaskOutput, error) {
5922	req, out := c.CreateReplaceRootVolumeTaskRequest(input)
5923	return out, req.Send()
5924}
5925
5926// CreateReplaceRootVolumeTaskWithContext is the same as CreateReplaceRootVolumeTask with the addition of
5927// the ability to pass a context and additional request options.
5928//
5929// See CreateReplaceRootVolumeTask for details on how to use this API operation.
5930//
5931// The context must be non-nil and will be used for request cancellation. If
5932// the context is nil a panic will occur. In the future the SDK may create
5933// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5934// for more information on using Contexts.
5935func (c *EC2) CreateReplaceRootVolumeTaskWithContext(ctx aws.Context, input *CreateReplaceRootVolumeTaskInput, opts ...request.Option) (*CreateReplaceRootVolumeTaskOutput, error) {
5936	req, out := c.CreateReplaceRootVolumeTaskRequest(input)
5937	req.SetContext(ctx)
5938	req.ApplyOptions(opts...)
5939	return out, req.Send()
5940}
5941
5942const opCreateReservedInstancesListing = "CreateReservedInstancesListing"
5943
5944// CreateReservedInstancesListingRequest generates a "aws/request.Request" representing the
5945// client's request for the CreateReservedInstancesListing operation. The "output" return
5946// value will be populated with the request's response once the request completes
5947// successfully.
5948//
5949// Use "Send" method on the returned Request to send the API call to the service.
5950// the "output" return value is not valid until after Send returns without error.
5951//
5952// See CreateReservedInstancesListing for more information on using the CreateReservedInstancesListing
5953// API call, and error handling.
5954//
5955// This method is useful when you want to inject custom logic or configuration
5956// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5957//
5958//
5959//    // Example sending a request using the CreateReservedInstancesListingRequest method.
5960//    req, resp := client.CreateReservedInstancesListingRequest(params)
5961//
5962//    err := req.Send()
5963//    if err == nil { // resp is now filled
5964//        fmt.Println(resp)
5965//    }
5966//
5967// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateReservedInstancesListing
5968func (c *EC2) CreateReservedInstancesListingRequest(input *CreateReservedInstancesListingInput) (req *request.Request, output *CreateReservedInstancesListingOutput) {
5969	op := &request.Operation{
5970		Name:       opCreateReservedInstancesListing,
5971		HTTPMethod: "POST",
5972		HTTPPath:   "/",
5973	}
5974
5975	if input == nil {
5976		input = &CreateReservedInstancesListingInput{}
5977	}
5978
5979	output = &CreateReservedInstancesListingOutput{}
5980	req = c.newRequest(op, input, output)
5981	return
5982}
5983
5984// CreateReservedInstancesListing API operation for Amazon Elastic Compute Cloud.
5985//
5986// Creates a listing for Amazon EC2 Standard Reserved Instances to be sold in
5987// the Reserved Instance Marketplace. You can submit one Standard Reserved Instance
5988// listing at a time. To get a list of your Standard Reserved Instances, you
5989// can use the DescribeReservedInstances operation.
5990//
5991// Only Standard Reserved Instances can be sold in the Reserved Instance Marketplace.
5992// Convertible Reserved Instances cannot be sold.
5993//
5994// The Reserved Instance Marketplace matches sellers who want to resell Standard
5995// Reserved Instance capacity that they no longer need with buyers who want
5996// to purchase additional capacity. Reserved Instances bought and sold through
5997// the Reserved Instance Marketplace work like any other Reserved Instances.
5998//
5999// To sell your Standard Reserved Instances, you must first register as a seller
6000// in the Reserved Instance Marketplace. After completing the registration process,
6001// you can create a Reserved Instance Marketplace listing of some or all of
6002// your Standard Reserved Instances, and specify the upfront price to receive
6003// for them. Your Standard Reserved Instance listings then become available
6004// for purchase. To view the details of your Standard Reserved Instance listing,
6005// you can use the DescribeReservedInstancesListings operation.
6006//
6007// For more information, see Reserved Instance Marketplace (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
6008// in the Amazon EC2 User Guide.
6009//
6010// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6011// with awserr.Error's Code and Message methods to get detailed information about
6012// the error.
6013//
6014// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6015// API operation CreateReservedInstancesListing for usage and error information.
6016// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateReservedInstancesListing
6017func (c *EC2) CreateReservedInstancesListing(input *CreateReservedInstancesListingInput) (*CreateReservedInstancesListingOutput, error) {
6018	req, out := c.CreateReservedInstancesListingRequest(input)
6019	return out, req.Send()
6020}
6021
6022// CreateReservedInstancesListingWithContext is the same as CreateReservedInstancesListing with the addition of
6023// the ability to pass a context and additional request options.
6024//
6025// See CreateReservedInstancesListing for details on how to use this API operation.
6026//
6027// The context must be non-nil and will be used for request cancellation. If
6028// the context is nil a panic will occur. In the future the SDK may create
6029// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6030// for more information on using Contexts.
6031func (c *EC2) CreateReservedInstancesListingWithContext(ctx aws.Context, input *CreateReservedInstancesListingInput, opts ...request.Option) (*CreateReservedInstancesListingOutput, error) {
6032	req, out := c.CreateReservedInstancesListingRequest(input)
6033	req.SetContext(ctx)
6034	req.ApplyOptions(opts...)
6035	return out, req.Send()
6036}
6037
6038const opCreateRestoreImageTask = "CreateRestoreImageTask"
6039
6040// CreateRestoreImageTaskRequest generates a "aws/request.Request" representing the
6041// client's request for the CreateRestoreImageTask operation. The "output" return
6042// value will be populated with the request's response once the request completes
6043// successfully.
6044//
6045// Use "Send" method on the returned Request to send the API call to the service.
6046// the "output" return value is not valid until after Send returns without error.
6047//
6048// See CreateRestoreImageTask for more information on using the CreateRestoreImageTask
6049// API call, and error handling.
6050//
6051// This method is useful when you want to inject custom logic or configuration
6052// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6053//
6054//
6055//    // Example sending a request using the CreateRestoreImageTaskRequest method.
6056//    req, resp := client.CreateRestoreImageTaskRequest(params)
6057//
6058//    err := req.Send()
6059//    if err == nil { // resp is now filled
6060//        fmt.Println(resp)
6061//    }
6062//
6063// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRestoreImageTask
6064func (c *EC2) CreateRestoreImageTaskRequest(input *CreateRestoreImageTaskInput) (req *request.Request, output *CreateRestoreImageTaskOutput) {
6065	op := &request.Operation{
6066		Name:       opCreateRestoreImageTask,
6067		HTTPMethod: "POST",
6068		HTTPPath:   "/",
6069	}
6070
6071	if input == nil {
6072		input = &CreateRestoreImageTaskInput{}
6073	}
6074
6075	output = &CreateRestoreImageTaskOutput{}
6076	req = c.newRequest(op, input, output)
6077	return
6078}
6079
6080// CreateRestoreImageTask API operation for Amazon Elastic Compute Cloud.
6081//
6082// Starts a task that restores an AMI from an S3 object that was previously
6083// created by using CreateStoreImageTask (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateStoreImageTask.html).
6084//
6085// To use this API, you must have the required permissions. For more information,
6086// see Permissions for storing and restoring AMIs using S3 (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-store-restore.html#ami-s3-permissions)
6087// in the Amazon Elastic Compute Cloud User Guide.
6088//
6089// For more information, see Store and restore an AMI using S3 (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-store-restore.html)
6090// in the Amazon Elastic Compute Cloud User Guide.
6091//
6092// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6093// with awserr.Error's Code and Message methods to get detailed information about
6094// the error.
6095//
6096// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6097// API operation CreateRestoreImageTask for usage and error information.
6098// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRestoreImageTask
6099func (c *EC2) CreateRestoreImageTask(input *CreateRestoreImageTaskInput) (*CreateRestoreImageTaskOutput, error) {
6100	req, out := c.CreateRestoreImageTaskRequest(input)
6101	return out, req.Send()
6102}
6103
6104// CreateRestoreImageTaskWithContext is the same as CreateRestoreImageTask with the addition of
6105// the ability to pass a context and additional request options.
6106//
6107// See CreateRestoreImageTask for details on how to use this API operation.
6108//
6109// The context must be non-nil and will be used for request cancellation. If
6110// the context is nil a panic will occur. In the future the SDK may create
6111// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6112// for more information on using Contexts.
6113func (c *EC2) CreateRestoreImageTaskWithContext(ctx aws.Context, input *CreateRestoreImageTaskInput, opts ...request.Option) (*CreateRestoreImageTaskOutput, error) {
6114	req, out := c.CreateRestoreImageTaskRequest(input)
6115	req.SetContext(ctx)
6116	req.ApplyOptions(opts...)
6117	return out, req.Send()
6118}
6119
6120const opCreateRoute = "CreateRoute"
6121
6122// CreateRouteRequest generates a "aws/request.Request" representing the
6123// client's request for the CreateRoute operation. The "output" return
6124// value will be populated with the request's response once the request completes
6125// successfully.
6126//
6127// Use "Send" method on the returned Request to send the API call to the service.
6128// the "output" return value is not valid until after Send returns without error.
6129//
6130// See CreateRoute for more information on using the CreateRoute
6131// API call, and error handling.
6132//
6133// This method is useful when you want to inject custom logic or configuration
6134// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6135//
6136//
6137//    // Example sending a request using the CreateRouteRequest method.
6138//    req, resp := client.CreateRouteRequest(params)
6139//
6140//    err := req.Send()
6141//    if err == nil { // resp is now filled
6142//        fmt.Println(resp)
6143//    }
6144//
6145// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRoute
6146func (c *EC2) CreateRouteRequest(input *CreateRouteInput) (req *request.Request, output *CreateRouteOutput) {
6147	op := &request.Operation{
6148		Name:       opCreateRoute,
6149		HTTPMethod: "POST",
6150		HTTPPath:   "/",
6151	}
6152
6153	if input == nil {
6154		input = &CreateRouteInput{}
6155	}
6156
6157	output = &CreateRouteOutput{}
6158	req = c.newRequest(op, input, output)
6159	return
6160}
6161
6162// CreateRoute API operation for Amazon Elastic Compute Cloud.
6163//
6164// Creates a route in a route table within a VPC.
6165//
6166// You must specify one of the following targets: internet gateway or virtual
6167// private gateway, NAT instance, NAT gateway, VPC peering connection, network
6168// interface, egress-only internet gateway, or transit gateway.
6169//
6170// When determining how to route traffic, we use the route with the most specific
6171// match. For example, traffic is destined for the IPv4 address 192.0.2.3, and
6172// the route table includes the following two IPv4 routes:
6173//
6174//    * 192.0.2.0/24 (goes to some target A)
6175//
6176//    * 192.0.2.0/28 (goes to some target B)
6177//
6178// Both routes apply to the traffic destined for 192.0.2.3. However, the second
6179// route in the list covers a smaller number of IP addresses and is therefore
6180// more specific, so we use that route to determine where to target the traffic.
6181//
6182// For more information about route tables, see Route Tables (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html)
6183// in the Amazon Virtual Private Cloud User Guide.
6184//
6185// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6186// with awserr.Error's Code and Message methods to get detailed information about
6187// the error.
6188//
6189// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6190// API operation CreateRoute for usage and error information.
6191// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRoute
6192func (c *EC2) CreateRoute(input *CreateRouteInput) (*CreateRouteOutput, error) {
6193	req, out := c.CreateRouteRequest(input)
6194	return out, req.Send()
6195}
6196
6197// CreateRouteWithContext is the same as CreateRoute with the addition of
6198// the ability to pass a context and additional request options.
6199//
6200// See CreateRoute for details on how to use this API operation.
6201//
6202// The context must be non-nil and will be used for request cancellation. If
6203// the context is nil a panic will occur. In the future the SDK may create
6204// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6205// for more information on using Contexts.
6206func (c *EC2) CreateRouteWithContext(ctx aws.Context, input *CreateRouteInput, opts ...request.Option) (*CreateRouteOutput, error) {
6207	req, out := c.CreateRouteRequest(input)
6208	req.SetContext(ctx)
6209	req.ApplyOptions(opts...)
6210	return out, req.Send()
6211}
6212
6213const opCreateRouteTable = "CreateRouteTable"
6214
6215// CreateRouteTableRequest generates a "aws/request.Request" representing the
6216// client's request for the CreateRouteTable operation. The "output" return
6217// value will be populated with the request's response once the request completes
6218// successfully.
6219//
6220// Use "Send" method on the returned Request to send the API call to the service.
6221// the "output" return value is not valid until after Send returns without error.
6222//
6223// See CreateRouteTable for more information on using the CreateRouteTable
6224// API call, and error handling.
6225//
6226// This method is useful when you want to inject custom logic or configuration
6227// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6228//
6229//
6230//    // Example sending a request using the CreateRouteTableRequest method.
6231//    req, resp := client.CreateRouteTableRequest(params)
6232//
6233//    err := req.Send()
6234//    if err == nil { // resp is now filled
6235//        fmt.Println(resp)
6236//    }
6237//
6238// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRouteTable
6239func (c *EC2) CreateRouteTableRequest(input *CreateRouteTableInput) (req *request.Request, output *CreateRouteTableOutput) {
6240	op := &request.Operation{
6241		Name:       opCreateRouteTable,
6242		HTTPMethod: "POST",
6243		HTTPPath:   "/",
6244	}
6245
6246	if input == nil {
6247		input = &CreateRouteTableInput{}
6248	}
6249
6250	output = &CreateRouteTableOutput{}
6251	req = c.newRequest(op, input, output)
6252	return
6253}
6254
6255// CreateRouteTable API operation for Amazon Elastic Compute Cloud.
6256//
6257// Creates a route table for the specified VPC. After you create a route table,
6258// you can add routes and associate the table with a subnet.
6259//
6260// For more information, see Route Tables (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html)
6261// in the Amazon Virtual Private Cloud User Guide.
6262//
6263// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6264// with awserr.Error's Code and Message methods to get detailed information about
6265// the error.
6266//
6267// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6268// API operation CreateRouteTable for usage and error information.
6269// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRouteTable
6270func (c *EC2) CreateRouteTable(input *CreateRouteTableInput) (*CreateRouteTableOutput, error) {
6271	req, out := c.CreateRouteTableRequest(input)
6272	return out, req.Send()
6273}
6274
6275// CreateRouteTableWithContext is the same as CreateRouteTable with the addition of
6276// the ability to pass a context and additional request options.
6277//
6278// See CreateRouteTable for details on how to use this API operation.
6279//
6280// The context must be non-nil and will be used for request cancellation. If
6281// the context is nil a panic will occur. In the future the SDK may create
6282// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6283// for more information on using Contexts.
6284func (c *EC2) CreateRouteTableWithContext(ctx aws.Context, input *CreateRouteTableInput, opts ...request.Option) (*CreateRouteTableOutput, error) {
6285	req, out := c.CreateRouteTableRequest(input)
6286	req.SetContext(ctx)
6287	req.ApplyOptions(opts...)
6288	return out, req.Send()
6289}
6290
6291const opCreateSecurityGroup = "CreateSecurityGroup"
6292
6293// CreateSecurityGroupRequest generates a "aws/request.Request" representing the
6294// client's request for the CreateSecurityGroup operation. The "output" return
6295// value will be populated with the request's response once the request completes
6296// successfully.
6297//
6298// Use "Send" method on the returned Request to send the API call to the service.
6299// the "output" return value is not valid until after Send returns without error.
6300//
6301// See CreateSecurityGroup for more information on using the CreateSecurityGroup
6302// API call, and error handling.
6303//
6304// This method is useful when you want to inject custom logic or configuration
6305// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6306//
6307//
6308//    // Example sending a request using the CreateSecurityGroupRequest method.
6309//    req, resp := client.CreateSecurityGroupRequest(params)
6310//
6311//    err := req.Send()
6312//    if err == nil { // resp is now filled
6313//        fmt.Println(resp)
6314//    }
6315//
6316// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSecurityGroup
6317func (c *EC2) CreateSecurityGroupRequest(input *CreateSecurityGroupInput) (req *request.Request, output *CreateSecurityGroupOutput) {
6318	op := &request.Operation{
6319		Name:       opCreateSecurityGroup,
6320		HTTPMethod: "POST",
6321		HTTPPath:   "/",
6322	}
6323
6324	if input == nil {
6325		input = &CreateSecurityGroupInput{}
6326	}
6327
6328	output = &CreateSecurityGroupOutput{}
6329	req = c.newRequest(op, input, output)
6330	return
6331}
6332
6333// CreateSecurityGroup API operation for Amazon Elastic Compute Cloud.
6334//
6335// Creates a security group.
6336//
6337// A security group acts as a virtual firewall for your instance to control
6338// inbound and outbound traffic. For more information, see Amazon EC2 Security
6339// Groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html)
6340// in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your
6341// VPC (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)
6342// in the Amazon Virtual Private Cloud User Guide.
6343//
6344// When you create a security group, you specify a friendly name of your choice.
6345// You can have a security group for use in EC2-Classic with the same name as
6346// a security group for use in a VPC. However, you can't have two security groups
6347// for use in EC2-Classic with the same name or two security groups for use
6348// in a VPC with the same name.
6349//
6350// You have a default security group for use in EC2-Classic and a default security
6351// group for use in your VPC. If you don't specify a security group when you
6352// launch an instance, the instance is launched into the appropriate default
6353// security group. A default security group includes a default rule that grants
6354// instances unrestricted network access to each other.
6355//
6356// You can add or remove rules from your security groups using AuthorizeSecurityGroupIngress,
6357// AuthorizeSecurityGroupEgress, RevokeSecurityGroupIngress, and RevokeSecurityGroupEgress.
6358//
6359// For more information about VPC security group limits, see Amazon VPC Limits
6360// (https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html).
6361//
6362// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6363// with awserr.Error's Code and Message methods to get detailed information about
6364// the error.
6365//
6366// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6367// API operation CreateSecurityGroup for usage and error information.
6368// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSecurityGroup
6369func (c *EC2) CreateSecurityGroup(input *CreateSecurityGroupInput) (*CreateSecurityGroupOutput, error) {
6370	req, out := c.CreateSecurityGroupRequest(input)
6371	return out, req.Send()
6372}
6373
6374// CreateSecurityGroupWithContext is the same as CreateSecurityGroup with the addition of
6375// the ability to pass a context and additional request options.
6376//
6377// See CreateSecurityGroup for details on how to use this API operation.
6378//
6379// The context must be non-nil and will be used for request cancellation. If
6380// the context is nil a panic will occur. In the future the SDK may create
6381// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6382// for more information on using Contexts.
6383func (c *EC2) CreateSecurityGroupWithContext(ctx aws.Context, input *CreateSecurityGroupInput, opts ...request.Option) (*CreateSecurityGroupOutput, error) {
6384	req, out := c.CreateSecurityGroupRequest(input)
6385	req.SetContext(ctx)
6386	req.ApplyOptions(opts...)
6387	return out, req.Send()
6388}
6389
6390const opCreateSnapshot = "CreateSnapshot"
6391
6392// CreateSnapshotRequest generates a "aws/request.Request" representing the
6393// client's request for the CreateSnapshot operation. The "output" return
6394// value will be populated with the request's response once the request completes
6395// successfully.
6396//
6397// Use "Send" method on the returned Request to send the API call to the service.
6398// the "output" return value is not valid until after Send returns without error.
6399//
6400// See CreateSnapshot for more information on using the CreateSnapshot
6401// API call, and error handling.
6402//
6403// This method is useful when you want to inject custom logic or configuration
6404// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6405//
6406//
6407//    // Example sending a request using the CreateSnapshotRequest method.
6408//    req, resp := client.CreateSnapshotRequest(params)
6409//
6410//    err := req.Send()
6411//    if err == nil { // resp is now filled
6412//        fmt.Println(resp)
6413//    }
6414//
6415// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSnapshot
6416func (c *EC2) CreateSnapshotRequest(input *CreateSnapshotInput) (req *request.Request, output *Snapshot) {
6417	op := &request.Operation{
6418		Name:       opCreateSnapshot,
6419		HTTPMethod: "POST",
6420		HTTPPath:   "/",
6421	}
6422
6423	if input == nil {
6424		input = &CreateSnapshotInput{}
6425	}
6426
6427	output = &Snapshot{}
6428	req = c.newRequest(op, input, output)
6429	return
6430}
6431
6432// CreateSnapshot API operation for Amazon Elastic Compute Cloud.
6433//
6434// Creates a snapshot of an EBS volume and stores it in Amazon S3. You can use
6435// snapshots for backups, to make copies of EBS volumes, and to save data before
6436// shutting down an instance.
6437//
6438// You can create snapshots of volumes in a Region and volumes on an Outpost.
6439// If you create a snapshot of a volume in a Region, the snapshot must be stored
6440// in the same Region as the volume. If you create a snapshot of a volume on
6441// an Outpost, the snapshot can be stored on the same Outpost as the volume,
6442// or in the Region for that Outpost.
6443//
6444// When a snapshot is created, any AWS Marketplace product codes that are associated
6445// with the source volume are propagated to the snapshot.
6446//
6447// You can take a snapshot of an attached volume that is in use. However, snapshots
6448// only capture data that has been written to your EBS volume at the time the
6449// snapshot command is issued; this might exclude any data that has been cached
6450// by any applications or the operating system. If you can pause any file systems
6451// on the volume long enough to take a snapshot, your snapshot should be complete.
6452// However, if you cannot pause all file writes to the volume, you should unmount
6453// the volume from within the instance, issue the snapshot command, and then
6454// remount the volume to ensure a consistent and complete snapshot. You may
6455// remount and use your volume while the snapshot status is pending.
6456//
6457// To create a snapshot for EBS volumes that serve as root devices, you should
6458// stop the instance before taking the snapshot.
6459//
6460// Snapshots that are taken from encrypted volumes are automatically encrypted.
6461// Volumes that are created from encrypted snapshots are also automatically
6462// encrypted. Your encrypted volumes and any associated snapshots always remain
6463// protected.
6464//
6465// You can tag your snapshots during creation. For more information, see Tagging
6466// your Amazon EC2 resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
6467// in the Amazon Elastic Compute Cloud User Guide.
6468//
6469// For more information, see Amazon Elastic Block Store (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html)
6470// and Amazon EBS encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
6471// in the Amazon Elastic Compute Cloud User Guide.
6472//
6473// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6474// with awserr.Error's Code and Message methods to get detailed information about
6475// the error.
6476//
6477// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6478// API operation CreateSnapshot for usage and error information.
6479// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSnapshot
6480func (c *EC2) CreateSnapshot(input *CreateSnapshotInput) (*Snapshot, error) {
6481	req, out := c.CreateSnapshotRequest(input)
6482	return out, req.Send()
6483}
6484
6485// CreateSnapshotWithContext is the same as CreateSnapshot with the addition of
6486// the ability to pass a context and additional request options.
6487//
6488// See CreateSnapshot for details on how to use this API operation.
6489//
6490// The context must be non-nil and will be used for request cancellation. If
6491// the context is nil a panic will occur. In the future the SDK may create
6492// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6493// for more information on using Contexts.
6494func (c *EC2) CreateSnapshotWithContext(ctx aws.Context, input *CreateSnapshotInput, opts ...request.Option) (*Snapshot, error) {
6495	req, out := c.CreateSnapshotRequest(input)
6496	req.SetContext(ctx)
6497	req.ApplyOptions(opts...)
6498	return out, req.Send()
6499}
6500
6501const opCreateSnapshots = "CreateSnapshots"
6502
6503// CreateSnapshotsRequest generates a "aws/request.Request" representing the
6504// client's request for the CreateSnapshots operation. The "output" return
6505// value will be populated with the request's response once the request completes
6506// successfully.
6507//
6508// Use "Send" method on the returned Request to send the API call to the service.
6509// the "output" return value is not valid until after Send returns without error.
6510//
6511// See CreateSnapshots for more information on using the CreateSnapshots
6512// API call, and error handling.
6513//
6514// This method is useful when you want to inject custom logic or configuration
6515// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6516//
6517//
6518//    // Example sending a request using the CreateSnapshotsRequest method.
6519//    req, resp := client.CreateSnapshotsRequest(params)
6520//
6521//    err := req.Send()
6522//    if err == nil { // resp is now filled
6523//        fmt.Println(resp)
6524//    }
6525//
6526// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSnapshots
6527func (c *EC2) CreateSnapshotsRequest(input *CreateSnapshotsInput) (req *request.Request, output *CreateSnapshotsOutput) {
6528	op := &request.Operation{
6529		Name:       opCreateSnapshots,
6530		HTTPMethod: "POST",
6531		HTTPPath:   "/",
6532	}
6533
6534	if input == nil {
6535		input = &CreateSnapshotsInput{}
6536	}
6537
6538	output = &CreateSnapshotsOutput{}
6539	req = c.newRequest(op, input, output)
6540	return
6541}
6542
6543// CreateSnapshots API operation for Amazon Elastic Compute Cloud.
6544//
6545// Creates crash-consistent snapshots of multiple EBS volumes and stores the
6546// data in S3. Volumes are chosen by specifying an instance. Any attached volumes
6547// will produce one snapshot each that is crash-consistent across the instance.
6548// Boot volumes can be excluded by changing the parameters.
6549//
6550// You can create multi-volume snapshots of instances in a Region and instances
6551// on an Outpost. If you create snapshots from an instance in a Region, the
6552// snapshots must be stored in the same Region as the instance. If you create
6553// snapshots from an instance on an Outpost, the snapshots can be stored on
6554// the same Outpost as the instance, or in the Region for that Outpost.
6555//
6556// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6557// with awserr.Error's Code and Message methods to get detailed information about
6558// the error.
6559//
6560// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6561// API operation CreateSnapshots for usage and error information.
6562// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSnapshots
6563func (c *EC2) CreateSnapshots(input *CreateSnapshotsInput) (*CreateSnapshotsOutput, error) {
6564	req, out := c.CreateSnapshotsRequest(input)
6565	return out, req.Send()
6566}
6567
6568// CreateSnapshotsWithContext is the same as CreateSnapshots with the addition of
6569// the ability to pass a context and additional request options.
6570//
6571// See CreateSnapshots for details on how to use this API operation.
6572//
6573// The context must be non-nil and will be used for request cancellation. If
6574// the context is nil a panic will occur. In the future the SDK may create
6575// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6576// for more information on using Contexts.
6577func (c *EC2) CreateSnapshotsWithContext(ctx aws.Context, input *CreateSnapshotsInput, opts ...request.Option) (*CreateSnapshotsOutput, error) {
6578	req, out := c.CreateSnapshotsRequest(input)
6579	req.SetContext(ctx)
6580	req.ApplyOptions(opts...)
6581	return out, req.Send()
6582}
6583
6584const opCreateSpotDatafeedSubscription = "CreateSpotDatafeedSubscription"
6585
6586// CreateSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the
6587// client's request for the CreateSpotDatafeedSubscription operation. The "output" return
6588// value will be populated with the request's response once the request completes
6589// successfully.
6590//
6591// Use "Send" method on the returned Request to send the API call to the service.
6592// the "output" return value is not valid until after Send returns without error.
6593//
6594// See CreateSpotDatafeedSubscription for more information on using the CreateSpotDatafeedSubscription
6595// API call, and error handling.
6596//
6597// This method is useful when you want to inject custom logic or configuration
6598// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6599//
6600//
6601//    // Example sending a request using the CreateSpotDatafeedSubscriptionRequest method.
6602//    req, resp := client.CreateSpotDatafeedSubscriptionRequest(params)
6603//
6604//    err := req.Send()
6605//    if err == nil { // resp is now filled
6606//        fmt.Println(resp)
6607//    }
6608//
6609// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSpotDatafeedSubscription
6610func (c *EC2) CreateSpotDatafeedSubscriptionRequest(input *CreateSpotDatafeedSubscriptionInput) (req *request.Request, output *CreateSpotDatafeedSubscriptionOutput) {
6611	op := &request.Operation{
6612		Name:       opCreateSpotDatafeedSubscription,
6613		HTTPMethod: "POST",
6614		HTTPPath:   "/",
6615	}
6616
6617	if input == nil {
6618		input = &CreateSpotDatafeedSubscriptionInput{}
6619	}
6620
6621	output = &CreateSpotDatafeedSubscriptionOutput{}
6622	req = c.newRequest(op, input, output)
6623	return
6624}
6625
6626// CreateSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud.
6627//
6628// Creates a data feed for Spot Instances, enabling you to view Spot Instance
6629// usage logs. You can create one data feed per AWS account. For more information,
6630// see Spot Instance data feed (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html)
6631// in the Amazon EC2 User Guide for Linux Instances.
6632//
6633// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6634// with awserr.Error's Code and Message methods to get detailed information about
6635// the error.
6636//
6637// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6638// API operation CreateSpotDatafeedSubscription for usage and error information.
6639// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSpotDatafeedSubscription
6640func (c *EC2) CreateSpotDatafeedSubscription(input *CreateSpotDatafeedSubscriptionInput) (*CreateSpotDatafeedSubscriptionOutput, error) {
6641	req, out := c.CreateSpotDatafeedSubscriptionRequest(input)
6642	return out, req.Send()
6643}
6644
6645// CreateSpotDatafeedSubscriptionWithContext is the same as CreateSpotDatafeedSubscription with the addition of
6646// the ability to pass a context and additional request options.
6647//
6648// See CreateSpotDatafeedSubscription for details on how to use this API operation.
6649//
6650// The context must be non-nil and will be used for request cancellation. If
6651// the context is nil a panic will occur. In the future the SDK may create
6652// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6653// for more information on using Contexts.
6654func (c *EC2) CreateSpotDatafeedSubscriptionWithContext(ctx aws.Context, input *CreateSpotDatafeedSubscriptionInput, opts ...request.Option) (*CreateSpotDatafeedSubscriptionOutput, error) {
6655	req, out := c.CreateSpotDatafeedSubscriptionRequest(input)
6656	req.SetContext(ctx)
6657	req.ApplyOptions(opts...)
6658	return out, req.Send()
6659}
6660
6661const opCreateStoreImageTask = "CreateStoreImageTask"
6662
6663// CreateStoreImageTaskRequest generates a "aws/request.Request" representing the
6664// client's request for the CreateStoreImageTask operation. The "output" return
6665// value will be populated with the request's response once the request completes
6666// successfully.
6667//
6668// Use "Send" method on the returned Request to send the API call to the service.
6669// the "output" return value is not valid until after Send returns without error.
6670//
6671// See CreateStoreImageTask for more information on using the CreateStoreImageTask
6672// API call, and error handling.
6673//
6674// This method is useful when you want to inject custom logic or configuration
6675// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6676//
6677//
6678//    // Example sending a request using the CreateStoreImageTaskRequest method.
6679//    req, resp := client.CreateStoreImageTaskRequest(params)
6680//
6681//    err := req.Send()
6682//    if err == nil { // resp is now filled
6683//        fmt.Println(resp)
6684//    }
6685//
6686// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateStoreImageTask
6687func (c *EC2) CreateStoreImageTaskRequest(input *CreateStoreImageTaskInput) (req *request.Request, output *CreateStoreImageTaskOutput) {
6688	op := &request.Operation{
6689		Name:       opCreateStoreImageTask,
6690		HTTPMethod: "POST",
6691		HTTPPath:   "/",
6692	}
6693
6694	if input == nil {
6695		input = &CreateStoreImageTaskInput{}
6696	}
6697
6698	output = &CreateStoreImageTaskOutput{}
6699	req = c.newRequest(op, input, output)
6700	return
6701}
6702
6703// CreateStoreImageTask API operation for Amazon Elastic Compute Cloud.
6704//
6705// Stores an AMI as a single object in an S3 bucket.
6706//
6707// To use this API, you must have the required permissions. For more information,
6708// see Permissions for storing and restoring AMIs using S3 (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-store-restore.html#ami-s3-permissions)
6709// in the Amazon Elastic Compute Cloud User Guide.
6710//
6711// For more information, see Store and restore an AMI using S3 (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-store-restore.html)
6712// in the Amazon Elastic Compute Cloud User Guide.
6713//
6714// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6715// with awserr.Error's Code and Message methods to get detailed information about
6716// the error.
6717//
6718// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6719// API operation CreateStoreImageTask for usage and error information.
6720// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateStoreImageTask
6721func (c *EC2) CreateStoreImageTask(input *CreateStoreImageTaskInput) (*CreateStoreImageTaskOutput, error) {
6722	req, out := c.CreateStoreImageTaskRequest(input)
6723	return out, req.Send()
6724}
6725
6726// CreateStoreImageTaskWithContext is the same as CreateStoreImageTask with the addition of
6727// the ability to pass a context and additional request options.
6728//
6729// See CreateStoreImageTask for details on how to use this API operation.
6730//
6731// The context must be non-nil and will be used for request cancellation. If
6732// the context is nil a panic will occur. In the future the SDK may create
6733// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6734// for more information on using Contexts.
6735func (c *EC2) CreateStoreImageTaskWithContext(ctx aws.Context, input *CreateStoreImageTaskInput, opts ...request.Option) (*CreateStoreImageTaskOutput, error) {
6736	req, out := c.CreateStoreImageTaskRequest(input)
6737	req.SetContext(ctx)
6738	req.ApplyOptions(opts...)
6739	return out, req.Send()
6740}
6741
6742const opCreateSubnet = "CreateSubnet"
6743
6744// CreateSubnetRequest generates a "aws/request.Request" representing the
6745// client's request for the CreateSubnet operation. The "output" return
6746// value will be populated with the request's response once the request completes
6747// successfully.
6748//
6749// Use "Send" method on the returned Request to send the API call to the service.
6750// the "output" return value is not valid until after Send returns without error.
6751//
6752// See CreateSubnet for more information on using the CreateSubnet
6753// API call, and error handling.
6754//
6755// This method is useful when you want to inject custom logic or configuration
6756// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6757//
6758//
6759//    // Example sending a request using the CreateSubnetRequest method.
6760//    req, resp := client.CreateSubnetRequest(params)
6761//
6762//    err := req.Send()
6763//    if err == nil { // resp is now filled
6764//        fmt.Println(resp)
6765//    }
6766//
6767// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSubnet
6768func (c *EC2) CreateSubnetRequest(input *CreateSubnetInput) (req *request.Request, output *CreateSubnetOutput) {
6769	op := &request.Operation{
6770		Name:       opCreateSubnet,
6771		HTTPMethod: "POST",
6772		HTTPPath:   "/",
6773	}
6774
6775	if input == nil {
6776		input = &CreateSubnetInput{}
6777	}
6778
6779	output = &CreateSubnetOutput{}
6780	req = c.newRequest(op, input, output)
6781	return
6782}
6783
6784// CreateSubnet API operation for Amazon Elastic Compute Cloud.
6785//
6786// Creates a subnet in a specified VPC.
6787//
6788// You must specify an IPv4 CIDR block for the subnet. After you create a subnet,
6789// you can't change its CIDR block. The allowed block size is between a /16
6790// netmask (65,536 IP addresses) and /28 netmask (16 IP addresses). The CIDR
6791// block must not overlap with the CIDR block of an existing subnet in the VPC.
6792//
6793// If you've associated an IPv6 CIDR block with your VPC, you can create a subnet
6794// with an IPv6 CIDR block that uses a /64 prefix length.
6795//
6796// AWS reserves both the first four and the last IPv4 address in each subnet's
6797// CIDR block. They're not available for use.
6798//
6799// If you add more than one subnet to a VPC, they're set up in a star topology
6800// with a logical router in the middle.
6801//
6802// When you stop an instance in a subnet, it retains its private IPv4 address.
6803// It's therefore possible to have a subnet with no running instances (they're
6804// all stopped), but no remaining IP addresses available.
6805//
6806// For more information about subnets, see Your VPC and Subnets (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html)
6807// in the Amazon Virtual Private Cloud User Guide.
6808//
6809// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6810// with awserr.Error's Code and Message methods to get detailed information about
6811// the error.
6812//
6813// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6814// API operation CreateSubnet for usage and error information.
6815// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSubnet
6816func (c *EC2) CreateSubnet(input *CreateSubnetInput) (*CreateSubnetOutput, error) {
6817	req, out := c.CreateSubnetRequest(input)
6818	return out, req.Send()
6819}
6820
6821// CreateSubnetWithContext is the same as CreateSubnet with the addition of
6822// the ability to pass a context and additional request options.
6823//
6824// See CreateSubnet for details on how to use this API operation.
6825//
6826// The context must be non-nil and will be used for request cancellation. If
6827// the context is nil a panic will occur. In the future the SDK may create
6828// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6829// for more information on using Contexts.
6830func (c *EC2) CreateSubnetWithContext(ctx aws.Context, input *CreateSubnetInput, opts ...request.Option) (*CreateSubnetOutput, error) {
6831	req, out := c.CreateSubnetRequest(input)
6832	req.SetContext(ctx)
6833	req.ApplyOptions(opts...)
6834	return out, req.Send()
6835}
6836
6837const opCreateTags = "CreateTags"
6838
6839// CreateTagsRequest generates a "aws/request.Request" representing the
6840// client's request for the CreateTags operation. The "output" return
6841// value will be populated with the request's response once the request completes
6842// successfully.
6843//
6844// Use "Send" method on the returned Request to send the API call to the service.
6845// the "output" return value is not valid until after Send returns without error.
6846//
6847// See CreateTags for more information on using the CreateTags
6848// API call, and error handling.
6849//
6850// This method is useful when you want to inject custom logic or configuration
6851// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6852//
6853//
6854//    // Example sending a request using the CreateTagsRequest method.
6855//    req, resp := client.CreateTagsRequest(params)
6856//
6857//    err := req.Send()
6858//    if err == nil { // resp is now filled
6859//        fmt.Println(resp)
6860//    }
6861//
6862// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTags
6863func (c *EC2) CreateTagsRequest(input *CreateTagsInput) (req *request.Request, output *CreateTagsOutput) {
6864	op := &request.Operation{
6865		Name:       opCreateTags,
6866		HTTPMethod: "POST",
6867		HTTPPath:   "/",
6868	}
6869
6870	if input == nil {
6871		input = &CreateTagsInput{}
6872	}
6873
6874	output = &CreateTagsOutput{}
6875	req = c.newRequest(op, input, output)
6876	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6877	return
6878}
6879
6880// CreateTags API operation for Amazon Elastic Compute Cloud.
6881//
6882// Adds or overwrites only the specified tags for the specified Amazon EC2 resource
6883// or resources. When you specify an existing tag key, the value is overwritten
6884// with the new value. Each resource can have a maximum of 50 tags. Each tag
6885// consists of a key and optional value. Tag keys must be unique per resource.
6886//
6887// For more information about tags, see Tagging Your Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
6888// in the Amazon Elastic Compute Cloud User Guide. For more information about
6889// creating IAM policies that control users' access to resources based on tags,
6890// see Supported Resource-Level Permissions for Amazon EC2 API Actions (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-iam-actions-resources.html)
6891// in the Amazon Elastic Compute Cloud User Guide.
6892//
6893// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6894// with awserr.Error's Code and Message methods to get detailed information about
6895// the error.
6896//
6897// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6898// API operation CreateTags for usage and error information.
6899// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTags
6900func (c *EC2) CreateTags(input *CreateTagsInput) (*CreateTagsOutput, error) {
6901	req, out := c.CreateTagsRequest(input)
6902	return out, req.Send()
6903}
6904
6905// CreateTagsWithContext is the same as CreateTags with the addition of
6906// the ability to pass a context and additional request options.
6907//
6908// See CreateTags for details on how to use this API operation.
6909//
6910// The context must be non-nil and will be used for request cancellation. If
6911// the context is nil a panic will occur. In the future the SDK may create
6912// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6913// for more information on using Contexts.
6914func (c *EC2) CreateTagsWithContext(ctx aws.Context, input *CreateTagsInput, opts ...request.Option) (*CreateTagsOutput, error) {
6915	req, out := c.CreateTagsRequest(input)
6916	req.SetContext(ctx)
6917	req.ApplyOptions(opts...)
6918	return out, req.Send()
6919}
6920
6921const opCreateTrafficMirrorFilter = "CreateTrafficMirrorFilter"
6922
6923// CreateTrafficMirrorFilterRequest generates a "aws/request.Request" representing the
6924// client's request for the CreateTrafficMirrorFilter operation. The "output" return
6925// value will be populated with the request's response once the request completes
6926// successfully.
6927//
6928// Use "Send" method on the returned Request to send the API call to the service.
6929// the "output" return value is not valid until after Send returns without error.
6930//
6931// See CreateTrafficMirrorFilter for more information on using the CreateTrafficMirrorFilter
6932// API call, and error handling.
6933//
6934// This method is useful when you want to inject custom logic or configuration
6935// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6936//
6937//
6938//    // Example sending a request using the CreateTrafficMirrorFilterRequest method.
6939//    req, resp := client.CreateTrafficMirrorFilterRequest(params)
6940//
6941//    err := req.Send()
6942//    if err == nil { // resp is now filled
6943//        fmt.Println(resp)
6944//    }
6945//
6946// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorFilter
6947func (c *EC2) CreateTrafficMirrorFilterRequest(input *CreateTrafficMirrorFilterInput) (req *request.Request, output *CreateTrafficMirrorFilterOutput) {
6948	op := &request.Operation{
6949		Name:       opCreateTrafficMirrorFilter,
6950		HTTPMethod: "POST",
6951		HTTPPath:   "/",
6952	}
6953
6954	if input == nil {
6955		input = &CreateTrafficMirrorFilterInput{}
6956	}
6957
6958	output = &CreateTrafficMirrorFilterOutput{}
6959	req = c.newRequest(op, input, output)
6960	return
6961}
6962
6963// CreateTrafficMirrorFilter API operation for Amazon Elastic Compute Cloud.
6964//
6965// Creates a Traffic Mirror filter.
6966//
6967// A Traffic Mirror filter is a set of rules that defines the traffic to mirror.
6968//
6969// By default, no traffic is mirrored. To mirror traffic, use CreateTrafficMirrorFilterRule
6970// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTrafficMirrorFilterRule.htm)
6971// to add Traffic Mirror rules to the filter. The rules you add define what
6972// traffic gets mirrored. You can also use ModifyTrafficMirrorFilterNetworkServices
6973// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyTrafficMirrorFilterNetworkServices.html)
6974// to mirror supported network services.
6975//
6976// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6977// with awserr.Error's Code and Message methods to get detailed information about
6978// the error.
6979//
6980// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6981// API operation CreateTrafficMirrorFilter for usage and error information.
6982// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorFilter
6983func (c *EC2) CreateTrafficMirrorFilter(input *CreateTrafficMirrorFilterInput) (*CreateTrafficMirrorFilterOutput, error) {
6984	req, out := c.CreateTrafficMirrorFilterRequest(input)
6985	return out, req.Send()
6986}
6987
6988// CreateTrafficMirrorFilterWithContext is the same as CreateTrafficMirrorFilter with the addition of
6989// the ability to pass a context and additional request options.
6990//
6991// See CreateTrafficMirrorFilter for details on how to use this API operation.
6992//
6993// The context must be non-nil and will be used for request cancellation. If
6994// the context is nil a panic will occur. In the future the SDK may create
6995// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6996// for more information on using Contexts.
6997func (c *EC2) CreateTrafficMirrorFilterWithContext(ctx aws.Context, input *CreateTrafficMirrorFilterInput, opts ...request.Option) (*CreateTrafficMirrorFilterOutput, error) {
6998	req, out := c.CreateTrafficMirrorFilterRequest(input)
6999	req.SetContext(ctx)
7000	req.ApplyOptions(opts...)
7001	return out, req.Send()
7002}
7003
7004const opCreateTrafficMirrorFilterRule = "CreateTrafficMirrorFilterRule"
7005
7006// CreateTrafficMirrorFilterRuleRequest generates a "aws/request.Request" representing the
7007// client's request for the CreateTrafficMirrorFilterRule operation. The "output" return
7008// value will be populated with the request's response once the request completes
7009// successfully.
7010//
7011// Use "Send" method on the returned Request to send the API call to the service.
7012// the "output" return value is not valid until after Send returns without error.
7013//
7014// See CreateTrafficMirrorFilterRule for more information on using the CreateTrafficMirrorFilterRule
7015// API call, and error handling.
7016//
7017// This method is useful when you want to inject custom logic or configuration
7018// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7019//
7020//
7021//    // Example sending a request using the CreateTrafficMirrorFilterRuleRequest method.
7022//    req, resp := client.CreateTrafficMirrorFilterRuleRequest(params)
7023//
7024//    err := req.Send()
7025//    if err == nil { // resp is now filled
7026//        fmt.Println(resp)
7027//    }
7028//
7029// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorFilterRule
7030func (c *EC2) CreateTrafficMirrorFilterRuleRequest(input *CreateTrafficMirrorFilterRuleInput) (req *request.Request, output *CreateTrafficMirrorFilterRuleOutput) {
7031	op := &request.Operation{
7032		Name:       opCreateTrafficMirrorFilterRule,
7033		HTTPMethod: "POST",
7034		HTTPPath:   "/",
7035	}
7036
7037	if input == nil {
7038		input = &CreateTrafficMirrorFilterRuleInput{}
7039	}
7040
7041	output = &CreateTrafficMirrorFilterRuleOutput{}
7042	req = c.newRequest(op, input, output)
7043	return
7044}
7045
7046// CreateTrafficMirrorFilterRule API operation for Amazon Elastic Compute Cloud.
7047//
7048// Creates a Traffic Mirror filter rule.
7049//
7050// A Traffic Mirror rule defines the Traffic Mirror source traffic to mirror.
7051//
7052// You need the Traffic Mirror filter ID when you create the rule.
7053//
7054// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7055// with awserr.Error's Code and Message methods to get detailed information about
7056// the error.
7057//
7058// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7059// API operation CreateTrafficMirrorFilterRule for usage and error information.
7060// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorFilterRule
7061func (c *EC2) CreateTrafficMirrorFilterRule(input *CreateTrafficMirrorFilterRuleInput) (*CreateTrafficMirrorFilterRuleOutput, error) {
7062	req, out := c.CreateTrafficMirrorFilterRuleRequest(input)
7063	return out, req.Send()
7064}
7065
7066// CreateTrafficMirrorFilterRuleWithContext is the same as CreateTrafficMirrorFilterRule with the addition of
7067// the ability to pass a context and additional request options.
7068//
7069// See CreateTrafficMirrorFilterRule for details on how to use this API operation.
7070//
7071// The context must be non-nil and will be used for request cancellation. If
7072// the context is nil a panic will occur. In the future the SDK may create
7073// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7074// for more information on using Contexts.
7075func (c *EC2) CreateTrafficMirrorFilterRuleWithContext(ctx aws.Context, input *CreateTrafficMirrorFilterRuleInput, opts ...request.Option) (*CreateTrafficMirrorFilterRuleOutput, error) {
7076	req, out := c.CreateTrafficMirrorFilterRuleRequest(input)
7077	req.SetContext(ctx)
7078	req.ApplyOptions(opts...)
7079	return out, req.Send()
7080}
7081
7082const opCreateTrafficMirrorSession = "CreateTrafficMirrorSession"
7083
7084// CreateTrafficMirrorSessionRequest generates a "aws/request.Request" representing the
7085// client's request for the CreateTrafficMirrorSession operation. The "output" return
7086// value will be populated with the request's response once the request completes
7087// successfully.
7088//
7089// Use "Send" method on the returned Request to send the API call to the service.
7090// the "output" return value is not valid until after Send returns without error.
7091//
7092// See CreateTrafficMirrorSession for more information on using the CreateTrafficMirrorSession
7093// API call, and error handling.
7094//
7095// This method is useful when you want to inject custom logic or configuration
7096// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7097//
7098//
7099//    // Example sending a request using the CreateTrafficMirrorSessionRequest method.
7100//    req, resp := client.CreateTrafficMirrorSessionRequest(params)
7101//
7102//    err := req.Send()
7103//    if err == nil { // resp is now filled
7104//        fmt.Println(resp)
7105//    }
7106//
7107// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorSession
7108func (c *EC2) CreateTrafficMirrorSessionRequest(input *CreateTrafficMirrorSessionInput) (req *request.Request, output *CreateTrafficMirrorSessionOutput) {
7109	op := &request.Operation{
7110		Name:       opCreateTrafficMirrorSession,
7111		HTTPMethod: "POST",
7112		HTTPPath:   "/",
7113	}
7114
7115	if input == nil {
7116		input = &CreateTrafficMirrorSessionInput{}
7117	}
7118
7119	output = &CreateTrafficMirrorSessionOutput{}
7120	req = c.newRequest(op, input, output)
7121	return
7122}
7123
7124// CreateTrafficMirrorSession API operation for Amazon Elastic Compute Cloud.
7125//
7126// Creates a Traffic Mirror session.
7127//
7128// A Traffic Mirror session actively copies packets from a Traffic Mirror source
7129// to a Traffic Mirror target. Create a filter, and then assign it to the session
7130// to define a subset of the traffic to mirror, for example all TCP traffic.
7131//
7132// The Traffic Mirror source and the Traffic Mirror target (monitoring appliances)
7133// can be in the same VPC, or in a different VPC connected via VPC peering or
7134// a transit gateway.
7135//
7136// By default, no traffic is mirrored. Use CreateTrafficMirrorFilter (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTrafficMirrorFilter.htm)
7137// to create filter rules that specify the traffic to mirror.
7138//
7139// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7140// with awserr.Error's Code and Message methods to get detailed information about
7141// the error.
7142//
7143// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7144// API operation CreateTrafficMirrorSession for usage and error information.
7145// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorSession
7146func (c *EC2) CreateTrafficMirrorSession(input *CreateTrafficMirrorSessionInput) (*CreateTrafficMirrorSessionOutput, error) {
7147	req, out := c.CreateTrafficMirrorSessionRequest(input)
7148	return out, req.Send()
7149}
7150
7151// CreateTrafficMirrorSessionWithContext is the same as CreateTrafficMirrorSession with the addition of
7152// the ability to pass a context and additional request options.
7153//
7154// See CreateTrafficMirrorSession for details on how to use this API operation.
7155//
7156// The context must be non-nil and will be used for request cancellation. If
7157// the context is nil a panic will occur. In the future the SDK may create
7158// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7159// for more information on using Contexts.
7160func (c *EC2) CreateTrafficMirrorSessionWithContext(ctx aws.Context, input *CreateTrafficMirrorSessionInput, opts ...request.Option) (*CreateTrafficMirrorSessionOutput, error) {
7161	req, out := c.CreateTrafficMirrorSessionRequest(input)
7162	req.SetContext(ctx)
7163	req.ApplyOptions(opts...)
7164	return out, req.Send()
7165}
7166
7167const opCreateTrafficMirrorTarget = "CreateTrafficMirrorTarget"
7168
7169// CreateTrafficMirrorTargetRequest generates a "aws/request.Request" representing the
7170// client's request for the CreateTrafficMirrorTarget operation. The "output" return
7171// value will be populated with the request's response once the request completes
7172// successfully.
7173//
7174// Use "Send" method on the returned Request to send the API call to the service.
7175// the "output" return value is not valid until after Send returns without error.
7176//
7177// See CreateTrafficMirrorTarget for more information on using the CreateTrafficMirrorTarget
7178// API call, and error handling.
7179//
7180// This method is useful when you want to inject custom logic or configuration
7181// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7182//
7183//
7184//    // Example sending a request using the CreateTrafficMirrorTargetRequest method.
7185//    req, resp := client.CreateTrafficMirrorTargetRequest(params)
7186//
7187//    err := req.Send()
7188//    if err == nil { // resp is now filled
7189//        fmt.Println(resp)
7190//    }
7191//
7192// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorTarget
7193func (c *EC2) CreateTrafficMirrorTargetRequest(input *CreateTrafficMirrorTargetInput) (req *request.Request, output *CreateTrafficMirrorTargetOutput) {
7194	op := &request.Operation{
7195		Name:       opCreateTrafficMirrorTarget,
7196		HTTPMethod: "POST",
7197		HTTPPath:   "/",
7198	}
7199
7200	if input == nil {
7201		input = &CreateTrafficMirrorTargetInput{}
7202	}
7203
7204	output = &CreateTrafficMirrorTargetOutput{}
7205	req = c.newRequest(op, input, output)
7206	return
7207}
7208
7209// CreateTrafficMirrorTarget API operation for Amazon Elastic Compute Cloud.
7210//
7211// Creates a target for your Traffic Mirror session.
7212//
7213// A Traffic Mirror target is the destination for mirrored traffic. The Traffic
7214// Mirror source and the Traffic Mirror target (monitoring appliances) can be
7215// in the same VPC, or in different VPCs connected via VPC peering or a transit
7216// gateway.
7217//
7218// A Traffic Mirror target can be a network interface, or a Network Load Balancer.
7219//
7220// To use the target in a Traffic Mirror session, use CreateTrafficMirrorSession
7221// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTrafficMirrorSession.htm).
7222//
7223// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7224// with awserr.Error's Code and Message methods to get detailed information about
7225// the error.
7226//
7227// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7228// API operation CreateTrafficMirrorTarget for usage and error information.
7229// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorTarget
7230func (c *EC2) CreateTrafficMirrorTarget(input *CreateTrafficMirrorTargetInput) (*CreateTrafficMirrorTargetOutput, error) {
7231	req, out := c.CreateTrafficMirrorTargetRequest(input)
7232	return out, req.Send()
7233}
7234
7235// CreateTrafficMirrorTargetWithContext is the same as CreateTrafficMirrorTarget with the addition of
7236// the ability to pass a context and additional request options.
7237//
7238// See CreateTrafficMirrorTarget for details on how to use this API operation.
7239//
7240// The context must be non-nil and will be used for request cancellation. If
7241// the context is nil a panic will occur. In the future the SDK may create
7242// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7243// for more information on using Contexts.
7244func (c *EC2) CreateTrafficMirrorTargetWithContext(ctx aws.Context, input *CreateTrafficMirrorTargetInput, opts ...request.Option) (*CreateTrafficMirrorTargetOutput, error) {
7245	req, out := c.CreateTrafficMirrorTargetRequest(input)
7246	req.SetContext(ctx)
7247	req.ApplyOptions(opts...)
7248	return out, req.Send()
7249}
7250
7251const opCreateTransitGateway = "CreateTransitGateway"
7252
7253// CreateTransitGatewayRequest generates a "aws/request.Request" representing the
7254// client's request for the CreateTransitGateway operation. The "output" return
7255// value will be populated with the request's response once the request completes
7256// successfully.
7257//
7258// Use "Send" method on the returned Request to send the API call to the service.
7259// the "output" return value is not valid until after Send returns without error.
7260//
7261// See CreateTransitGateway for more information on using the CreateTransitGateway
7262// API call, and error handling.
7263//
7264// This method is useful when you want to inject custom logic or configuration
7265// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7266//
7267//
7268//    // Example sending a request using the CreateTransitGatewayRequest method.
7269//    req, resp := client.CreateTransitGatewayRequest(params)
7270//
7271//    err := req.Send()
7272//    if err == nil { // resp is now filled
7273//        fmt.Println(resp)
7274//    }
7275//
7276// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGateway
7277func (c *EC2) CreateTransitGatewayRequest(input *CreateTransitGatewayInput) (req *request.Request, output *CreateTransitGatewayOutput) {
7278	op := &request.Operation{
7279		Name:       opCreateTransitGateway,
7280		HTTPMethod: "POST",
7281		HTTPPath:   "/",
7282	}
7283
7284	if input == nil {
7285		input = &CreateTransitGatewayInput{}
7286	}
7287
7288	output = &CreateTransitGatewayOutput{}
7289	req = c.newRequest(op, input, output)
7290	return
7291}
7292
7293// CreateTransitGateway API operation for Amazon Elastic Compute Cloud.
7294//
7295// Creates a transit gateway.
7296//
7297// You can use a transit gateway to interconnect your virtual private clouds
7298// (VPC) and on-premises networks. After the transit gateway enters the available
7299// state, you can attach your VPCs and VPN connections to the transit gateway.
7300//
7301// To attach your VPCs, use CreateTransitGatewayVpcAttachment.
7302//
7303// To attach a VPN connection, use CreateCustomerGateway to create a customer
7304// gateway and specify the ID of the customer gateway and the ID of the transit
7305// gateway in a call to CreateVpnConnection.
7306//
7307// When you create a transit gateway, we create a default transit gateway route
7308// table and use it as the default association route table and the default propagation
7309// route table. You can use CreateTransitGatewayRouteTable to create additional
7310// transit gateway route tables. If you disable automatic route propagation,
7311// we do not create a default transit gateway route table. You can use EnableTransitGatewayRouteTablePropagation
7312// to propagate routes from a resource attachment to a transit gateway route
7313// table. If you disable automatic associations, you can use AssociateTransitGatewayRouteTable
7314// to associate a resource attachment with a transit gateway route table.
7315//
7316// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7317// with awserr.Error's Code and Message methods to get detailed information about
7318// the error.
7319//
7320// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7321// API operation CreateTransitGateway for usage and error information.
7322// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGateway
7323func (c *EC2) CreateTransitGateway(input *CreateTransitGatewayInput) (*CreateTransitGatewayOutput, error) {
7324	req, out := c.CreateTransitGatewayRequest(input)
7325	return out, req.Send()
7326}
7327
7328// CreateTransitGatewayWithContext is the same as CreateTransitGateway with the addition of
7329// the ability to pass a context and additional request options.
7330//
7331// See CreateTransitGateway for details on how to use this API operation.
7332//
7333// The context must be non-nil and will be used for request cancellation. If
7334// the context is nil a panic will occur. In the future the SDK may create
7335// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7336// for more information on using Contexts.
7337func (c *EC2) CreateTransitGatewayWithContext(ctx aws.Context, input *CreateTransitGatewayInput, opts ...request.Option) (*CreateTransitGatewayOutput, error) {
7338	req, out := c.CreateTransitGatewayRequest(input)
7339	req.SetContext(ctx)
7340	req.ApplyOptions(opts...)
7341	return out, req.Send()
7342}
7343
7344const opCreateTransitGatewayConnect = "CreateTransitGatewayConnect"
7345
7346// CreateTransitGatewayConnectRequest generates a "aws/request.Request" representing the
7347// client's request for the CreateTransitGatewayConnect operation. The "output" return
7348// value will be populated with the request's response once the request completes
7349// successfully.
7350//
7351// Use "Send" method on the returned Request to send the API call to the service.
7352// the "output" return value is not valid until after Send returns without error.
7353//
7354// See CreateTransitGatewayConnect for more information on using the CreateTransitGatewayConnect
7355// API call, and error handling.
7356//
7357// This method is useful when you want to inject custom logic or configuration
7358// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7359//
7360//
7361//    // Example sending a request using the CreateTransitGatewayConnectRequest method.
7362//    req, resp := client.CreateTransitGatewayConnectRequest(params)
7363//
7364//    err := req.Send()
7365//    if err == nil { // resp is now filled
7366//        fmt.Println(resp)
7367//    }
7368//
7369// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayConnect
7370func (c *EC2) CreateTransitGatewayConnectRequest(input *CreateTransitGatewayConnectInput) (req *request.Request, output *CreateTransitGatewayConnectOutput) {
7371	op := &request.Operation{
7372		Name:       opCreateTransitGatewayConnect,
7373		HTTPMethod: "POST",
7374		HTTPPath:   "/",
7375	}
7376
7377	if input == nil {
7378		input = &CreateTransitGatewayConnectInput{}
7379	}
7380
7381	output = &CreateTransitGatewayConnectOutput{}
7382	req = c.newRequest(op, input, output)
7383	return
7384}
7385
7386// CreateTransitGatewayConnect API operation for Amazon Elastic Compute Cloud.
7387//
7388// Creates a Connect attachment from a specified transit gateway attachment.
7389// A Connect attachment is a GRE-based tunnel attachment that you can use to
7390// establish a connection between a transit gateway and an appliance.
7391//
7392// A Connect attachment uses an existing VPC or AWS Direct Connect attachment
7393// as the underlying transport mechanism.
7394//
7395// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7396// with awserr.Error's Code and Message methods to get detailed information about
7397// the error.
7398//
7399// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7400// API operation CreateTransitGatewayConnect for usage and error information.
7401// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayConnect
7402func (c *EC2) CreateTransitGatewayConnect(input *CreateTransitGatewayConnectInput) (*CreateTransitGatewayConnectOutput, error) {
7403	req, out := c.CreateTransitGatewayConnectRequest(input)
7404	return out, req.Send()
7405}
7406
7407// CreateTransitGatewayConnectWithContext is the same as CreateTransitGatewayConnect with the addition of
7408// the ability to pass a context and additional request options.
7409//
7410// See CreateTransitGatewayConnect for details on how to use this API operation.
7411//
7412// The context must be non-nil and will be used for request cancellation. If
7413// the context is nil a panic will occur. In the future the SDK may create
7414// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7415// for more information on using Contexts.
7416func (c *EC2) CreateTransitGatewayConnectWithContext(ctx aws.Context, input *CreateTransitGatewayConnectInput, opts ...request.Option) (*CreateTransitGatewayConnectOutput, error) {
7417	req, out := c.CreateTransitGatewayConnectRequest(input)
7418	req.SetContext(ctx)
7419	req.ApplyOptions(opts...)
7420	return out, req.Send()
7421}
7422
7423const opCreateTransitGatewayConnectPeer = "CreateTransitGatewayConnectPeer"
7424
7425// CreateTransitGatewayConnectPeerRequest generates a "aws/request.Request" representing the
7426// client's request for the CreateTransitGatewayConnectPeer operation. The "output" return
7427// value will be populated with the request's response once the request completes
7428// successfully.
7429//
7430// Use "Send" method on the returned Request to send the API call to the service.
7431// the "output" return value is not valid until after Send returns without error.
7432//
7433// See CreateTransitGatewayConnectPeer for more information on using the CreateTransitGatewayConnectPeer
7434// API call, and error handling.
7435//
7436// This method is useful when you want to inject custom logic or configuration
7437// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7438//
7439//
7440//    // Example sending a request using the CreateTransitGatewayConnectPeerRequest method.
7441//    req, resp := client.CreateTransitGatewayConnectPeerRequest(params)
7442//
7443//    err := req.Send()
7444//    if err == nil { // resp is now filled
7445//        fmt.Println(resp)
7446//    }
7447//
7448// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayConnectPeer
7449func (c *EC2) CreateTransitGatewayConnectPeerRequest(input *CreateTransitGatewayConnectPeerInput) (req *request.Request, output *CreateTransitGatewayConnectPeerOutput) {
7450	op := &request.Operation{
7451		Name:       opCreateTransitGatewayConnectPeer,
7452		HTTPMethod: "POST",
7453		HTTPPath:   "/",
7454	}
7455
7456	if input == nil {
7457		input = &CreateTransitGatewayConnectPeerInput{}
7458	}
7459
7460	output = &CreateTransitGatewayConnectPeerOutput{}
7461	req = c.newRequest(op, input, output)
7462	return
7463}
7464
7465// CreateTransitGatewayConnectPeer API operation for Amazon Elastic Compute Cloud.
7466//
7467// Creates a Connect peer for a specified transit gateway Connect attachment
7468// between a transit gateway and an appliance.
7469//
7470// The peer address and transit gateway address must be the same IP address
7471// family (IPv4 or IPv6).
7472//
7473// For more information, see Connect peers (https://docs.aws.amazon.com/vpc/latest/tgw/tgw-connect.html#tgw-connect-peer)
7474// in the Transit Gateways Guide.
7475//
7476// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7477// with awserr.Error's Code and Message methods to get detailed information about
7478// the error.
7479//
7480// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7481// API operation CreateTransitGatewayConnectPeer for usage and error information.
7482// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayConnectPeer
7483func (c *EC2) CreateTransitGatewayConnectPeer(input *CreateTransitGatewayConnectPeerInput) (*CreateTransitGatewayConnectPeerOutput, error) {
7484	req, out := c.CreateTransitGatewayConnectPeerRequest(input)
7485	return out, req.Send()
7486}
7487
7488// CreateTransitGatewayConnectPeerWithContext is the same as CreateTransitGatewayConnectPeer with the addition of
7489// the ability to pass a context and additional request options.
7490//
7491// See CreateTransitGatewayConnectPeer for details on how to use this API operation.
7492//
7493// The context must be non-nil and will be used for request cancellation. If
7494// the context is nil a panic will occur. In the future the SDK may create
7495// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7496// for more information on using Contexts.
7497func (c *EC2) CreateTransitGatewayConnectPeerWithContext(ctx aws.Context, input *CreateTransitGatewayConnectPeerInput, opts ...request.Option) (*CreateTransitGatewayConnectPeerOutput, error) {
7498	req, out := c.CreateTransitGatewayConnectPeerRequest(input)
7499	req.SetContext(ctx)
7500	req.ApplyOptions(opts...)
7501	return out, req.Send()
7502}
7503
7504const opCreateTransitGatewayMulticastDomain = "CreateTransitGatewayMulticastDomain"
7505
7506// CreateTransitGatewayMulticastDomainRequest generates a "aws/request.Request" representing the
7507// client's request for the CreateTransitGatewayMulticastDomain operation. The "output" return
7508// value will be populated with the request's response once the request completes
7509// successfully.
7510//
7511// Use "Send" method on the returned Request to send the API call to the service.
7512// the "output" return value is not valid until after Send returns without error.
7513//
7514// See CreateTransitGatewayMulticastDomain for more information on using the CreateTransitGatewayMulticastDomain
7515// API call, and error handling.
7516//
7517// This method is useful when you want to inject custom logic or configuration
7518// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7519//
7520//
7521//    // Example sending a request using the CreateTransitGatewayMulticastDomainRequest method.
7522//    req, resp := client.CreateTransitGatewayMulticastDomainRequest(params)
7523//
7524//    err := req.Send()
7525//    if err == nil { // resp is now filled
7526//        fmt.Println(resp)
7527//    }
7528//
7529// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayMulticastDomain
7530func (c *EC2) CreateTransitGatewayMulticastDomainRequest(input *CreateTransitGatewayMulticastDomainInput) (req *request.Request, output *CreateTransitGatewayMulticastDomainOutput) {
7531	op := &request.Operation{
7532		Name:       opCreateTransitGatewayMulticastDomain,
7533		HTTPMethod: "POST",
7534		HTTPPath:   "/",
7535	}
7536
7537	if input == nil {
7538		input = &CreateTransitGatewayMulticastDomainInput{}
7539	}
7540
7541	output = &CreateTransitGatewayMulticastDomainOutput{}
7542	req = c.newRequest(op, input, output)
7543	return
7544}
7545
7546// CreateTransitGatewayMulticastDomain API operation for Amazon Elastic Compute Cloud.
7547//
7548// Creates a multicast domain using the specified transit gateway.
7549//
7550// The transit gateway must be in the available state before you create a domain.
7551// Use DescribeTransitGateways (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeTransitGateways.html)
7552// to see the state of transit gateway.
7553//
7554// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7555// with awserr.Error's Code and Message methods to get detailed information about
7556// the error.
7557//
7558// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7559// API operation CreateTransitGatewayMulticastDomain for usage and error information.
7560// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayMulticastDomain
7561func (c *EC2) CreateTransitGatewayMulticastDomain(input *CreateTransitGatewayMulticastDomainInput) (*CreateTransitGatewayMulticastDomainOutput, error) {
7562	req, out := c.CreateTransitGatewayMulticastDomainRequest(input)
7563	return out, req.Send()
7564}
7565
7566// CreateTransitGatewayMulticastDomainWithContext is the same as CreateTransitGatewayMulticastDomain with the addition of
7567// the ability to pass a context and additional request options.
7568//
7569// See CreateTransitGatewayMulticastDomain for details on how to use this API operation.
7570//
7571// The context must be non-nil and will be used for request cancellation. If
7572// the context is nil a panic will occur. In the future the SDK may create
7573// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7574// for more information on using Contexts.
7575func (c *EC2) CreateTransitGatewayMulticastDomainWithContext(ctx aws.Context, input *CreateTransitGatewayMulticastDomainInput, opts ...request.Option) (*CreateTransitGatewayMulticastDomainOutput, error) {
7576	req, out := c.CreateTransitGatewayMulticastDomainRequest(input)
7577	req.SetContext(ctx)
7578	req.ApplyOptions(opts...)
7579	return out, req.Send()
7580}
7581
7582const opCreateTransitGatewayPeeringAttachment = "CreateTransitGatewayPeeringAttachment"
7583
7584// CreateTransitGatewayPeeringAttachmentRequest generates a "aws/request.Request" representing the
7585// client's request for the CreateTransitGatewayPeeringAttachment operation. The "output" return
7586// value will be populated with the request's response once the request completes
7587// successfully.
7588//
7589// Use "Send" method on the returned Request to send the API call to the service.
7590// the "output" return value is not valid until after Send returns without error.
7591//
7592// See CreateTransitGatewayPeeringAttachment for more information on using the CreateTransitGatewayPeeringAttachment
7593// API call, and error handling.
7594//
7595// This method is useful when you want to inject custom logic or configuration
7596// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7597//
7598//
7599//    // Example sending a request using the CreateTransitGatewayPeeringAttachmentRequest method.
7600//    req, resp := client.CreateTransitGatewayPeeringAttachmentRequest(params)
7601//
7602//    err := req.Send()
7603//    if err == nil { // resp is now filled
7604//        fmt.Println(resp)
7605//    }
7606//
7607// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayPeeringAttachment
7608func (c *EC2) CreateTransitGatewayPeeringAttachmentRequest(input *CreateTransitGatewayPeeringAttachmentInput) (req *request.Request, output *CreateTransitGatewayPeeringAttachmentOutput) {
7609	op := &request.Operation{
7610		Name:       opCreateTransitGatewayPeeringAttachment,
7611		HTTPMethod: "POST",
7612		HTTPPath:   "/",
7613	}
7614
7615	if input == nil {
7616		input = &CreateTransitGatewayPeeringAttachmentInput{}
7617	}
7618
7619	output = &CreateTransitGatewayPeeringAttachmentOutput{}
7620	req = c.newRequest(op, input, output)
7621	return
7622}
7623
7624// CreateTransitGatewayPeeringAttachment API operation for Amazon Elastic Compute Cloud.
7625//
7626// Requests a transit gateway peering attachment between the specified transit
7627// gateway (requester) and a peer transit gateway (accepter). The transit gateways
7628// must be in different Regions. The peer transit gateway can be in your account
7629// or a different AWS account.
7630//
7631// After you create the peering attachment, the owner of the accepter transit
7632// gateway must accept the attachment request.
7633//
7634// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7635// with awserr.Error's Code and Message methods to get detailed information about
7636// the error.
7637//
7638// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7639// API operation CreateTransitGatewayPeeringAttachment for usage and error information.
7640// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayPeeringAttachment
7641func (c *EC2) CreateTransitGatewayPeeringAttachment(input *CreateTransitGatewayPeeringAttachmentInput) (*CreateTransitGatewayPeeringAttachmentOutput, error) {
7642	req, out := c.CreateTransitGatewayPeeringAttachmentRequest(input)
7643	return out, req.Send()
7644}
7645
7646// CreateTransitGatewayPeeringAttachmentWithContext is the same as CreateTransitGatewayPeeringAttachment with the addition of
7647// the ability to pass a context and additional request options.
7648//
7649// See CreateTransitGatewayPeeringAttachment for details on how to use this API operation.
7650//
7651// The context must be non-nil and will be used for request cancellation. If
7652// the context is nil a panic will occur. In the future the SDK may create
7653// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7654// for more information on using Contexts.
7655func (c *EC2) CreateTransitGatewayPeeringAttachmentWithContext(ctx aws.Context, input *CreateTransitGatewayPeeringAttachmentInput, opts ...request.Option) (*CreateTransitGatewayPeeringAttachmentOutput, error) {
7656	req, out := c.CreateTransitGatewayPeeringAttachmentRequest(input)
7657	req.SetContext(ctx)
7658	req.ApplyOptions(opts...)
7659	return out, req.Send()
7660}
7661
7662const opCreateTransitGatewayPrefixListReference = "CreateTransitGatewayPrefixListReference"
7663
7664// CreateTransitGatewayPrefixListReferenceRequest generates a "aws/request.Request" representing the
7665// client's request for the CreateTransitGatewayPrefixListReference operation. The "output" return
7666// value will be populated with the request's response once the request completes
7667// successfully.
7668//
7669// Use "Send" method on the returned Request to send the API call to the service.
7670// the "output" return value is not valid until after Send returns without error.
7671//
7672// See CreateTransitGatewayPrefixListReference for more information on using the CreateTransitGatewayPrefixListReference
7673// API call, and error handling.
7674//
7675// This method is useful when you want to inject custom logic or configuration
7676// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7677//
7678//
7679//    // Example sending a request using the CreateTransitGatewayPrefixListReferenceRequest method.
7680//    req, resp := client.CreateTransitGatewayPrefixListReferenceRequest(params)
7681//
7682//    err := req.Send()
7683//    if err == nil { // resp is now filled
7684//        fmt.Println(resp)
7685//    }
7686//
7687// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayPrefixListReference
7688func (c *EC2) CreateTransitGatewayPrefixListReferenceRequest(input *CreateTransitGatewayPrefixListReferenceInput) (req *request.Request, output *CreateTransitGatewayPrefixListReferenceOutput) {
7689	op := &request.Operation{
7690		Name:       opCreateTransitGatewayPrefixListReference,
7691		HTTPMethod: "POST",
7692		HTTPPath:   "/",
7693	}
7694
7695	if input == nil {
7696		input = &CreateTransitGatewayPrefixListReferenceInput{}
7697	}
7698
7699	output = &CreateTransitGatewayPrefixListReferenceOutput{}
7700	req = c.newRequest(op, input, output)
7701	return
7702}
7703
7704// CreateTransitGatewayPrefixListReference API operation for Amazon Elastic Compute Cloud.
7705//
7706// Creates a reference (route) to a prefix list in a specified transit gateway
7707// route table.
7708//
7709// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7710// with awserr.Error's Code and Message methods to get detailed information about
7711// the error.
7712//
7713// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7714// API operation CreateTransitGatewayPrefixListReference for usage and error information.
7715// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayPrefixListReference
7716func (c *EC2) CreateTransitGatewayPrefixListReference(input *CreateTransitGatewayPrefixListReferenceInput) (*CreateTransitGatewayPrefixListReferenceOutput, error) {
7717	req, out := c.CreateTransitGatewayPrefixListReferenceRequest(input)
7718	return out, req.Send()
7719}
7720
7721// CreateTransitGatewayPrefixListReferenceWithContext is the same as CreateTransitGatewayPrefixListReference with the addition of
7722// the ability to pass a context and additional request options.
7723//
7724// See CreateTransitGatewayPrefixListReference for details on how to use this API operation.
7725//
7726// The context must be non-nil and will be used for request cancellation. If
7727// the context is nil a panic will occur. In the future the SDK may create
7728// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7729// for more information on using Contexts.
7730func (c *EC2) CreateTransitGatewayPrefixListReferenceWithContext(ctx aws.Context, input *CreateTransitGatewayPrefixListReferenceInput, opts ...request.Option) (*CreateTransitGatewayPrefixListReferenceOutput, error) {
7731	req, out := c.CreateTransitGatewayPrefixListReferenceRequest(input)
7732	req.SetContext(ctx)
7733	req.ApplyOptions(opts...)
7734	return out, req.Send()
7735}
7736
7737const opCreateTransitGatewayRoute = "CreateTransitGatewayRoute"
7738
7739// CreateTransitGatewayRouteRequest generates a "aws/request.Request" representing the
7740// client's request for the CreateTransitGatewayRoute operation. The "output" return
7741// value will be populated with the request's response once the request completes
7742// successfully.
7743//
7744// Use "Send" method on the returned Request to send the API call to the service.
7745// the "output" return value is not valid until after Send returns without error.
7746//
7747// See CreateTransitGatewayRoute for more information on using the CreateTransitGatewayRoute
7748// API call, and error handling.
7749//
7750// This method is useful when you want to inject custom logic or configuration
7751// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7752//
7753//
7754//    // Example sending a request using the CreateTransitGatewayRouteRequest method.
7755//    req, resp := client.CreateTransitGatewayRouteRequest(params)
7756//
7757//    err := req.Send()
7758//    if err == nil { // resp is now filled
7759//        fmt.Println(resp)
7760//    }
7761//
7762// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayRoute
7763func (c *EC2) CreateTransitGatewayRouteRequest(input *CreateTransitGatewayRouteInput) (req *request.Request, output *CreateTransitGatewayRouteOutput) {
7764	op := &request.Operation{
7765		Name:       opCreateTransitGatewayRoute,
7766		HTTPMethod: "POST",
7767		HTTPPath:   "/",
7768	}
7769
7770	if input == nil {
7771		input = &CreateTransitGatewayRouteInput{}
7772	}
7773
7774	output = &CreateTransitGatewayRouteOutput{}
7775	req = c.newRequest(op, input, output)
7776	return
7777}
7778
7779// CreateTransitGatewayRoute API operation for Amazon Elastic Compute Cloud.
7780//
7781// Creates a static route for the specified transit gateway route table.
7782//
7783// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7784// with awserr.Error's Code and Message methods to get detailed information about
7785// the error.
7786//
7787// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7788// API operation CreateTransitGatewayRoute for usage and error information.
7789// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayRoute
7790func (c *EC2) CreateTransitGatewayRoute(input *CreateTransitGatewayRouteInput) (*CreateTransitGatewayRouteOutput, error) {
7791	req, out := c.CreateTransitGatewayRouteRequest(input)
7792	return out, req.Send()
7793}
7794
7795// CreateTransitGatewayRouteWithContext is the same as CreateTransitGatewayRoute with the addition of
7796// the ability to pass a context and additional request options.
7797//
7798// See CreateTransitGatewayRoute for details on how to use this API operation.
7799//
7800// The context must be non-nil and will be used for request cancellation. If
7801// the context is nil a panic will occur. In the future the SDK may create
7802// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7803// for more information on using Contexts.
7804func (c *EC2) CreateTransitGatewayRouteWithContext(ctx aws.Context, input *CreateTransitGatewayRouteInput, opts ...request.Option) (*CreateTransitGatewayRouteOutput, error) {
7805	req, out := c.CreateTransitGatewayRouteRequest(input)
7806	req.SetContext(ctx)
7807	req.ApplyOptions(opts...)
7808	return out, req.Send()
7809}
7810
7811const opCreateTransitGatewayRouteTable = "CreateTransitGatewayRouteTable"
7812
7813// CreateTransitGatewayRouteTableRequest generates a "aws/request.Request" representing the
7814// client's request for the CreateTransitGatewayRouteTable operation. The "output" return
7815// value will be populated with the request's response once the request completes
7816// successfully.
7817//
7818// Use "Send" method on the returned Request to send the API call to the service.
7819// the "output" return value is not valid until after Send returns without error.
7820//
7821// See CreateTransitGatewayRouteTable for more information on using the CreateTransitGatewayRouteTable
7822// API call, and error handling.
7823//
7824// This method is useful when you want to inject custom logic or configuration
7825// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7826//
7827//
7828//    // Example sending a request using the CreateTransitGatewayRouteTableRequest method.
7829//    req, resp := client.CreateTransitGatewayRouteTableRequest(params)
7830//
7831//    err := req.Send()
7832//    if err == nil { // resp is now filled
7833//        fmt.Println(resp)
7834//    }
7835//
7836// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayRouteTable
7837func (c *EC2) CreateTransitGatewayRouteTableRequest(input *CreateTransitGatewayRouteTableInput) (req *request.Request, output *CreateTransitGatewayRouteTableOutput) {
7838	op := &request.Operation{
7839		Name:       opCreateTransitGatewayRouteTable,
7840		HTTPMethod: "POST",
7841		HTTPPath:   "/",
7842	}
7843
7844	if input == nil {
7845		input = &CreateTransitGatewayRouteTableInput{}
7846	}
7847
7848	output = &CreateTransitGatewayRouteTableOutput{}
7849	req = c.newRequest(op, input, output)
7850	return
7851}
7852
7853// CreateTransitGatewayRouteTable API operation for Amazon Elastic Compute Cloud.
7854//
7855// Creates a route table for the specified transit gateway.
7856//
7857// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7858// with awserr.Error's Code and Message methods to get detailed information about
7859// the error.
7860//
7861// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7862// API operation CreateTransitGatewayRouteTable for usage and error information.
7863// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayRouteTable
7864func (c *EC2) CreateTransitGatewayRouteTable(input *CreateTransitGatewayRouteTableInput) (*CreateTransitGatewayRouteTableOutput, error) {
7865	req, out := c.CreateTransitGatewayRouteTableRequest(input)
7866	return out, req.Send()
7867}
7868
7869// CreateTransitGatewayRouteTableWithContext is the same as CreateTransitGatewayRouteTable with the addition of
7870// the ability to pass a context and additional request options.
7871//
7872// See CreateTransitGatewayRouteTable for details on how to use this API operation.
7873//
7874// The context must be non-nil and will be used for request cancellation. If
7875// the context is nil a panic will occur. In the future the SDK may create
7876// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7877// for more information on using Contexts.
7878func (c *EC2) CreateTransitGatewayRouteTableWithContext(ctx aws.Context, input *CreateTransitGatewayRouteTableInput, opts ...request.Option) (*CreateTransitGatewayRouteTableOutput, error) {
7879	req, out := c.CreateTransitGatewayRouteTableRequest(input)
7880	req.SetContext(ctx)
7881	req.ApplyOptions(opts...)
7882	return out, req.Send()
7883}
7884
7885const opCreateTransitGatewayVpcAttachment = "CreateTransitGatewayVpcAttachment"
7886
7887// CreateTransitGatewayVpcAttachmentRequest generates a "aws/request.Request" representing the
7888// client's request for the CreateTransitGatewayVpcAttachment operation. The "output" return
7889// value will be populated with the request's response once the request completes
7890// successfully.
7891//
7892// Use "Send" method on the returned Request to send the API call to the service.
7893// the "output" return value is not valid until after Send returns without error.
7894//
7895// See CreateTransitGatewayVpcAttachment for more information on using the CreateTransitGatewayVpcAttachment
7896// API call, and error handling.
7897//
7898// This method is useful when you want to inject custom logic or configuration
7899// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7900//
7901//
7902//    // Example sending a request using the CreateTransitGatewayVpcAttachmentRequest method.
7903//    req, resp := client.CreateTransitGatewayVpcAttachmentRequest(params)
7904//
7905//    err := req.Send()
7906//    if err == nil { // resp is now filled
7907//        fmt.Println(resp)
7908//    }
7909//
7910// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayVpcAttachment
7911func (c *EC2) CreateTransitGatewayVpcAttachmentRequest(input *CreateTransitGatewayVpcAttachmentInput) (req *request.Request, output *CreateTransitGatewayVpcAttachmentOutput) {
7912	op := &request.Operation{
7913		Name:       opCreateTransitGatewayVpcAttachment,
7914		HTTPMethod: "POST",
7915		HTTPPath:   "/",
7916	}
7917
7918	if input == nil {
7919		input = &CreateTransitGatewayVpcAttachmentInput{}
7920	}
7921
7922	output = &CreateTransitGatewayVpcAttachmentOutput{}
7923	req = c.newRequest(op, input, output)
7924	return
7925}
7926
7927// CreateTransitGatewayVpcAttachment API operation for Amazon Elastic Compute Cloud.
7928//
7929// Attaches the specified VPC to the specified transit gateway.
7930//
7931// If you attach a VPC with a CIDR range that overlaps the CIDR range of a VPC
7932// that is already attached, the new VPC CIDR range is not propagated to the
7933// default propagation route table.
7934//
7935// To send VPC traffic to an attached transit gateway, add a route to the VPC
7936// route table using CreateRoute.
7937//
7938// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7939// with awserr.Error's Code and Message methods to get detailed information about
7940// the error.
7941//
7942// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7943// API operation CreateTransitGatewayVpcAttachment for usage and error information.
7944// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayVpcAttachment
7945func (c *EC2) CreateTransitGatewayVpcAttachment(input *CreateTransitGatewayVpcAttachmentInput) (*CreateTransitGatewayVpcAttachmentOutput, error) {
7946	req, out := c.CreateTransitGatewayVpcAttachmentRequest(input)
7947	return out, req.Send()
7948}
7949
7950// CreateTransitGatewayVpcAttachmentWithContext is the same as CreateTransitGatewayVpcAttachment with the addition of
7951// the ability to pass a context and additional request options.
7952//
7953// See CreateTransitGatewayVpcAttachment for details on how to use this API operation.
7954//
7955// The context must be non-nil and will be used for request cancellation. If
7956// the context is nil a panic will occur. In the future the SDK may create
7957// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7958// for more information on using Contexts.
7959func (c *EC2) CreateTransitGatewayVpcAttachmentWithContext(ctx aws.Context, input *CreateTransitGatewayVpcAttachmentInput, opts ...request.Option) (*CreateTransitGatewayVpcAttachmentOutput, error) {
7960	req, out := c.CreateTransitGatewayVpcAttachmentRequest(input)
7961	req.SetContext(ctx)
7962	req.ApplyOptions(opts...)
7963	return out, req.Send()
7964}
7965
7966const opCreateVolume = "CreateVolume"
7967
7968// CreateVolumeRequest generates a "aws/request.Request" representing the
7969// client's request for the CreateVolume operation. The "output" return
7970// value will be populated with the request's response once the request completes
7971// successfully.
7972//
7973// Use "Send" method on the returned Request to send the API call to the service.
7974// the "output" return value is not valid until after Send returns without error.
7975//
7976// See CreateVolume for more information on using the CreateVolume
7977// API call, and error handling.
7978//
7979// This method is useful when you want to inject custom logic or configuration
7980// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7981//
7982//
7983//    // Example sending a request using the CreateVolumeRequest method.
7984//    req, resp := client.CreateVolumeRequest(params)
7985//
7986//    err := req.Send()
7987//    if err == nil { // resp is now filled
7988//        fmt.Println(resp)
7989//    }
7990//
7991// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVolume
7992func (c *EC2) CreateVolumeRequest(input *CreateVolumeInput) (req *request.Request, output *Volume) {
7993	op := &request.Operation{
7994		Name:       opCreateVolume,
7995		HTTPMethod: "POST",
7996		HTTPPath:   "/",
7997	}
7998
7999	if input == nil {
8000		input = &CreateVolumeInput{}
8001	}
8002
8003	output = &Volume{}
8004	req = c.newRequest(op, input, output)
8005	return
8006}
8007
8008// CreateVolume API operation for Amazon Elastic Compute Cloud.
8009//
8010// Creates an EBS volume that can be attached to an instance in the same Availability
8011// Zone.
8012//
8013// You can create a new empty volume or restore a volume from an EBS snapshot.
8014// Any AWS Marketplace product codes from the snapshot are propagated to the
8015// volume.
8016//
8017// You can create encrypted volumes. Encrypted volumes must be attached to instances
8018// that support Amazon EBS encryption. Volumes that are created from encrypted
8019// snapshots are also automatically encrypted. For more information, see Amazon
8020// EBS encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
8021// in the Amazon Elastic Compute Cloud User Guide.
8022//
8023// You can tag your volumes during creation. For more information, see Tagging
8024// your Amazon EC2 resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
8025// in the Amazon Elastic Compute Cloud User Guide.
8026//
8027// For more information, see Creating an Amazon EBS volume (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-volume.html)
8028// in the Amazon Elastic Compute Cloud User Guide.
8029//
8030// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8031// with awserr.Error's Code and Message methods to get detailed information about
8032// the error.
8033//
8034// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8035// API operation CreateVolume for usage and error information.
8036// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVolume
8037func (c *EC2) CreateVolume(input *CreateVolumeInput) (*Volume, error) {
8038	req, out := c.CreateVolumeRequest(input)
8039	return out, req.Send()
8040}
8041
8042// CreateVolumeWithContext is the same as CreateVolume with the addition of
8043// the ability to pass a context and additional request options.
8044//
8045// See CreateVolume for details on how to use this API operation.
8046//
8047// The context must be non-nil and will be used for request cancellation. If
8048// the context is nil a panic will occur. In the future the SDK may create
8049// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8050// for more information on using Contexts.
8051func (c *EC2) CreateVolumeWithContext(ctx aws.Context, input *CreateVolumeInput, opts ...request.Option) (*Volume, error) {
8052	req, out := c.CreateVolumeRequest(input)
8053	req.SetContext(ctx)
8054	req.ApplyOptions(opts...)
8055	return out, req.Send()
8056}
8057
8058const opCreateVpc = "CreateVpc"
8059
8060// CreateVpcRequest generates a "aws/request.Request" representing the
8061// client's request for the CreateVpc operation. The "output" return
8062// value will be populated with the request's response once the request completes
8063// successfully.
8064//
8065// Use "Send" method on the returned Request to send the API call to the service.
8066// the "output" return value is not valid until after Send returns without error.
8067//
8068// See CreateVpc for more information on using the CreateVpc
8069// API call, and error handling.
8070//
8071// This method is useful when you want to inject custom logic or configuration
8072// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8073//
8074//
8075//    // Example sending a request using the CreateVpcRequest method.
8076//    req, resp := client.CreateVpcRequest(params)
8077//
8078//    err := req.Send()
8079//    if err == nil { // resp is now filled
8080//        fmt.Println(resp)
8081//    }
8082//
8083// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpc
8084func (c *EC2) CreateVpcRequest(input *CreateVpcInput) (req *request.Request, output *CreateVpcOutput) {
8085	op := &request.Operation{
8086		Name:       opCreateVpc,
8087		HTTPMethod: "POST",
8088		HTTPPath:   "/",
8089	}
8090
8091	if input == nil {
8092		input = &CreateVpcInput{}
8093	}
8094
8095	output = &CreateVpcOutput{}
8096	req = c.newRequest(op, input, output)
8097	return
8098}
8099
8100// CreateVpc API operation for Amazon Elastic Compute Cloud.
8101//
8102// Creates a VPC with the specified IPv4 CIDR block. The smallest VPC you can
8103// create uses a /28 netmask (16 IPv4 addresses), and the largest uses a /16
8104// netmask (65,536 IPv4 addresses). For more information about how large to
8105// make your VPC, see Your VPC and Subnets (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html)
8106// in the Amazon Virtual Private Cloud User Guide.
8107//
8108// You can optionally request an IPv6 CIDR block for the VPC. You can request
8109// an Amazon-provided IPv6 CIDR block from Amazon's pool of IPv6 addresses,
8110// or an IPv6 CIDR block from an IPv6 address pool that you provisioned through
8111// bring your own IP addresses (BYOIP (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html)).
8112//
8113// By default, each instance you launch in the VPC has the default DHCP options,
8114// which include only a default DNS server that we provide (AmazonProvidedDNS).
8115// For more information, see DHCP Options Sets (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html)
8116// in the Amazon Virtual Private Cloud User Guide.
8117//
8118// You can specify the instance tenancy value for the VPC when you create it.
8119// You can't change this value for the VPC after you create it. For more information,
8120// see Dedicated Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html)
8121// in the Amazon Elastic Compute Cloud User Guide.
8122//
8123// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8124// with awserr.Error's Code and Message methods to get detailed information about
8125// the error.
8126//
8127// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8128// API operation CreateVpc for usage and error information.
8129// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpc
8130func (c *EC2) CreateVpc(input *CreateVpcInput) (*CreateVpcOutput, error) {
8131	req, out := c.CreateVpcRequest(input)
8132	return out, req.Send()
8133}
8134
8135// CreateVpcWithContext is the same as CreateVpc with the addition of
8136// the ability to pass a context and additional request options.
8137//
8138// See CreateVpc for details on how to use this API operation.
8139//
8140// The context must be non-nil and will be used for request cancellation. If
8141// the context is nil a panic will occur. In the future the SDK may create
8142// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8143// for more information on using Contexts.
8144func (c *EC2) CreateVpcWithContext(ctx aws.Context, input *CreateVpcInput, opts ...request.Option) (*CreateVpcOutput, error) {
8145	req, out := c.CreateVpcRequest(input)
8146	req.SetContext(ctx)
8147	req.ApplyOptions(opts...)
8148	return out, req.Send()
8149}
8150
8151const opCreateVpcEndpoint = "CreateVpcEndpoint"
8152
8153// CreateVpcEndpointRequest generates a "aws/request.Request" representing the
8154// client's request for the CreateVpcEndpoint operation. The "output" return
8155// value will be populated with the request's response once the request completes
8156// successfully.
8157//
8158// Use "Send" method on the returned Request to send the API call to the service.
8159// the "output" return value is not valid until after Send returns without error.
8160//
8161// See CreateVpcEndpoint for more information on using the CreateVpcEndpoint
8162// API call, and error handling.
8163//
8164// This method is useful when you want to inject custom logic or configuration
8165// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8166//
8167//
8168//    // Example sending a request using the CreateVpcEndpointRequest method.
8169//    req, resp := client.CreateVpcEndpointRequest(params)
8170//
8171//    err := req.Send()
8172//    if err == nil { // resp is now filled
8173//        fmt.Println(resp)
8174//    }
8175//
8176// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpoint
8177func (c *EC2) CreateVpcEndpointRequest(input *CreateVpcEndpointInput) (req *request.Request, output *CreateVpcEndpointOutput) {
8178	op := &request.Operation{
8179		Name:       opCreateVpcEndpoint,
8180		HTTPMethod: "POST",
8181		HTTPPath:   "/",
8182	}
8183
8184	if input == nil {
8185		input = &CreateVpcEndpointInput{}
8186	}
8187
8188	output = &CreateVpcEndpointOutput{}
8189	req = c.newRequest(op, input, output)
8190	return
8191}
8192
8193// CreateVpcEndpoint API operation for Amazon Elastic Compute Cloud.
8194//
8195// Creates a VPC endpoint for a specified service. An endpoint enables you to
8196// create a private connection between your VPC and the service. The service
8197// may be provided by AWS, an AWS Marketplace Partner, or another AWS account.
8198// For more information, see VPC Endpoints (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html)
8199// in the Amazon Virtual Private Cloud User Guide.
8200//
8201// A gateway endpoint serves as a target for a route in your route table for
8202// traffic destined for the AWS service. You can specify an endpoint policy
8203// to attach to the endpoint, which will control access to the service from
8204// your VPC. You can also specify the VPC route tables that use the endpoint.
8205//
8206// An interface endpoint is a network interface in your subnet that serves as
8207// an endpoint for communicating with the specified service. You can specify
8208// the subnets in which to create an endpoint, and the security groups to associate
8209// with the endpoint network interface.
8210//
8211// A GatewayLoadBalancer endpoint is a network interface in your subnet that
8212// serves an endpoint for communicating with a Gateway Load Balancer that you've
8213// configured as a VPC endpoint service.
8214//
8215// Use DescribeVpcEndpointServices to get a list of supported services.
8216//
8217// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8218// with awserr.Error's Code and Message methods to get detailed information about
8219// the error.
8220//
8221// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8222// API operation CreateVpcEndpoint for usage and error information.
8223// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpoint
8224func (c *EC2) CreateVpcEndpoint(input *CreateVpcEndpointInput) (*CreateVpcEndpointOutput, error) {
8225	req, out := c.CreateVpcEndpointRequest(input)
8226	return out, req.Send()
8227}
8228
8229// CreateVpcEndpointWithContext is the same as CreateVpcEndpoint with the addition of
8230// the ability to pass a context and additional request options.
8231//
8232// See CreateVpcEndpoint for details on how to use this API operation.
8233//
8234// The context must be non-nil and will be used for request cancellation. If
8235// the context is nil a panic will occur. In the future the SDK may create
8236// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8237// for more information on using Contexts.
8238func (c *EC2) CreateVpcEndpointWithContext(ctx aws.Context, input *CreateVpcEndpointInput, opts ...request.Option) (*CreateVpcEndpointOutput, error) {
8239	req, out := c.CreateVpcEndpointRequest(input)
8240	req.SetContext(ctx)
8241	req.ApplyOptions(opts...)
8242	return out, req.Send()
8243}
8244
8245const opCreateVpcEndpointConnectionNotification = "CreateVpcEndpointConnectionNotification"
8246
8247// CreateVpcEndpointConnectionNotificationRequest generates a "aws/request.Request" representing the
8248// client's request for the CreateVpcEndpointConnectionNotification operation. The "output" return
8249// value will be populated with the request's response once the request completes
8250// successfully.
8251//
8252// Use "Send" method on the returned Request to send the API call to the service.
8253// the "output" return value is not valid until after Send returns without error.
8254//
8255// See CreateVpcEndpointConnectionNotification for more information on using the CreateVpcEndpointConnectionNotification
8256// API call, and error handling.
8257//
8258// This method is useful when you want to inject custom logic or configuration
8259// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8260//
8261//
8262//    // Example sending a request using the CreateVpcEndpointConnectionNotificationRequest method.
8263//    req, resp := client.CreateVpcEndpointConnectionNotificationRequest(params)
8264//
8265//    err := req.Send()
8266//    if err == nil { // resp is now filled
8267//        fmt.Println(resp)
8268//    }
8269//
8270// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointConnectionNotification
8271func (c *EC2) CreateVpcEndpointConnectionNotificationRequest(input *CreateVpcEndpointConnectionNotificationInput) (req *request.Request, output *CreateVpcEndpointConnectionNotificationOutput) {
8272	op := &request.Operation{
8273		Name:       opCreateVpcEndpointConnectionNotification,
8274		HTTPMethod: "POST",
8275		HTTPPath:   "/",
8276	}
8277
8278	if input == nil {
8279		input = &CreateVpcEndpointConnectionNotificationInput{}
8280	}
8281
8282	output = &CreateVpcEndpointConnectionNotificationOutput{}
8283	req = c.newRequest(op, input, output)
8284	return
8285}
8286
8287// CreateVpcEndpointConnectionNotification API operation for Amazon Elastic Compute Cloud.
8288//
8289// Creates a connection notification for a specified VPC endpoint or VPC endpoint
8290// service. A connection notification notifies you of specific endpoint events.
8291// You must create an SNS topic to receive notifications. For more information,
8292// see Create a Topic (https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html)
8293// in the Amazon Simple Notification Service Developer Guide.
8294//
8295// You can create a connection notification for interface endpoints only.
8296//
8297// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8298// with awserr.Error's Code and Message methods to get detailed information about
8299// the error.
8300//
8301// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8302// API operation CreateVpcEndpointConnectionNotification for usage and error information.
8303// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointConnectionNotification
8304func (c *EC2) CreateVpcEndpointConnectionNotification(input *CreateVpcEndpointConnectionNotificationInput) (*CreateVpcEndpointConnectionNotificationOutput, error) {
8305	req, out := c.CreateVpcEndpointConnectionNotificationRequest(input)
8306	return out, req.Send()
8307}
8308
8309// CreateVpcEndpointConnectionNotificationWithContext is the same as CreateVpcEndpointConnectionNotification with the addition of
8310// the ability to pass a context and additional request options.
8311//
8312// See CreateVpcEndpointConnectionNotification for details on how to use this API operation.
8313//
8314// The context must be non-nil and will be used for request cancellation. If
8315// the context is nil a panic will occur. In the future the SDK may create
8316// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8317// for more information on using Contexts.
8318func (c *EC2) CreateVpcEndpointConnectionNotificationWithContext(ctx aws.Context, input *CreateVpcEndpointConnectionNotificationInput, opts ...request.Option) (*CreateVpcEndpointConnectionNotificationOutput, error) {
8319	req, out := c.CreateVpcEndpointConnectionNotificationRequest(input)
8320	req.SetContext(ctx)
8321	req.ApplyOptions(opts...)
8322	return out, req.Send()
8323}
8324
8325const opCreateVpcEndpointServiceConfiguration = "CreateVpcEndpointServiceConfiguration"
8326
8327// CreateVpcEndpointServiceConfigurationRequest generates a "aws/request.Request" representing the
8328// client's request for the CreateVpcEndpointServiceConfiguration operation. The "output" return
8329// value will be populated with the request's response once the request completes
8330// successfully.
8331//
8332// Use "Send" method on the returned Request to send the API call to the service.
8333// the "output" return value is not valid until after Send returns without error.
8334//
8335// See CreateVpcEndpointServiceConfiguration for more information on using the CreateVpcEndpointServiceConfiguration
8336// API call, and error handling.
8337//
8338// This method is useful when you want to inject custom logic or configuration
8339// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8340//
8341//
8342//    // Example sending a request using the CreateVpcEndpointServiceConfigurationRequest method.
8343//    req, resp := client.CreateVpcEndpointServiceConfigurationRequest(params)
8344//
8345//    err := req.Send()
8346//    if err == nil { // resp is now filled
8347//        fmt.Println(resp)
8348//    }
8349//
8350// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointServiceConfiguration
8351func (c *EC2) CreateVpcEndpointServiceConfigurationRequest(input *CreateVpcEndpointServiceConfigurationInput) (req *request.Request, output *CreateVpcEndpointServiceConfigurationOutput) {
8352	op := &request.Operation{
8353		Name:       opCreateVpcEndpointServiceConfiguration,
8354		HTTPMethod: "POST",
8355		HTTPPath:   "/",
8356	}
8357
8358	if input == nil {
8359		input = &CreateVpcEndpointServiceConfigurationInput{}
8360	}
8361
8362	output = &CreateVpcEndpointServiceConfigurationOutput{}
8363	req = c.newRequest(op, input, output)
8364	return
8365}
8366
8367// CreateVpcEndpointServiceConfiguration API operation for Amazon Elastic Compute Cloud.
8368//
8369// Creates a VPC endpoint service configuration to which service consumers (AWS
8370// accounts, IAM users, and IAM roles) can connect.
8371//
8372// To create an endpoint service configuration, you must first create one of
8373// the following for your service:
8374//
8375//    * A Network Load Balancer (https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html).
8376//    Service consumers connect to your service using an interface endpoint.
8377//
8378//    * A Gateway Load Balancer (https://docs.aws.amazon.com/elasticloadbalancing/latest/gateway/introduction.html).
8379//    Service consumers connect to your service using a Gateway Load Balancer
8380//    endpoint.
8381//
8382// For more information, see VPC Endpoint Services (https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html)
8383// in the Amazon Virtual Private Cloud User Guide.
8384//
8385// If you set the private DNS name, you must prove that you own the private
8386// DNS domain name. For more information, see VPC Endpoint Service Private DNS
8387// Name Verification (https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-services-dns-validation.html)
8388// in the Amazon Virtual Private Cloud User Guide.
8389//
8390// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8391// with awserr.Error's Code and Message methods to get detailed information about
8392// the error.
8393//
8394// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8395// API operation CreateVpcEndpointServiceConfiguration for usage and error information.
8396// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointServiceConfiguration
8397func (c *EC2) CreateVpcEndpointServiceConfiguration(input *CreateVpcEndpointServiceConfigurationInput) (*CreateVpcEndpointServiceConfigurationOutput, error) {
8398	req, out := c.CreateVpcEndpointServiceConfigurationRequest(input)
8399	return out, req.Send()
8400}
8401
8402// CreateVpcEndpointServiceConfigurationWithContext is the same as CreateVpcEndpointServiceConfiguration with the addition of
8403// the ability to pass a context and additional request options.
8404//
8405// See CreateVpcEndpointServiceConfiguration for details on how to use this API operation.
8406//
8407// The context must be non-nil and will be used for request cancellation. If
8408// the context is nil a panic will occur. In the future the SDK may create
8409// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8410// for more information on using Contexts.
8411func (c *EC2) CreateVpcEndpointServiceConfigurationWithContext(ctx aws.Context, input *CreateVpcEndpointServiceConfigurationInput, opts ...request.Option) (*CreateVpcEndpointServiceConfigurationOutput, error) {
8412	req, out := c.CreateVpcEndpointServiceConfigurationRequest(input)
8413	req.SetContext(ctx)
8414	req.ApplyOptions(opts...)
8415	return out, req.Send()
8416}
8417
8418const opCreateVpcPeeringConnection = "CreateVpcPeeringConnection"
8419
8420// CreateVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
8421// client's request for the CreateVpcPeeringConnection operation. The "output" return
8422// value will be populated with the request's response once the request completes
8423// successfully.
8424//
8425// Use "Send" method on the returned Request to send the API call to the service.
8426// the "output" return value is not valid until after Send returns without error.
8427//
8428// See CreateVpcPeeringConnection for more information on using the CreateVpcPeeringConnection
8429// API call, and error handling.
8430//
8431// This method is useful when you want to inject custom logic or configuration
8432// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8433//
8434//
8435//    // Example sending a request using the CreateVpcPeeringConnectionRequest method.
8436//    req, resp := client.CreateVpcPeeringConnectionRequest(params)
8437//
8438//    err := req.Send()
8439//    if err == nil { // resp is now filled
8440//        fmt.Println(resp)
8441//    }
8442//
8443// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcPeeringConnection
8444func (c *EC2) CreateVpcPeeringConnectionRequest(input *CreateVpcPeeringConnectionInput) (req *request.Request, output *CreateVpcPeeringConnectionOutput) {
8445	op := &request.Operation{
8446		Name:       opCreateVpcPeeringConnection,
8447		HTTPMethod: "POST",
8448		HTTPPath:   "/",
8449	}
8450
8451	if input == nil {
8452		input = &CreateVpcPeeringConnectionInput{}
8453	}
8454
8455	output = &CreateVpcPeeringConnectionOutput{}
8456	req = c.newRequest(op, input, output)
8457	return
8458}
8459
8460// CreateVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
8461//
8462// Requests a VPC peering connection between two VPCs: a requester VPC that
8463// you own and an accepter VPC with which to create the connection. The accepter
8464// VPC can belong to another AWS account and can be in a different Region to
8465// the requester VPC. The requester VPC and accepter VPC cannot have overlapping
8466// CIDR blocks.
8467//
8468// Limitations and rules apply to a VPC peering connection. For more information,
8469// see the limitations (https://docs.aws.amazon.com/vpc/latest/peering/vpc-peering-basics.html#vpc-peering-limitations)
8470// section in the VPC Peering Guide.
8471//
8472// The owner of the accepter VPC must accept the peering request to activate
8473// the peering connection. The VPC peering connection request expires after
8474// 7 days, after which it cannot be accepted or rejected.
8475//
8476// If you create a VPC peering connection request between VPCs with overlapping
8477// CIDR blocks, the VPC peering connection has a status of failed.
8478//
8479// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8480// with awserr.Error's Code and Message methods to get detailed information about
8481// the error.
8482//
8483// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8484// API operation CreateVpcPeeringConnection for usage and error information.
8485// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcPeeringConnection
8486func (c *EC2) CreateVpcPeeringConnection(input *CreateVpcPeeringConnectionInput) (*CreateVpcPeeringConnectionOutput, error) {
8487	req, out := c.CreateVpcPeeringConnectionRequest(input)
8488	return out, req.Send()
8489}
8490
8491// CreateVpcPeeringConnectionWithContext is the same as CreateVpcPeeringConnection with the addition of
8492// the ability to pass a context and additional request options.
8493//
8494// See CreateVpcPeeringConnection for details on how to use this API operation.
8495//
8496// The context must be non-nil and will be used for request cancellation. If
8497// the context is nil a panic will occur. In the future the SDK may create
8498// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8499// for more information on using Contexts.
8500func (c *EC2) CreateVpcPeeringConnectionWithContext(ctx aws.Context, input *CreateVpcPeeringConnectionInput, opts ...request.Option) (*CreateVpcPeeringConnectionOutput, error) {
8501	req, out := c.CreateVpcPeeringConnectionRequest(input)
8502	req.SetContext(ctx)
8503	req.ApplyOptions(opts...)
8504	return out, req.Send()
8505}
8506
8507const opCreateVpnConnection = "CreateVpnConnection"
8508
8509// CreateVpnConnectionRequest generates a "aws/request.Request" representing the
8510// client's request for the CreateVpnConnection operation. The "output" return
8511// value will be populated with the request's response once the request completes
8512// successfully.
8513//
8514// Use "Send" method on the returned Request to send the API call to the service.
8515// the "output" return value is not valid until after Send returns without error.
8516//
8517// See CreateVpnConnection for more information on using the CreateVpnConnection
8518// API call, and error handling.
8519//
8520// This method is useful when you want to inject custom logic or configuration
8521// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8522//
8523//
8524//    // Example sending a request using the CreateVpnConnectionRequest method.
8525//    req, resp := client.CreateVpnConnectionRequest(params)
8526//
8527//    err := req.Send()
8528//    if err == nil { // resp is now filled
8529//        fmt.Println(resp)
8530//    }
8531//
8532// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnection
8533func (c *EC2) CreateVpnConnectionRequest(input *CreateVpnConnectionInput) (req *request.Request, output *CreateVpnConnectionOutput) {
8534	op := &request.Operation{
8535		Name:       opCreateVpnConnection,
8536		HTTPMethod: "POST",
8537		HTTPPath:   "/",
8538	}
8539
8540	if input == nil {
8541		input = &CreateVpnConnectionInput{}
8542	}
8543
8544	output = &CreateVpnConnectionOutput{}
8545	req = c.newRequest(op, input, output)
8546	return
8547}
8548
8549// CreateVpnConnection API operation for Amazon Elastic Compute Cloud.
8550//
8551// Creates a VPN connection between an existing virtual private gateway or transit
8552// gateway and a customer gateway. The supported connection type is ipsec.1.
8553//
8554// The response includes information that you need to give to your network administrator
8555// to configure your customer gateway.
8556//
8557// We strongly recommend that you use HTTPS when calling this operation because
8558// the response contains sensitive cryptographic information for configuring
8559// your customer gateway device.
8560//
8561// If you decide to shut down your VPN connection for any reason and later create
8562// a new VPN connection, you must reconfigure your customer gateway with the
8563// new information returned from this call.
8564//
8565// This is an idempotent operation. If you perform the operation more than once,
8566// Amazon EC2 doesn't return an error.
8567//
8568// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
8569// in the AWS Site-to-Site VPN User Guide.
8570//
8571// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8572// with awserr.Error's Code and Message methods to get detailed information about
8573// the error.
8574//
8575// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8576// API operation CreateVpnConnection for usage and error information.
8577// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnection
8578func (c *EC2) CreateVpnConnection(input *CreateVpnConnectionInput) (*CreateVpnConnectionOutput, error) {
8579	req, out := c.CreateVpnConnectionRequest(input)
8580	return out, req.Send()
8581}
8582
8583// CreateVpnConnectionWithContext is the same as CreateVpnConnection with the addition of
8584// the ability to pass a context and additional request options.
8585//
8586// See CreateVpnConnection for details on how to use this API operation.
8587//
8588// The context must be non-nil and will be used for request cancellation. If
8589// the context is nil a panic will occur. In the future the SDK may create
8590// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8591// for more information on using Contexts.
8592func (c *EC2) CreateVpnConnectionWithContext(ctx aws.Context, input *CreateVpnConnectionInput, opts ...request.Option) (*CreateVpnConnectionOutput, error) {
8593	req, out := c.CreateVpnConnectionRequest(input)
8594	req.SetContext(ctx)
8595	req.ApplyOptions(opts...)
8596	return out, req.Send()
8597}
8598
8599const opCreateVpnConnectionRoute = "CreateVpnConnectionRoute"
8600
8601// CreateVpnConnectionRouteRequest generates a "aws/request.Request" representing the
8602// client's request for the CreateVpnConnectionRoute operation. The "output" return
8603// value will be populated with the request's response once the request completes
8604// successfully.
8605//
8606// Use "Send" method on the returned Request to send the API call to the service.
8607// the "output" return value is not valid until after Send returns without error.
8608//
8609// See CreateVpnConnectionRoute for more information on using the CreateVpnConnectionRoute
8610// API call, and error handling.
8611//
8612// This method is useful when you want to inject custom logic or configuration
8613// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8614//
8615//
8616//    // Example sending a request using the CreateVpnConnectionRouteRequest method.
8617//    req, resp := client.CreateVpnConnectionRouteRequest(params)
8618//
8619//    err := req.Send()
8620//    if err == nil { // resp is now filled
8621//        fmt.Println(resp)
8622//    }
8623//
8624// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnectionRoute
8625func (c *EC2) CreateVpnConnectionRouteRequest(input *CreateVpnConnectionRouteInput) (req *request.Request, output *CreateVpnConnectionRouteOutput) {
8626	op := &request.Operation{
8627		Name:       opCreateVpnConnectionRoute,
8628		HTTPMethod: "POST",
8629		HTTPPath:   "/",
8630	}
8631
8632	if input == nil {
8633		input = &CreateVpnConnectionRouteInput{}
8634	}
8635
8636	output = &CreateVpnConnectionRouteOutput{}
8637	req = c.newRequest(op, input, output)
8638	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8639	return
8640}
8641
8642// CreateVpnConnectionRoute API operation for Amazon Elastic Compute Cloud.
8643//
8644// Creates a static route associated with a VPN connection between an existing
8645// virtual private gateway and a VPN customer gateway. The static route allows
8646// traffic to be routed from the virtual private gateway to the VPN customer
8647// gateway.
8648//
8649// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
8650// in the AWS Site-to-Site VPN User Guide.
8651//
8652// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8653// with awserr.Error's Code and Message methods to get detailed information about
8654// the error.
8655//
8656// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8657// API operation CreateVpnConnectionRoute for usage and error information.
8658// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnectionRoute
8659func (c *EC2) CreateVpnConnectionRoute(input *CreateVpnConnectionRouteInput) (*CreateVpnConnectionRouteOutput, error) {
8660	req, out := c.CreateVpnConnectionRouteRequest(input)
8661	return out, req.Send()
8662}
8663
8664// CreateVpnConnectionRouteWithContext is the same as CreateVpnConnectionRoute with the addition of
8665// the ability to pass a context and additional request options.
8666//
8667// See CreateVpnConnectionRoute for details on how to use this API operation.
8668//
8669// The context must be non-nil and will be used for request cancellation. If
8670// the context is nil a panic will occur. In the future the SDK may create
8671// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8672// for more information on using Contexts.
8673func (c *EC2) CreateVpnConnectionRouteWithContext(ctx aws.Context, input *CreateVpnConnectionRouteInput, opts ...request.Option) (*CreateVpnConnectionRouteOutput, error) {
8674	req, out := c.CreateVpnConnectionRouteRequest(input)
8675	req.SetContext(ctx)
8676	req.ApplyOptions(opts...)
8677	return out, req.Send()
8678}
8679
8680const opCreateVpnGateway = "CreateVpnGateway"
8681
8682// CreateVpnGatewayRequest generates a "aws/request.Request" representing the
8683// client's request for the CreateVpnGateway operation. The "output" return
8684// value will be populated with the request's response once the request completes
8685// successfully.
8686//
8687// Use "Send" method on the returned Request to send the API call to the service.
8688// the "output" return value is not valid until after Send returns without error.
8689//
8690// See CreateVpnGateway for more information on using the CreateVpnGateway
8691// API call, and error handling.
8692//
8693// This method is useful when you want to inject custom logic or configuration
8694// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8695//
8696//
8697//    // Example sending a request using the CreateVpnGatewayRequest method.
8698//    req, resp := client.CreateVpnGatewayRequest(params)
8699//
8700//    err := req.Send()
8701//    if err == nil { // resp is now filled
8702//        fmt.Println(resp)
8703//    }
8704//
8705// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnGateway
8706func (c *EC2) CreateVpnGatewayRequest(input *CreateVpnGatewayInput) (req *request.Request, output *CreateVpnGatewayOutput) {
8707	op := &request.Operation{
8708		Name:       opCreateVpnGateway,
8709		HTTPMethod: "POST",
8710		HTTPPath:   "/",
8711	}
8712
8713	if input == nil {
8714		input = &CreateVpnGatewayInput{}
8715	}
8716
8717	output = &CreateVpnGatewayOutput{}
8718	req = c.newRequest(op, input, output)
8719	return
8720}
8721
8722// CreateVpnGateway API operation for Amazon Elastic Compute Cloud.
8723//
8724// Creates a virtual private gateway. A virtual private gateway is the endpoint
8725// on the VPC side of your VPN connection. You can create a virtual private
8726// gateway before creating the VPC itself.
8727//
8728// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
8729// in the AWS Site-to-Site VPN User Guide.
8730//
8731// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8732// with awserr.Error's Code and Message methods to get detailed information about
8733// the error.
8734//
8735// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8736// API operation CreateVpnGateway for usage and error information.
8737// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnGateway
8738func (c *EC2) CreateVpnGateway(input *CreateVpnGatewayInput) (*CreateVpnGatewayOutput, error) {
8739	req, out := c.CreateVpnGatewayRequest(input)
8740	return out, req.Send()
8741}
8742
8743// CreateVpnGatewayWithContext is the same as CreateVpnGateway with the addition of
8744// the ability to pass a context and additional request options.
8745//
8746// See CreateVpnGateway for details on how to use this API operation.
8747//
8748// The context must be non-nil and will be used for request cancellation. If
8749// the context is nil a panic will occur. In the future the SDK may create
8750// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8751// for more information on using Contexts.
8752func (c *EC2) CreateVpnGatewayWithContext(ctx aws.Context, input *CreateVpnGatewayInput, opts ...request.Option) (*CreateVpnGatewayOutput, error) {
8753	req, out := c.CreateVpnGatewayRequest(input)
8754	req.SetContext(ctx)
8755	req.ApplyOptions(opts...)
8756	return out, req.Send()
8757}
8758
8759const opDeleteCarrierGateway = "DeleteCarrierGateway"
8760
8761// DeleteCarrierGatewayRequest generates a "aws/request.Request" representing the
8762// client's request for the DeleteCarrierGateway operation. The "output" return
8763// value will be populated with the request's response once the request completes
8764// successfully.
8765//
8766// Use "Send" method on the returned Request to send the API call to the service.
8767// the "output" return value is not valid until after Send returns without error.
8768//
8769// See DeleteCarrierGateway for more information on using the DeleteCarrierGateway
8770// API call, and error handling.
8771//
8772// This method is useful when you want to inject custom logic or configuration
8773// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8774//
8775//
8776//    // Example sending a request using the DeleteCarrierGatewayRequest method.
8777//    req, resp := client.DeleteCarrierGatewayRequest(params)
8778//
8779//    err := req.Send()
8780//    if err == nil { // resp is now filled
8781//        fmt.Println(resp)
8782//    }
8783//
8784// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteCarrierGateway
8785func (c *EC2) DeleteCarrierGatewayRequest(input *DeleteCarrierGatewayInput) (req *request.Request, output *DeleteCarrierGatewayOutput) {
8786	op := &request.Operation{
8787		Name:       opDeleteCarrierGateway,
8788		HTTPMethod: "POST",
8789		HTTPPath:   "/",
8790	}
8791
8792	if input == nil {
8793		input = &DeleteCarrierGatewayInput{}
8794	}
8795
8796	output = &DeleteCarrierGatewayOutput{}
8797	req = c.newRequest(op, input, output)
8798	return
8799}
8800
8801// DeleteCarrierGateway API operation for Amazon Elastic Compute Cloud.
8802//
8803// Deletes a carrier gateway.
8804//
8805// If you do not delete the route that contains the carrier gateway as the Target,
8806// the route is a blackhole route. For information about how to delete a route,
8807// see DeleteRoute (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DeleteRoute.html).
8808//
8809// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8810// with awserr.Error's Code and Message methods to get detailed information about
8811// the error.
8812//
8813// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8814// API operation DeleteCarrierGateway for usage and error information.
8815// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteCarrierGateway
8816func (c *EC2) DeleteCarrierGateway(input *DeleteCarrierGatewayInput) (*DeleteCarrierGatewayOutput, error) {
8817	req, out := c.DeleteCarrierGatewayRequest(input)
8818	return out, req.Send()
8819}
8820
8821// DeleteCarrierGatewayWithContext is the same as DeleteCarrierGateway with the addition of
8822// the ability to pass a context and additional request options.
8823//
8824// See DeleteCarrierGateway for details on how to use this API operation.
8825//
8826// The context must be non-nil and will be used for request cancellation. If
8827// the context is nil a panic will occur. In the future the SDK may create
8828// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8829// for more information on using Contexts.
8830func (c *EC2) DeleteCarrierGatewayWithContext(ctx aws.Context, input *DeleteCarrierGatewayInput, opts ...request.Option) (*DeleteCarrierGatewayOutput, error) {
8831	req, out := c.DeleteCarrierGatewayRequest(input)
8832	req.SetContext(ctx)
8833	req.ApplyOptions(opts...)
8834	return out, req.Send()
8835}
8836
8837const opDeleteClientVpnEndpoint = "DeleteClientVpnEndpoint"
8838
8839// DeleteClientVpnEndpointRequest generates a "aws/request.Request" representing the
8840// client's request for the DeleteClientVpnEndpoint operation. The "output" return
8841// value will be populated with the request's response once the request completes
8842// successfully.
8843//
8844// Use "Send" method on the returned Request to send the API call to the service.
8845// the "output" return value is not valid until after Send returns without error.
8846//
8847// See DeleteClientVpnEndpoint for more information on using the DeleteClientVpnEndpoint
8848// API call, and error handling.
8849//
8850// This method is useful when you want to inject custom logic or configuration
8851// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8852//
8853//
8854//    // Example sending a request using the DeleteClientVpnEndpointRequest method.
8855//    req, resp := client.DeleteClientVpnEndpointRequest(params)
8856//
8857//    err := req.Send()
8858//    if err == nil { // resp is now filled
8859//        fmt.Println(resp)
8860//    }
8861//
8862// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteClientVpnEndpoint
8863func (c *EC2) DeleteClientVpnEndpointRequest(input *DeleteClientVpnEndpointInput) (req *request.Request, output *DeleteClientVpnEndpointOutput) {
8864	op := &request.Operation{
8865		Name:       opDeleteClientVpnEndpoint,
8866		HTTPMethod: "POST",
8867		HTTPPath:   "/",
8868	}
8869
8870	if input == nil {
8871		input = &DeleteClientVpnEndpointInput{}
8872	}
8873
8874	output = &DeleteClientVpnEndpointOutput{}
8875	req = c.newRequest(op, input, output)
8876	return
8877}
8878
8879// DeleteClientVpnEndpoint API operation for Amazon Elastic Compute Cloud.
8880//
8881// Deletes the specified Client VPN endpoint. You must disassociate all target
8882// networks before you can delete a Client VPN endpoint.
8883//
8884// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8885// with awserr.Error's Code and Message methods to get detailed information about
8886// the error.
8887//
8888// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8889// API operation DeleteClientVpnEndpoint for usage and error information.
8890// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteClientVpnEndpoint
8891func (c *EC2) DeleteClientVpnEndpoint(input *DeleteClientVpnEndpointInput) (*DeleteClientVpnEndpointOutput, error) {
8892	req, out := c.DeleteClientVpnEndpointRequest(input)
8893	return out, req.Send()
8894}
8895
8896// DeleteClientVpnEndpointWithContext is the same as DeleteClientVpnEndpoint with the addition of
8897// the ability to pass a context and additional request options.
8898//
8899// See DeleteClientVpnEndpoint for details on how to use this API operation.
8900//
8901// The context must be non-nil and will be used for request cancellation. If
8902// the context is nil a panic will occur. In the future the SDK may create
8903// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8904// for more information on using Contexts.
8905func (c *EC2) DeleteClientVpnEndpointWithContext(ctx aws.Context, input *DeleteClientVpnEndpointInput, opts ...request.Option) (*DeleteClientVpnEndpointOutput, error) {
8906	req, out := c.DeleteClientVpnEndpointRequest(input)
8907	req.SetContext(ctx)
8908	req.ApplyOptions(opts...)
8909	return out, req.Send()
8910}
8911
8912const opDeleteClientVpnRoute = "DeleteClientVpnRoute"
8913
8914// DeleteClientVpnRouteRequest generates a "aws/request.Request" representing the
8915// client's request for the DeleteClientVpnRoute operation. The "output" return
8916// value will be populated with the request's response once the request completes
8917// successfully.
8918//
8919// Use "Send" method on the returned Request to send the API call to the service.
8920// the "output" return value is not valid until after Send returns without error.
8921//
8922// See DeleteClientVpnRoute for more information on using the DeleteClientVpnRoute
8923// API call, and error handling.
8924//
8925// This method is useful when you want to inject custom logic or configuration
8926// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8927//
8928//
8929//    // Example sending a request using the DeleteClientVpnRouteRequest method.
8930//    req, resp := client.DeleteClientVpnRouteRequest(params)
8931//
8932//    err := req.Send()
8933//    if err == nil { // resp is now filled
8934//        fmt.Println(resp)
8935//    }
8936//
8937// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteClientVpnRoute
8938func (c *EC2) DeleteClientVpnRouteRequest(input *DeleteClientVpnRouteInput) (req *request.Request, output *DeleteClientVpnRouteOutput) {
8939	op := &request.Operation{
8940		Name:       opDeleteClientVpnRoute,
8941		HTTPMethod: "POST",
8942		HTTPPath:   "/",
8943	}
8944
8945	if input == nil {
8946		input = &DeleteClientVpnRouteInput{}
8947	}
8948
8949	output = &DeleteClientVpnRouteOutput{}
8950	req = c.newRequest(op, input, output)
8951	return
8952}
8953
8954// DeleteClientVpnRoute API operation for Amazon Elastic Compute Cloud.
8955//
8956// Deletes a route from a Client VPN endpoint. You can only delete routes that
8957// you manually added using the CreateClientVpnRoute action. You cannot delete
8958// routes that were automatically added when associating a subnet. To remove
8959// routes that have been automatically added, disassociate the target subnet
8960// from the Client VPN endpoint.
8961//
8962// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8963// with awserr.Error's Code and Message methods to get detailed information about
8964// the error.
8965//
8966// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8967// API operation DeleteClientVpnRoute for usage and error information.
8968// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteClientVpnRoute
8969func (c *EC2) DeleteClientVpnRoute(input *DeleteClientVpnRouteInput) (*DeleteClientVpnRouteOutput, error) {
8970	req, out := c.DeleteClientVpnRouteRequest(input)
8971	return out, req.Send()
8972}
8973
8974// DeleteClientVpnRouteWithContext is the same as DeleteClientVpnRoute with the addition of
8975// the ability to pass a context and additional request options.
8976//
8977// See DeleteClientVpnRoute for details on how to use this API operation.
8978//
8979// The context must be non-nil and will be used for request cancellation. If
8980// the context is nil a panic will occur. In the future the SDK may create
8981// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8982// for more information on using Contexts.
8983func (c *EC2) DeleteClientVpnRouteWithContext(ctx aws.Context, input *DeleteClientVpnRouteInput, opts ...request.Option) (*DeleteClientVpnRouteOutput, error) {
8984	req, out := c.DeleteClientVpnRouteRequest(input)
8985	req.SetContext(ctx)
8986	req.ApplyOptions(opts...)
8987	return out, req.Send()
8988}
8989
8990const opDeleteCustomerGateway = "DeleteCustomerGateway"
8991
8992// DeleteCustomerGatewayRequest generates a "aws/request.Request" representing the
8993// client's request for the DeleteCustomerGateway operation. The "output" return
8994// value will be populated with the request's response once the request completes
8995// successfully.
8996//
8997// Use "Send" method on the returned Request to send the API call to the service.
8998// the "output" return value is not valid until after Send returns without error.
8999//
9000// See DeleteCustomerGateway for more information on using the DeleteCustomerGateway
9001// API call, and error handling.
9002//
9003// This method is useful when you want to inject custom logic or configuration
9004// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9005//
9006//
9007//    // Example sending a request using the DeleteCustomerGatewayRequest method.
9008//    req, resp := client.DeleteCustomerGatewayRequest(params)
9009//
9010//    err := req.Send()
9011//    if err == nil { // resp is now filled
9012//        fmt.Println(resp)
9013//    }
9014//
9015// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteCustomerGateway
9016func (c *EC2) DeleteCustomerGatewayRequest(input *DeleteCustomerGatewayInput) (req *request.Request, output *DeleteCustomerGatewayOutput) {
9017	op := &request.Operation{
9018		Name:       opDeleteCustomerGateway,
9019		HTTPMethod: "POST",
9020		HTTPPath:   "/",
9021	}
9022
9023	if input == nil {
9024		input = &DeleteCustomerGatewayInput{}
9025	}
9026
9027	output = &DeleteCustomerGatewayOutput{}
9028	req = c.newRequest(op, input, output)
9029	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9030	return
9031}
9032
9033// DeleteCustomerGateway API operation for Amazon Elastic Compute Cloud.
9034//
9035// Deletes the specified customer gateway. You must delete the VPN connection
9036// before you can delete the customer gateway.
9037//
9038// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9039// with awserr.Error's Code and Message methods to get detailed information about
9040// the error.
9041//
9042// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9043// API operation DeleteCustomerGateway for usage and error information.
9044// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteCustomerGateway
9045func (c *EC2) DeleteCustomerGateway(input *DeleteCustomerGatewayInput) (*DeleteCustomerGatewayOutput, error) {
9046	req, out := c.DeleteCustomerGatewayRequest(input)
9047	return out, req.Send()
9048}
9049
9050// DeleteCustomerGatewayWithContext is the same as DeleteCustomerGateway with the addition of
9051// the ability to pass a context and additional request options.
9052//
9053// See DeleteCustomerGateway for details on how to use this API operation.
9054//
9055// The context must be non-nil and will be used for request cancellation. If
9056// the context is nil a panic will occur. In the future the SDK may create
9057// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9058// for more information on using Contexts.
9059func (c *EC2) DeleteCustomerGatewayWithContext(ctx aws.Context, input *DeleteCustomerGatewayInput, opts ...request.Option) (*DeleteCustomerGatewayOutput, error) {
9060	req, out := c.DeleteCustomerGatewayRequest(input)
9061	req.SetContext(ctx)
9062	req.ApplyOptions(opts...)
9063	return out, req.Send()
9064}
9065
9066const opDeleteDhcpOptions = "DeleteDhcpOptions"
9067
9068// DeleteDhcpOptionsRequest generates a "aws/request.Request" representing the
9069// client's request for the DeleteDhcpOptions operation. The "output" return
9070// value will be populated with the request's response once the request completes
9071// successfully.
9072//
9073// Use "Send" method on the returned Request to send the API call to the service.
9074// the "output" return value is not valid until after Send returns without error.
9075//
9076// See DeleteDhcpOptions for more information on using the DeleteDhcpOptions
9077// API call, and error handling.
9078//
9079// This method is useful when you want to inject custom logic or configuration
9080// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9081//
9082//
9083//    // Example sending a request using the DeleteDhcpOptionsRequest method.
9084//    req, resp := client.DeleteDhcpOptionsRequest(params)
9085//
9086//    err := req.Send()
9087//    if err == nil { // resp is now filled
9088//        fmt.Println(resp)
9089//    }
9090//
9091// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteDhcpOptions
9092func (c *EC2) DeleteDhcpOptionsRequest(input *DeleteDhcpOptionsInput) (req *request.Request, output *DeleteDhcpOptionsOutput) {
9093	op := &request.Operation{
9094		Name:       opDeleteDhcpOptions,
9095		HTTPMethod: "POST",
9096		HTTPPath:   "/",
9097	}
9098
9099	if input == nil {
9100		input = &DeleteDhcpOptionsInput{}
9101	}
9102
9103	output = &DeleteDhcpOptionsOutput{}
9104	req = c.newRequest(op, input, output)
9105	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9106	return
9107}
9108
9109// DeleteDhcpOptions API operation for Amazon Elastic Compute Cloud.
9110//
9111// Deletes the specified set of DHCP options. You must disassociate the set
9112// of DHCP options before you can delete it. You can disassociate the set of
9113// DHCP options by associating either a new set of options or the default set
9114// of options with the VPC.
9115//
9116// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9117// with awserr.Error's Code and Message methods to get detailed information about
9118// the error.
9119//
9120// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9121// API operation DeleteDhcpOptions for usage and error information.
9122// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteDhcpOptions
9123func (c *EC2) DeleteDhcpOptions(input *DeleteDhcpOptionsInput) (*DeleteDhcpOptionsOutput, error) {
9124	req, out := c.DeleteDhcpOptionsRequest(input)
9125	return out, req.Send()
9126}
9127
9128// DeleteDhcpOptionsWithContext is the same as DeleteDhcpOptions with the addition of
9129// the ability to pass a context and additional request options.
9130//
9131// See DeleteDhcpOptions for details on how to use this API operation.
9132//
9133// The context must be non-nil and will be used for request cancellation. If
9134// the context is nil a panic will occur. In the future the SDK may create
9135// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9136// for more information on using Contexts.
9137func (c *EC2) DeleteDhcpOptionsWithContext(ctx aws.Context, input *DeleteDhcpOptionsInput, opts ...request.Option) (*DeleteDhcpOptionsOutput, error) {
9138	req, out := c.DeleteDhcpOptionsRequest(input)
9139	req.SetContext(ctx)
9140	req.ApplyOptions(opts...)
9141	return out, req.Send()
9142}
9143
9144const opDeleteEgressOnlyInternetGateway = "DeleteEgressOnlyInternetGateway"
9145
9146// DeleteEgressOnlyInternetGatewayRequest generates a "aws/request.Request" representing the
9147// client's request for the DeleteEgressOnlyInternetGateway operation. The "output" return
9148// value will be populated with the request's response once the request completes
9149// successfully.
9150//
9151// Use "Send" method on the returned Request to send the API call to the service.
9152// the "output" return value is not valid until after Send returns without error.
9153//
9154// See DeleteEgressOnlyInternetGateway for more information on using the DeleteEgressOnlyInternetGateway
9155// API call, and error handling.
9156//
9157// This method is useful when you want to inject custom logic or configuration
9158// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9159//
9160//
9161//    // Example sending a request using the DeleteEgressOnlyInternetGatewayRequest method.
9162//    req, resp := client.DeleteEgressOnlyInternetGatewayRequest(params)
9163//
9164//    err := req.Send()
9165//    if err == nil { // resp is now filled
9166//        fmt.Println(resp)
9167//    }
9168//
9169// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteEgressOnlyInternetGateway
9170func (c *EC2) DeleteEgressOnlyInternetGatewayRequest(input *DeleteEgressOnlyInternetGatewayInput) (req *request.Request, output *DeleteEgressOnlyInternetGatewayOutput) {
9171	op := &request.Operation{
9172		Name:       opDeleteEgressOnlyInternetGateway,
9173		HTTPMethod: "POST",
9174		HTTPPath:   "/",
9175	}
9176
9177	if input == nil {
9178		input = &DeleteEgressOnlyInternetGatewayInput{}
9179	}
9180
9181	output = &DeleteEgressOnlyInternetGatewayOutput{}
9182	req = c.newRequest(op, input, output)
9183	return
9184}
9185
9186// DeleteEgressOnlyInternetGateway API operation for Amazon Elastic Compute Cloud.
9187//
9188// Deletes an egress-only internet gateway.
9189//
9190// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9191// with awserr.Error's Code and Message methods to get detailed information about
9192// the error.
9193//
9194// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9195// API operation DeleteEgressOnlyInternetGateway for usage and error information.
9196// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteEgressOnlyInternetGateway
9197func (c *EC2) DeleteEgressOnlyInternetGateway(input *DeleteEgressOnlyInternetGatewayInput) (*DeleteEgressOnlyInternetGatewayOutput, error) {
9198	req, out := c.DeleteEgressOnlyInternetGatewayRequest(input)
9199	return out, req.Send()
9200}
9201
9202// DeleteEgressOnlyInternetGatewayWithContext is the same as DeleteEgressOnlyInternetGateway with the addition of
9203// the ability to pass a context and additional request options.
9204//
9205// See DeleteEgressOnlyInternetGateway for details on how to use this API operation.
9206//
9207// The context must be non-nil and will be used for request cancellation. If
9208// the context is nil a panic will occur. In the future the SDK may create
9209// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9210// for more information on using Contexts.
9211func (c *EC2) DeleteEgressOnlyInternetGatewayWithContext(ctx aws.Context, input *DeleteEgressOnlyInternetGatewayInput, opts ...request.Option) (*DeleteEgressOnlyInternetGatewayOutput, error) {
9212	req, out := c.DeleteEgressOnlyInternetGatewayRequest(input)
9213	req.SetContext(ctx)
9214	req.ApplyOptions(opts...)
9215	return out, req.Send()
9216}
9217
9218const opDeleteFleets = "DeleteFleets"
9219
9220// DeleteFleetsRequest generates a "aws/request.Request" representing the
9221// client's request for the DeleteFleets operation. The "output" return
9222// value will be populated with the request's response once the request completes
9223// successfully.
9224//
9225// Use "Send" method on the returned Request to send the API call to the service.
9226// the "output" return value is not valid until after Send returns without error.
9227//
9228// See DeleteFleets for more information on using the DeleteFleets
9229// API call, and error handling.
9230//
9231// This method is useful when you want to inject custom logic or configuration
9232// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9233//
9234//
9235//    // Example sending a request using the DeleteFleetsRequest method.
9236//    req, resp := client.DeleteFleetsRequest(params)
9237//
9238//    err := req.Send()
9239//    if err == nil { // resp is now filled
9240//        fmt.Println(resp)
9241//    }
9242//
9243// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFleets
9244func (c *EC2) DeleteFleetsRequest(input *DeleteFleetsInput) (req *request.Request, output *DeleteFleetsOutput) {
9245	op := &request.Operation{
9246		Name:       opDeleteFleets,
9247		HTTPMethod: "POST",
9248		HTTPPath:   "/",
9249	}
9250
9251	if input == nil {
9252		input = &DeleteFleetsInput{}
9253	}
9254
9255	output = &DeleteFleetsOutput{}
9256	req = c.newRequest(op, input, output)
9257	return
9258}
9259
9260// DeleteFleets API operation for Amazon Elastic Compute Cloud.
9261//
9262// Deletes the specified EC2 Fleet.
9263//
9264// After you delete an EC2 Fleet, it launches no new instances.
9265//
9266// You must specify whether a deleted EC2 Fleet should also terminate its instances.
9267// If you choose to terminate the instances, the EC2 Fleet enters the deleted_terminating
9268// state. Otherwise, the EC2 Fleet enters the deleted_running state, and the
9269// instances continue to run until they are interrupted or you terminate them
9270// manually.
9271//
9272// For instant fleets, EC2 Fleet must terminate the instances when the fleet
9273// is deleted. A deleted instant fleet with running instances is not supported.
9274//
9275// Restrictions
9276//
9277//    * You can delete up to 25 instant fleets in a single request. If you exceed
9278//    this number, no instant fleets are deleted and an error is returned. There
9279//    is no restriction on the number of fleets of type maintain or request
9280//    that can be deleted in a single request.
9281//
9282//    * Up to 1000 instances can be terminated in a single request to delete
9283//    instant fleets.
9284//
9285// For more information, see Deleting an EC2 Fleet (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/manage-ec2-fleet.html#delete-fleet)
9286// in the Amazon EC2 User Guide.
9287//
9288// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9289// with awserr.Error's Code and Message methods to get detailed information about
9290// the error.
9291//
9292// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9293// API operation DeleteFleets for usage and error information.
9294// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFleets
9295func (c *EC2) DeleteFleets(input *DeleteFleetsInput) (*DeleteFleetsOutput, error) {
9296	req, out := c.DeleteFleetsRequest(input)
9297	return out, req.Send()
9298}
9299
9300// DeleteFleetsWithContext is the same as DeleteFleets with the addition of
9301// the ability to pass a context and additional request options.
9302//
9303// See DeleteFleets for details on how to use this API operation.
9304//
9305// The context must be non-nil and will be used for request cancellation. If
9306// the context is nil a panic will occur. In the future the SDK may create
9307// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9308// for more information on using Contexts.
9309func (c *EC2) DeleteFleetsWithContext(ctx aws.Context, input *DeleteFleetsInput, opts ...request.Option) (*DeleteFleetsOutput, error) {
9310	req, out := c.DeleteFleetsRequest(input)
9311	req.SetContext(ctx)
9312	req.ApplyOptions(opts...)
9313	return out, req.Send()
9314}
9315
9316const opDeleteFlowLogs = "DeleteFlowLogs"
9317
9318// DeleteFlowLogsRequest generates a "aws/request.Request" representing the
9319// client's request for the DeleteFlowLogs operation. The "output" return
9320// value will be populated with the request's response once the request completes
9321// successfully.
9322//
9323// Use "Send" method on the returned Request to send the API call to the service.
9324// the "output" return value is not valid until after Send returns without error.
9325//
9326// See DeleteFlowLogs for more information on using the DeleteFlowLogs
9327// API call, and error handling.
9328//
9329// This method is useful when you want to inject custom logic or configuration
9330// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9331//
9332//
9333//    // Example sending a request using the DeleteFlowLogsRequest method.
9334//    req, resp := client.DeleteFlowLogsRequest(params)
9335//
9336//    err := req.Send()
9337//    if err == nil { // resp is now filled
9338//        fmt.Println(resp)
9339//    }
9340//
9341// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFlowLogs
9342func (c *EC2) DeleteFlowLogsRequest(input *DeleteFlowLogsInput) (req *request.Request, output *DeleteFlowLogsOutput) {
9343	op := &request.Operation{
9344		Name:       opDeleteFlowLogs,
9345		HTTPMethod: "POST",
9346		HTTPPath:   "/",
9347	}
9348
9349	if input == nil {
9350		input = &DeleteFlowLogsInput{}
9351	}
9352
9353	output = &DeleteFlowLogsOutput{}
9354	req = c.newRequest(op, input, output)
9355	return
9356}
9357
9358// DeleteFlowLogs API operation for Amazon Elastic Compute Cloud.
9359//
9360// Deletes one or more flow logs.
9361//
9362// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9363// with awserr.Error's Code and Message methods to get detailed information about
9364// the error.
9365//
9366// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9367// API operation DeleteFlowLogs for usage and error information.
9368// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFlowLogs
9369func (c *EC2) DeleteFlowLogs(input *DeleteFlowLogsInput) (*DeleteFlowLogsOutput, error) {
9370	req, out := c.DeleteFlowLogsRequest(input)
9371	return out, req.Send()
9372}
9373
9374// DeleteFlowLogsWithContext is the same as DeleteFlowLogs with the addition of
9375// the ability to pass a context and additional request options.
9376//
9377// See DeleteFlowLogs for details on how to use this API operation.
9378//
9379// The context must be non-nil and will be used for request cancellation. If
9380// the context is nil a panic will occur. In the future the SDK may create
9381// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9382// for more information on using Contexts.
9383func (c *EC2) DeleteFlowLogsWithContext(ctx aws.Context, input *DeleteFlowLogsInput, opts ...request.Option) (*DeleteFlowLogsOutput, error) {
9384	req, out := c.DeleteFlowLogsRequest(input)
9385	req.SetContext(ctx)
9386	req.ApplyOptions(opts...)
9387	return out, req.Send()
9388}
9389
9390const opDeleteFpgaImage = "DeleteFpgaImage"
9391
9392// DeleteFpgaImageRequest generates a "aws/request.Request" representing the
9393// client's request for the DeleteFpgaImage operation. The "output" return
9394// value will be populated with the request's response once the request completes
9395// successfully.
9396//
9397// Use "Send" method on the returned Request to send the API call to the service.
9398// the "output" return value is not valid until after Send returns without error.
9399//
9400// See DeleteFpgaImage for more information on using the DeleteFpgaImage
9401// API call, and error handling.
9402//
9403// This method is useful when you want to inject custom logic or configuration
9404// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9405//
9406//
9407//    // Example sending a request using the DeleteFpgaImageRequest method.
9408//    req, resp := client.DeleteFpgaImageRequest(params)
9409//
9410//    err := req.Send()
9411//    if err == nil { // resp is now filled
9412//        fmt.Println(resp)
9413//    }
9414//
9415// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFpgaImage
9416func (c *EC2) DeleteFpgaImageRequest(input *DeleteFpgaImageInput) (req *request.Request, output *DeleteFpgaImageOutput) {
9417	op := &request.Operation{
9418		Name:       opDeleteFpgaImage,
9419		HTTPMethod: "POST",
9420		HTTPPath:   "/",
9421	}
9422
9423	if input == nil {
9424		input = &DeleteFpgaImageInput{}
9425	}
9426
9427	output = &DeleteFpgaImageOutput{}
9428	req = c.newRequest(op, input, output)
9429	return
9430}
9431
9432// DeleteFpgaImage API operation for Amazon Elastic Compute Cloud.
9433//
9434// Deletes the specified Amazon FPGA Image (AFI).
9435//
9436// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9437// with awserr.Error's Code and Message methods to get detailed information about
9438// the error.
9439//
9440// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9441// API operation DeleteFpgaImage for usage and error information.
9442// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFpgaImage
9443func (c *EC2) DeleteFpgaImage(input *DeleteFpgaImageInput) (*DeleteFpgaImageOutput, error) {
9444	req, out := c.DeleteFpgaImageRequest(input)
9445	return out, req.Send()
9446}
9447
9448// DeleteFpgaImageWithContext is the same as DeleteFpgaImage with the addition of
9449// the ability to pass a context and additional request options.
9450//
9451// See DeleteFpgaImage for details on how to use this API operation.
9452//
9453// The context must be non-nil and will be used for request cancellation. If
9454// the context is nil a panic will occur. In the future the SDK may create
9455// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9456// for more information on using Contexts.
9457func (c *EC2) DeleteFpgaImageWithContext(ctx aws.Context, input *DeleteFpgaImageInput, opts ...request.Option) (*DeleteFpgaImageOutput, error) {
9458	req, out := c.DeleteFpgaImageRequest(input)
9459	req.SetContext(ctx)
9460	req.ApplyOptions(opts...)
9461	return out, req.Send()
9462}
9463
9464const opDeleteInternetGateway = "DeleteInternetGateway"
9465
9466// DeleteInternetGatewayRequest generates a "aws/request.Request" representing the
9467// client's request for the DeleteInternetGateway operation. The "output" return
9468// value will be populated with the request's response once the request completes
9469// successfully.
9470//
9471// Use "Send" method on the returned Request to send the API call to the service.
9472// the "output" return value is not valid until after Send returns without error.
9473//
9474// See DeleteInternetGateway for more information on using the DeleteInternetGateway
9475// API call, and error handling.
9476//
9477// This method is useful when you want to inject custom logic or configuration
9478// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9479//
9480//
9481//    // Example sending a request using the DeleteInternetGatewayRequest method.
9482//    req, resp := client.DeleteInternetGatewayRequest(params)
9483//
9484//    err := req.Send()
9485//    if err == nil { // resp is now filled
9486//        fmt.Println(resp)
9487//    }
9488//
9489// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteInternetGateway
9490func (c *EC2) DeleteInternetGatewayRequest(input *DeleteInternetGatewayInput) (req *request.Request, output *DeleteInternetGatewayOutput) {
9491	op := &request.Operation{
9492		Name:       opDeleteInternetGateway,
9493		HTTPMethod: "POST",
9494		HTTPPath:   "/",
9495	}
9496
9497	if input == nil {
9498		input = &DeleteInternetGatewayInput{}
9499	}
9500
9501	output = &DeleteInternetGatewayOutput{}
9502	req = c.newRequest(op, input, output)
9503	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9504	return
9505}
9506
9507// DeleteInternetGateway API operation for Amazon Elastic Compute Cloud.
9508//
9509// Deletes the specified internet gateway. You must detach the internet gateway
9510// from the VPC before you can delete it.
9511//
9512// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9513// with awserr.Error's Code and Message methods to get detailed information about
9514// the error.
9515//
9516// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9517// API operation DeleteInternetGateway for usage and error information.
9518// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteInternetGateway
9519func (c *EC2) DeleteInternetGateway(input *DeleteInternetGatewayInput) (*DeleteInternetGatewayOutput, error) {
9520	req, out := c.DeleteInternetGatewayRequest(input)
9521	return out, req.Send()
9522}
9523
9524// DeleteInternetGatewayWithContext is the same as DeleteInternetGateway with the addition of
9525// the ability to pass a context and additional request options.
9526//
9527// See DeleteInternetGateway for details on how to use this API operation.
9528//
9529// The context must be non-nil and will be used for request cancellation. If
9530// the context is nil a panic will occur. In the future the SDK may create
9531// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9532// for more information on using Contexts.
9533func (c *EC2) DeleteInternetGatewayWithContext(ctx aws.Context, input *DeleteInternetGatewayInput, opts ...request.Option) (*DeleteInternetGatewayOutput, error) {
9534	req, out := c.DeleteInternetGatewayRequest(input)
9535	req.SetContext(ctx)
9536	req.ApplyOptions(opts...)
9537	return out, req.Send()
9538}
9539
9540const opDeleteKeyPair = "DeleteKeyPair"
9541
9542// DeleteKeyPairRequest generates a "aws/request.Request" representing the
9543// client's request for the DeleteKeyPair operation. The "output" return
9544// value will be populated with the request's response once the request completes
9545// successfully.
9546//
9547// Use "Send" method on the returned Request to send the API call to the service.
9548// the "output" return value is not valid until after Send returns without error.
9549//
9550// See DeleteKeyPair for more information on using the DeleteKeyPair
9551// API call, and error handling.
9552//
9553// This method is useful when you want to inject custom logic or configuration
9554// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9555//
9556//
9557//    // Example sending a request using the DeleteKeyPairRequest method.
9558//    req, resp := client.DeleteKeyPairRequest(params)
9559//
9560//    err := req.Send()
9561//    if err == nil { // resp is now filled
9562//        fmt.Println(resp)
9563//    }
9564//
9565// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteKeyPair
9566func (c *EC2) DeleteKeyPairRequest(input *DeleteKeyPairInput) (req *request.Request, output *DeleteKeyPairOutput) {
9567	op := &request.Operation{
9568		Name:       opDeleteKeyPair,
9569		HTTPMethod: "POST",
9570		HTTPPath:   "/",
9571	}
9572
9573	if input == nil {
9574		input = &DeleteKeyPairInput{}
9575	}
9576
9577	output = &DeleteKeyPairOutput{}
9578	req = c.newRequest(op, input, output)
9579	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9580	return
9581}
9582
9583// DeleteKeyPair API operation for Amazon Elastic Compute Cloud.
9584//
9585// Deletes the specified key pair, by removing the public key from Amazon EC2.
9586//
9587// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9588// with awserr.Error's Code and Message methods to get detailed information about
9589// the error.
9590//
9591// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9592// API operation DeleteKeyPair for usage and error information.
9593// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteKeyPair
9594func (c *EC2) DeleteKeyPair(input *DeleteKeyPairInput) (*DeleteKeyPairOutput, error) {
9595	req, out := c.DeleteKeyPairRequest(input)
9596	return out, req.Send()
9597}
9598
9599// DeleteKeyPairWithContext is the same as DeleteKeyPair with the addition of
9600// the ability to pass a context and additional request options.
9601//
9602// See DeleteKeyPair for details on how to use this API operation.
9603//
9604// The context must be non-nil and will be used for request cancellation. If
9605// the context is nil a panic will occur. In the future the SDK may create
9606// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9607// for more information on using Contexts.
9608func (c *EC2) DeleteKeyPairWithContext(ctx aws.Context, input *DeleteKeyPairInput, opts ...request.Option) (*DeleteKeyPairOutput, error) {
9609	req, out := c.DeleteKeyPairRequest(input)
9610	req.SetContext(ctx)
9611	req.ApplyOptions(opts...)
9612	return out, req.Send()
9613}
9614
9615const opDeleteLaunchTemplate = "DeleteLaunchTemplate"
9616
9617// DeleteLaunchTemplateRequest generates a "aws/request.Request" representing the
9618// client's request for the DeleteLaunchTemplate operation. The "output" return
9619// value will be populated with the request's response once the request completes
9620// successfully.
9621//
9622// Use "Send" method on the returned Request to send the API call to the service.
9623// the "output" return value is not valid until after Send returns without error.
9624//
9625// See DeleteLaunchTemplate for more information on using the DeleteLaunchTemplate
9626// API call, and error handling.
9627//
9628// This method is useful when you want to inject custom logic or configuration
9629// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9630//
9631//
9632//    // Example sending a request using the DeleteLaunchTemplateRequest method.
9633//    req, resp := client.DeleteLaunchTemplateRequest(params)
9634//
9635//    err := req.Send()
9636//    if err == nil { // resp is now filled
9637//        fmt.Println(resp)
9638//    }
9639//
9640// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLaunchTemplate
9641func (c *EC2) DeleteLaunchTemplateRequest(input *DeleteLaunchTemplateInput) (req *request.Request, output *DeleteLaunchTemplateOutput) {
9642	op := &request.Operation{
9643		Name:       opDeleteLaunchTemplate,
9644		HTTPMethod: "POST",
9645		HTTPPath:   "/",
9646	}
9647
9648	if input == nil {
9649		input = &DeleteLaunchTemplateInput{}
9650	}
9651
9652	output = &DeleteLaunchTemplateOutput{}
9653	req = c.newRequest(op, input, output)
9654	return
9655}
9656
9657// DeleteLaunchTemplate API operation for Amazon Elastic Compute Cloud.
9658//
9659// Deletes a launch template. Deleting a launch template deletes all of its
9660// versions.
9661//
9662// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9663// with awserr.Error's Code and Message methods to get detailed information about
9664// the error.
9665//
9666// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9667// API operation DeleteLaunchTemplate for usage and error information.
9668// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLaunchTemplate
9669func (c *EC2) DeleteLaunchTemplate(input *DeleteLaunchTemplateInput) (*DeleteLaunchTemplateOutput, error) {
9670	req, out := c.DeleteLaunchTemplateRequest(input)
9671	return out, req.Send()
9672}
9673
9674// DeleteLaunchTemplateWithContext is the same as DeleteLaunchTemplate with the addition of
9675// the ability to pass a context and additional request options.
9676//
9677// See DeleteLaunchTemplate for details on how to use this API operation.
9678//
9679// The context must be non-nil and will be used for request cancellation. If
9680// the context is nil a panic will occur. In the future the SDK may create
9681// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9682// for more information on using Contexts.
9683func (c *EC2) DeleteLaunchTemplateWithContext(ctx aws.Context, input *DeleteLaunchTemplateInput, opts ...request.Option) (*DeleteLaunchTemplateOutput, error) {
9684	req, out := c.DeleteLaunchTemplateRequest(input)
9685	req.SetContext(ctx)
9686	req.ApplyOptions(opts...)
9687	return out, req.Send()
9688}
9689
9690const opDeleteLaunchTemplateVersions = "DeleteLaunchTemplateVersions"
9691
9692// DeleteLaunchTemplateVersionsRequest generates a "aws/request.Request" representing the
9693// client's request for the DeleteLaunchTemplateVersions operation. The "output" return
9694// value will be populated with the request's response once the request completes
9695// successfully.
9696//
9697// Use "Send" method on the returned Request to send the API call to the service.
9698// the "output" return value is not valid until after Send returns without error.
9699//
9700// See DeleteLaunchTemplateVersions for more information on using the DeleteLaunchTemplateVersions
9701// API call, and error handling.
9702//
9703// This method is useful when you want to inject custom logic or configuration
9704// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9705//
9706//
9707//    // Example sending a request using the DeleteLaunchTemplateVersionsRequest method.
9708//    req, resp := client.DeleteLaunchTemplateVersionsRequest(params)
9709//
9710//    err := req.Send()
9711//    if err == nil { // resp is now filled
9712//        fmt.Println(resp)
9713//    }
9714//
9715// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLaunchTemplateVersions
9716func (c *EC2) DeleteLaunchTemplateVersionsRequest(input *DeleteLaunchTemplateVersionsInput) (req *request.Request, output *DeleteLaunchTemplateVersionsOutput) {
9717	op := &request.Operation{
9718		Name:       opDeleteLaunchTemplateVersions,
9719		HTTPMethod: "POST",
9720		HTTPPath:   "/",
9721	}
9722
9723	if input == nil {
9724		input = &DeleteLaunchTemplateVersionsInput{}
9725	}
9726
9727	output = &DeleteLaunchTemplateVersionsOutput{}
9728	req = c.newRequest(op, input, output)
9729	return
9730}
9731
9732// DeleteLaunchTemplateVersions API operation for Amazon Elastic Compute Cloud.
9733//
9734// Deletes one or more versions of a launch template. You cannot delete the
9735// default version of a launch template; you must first assign a different version
9736// as the default. If the default version is the only version for the launch
9737// template, you must delete the entire launch template using DeleteLaunchTemplate.
9738//
9739// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9740// with awserr.Error's Code and Message methods to get detailed information about
9741// the error.
9742//
9743// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9744// API operation DeleteLaunchTemplateVersions for usage and error information.
9745// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLaunchTemplateVersions
9746func (c *EC2) DeleteLaunchTemplateVersions(input *DeleteLaunchTemplateVersionsInput) (*DeleteLaunchTemplateVersionsOutput, error) {
9747	req, out := c.DeleteLaunchTemplateVersionsRequest(input)
9748	return out, req.Send()
9749}
9750
9751// DeleteLaunchTemplateVersionsWithContext is the same as DeleteLaunchTemplateVersions with the addition of
9752// the ability to pass a context and additional request options.
9753//
9754// See DeleteLaunchTemplateVersions for details on how to use this API operation.
9755//
9756// The context must be non-nil and will be used for request cancellation. If
9757// the context is nil a panic will occur. In the future the SDK may create
9758// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9759// for more information on using Contexts.
9760func (c *EC2) DeleteLaunchTemplateVersionsWithContext(ctx aws.Context, input *DeleteLaunchTemplateVersionsInput, opts ...request.Option) (*DeleteLaunchTemplateVersionsOutput, error) {
9761	req, out := c.DeleteLaunchTemplateVersionsRequest(input)
9762	req.SetContext(ctx)
9763	req.ApplyOptions(opts...)
9764	return out, req.Send()
9765}
9766
9767const opDeleteLocalGatewayRoute = "DeleteLocalGatewayRoute"
9768
9769// DeleteLocalGatewayRouteRequest generates a "aws/request.Request" representing the
9770// client's request for the DeleteLocalGatewayRoute operation. The "output" return
9771// value will be populated with the request's response once the request completes
9772// successfully.
9773//
9774// Use "Send" method on the returned Request to send the API call to the service.
9775// the "output" return value is not valid until after Send returns without error.
9776//
9777// See DeleteLocalGatewayRoute for more information on using the DeleteLocalGatewayRoute
9778// API call, and error handling.
9779//
9780// This method is useful when you want to inject custom logic or configuration
9781// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9782//
9783//
9784//    // Example sending a request using the DeleteLocalGatewayRouteRequest method.
9785//    req, resp := client.DeleteLocalGatewayRouteRequest(params)
9786//
9787//    err := req.Send()
9788//    if err == nil { // resp is now filled
9789//        fmt.Println(resp)
9790//    }
9791//
9792// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLocalGatewayRoute
9793func (c *EC2) DeleteLocalGatewayRouteRequest(input *DeleteLocalGatewayRouteInput) (req *request.Request, output *DeleteLocalGatewayRouteOutput) {
9794	op := &request.Operation{
9795		Name:       opDeleteLocalGatewayRoute,
9796		HTTPMethod: "POST",
9797		HTTPPath:   "/",
9798	}
9799
9800	if input == nil {
9801		input = &DeleteLocalGatewayRouteInput{}
9802	}
9803
9804	output = &DeleteLocalGatewayRouteOutput{}
9805	req = c.newRequest(op, input, output)
9806	return
9807}
9808
9809// DeleteLocalGatewayRoute API operation for Amazon Elastic Compute Cloud.
9810//
9811// Deletes the specified route from the specified local gateway route table.
9812//
9813// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9814// with awserr.Error's Code and Message methods to get detailed information about
9815// the error.
9816//
9817// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9818// API operation DeleteLocalGatewayRoute for usage and error information.
9819// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLocalGatewayRoute
9820func (c *EC2) DeleteLocalGatewayRoute(input *DeleteLocalGatewayRouteInput) (*DeleteLocalGatewayRouteOutput, error) {
9821	req, out := c.DeleteLocalGatewayRouteRequest(input)
9822	return out, req.Send()
9823}
9824
9825// DeleteLocalGatewayRouteWithContext is the same as DeleteLocalGatewayRoute with the addition of
9826// the ability to pass a context and additional request options.
9827//
9828// See DeleteLocalGatewayRoute for details on how to use this API operation.
9829//
9830// The context must be non-nil and will be used for request cancellation. If
9831// the context is nil a panic will occur. In the future the SDK may create
9832// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9833// for more information on using Contexts.
9834func (c *EC2) DeleteLocalGatewayRouteWithContext(ctx aws.Context, input *DeleteLocalGatewayRouteInput, opts ...request.Option) (*DeleteLocalGatewayRouteOutput, error) {
9835	req, out := c.DeleteLocalGatewayRouteRequest(input)
9836	req.SetContext(ctx)
9837	req.ApplyOptions(opts...)
9838	return out, req.Send()
9839}
9840
9841const opDeleteLocalGatewayRouteTableVpcAssociation = "DeleteLocalGatewayRouteTableVpcAssociation"
9842
9843// DeleteLocalGatewayRouteTableVpcAssociationRequest generates a "aws/request.Request" representing the
9844// client's request for the DeleteLocalGatewayRouteTableVpcAssociation operation. The "output" return
9845// value will be populated with the request's response once the request completes
9846// successfully.
9847//
9848// Use "Send" method on the returned Request to send the API call to the service.
9849// the "output" return value is not valid until after Send returns without error.
9850//
9851// See DeleteLocalGatewayRouteTableVpcAssociation for more information on using the DeleteLocalGatewayRouteTableVpcAssociation
9852// API call, and error handling.
9853//
9854// This method is useful when you want to inject custom logic or configuration
9855// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9856//
9857//
9858//    // Example sending a request using the DeleteLocalGatewayRouteTableVpcAssociationRequest method.
9859//    req, resp := client.DeleteLocalGatewayRouteTableVpcAssociationRequest(params)
9860//
9861//    err := req.Send()
9862//    if err == nil { // resp is now filled
9863//        fmt.Println(resp)
9864//    }
9865//
9866// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLocalGatewayRouteTableVpcAssociation
9867func (c *EC2) DeleteLocalGatewayRouteTableVpcAssociationRequest(input *DeleteLocalGatewayRouteTableVpcAssociationInput) (req *request.Request, output *DeleteLocalGatewayRouteTableVpcAssociationOutput) {
9868	op := &request.Operation{
9869		Name:       opDeleteLocalGatewayRouteTableVpcAssociation,
9870		HTTPMethod: "POST",
9871		HTTPPath:   "/",
9872	}
9873
9874	if input == nil {
9875		input = &DeleteLocalGatewayRouteTableVpcAssociationInput{}
9876	}
9877
9878	output = &DeleteLocalGatewayRouteTableVpcAssociationOutput{}
9879	req = c.newRequest(op, input, output)
9880	return
9881}
9882
9883// DeleteLocalGatewayRouteTableVpcAssociation API operation for Amazon Elastic Compute Cloud.
9884//
9885// Deletes the specified association between a VPC and local gateway route table.
9886//
9887// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9888// with awserr.Error's Code and Message methods to get detailed information about
9889// the error.
9890//
9891// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9892// API operation DeleteLocalGatewayRouteTableVpcAssociation for usage and error information.
9893// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLocalGatewayRouteTableVpcAssociation
9894func (c *EC2) DeleteLocalGatewayRouteTableVpcAssociation(input *DeleteLocalGatewayRouteTableVpcAssociationInput) (*DeleteLocalGatewayRouteTableVpcAssociationOutput, error) {
9895	req, out := c.DeleteLocalGatewayRouteTableVpcAssociationRequest(input)
9896	return out, req.Send()
9897}
9898
9899// DeleteLocalGatewayRouteTableVpcAssociationWithContext is the same as DeleteLocalGatewayRouteTableVpcAssociation with the addition of
9900// the ability to pass a context and additional request options.
9901//
9902// See DeleteLocalGatewayRouteTableVpcAssociation for details on how to use this API operation.
9903//
9904// The context must be non-nil and will be used for request cancellation. If
9905// the context is nil a panic will occur. In the future the SDK may create
9906// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9907// for more information on using Contexts.
9908func (c *EC2) DeleteLocalGatewayRouteTableVpcAssociationWithContext(ctx aws.Context, input *DeleteLocalGatewayRouteTableVpcAssociationInput, opts ...request.Option) (*DeleteLocalGatewayRouteTableVpcAssociationOutput, error) {
9909	req, out := c.DeleteLocalGatewayRouteTableVpcAssociationRequest(input)
9910	req.SetContext(ctx)
9911	req.ApplyOptions(opts...)
9912	return out, req.Send()
9913}
9914
9915const opDeleteManagedPrefixList = "DeleteManagedPrefixList"
9916
9917// DeleteManagedPrefixListRequest generates a "aws/request.Request" representing the
9918// client's request for the DeleteManagedPrefixList operation. The "output" return
9919// value will be populated with the request's response once the request completes
9920// successfully.
9921//
9922// Use "Send" method on the returned Request to send the API call to the service.
9923// the "output" return value is not valid until after Send returns without error.
9924//
9925// See DeleteManagedPrefixList for more information on using the DeleteManagedPrefixList
9926// API call, and error handling.
9927//
9928// This method is useful when you want to inject custom logic or configuration
9929// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9930//
9931//
9932//    // Example sending a request using the DeleteManagedPrefixListRequest method.
9933//    req, resp := client.DeleteManagedPrefixListRequest(params)
9934//
9935//    err := req.Send()
9936//    if err == nil { // resp is now filled
9937//        fmt.Println(resp)
9938//    }
9939//
9940// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteManagedPrefixList
9941func (c *EC2) DeleteManagedPrefixListRequest(input *DeleteManagedPrefixListInput) (req *request.Request, output *DeleteManagedPrefixListOutput) {
9942	op := &request.Operation{
9943		Name:       opDeleteManagedPrefixList,
9944		HTTPMethod: "POST",
9945		HTTPPath:   "/",
9946	}
9947
9948	if input == nil {
9949		input = &DeleteManagedPrefixListInput{}
9950	}
9951
9952	output = &DeleteManagedPrefixListOutput{}
9953	req = c.newRequest(op, input, output)
9954	return
9955}
9956
9957// DeleteManagedPrefixList API operation for Amazon Elastic Compute Cloud.
9958//
9959// Deletes the specified managed prefix list. You must first remove all references
9960// to the prefix list in your resources.
9961//
9962// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9963// with awserr.Error's Code and Message methods to get detailed information about
9964// the error.
9965//
9966// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9967// API operation DeleteManagedPrefixList for usage and error information.
9968// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteManagedPrefixList
9969func (c *EC2) DeleteManagedPrefixList(input *DeleteManagedPrefixListInput) (*DeleteManagedPrefixListOutput, error) {
9970	req, out := c.DeleteManagedPrefixListRequest(input)
9971	return out, req.Send()
9972}
9973
9974// DeleteManagedPrefixListWithContext is the same as DeleteManagedPrefixList with the addition of
9975// the ability to pass a context and additional request options.
9976//
9977// See DeleteManagedPrefixList for details on how to use this API operation.
9978//
9979// The context must be non-nil and will be used for request cancellation. If
9980// the context is nil a panic will occur. In the future the SDK may create
9981// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9982// for more information on using Contexts.
9983func (c *EC2) DeleteManagedPrefixListWithContext(ctx aws.Context, input *DeleteManagedPrefixListInput, opts ...request.Option) (*DeleteManagedPrefixListOutput, error) {
9984	req, out := c.DeleteManagedPrefixListRequest(input)
9985	req.SetContext(ctx)
9986	req.ApplyOptions(opts...)
9987	return out, req.Send()
9988}
9989
9990const opDeleteNatGateway = "DeleteNatGateway"
9991
9992// DeleteNatGatewayRequest generates a "aws/request.Request" representing the
9993// client's request for the DeleteNatGateway operation. The "output" return
9994// value will be populated with the request's response once the request completes
9995// successfully.
9996//
9997// Use "Send" method on the returned Request to send the API call to the service.
9998// the "output" return value is not valid until after Send returns without error.
9999//
10000// See DeleteNatGateway for more information on using the DeleteNatGateway
10001// API call, and error handling.
10002//
10003// This method is useful when you want to inject custom logic or configuration
10004// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10005//
10006//
10007//    // Example sending a request using the DeleteNatGatewayRequest method.
10008//    req, resp := client.DeleteNatGatewayRequest(params)
10009//
10010//    err := req.Send()
10011//    if err == nil { // resp is now filled
10012//        fmt.Println(resp)
10013//    }
10014//
10015// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNatGateway
10016func (c *EC2) DeleteNatGatewayRequest(input *DeleteNatGatewayInput) (req *request.Request, output *DeleteNatGatewayOutput) {
10017	op := &request.Operation{
10018		Name:       opDeleteNatGateway,
10019		HTTPMethod: "POST",
10020		HTTPPath:   "/",
10021	}
10022
10023	if input == nil {
10024		input = &DeleteNatGatewayInput{}
10025	}
10026
10027	output = &DeleteNatGatewayOutput{}
10028	req = c.newRequest(op, input, output)
10029	return
10030}
10031
10032// DeleteNatGateway API operation for Amazon Elastic Compute Cloud.
10033//
10034// Deletes the specified NAT gateway. Deleting a NAT gateway disassociates its
10035// Elastic IP address, but does not release the address from your account. Deleting
10036// a NAT gateway does not delete any NAT gateway routes in your route tables.
10037//
10038// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10039// with awserr.Error's Code and Message methods to get detailed information about
10040// the error.
10041//
10042// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10043// API operation DeleteNatGateway for usage and error information.
10044// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNatGateway
10045func (c *EC2) DeleteNatGateway(input *DeleteNatGatewayInput) (*DeleteNatGatewayOutput, error) {
10046	req, out := c.DeleteNatGatewayRequest(input)
10047	return out, req.Send()
10048}
10049
10050// DeleteNatGatewayWithContext is the same as DeleteNatGateway with the addition of
10051// the ability to pass a context and additional request options.
10052//
10053// See DeleteNatGateway for details on how to use this API operation.
10054//
10055// The context must be non-nil and will be used for request cancellation. If
10056// the context is nil a panic will occur. In the future the SDK may create
10057// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10058// for more information on using Contexts.
10059func (c *EC2) DeleteNatGatewayWithContext(ctx aws.Context, input *DeleteNatGatewayInput, opts ...request.Option) (*DeleteNatGatewayOutput, error) {
10060	req, out := c.DeleteNatGatewayRequest(input)
10061	req.SetContext(ctx)
10062	req.ApplyOptions(opts...)
10063	return out, req.Send()
10064}
10065
10066const opDeleteNetworkAcl = "DeleteNetworkAcl"
10067
10068// DeleteNetworkAclRequest generates a "aws/request.Request" representing the
10069// client's request for the DeleteNetworkAcl operation. The "output" return
10070// value will be populated with the request's response once the request completes
10071// successfully.
10072//
10073// Use "Send" method on the returned Request to send the API call to the service.
10074// the "output" return value is not valid until after Send returns without error.
10075//
10076// See DeleteNetworkAcl for more information on using the DeleteNetworkAcl
10077// API call, and error handling.
10078//
10079// This method is useful when you want to inject custom logic or configuration
10080// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10081//
10082//
10083//    // Example sending a request using the DeleteNetworkAclRequest method.
10084//    req, resp := client.DeleteNetworkAclRequest(params)
10085//
10086//    err := req.Send()
10087//    if err == nil { // resp is now filled
10088//        fmt.Println(resp)
10089//    }
10090//
10091// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAcl
10092func (c *EC2) DeleteNetworkAclRequest(input *DeleteNetworkAclInput) (req *request.Request, output *DeleteNetworkAclOutput) {
10093	op := &request.Operation{
10094		Name:       opDeleteNetworkAcl,
10095		HTTPMethod: "POST",
10096		HTTPPath:   "/",
10097	}
10098
10099	if input == nil {
10100		input = &DeleteNetworkAclInput{}
10101	}
10102
10103	output = &DeleteNetworkAclOutput{}
10104	req = c.newRequest(op, input, output)
10105	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
10106	return
10107}
10108
10109// DeleteNetworkAcl API operation for Amazon Elastic Compute Cloud.
10110//
10111// Deletes the specified network ACL. You can't delete the ACL if it's associated
10112// with any subnets. You can't delete the default network ACL.
10113//
10114// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10115// with awserr.Error's Code and Message methods to get detailed information about
10116// the error.
10117//
10118// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10119// API operation DeleteNetworkAcl for usage and error information.
10120// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAcl
10121func (c *EC2) DeleteNetworkAcl(input *DeleteNetworkAclInput) (*DeleteNetworkAclOutput, error) {
10122	req, out := c.DeleteNetworkAclRequest(input)
10123	return out, req.Send()
10124}
10125
10126// DeleteNetworkAclWithContext is the same as DeleteNetworkAcl with the addition of
10127// the ability to pass a context and additional request options.
10128//
10129// See DeleteNetworkAcl for details on how to use this API operation.
10130//
10131// The context must be non-nil and will be used for request cancellation. If
10132// the context is nil a panic will occur. In the future the SDK may create
10133// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10134// for more information on using Contexts.
10135func (c *EC2) DeleteNetworkAclWithContext(ctx aws.Context, input *DeleteNetworkAclInput, opts ...request.Option) (*DeleteNetworkAclOutput, error) {
10136	req, out := c.DeleteNetworkAclRequest(input)
10137	req.SetContext(ctx)
10138	req.ApplyOptions(opts...)
10139	return out, req.Send()
10140}
10141
10142const opDeleteNetworkAclEntry = "DeleteNetworkAclEntry"
10143
10144// DeleteNetworkAclEntryRequest generates a "aws/request.Request" representing the
10145// client's request for the DeleteNetworkAclEntry operation. The "output" return
10146// value will be populated with the request's response once the request completes
10147// successfully.
10148//
10149// Use "Send" method on the returned Request to send the API call to the service.
10150// the "output" return value is not valid until after Send returns without error.
10151//
10152// See DeleteNetworkAclEntry for more information on using the DeleteNetworkAclEntry
10153// API call, and error handling.
10154//
10155// This method is useful when you want to inject custom logic or configuration
10156// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10157//
10158//
10159//    // Example sending a request using the DeleteNetworkAclEntryRequest method.
10160//    req, resp := client.DeleteNetworkAclEntryRequest(params)
10161//
10162//    err := req.Send()
10163//    if err == nil { // resp is now filled
10164//        fmt.Println(resp)
10165//    }
10166//
10167// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAclEntry
10168func (c *EC2) DeleteNetworkAclEntryRequest(input *DeleteNetworkAclEntryInput) (req *request.Request, output *DeleteNetworkAclEntryOutput) {
10169	op := &request.Operation{
10170		Name:       opDeleteNetworkAclEntry,
10171		HTTPMethod: "POST",
10172		HTTPPath:   "/",
10173	}
10174
10175	if input == nil {
10176		input = &DeleteNetworkAclEntryInput{}
10177	}
10178
10179	output = &DeleteNetworkAclEntryOutput{}
10180	req = c.newRequest(op, input, output)
10181	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
10182	return
10183}
10184
10185// DeleteNetworkAclEntry API operation for Amazon Elastic Compute Cloud.
10186//
10187// Deletes the specified ingress or egress entry (rule) from the specified network
10188// ACL.
10189//
10190// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10191// with awserr.Error's Code and Message methods to get detailed information about
10192// the error.
10193//
10194// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10195// API operation DeleteNetworkAclEntry for usage and error information.
10196// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAclEntry
10197func (c *EC2) DeleteNetworkAclEntry(input *DeleteNetworkAclEntryInput) (*DeleteNetworkAclEntryOutput, error) {
10198	req, out := c.DeleteNetworkAclEntryRequest(input)
10199	return out, req.Send()
10200}
10201
10202// DeleteNetworkAclEntryWithContext is the same as DeleteNetworkAclEntry with the addition of
10203// the ability to pass a context and additional request options.
10204//
10205// See DeleteNetworkAclEntry for details on how to use this API operation.
10206//
10207// The context must be non-nil and will be used for request cancellation. If
10208// the context is nil a panic will occur. In the future the SDK may create
10209// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10210// for more information on using Contexts.
10211func (c *EC2) DeleteNetworkAclEntryWithContext(ctx aws.Context, input *DeleteNetworkAclEntryInput, opts ...request.Option) (*DeleteNetworkAclEntryOutput, error) {
10212	req, out := c.DeleteNetworkAclEntryRequest(input)
10213	req.SetContext(ctx)
10214	req.ApplyOptions(opts...)
10215	return out, req.Send()
10216}
10217
10218const opDeleteNetworkInsightsAnalysis = "DeleteNetworkInsightsAnalysis"
10219
10220// DeleteNetworkInsightsAnalysisRequest generates a "aws/request.Request" representing the
10221// client's request for the DeleteNetworkInsightsAnalysis operation. The "output" return
10222// value will be populated with the request's response once the request completes
10223// successfully.
10224//
10225// Use "Send" method on the returned Request to send the API call to the service.
10226// the "output" return value is not valid until after Send returns without error.
10227//
10228// See DeleteNetworkInsightsAnalysis for more information on using the DeleteNetworkInsightsAnalysis
10229// API call, and error handling.
10230//
10231// This method is useful when you want to inject custom logic or configuration
10232// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10233//
10234//
10235//    // Example sending a request using the DeleteNetworkInsightsAnalysisRequest method.
10236//    req, resp := client.DeleteNetworkInsightsAnalysisRequest(params)
10237//
10238//    err := req.Send()
10239//    if err == nil { // resp is now filled
10240//        fmt.Println(resp)
10241//    }
10242//
10243// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInsightsAnalysis
10244func (c *EC2) DeleteNetworkInsightsAnalysisRequest(input *DeleteNetworkInsightsAnalysisInput) (req *request.Request, output *DeleteNetworkInsightsAnalysisOutput) {
10245	op := &request.Operation{
10246		Name:       opDeleteNetworkInsightsAnalysis,
10247		HTTPMethod: "POST",
10248		HTTPPath:   "/",
10249	}
10250
10251	if input == nil {
10252		input = &DeleteNetworkInsightsAnalysisInput{}
10253	}
10254
10255	output = &DeleteNetworkInsightsAnalysisOutput{}
10256	req = c.newRequest(op, input, output)
10257	return
10258}
10259
10260// DeleteNetworkInsightsAnalysis API operation for Amazon Elastic Compute Cloud.
10261//
10262// Deletes the specified network insights analysis.
10263//
10264// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10265// with awserr.Error's Code and Message methods to get detailed information about
10266// the error.
10267//
10268// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10269// API operation DeleteNetworkInsightsAnalysis for usage and error information.
10270// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInsightsAnalysis
10271func (c *EC2) DeleteNetworkInsightsAnalysis(input *DeleteNetworkInsightsAnalysisInput) (*DeleteNetworkInsightsAnalysisOutput, error) {
10272	req, out := c.DeleteNetworkInsightsAnalysisRequest(input)
10273	return out, req.Send()
10274}
10275
10276// DeleteNetworkInsightsAnalysisWithContext is the same as DeleteNetworkInsightsAnalysis with the addition of
10277// the ability to pass a context and additional request options.
10278//
10279// See DeleteNetworkInsightsAnalysis for details on how to use this API operation.
10280//
10281// The context must be non-nil and will be used for request cancellation. If
10282// the context is nil a panic will occur. In the future the SDK may create
10283// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10284// for more information on using Contexts.
10285func (c *EC2) DeleteNetworkInsightsAnalysisWithContext(ctx aws.Context, input *DeleteNetworkInsightsAnalysisInput, opts ...request.Option) (*DeleteNetworkInsightsAnalysisOutput, error) {
10286	req, out := c.DeleteNetworkInsightsAnalysisRequest(input)
10287	req.SetContext(ctx)
10288	req.ApplyOptions(opts...)
10289	return out, req.Send()
10290}
10291
10292const opDeleteNetworkInsightsPath = "DeleteNetworkInsightsPath"
10293
10294// DeleteNetworkInsightsPathRequest generates a "aws/request.Request" representing the
10295// client's request for the DeleteNetworkInsightsPath operation. The "output" return
10296// value will be populated with the request's response once the request completes
10297// successfully.
10298//
10299// Use "Send" method on the returned Request to send the API call to the service.
10300// the "output" return value is not valid until after Send returns without error.
10301//
10302// See DeleteNetworkInsightsPath for more information on using the DeleteNetworkInsightsPath
10303// API call, and error handling.
10304//
10305// This method is useful when you want to inject custom logic or configuration
10306// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10307//
10308//
10309//    // Example sending a request using the DeleteNetworkInsightsPathRequest method.
10310//    req, resp := client.DeleteNetworkInsightsPathRequest(params)
10311//
10312//    err := req.Send()
10313//    if err == nil { // resp is now filled
10314//        fmt.Println(resp)
10315//    }
10316//
10317// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInsightsPath
10318func (c *EC2) DeleteNetworkInsightsPathRequest(input *DeleteNetworkInsightsPathInput) (req *request.Request, output *DeleteNetworkInsightsPathOutput) {
10319	op := &request.Operation{
10320		Name:       opDeleteNetworkInsightsPath,
10321		HTTPMethod: "POST",
10322		HTTPPath:   "/",
10323	}
10324
10325	if input == nil {
10326		input = &DeleteNetworkInsightsPathInput{}
10327	}
10328
10329	output = &DeleteNetworkInsightsPathOutput{}
10330	req = c.newRequest(op, input, output)
10331	return
10332}
10333
10334// DeleteNetworkInsightsPath API operation for Amazon Elastic Compute Cloud.
10335//
10336// Deletes the specified path.
10337//
10338// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10339// with awserr.Error's Code and Message methods to get detailed information about
10340// the error.
10341//
10342// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10343// API operation DeleteNetworkInsightsPath for usage and error information.
10344// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInsightsPath
10345func (c *EC2) DeleteNetworkInsightsPath(input *DeleteNetworkInsightsPathInput) (*DeleteNetworkInsightsPathOutput, error) {
10346	req, out := c.DeleteNetworkInsightsPathRequest(input)
10347	return out, req.Send()
10348}
10349
10350// DeleteNetworkInsightsPathWithContext is the same as DeleteNetworkInsightsPath with the addition of
10351// the ability to pass a context and additional request options.
10352//
10353// See DeleteNetworkInsightsPath for details on how to use this API operation.
10354//
10355// The context must be non-nil and will be used for request cancellation. If
10356// the context is nil a panic will occur. In the future the SDK may create
10357// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10358// for more information on using Contexts.
10359func (c *EC2) DeleteNetworkInsightsPathWithContext(ctx aws.Context, input *DeleteNetworkInsightsPathInput, opts ...request.Option) (*DeleteNetworkInsightsPathOutput, error) {
10360	req, out := c.DeleteNetworkInsightsPathRequest(input)
10361	req.SetContext(ctx)
10362	req.ApplyOptions(opts...)
10363	return out, req.Send()
10364}
10365
10366const opDeleteNetworkInterface = "DeleteNetworkInterface"
10367
10368// DeleteNetworkInterfaceRequest generates a "aws/request.Request" representing the
10369// client's request for the DeleteNetworkInterface operation. The "output" return
10370// value will be populated with the request's response once the request completes
10371// successfully.
10372//
10373// Use "Send" method on the returned Request to send the API call to the service.
10374// the "output" return value is not valid until after Send returns without error.
10375//
10376// See DeleteNetworkInterface for more information on using the DeleteNetworkInterface
10377// API call, and error handling.
10378//
10379// This method is useful when you want to inject custom logic or configuration
10380// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10381//
10382//
10383//    // Example sending a request using the DeleteNetworkInterfaceRequest method.
10384//    req, resp := client.DeleteNetworkInterfaceRequest(params)
10385//
10386//    err := req.Send()
10387//    if err == nil { // resp is now filled
10388//        fmt.Println(resp)
10389//    }
10390//
10391// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterface
10392func (c *EC2) DeleteNetworkInterfaceRequest(input *DeleteNetworkInterfaceInput) (req *request.Request, output *DeleteNetworkInterfaceOutput) {
10393	op := &request.Operation{
10394		Name:       opDeleteNetworkInterface,
10395		HTTPMethod: "POST",
10396		HTTPPath:   "/",
10397	}
10398
10399	if input == nil {
10400		input = &DeleteNetworkInterfaceInput{}
10401	}
10402
10403	output = &DeleteNetworkInterfaceOutput{}
10404	req = c.newRequest(op, input, output)
10405	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
10406	return
10407}
10408
10409// DeleteNetworkInterface API operation for Amazon Elastic Compute Cloud.
10410//
10411// Deletes the specified network interface. You must detach the network interface
10412// before you can delete it.
10413//
10414// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10415// with awserr.Error's Code and Message methods to get detailed information about
10416// the error.
10417//
10418// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10419// API operation DeleteNetworkInterface for usage and error information.
10420// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterface
10421func (c *EC2) DeleteNetworkInterface(input *DeleteNetworkInterfaceInput) (*DeleteNetworkInterfaceOutput, error) {
10422	req, out := c.DeleteNetworkInterfaceRequest(input)
10423	return out, req.Send()
10424}
10425
10426// DeleteNetworkInterfaceWithContext is the same as DeleteNetworkInterface with the addition of
10427// the ability to pass a context and additional request options.
10428//
10429// See DeleteNetworkInterface for details on how to use this API operation.
10430//
10431// The context must be non-nil and will be used for request cancellation. If
10432// the context is nil a panic will occur. In the future the SDK may create
10433// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10434// for more information on using Contexts.
10435func (c *EC2) DeleteNetworkInterfaceWithContext(ctx aws.Context, input *DeleteNetworkInterfaceInput, opts ...request.Option) (*DeleteNetworkInterfaceOutput, error) {
10436	req, out := c.DeleteNetworkInterfaceRequest(input)
10437	req.SetContext(ctx)
10438	req.ApplyOptions(opts...)
10439	return out, req.Send()
10440}
10441
10442const opDeleteNetworkInterfacePermission = "DeleteNetworkInterfacePermission"
10443
10444// DeleteNetworkInterfacePermissionRequest generates a "aws/request.Request" representing the
10445// client's request for the DeleteNetworkInterfacePermission operation. The "output" return
10446// value will be populated with the request's response once the request completes
10447// successfully.
10448//
10449// Use "Send" method on the returned Request to send the API call to the service.
10450// the "output" return value is not valid until after Send returns without error.
10451//
10452// See DeleteNetworkInterfacePermission for more information on using the DeleteNetworkInterfacePermission
10453// API call, and error handling.
10454//
10455// This method is useful when you want to inject custom logic or configuration
10456// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10457//
10458//
10459//    // Example sending a request using the DeleteNetworkInterfacePermissionRequest method.
10460//    req, resp := client.DeleteNetworkInterfacePermissionRequest(params)
10461//
10462//    err := req.Send()
10463//    if err == nil { // resp is now filled
10464//        fmt.Println(resp)
10465//    }
10466//
10467// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterfacePermission
10468func (c *EC2) DeleteNetworkInterfacePermissionRequest(input *DeleteNetworkInterfacePermissionInput) (req *request.Request, output *DeleteNetworkInterfacePermissionOutput) {
10469	op := &request.Operation{
10470		Name:       opDeleteNetworkInterfacePermission,
10471		HTTPMethod: "POST",
10472		HTTPPath:   "/",
10473	}
10474
10475	if input == nil {
10476		input = &DeleteNetworkInterfacePermissionInput{}
10477	}
10478
10479	output = &DeleteNetworkInterfacePermissionOutput{}
10480	req = c.newRequest(op, input, output)
10481	return
10482}
10483
10484// DeleteNetworkInterfacePermission API operation for Amazon Elastic Compute Cloud.
10485//
10486// Deletes a permission for a network interface. By default, you cannot delete
10487// the permission if the account for which you're removing the permission has
10488// attached the network interface to an instance. However, you can force delete
10489// the permission, regardless of any attachment.
10490//
10491// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10492// with awserr.Error's Code and Message methods to get detailed information about
10493// the error.
10494//
10495// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10496// API operation DeleteNetworkInterfacePermission for usage and error information.
10497// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterfacePermission
10498func (c *EC2) DeleteNetworkInterfacePermission(input *DeleteNetworkInterfacePermissionInput) (*DeleteNetworkInterfacePermissionOutput, error) {
10499	req, out := c.DeleteNetworkInterfacePermissionRequest(input)
10500	return out, req.Send()
10501}
10502
10503// DeleteNetworkInterfacePermissionWithContext is the same as DeleteNetworkInterfacePermission with the addition of
10504// the ability to pass a context and additional request options.
10505//
10506// See DeleteNetworkInterfacePermission for details on how to use this API operation.
10507//
10508// The context must be non-nil and will be used for request cancellation. If
10509// the context is nil a panic will occur. In the future the SDK may create
10510// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10511// for more information on using Contexts.
10512func (c *EC2) DeleteNetworkInterfacePermissionWithContext(ctx aws.Context, input *DeleteNetworkInterfacePermissionInput, opts ...request.Option) (*DeleteNetworkInterfacePermissionOutput, error) {
10513	req, out := c.DeleteNetworkInterfacePermissionRequest(input)
10514	req.SetContext(ctx)
10515	req.ApplyOptions(opts...)
10516	return out, req.Send()
10517}
10518
10519const opDeletePlacementGroup = "DeletePlacementGroup"
10520
10521// DeletePlacementGroupRequest generates a "aws/request.Request" representing the
10522// client's request for the DeletePlacementGroup operation. The "output" return
10523// value will be populated with the request's response once the request completes
10524// successfully.
10525//
10526// Use "Send" method on the returned Request to send the API call to the service.
10527// the "output" return value is not valid until after Send returns without error.
10528//
10529// See DeletePlacementGroup for more information on using the DeletePlacementGroup
10530// API call, and error handling.
10531//
10532// This method is useful when you want to inject custom logic or configuration
10533// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10534//
10535//
10536//    // Example sending a request using the DeletePlacementGroupRequest method.
10537//    req, resp := client.DeletePlacementGroupRequest(params)
10538//
10539//    err := req.Send()
10540//    if err == nil { // resp is now filled
10541//        fmt.Println(resp)
10542//    }
10543//
10544// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeletePlacementGroup
10545func (c *EC2) DeletePlacementGroupRequest(input *DeletePlacementGroupInput) (req *request.Request, output *DeletePlacementGroupOutput) {
10546	op := &request.Operation{
10547		Name:       opDeletePlacementGroup,
10548		HTTPMethod: "POST",
10549		HTTPPath:   "/",
10550	}
10551
10552	if input == nil {
10553		input = &DeletePlacementGroupInput{}
10554	}
10555
10556	output = &DeletePlacementGroupOutput{}
10557	req = c.newRequest(op, input, output)
10558	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
10559	return
10560}
10561
10562// DeletePlacementGroup API operation for Amazon Elastic Compute Cloud.
10563//
10564// Deletes the specified placement group. You must terminate all instances in
10565// the placement group before you can delete the placement group. For more information,
10566// see Placement groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html)
10567// in the Amazon EC2 User Guide.
10568//
10569// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10570// with awserr.Error's Code and Message methods to get detailed information about
10571// the error.
10572//
10573// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10574// API operation DeletePlacementGroup for usage and error information.
10575// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeletePlacementGroup
10576func (c *EC2) DeletePlacementGroup(input *DeletePlacementGroupInput) (*DeletePlacementGroupOutput, error) {
10577	req, out := c.DeletePlacementGroupRequest(input)
10578	return out, req.Send()
10579}
10580
10581// DeletePlacementGroupWithContext is the same as DeletePlacementGroup with the addition of
10582// the ability to pass a context and additional request options.
10583//
10584// See DeletePlacementGroup for details on how to use this API operation.
10585//
10586// The context must be non-nil and will be used for request cancellation. If
10587// the context is nil a panic will occur. In the future the SDK may create
10588// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10589// for more information on using Contexts.
10590func (c *EC2) DeletePlacementGroupWithContext(ctx aws.Context, input *DeletePlacementGroupInput, opts ...request.Option) (*DeletePlacementGroupOutput, error) {
10591	req, out := c.DeletePlacementGroupRequest(input)
10592	req.SetContext(ctx)
10593	req.ApplyOptions(opts...)
10594	return out, req.Send()
10595}
10596
10597const opDeleteQueuedReservedInstances = "DeleteQueuedReservedInstances"
10598
10599// DeleteQueuedReservedInstancesRequest generates a "aws/request.Request" representing the
10600// client's request for the DeleteQueuedReservedInstances operation. The "output" return
10601// value will be populated with the request's response once the request completes
10602// successfully.
10603//
10604// Use "Send" method on the returned Request to send the API call to the service.
10605// the "output" return value is not valid until after Send returns without error.
10606//
10607// See DeleteQueuedReservedInstances for more information on using the DeleteQueuedReservedInstances
10608// API call, and error handling.
10609//
10610// This method is useful when you want to inject custom logic or configuration
10611// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10612//
10613//
10614//    // Example sending a request using the DeleteQueuedReservedInstancesRequest method.
10615//    req, resp := client.DeleteQueuedReservedInstancesRequest(params)
10616//
10617//    err := req.Send()
10618//    if err == nil { // resp is now filled
10619//        fmt.Println(resp)
10620//    }
10621//
10622// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteQueuedReservedInstances
10623func (c *EC2) DeleteQueuedReservedInstancesRequest(input *DeleteQueuedReservedInstancesInput) (req *request.Request, output *DeleteQueuedReservedInstancesOutput) {
10624	op := &request.Operation{
10625		Name:       opDeleteQueuedReservedInstances,
10626		HTTPMethod: "POST",
10627		HTTPPath:   "/",
10628	}
10629
10630	if input == nil {
10631		input = &DeleteQueuedReservedInstancesInput{}
10632	}
10633
10634	output = &DeleteQueuedReservedInstancesOutput{}
10635	req = c.newRequest(op, input, output)
10636	return
10637}
10638
10639// DeleteQueuedReservedInstances API operation for Amazon Elastic Compute Cloud.
10640//
10641// Deletes the queued purchases for the specified Reserved Instances.
10642//
10643// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10644// with awserr.Error's Code and Message methods to get detailed information about
10645// the error.
10646//
10647// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10648// API operation DeleteQueuedReservedInstances for usage and error information.
10649// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteQueuedReservedInstances
10650func (c *EC2) DeleteQueuedReservedInstances(input *DeleteQueuedReservedInstancesInput) (*DeleteQueuedReservedInstancesOutput, error) {
10651	req, out := c.DeleteQueuedReservedInstancesRequest(input)
10652	return out, req.Send()
10653}
10654
10655// DeleteQueuedReservedInstancesWithContext is the same as DeleteQueuedReservedInstances with the addition of
10656// the ability to pass a context and additional request options.
10657//
10658// See DeleteQueuedReservedInstances for details on how to use this API operation.
10659//
10660// The context must be non-nil and will be used for request cancellation. If
10661// the context is nil a panic will occur. In the future the SDK may create
10662// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10663// for more information on using Contexts.
10664func (c *EC2) DeleteQueuedReservedInstancesWithContext(ctx aws.Context, input *DeleteQueuedReservedInstancesInput, opts ...request.Option) (*DeleteQueuedReservedInstancesOutput, error) {
10665	req, out := c.DeleteQueuedReservedInstancesRequest(input)
10666	req.SetContext(ctx)
10667	req.ApplyOptions(opts...)
10668	return out, req.Send()
10669}
10670
10671const opDeleteRoute = "DeleteRoute"
10672
10673// DeleteRouteRequest generates a "aws/request.Request" representing the
10674// client's request for the DeleteRoute operation. The "output" return
10675// value will be populated with the request's response once the request completes
10676// successfully.
10677//
10678// Use "Send" method on the returned Request to send the API call to the service.
10679// the "output" return value is not valid until after Send returns without error.
10680//
10681// See DeleteRoute for more information on using the DeleteRoute
10682// API call, and error handling.
10683//
10684// This method is useful when you want to inject custom logic or configuration
10685// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10686//
10687//
10688//    // Example sending a request using the DeleteRouteRequest method.
10689//    req, resp := client.DeleteRouteRequest(params)
10690//
10691//    err := req.Send()
10692//    if err == nil { // resp is now filled
10693//        fmt.Println(resp)
10694//    }
10695//
10696// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRoute
10697func (c *EC2) DeleteRouteRequest(input *DeleteRouteInput) (req *request.Request, output *DeleteRouteOutput) {
10698	op := &request.Operation{
10699		Name:       opDeleteRoute,
10700		HTTPMethod: "POST",
10701		HTTPPath:   "/",
10702	}
10703
10704	if input == nil {
10705		input = &DeleteRouteInput{}
10706	}
10707
10708	output = &DeleteRouteOutput{}
10709	req = c.newRequest(op, input, output)
10710	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
10711	return
10712}
10713
10714// DeleteRoute API operation for Amazon Elastic Compute Cloud.
10715//
10716// Deletes the specified route from the specified route table.
10717//
10718// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10719// with awserr.Error's Code and Message methods to get detailed information about
10720// the error.
10721//
10722// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10723// API operation DeleteRoute for usage and error information.
10724// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRoute
10725func (c *EC2) DeleteRoute(input *DeleteRouteInput) (*DeleteRouteOutput, error) {
10726	req, out := c.DeleteRouteRequest(input)
10727	return out, req.Send()
10728}
10729
10730// DeleteRouteWithContext is the same as DeleteRoute with the addition of
10731// the ability to pass a context and additional request options.
10732//
10733// See DeleteRoute for details on how to use this API operation.
10734//
10735// The context must be non-nil and will be used for request cancellation. If
10736// the context is nil a panic will occur. In the future the SDK may create
10737// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10738// for more information on using Contexts.
10739func (c *EC2) DeleteRouteWithContext(ctx aws.Context, input *DeleteRouteInput, opts ...request.Option) (*DeleteRouteOutput, error) {
10740	req, out := c.DeleteRouteRequest(input)
10741	req.SetContext(ctx)
10742	req.ApplyOptions(opts...)
10743	return out, req.Send()
10744}
10745
10746const opDeleteRouteTable = "DeleteRouteTable"
10747
10748// DeleteRouteTableRequest generates a "aws/request.Request" representing the
10749// client's request for the DeleteRouteTable operation. The "output" return
10750// value will be populated with the request's response once the request completes
10751// successfully.
10752//
10753// Use "Send" method on the returned Request to send the API call to the service.
10754// the "output" return value is not valid until after Send returns without error.
10755//
10756// See DeleteRouteTable for more information on using the DeleteRouteTable
10757// API call, and error handling.
10758//
10759// This method is useful when you want to inject custom logic or configuration
10760// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10761//
10762//
10763//    // Example sending a request using the DeleteRouteTableRequest method.
10764//    req, resp := client.DeleteRouteTableRequest(params)
10765//
10766//    err := req.Send()
10767//    if err == nil { // resp is now filled
10768//        fmt.Println(resp)
10769//    }
10770//
10771// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRouteTable
10772func (c *EC2) DeleteRouteTableRequest(input *DeleteRouteTableInput) (req *request.Request, output *DeleteRouteTableOutput) {
10773	op := &request.Operation{
10774		Name:       opDeleteRouteTable,
10775		HTTPMethod: "POST",
10776		HTTPPath:   "/",
10777	}
10778
10779	if input == nil {
10780		input = &DeleteRouteTableInput{}
10781	}
10782
10783	output = &DeleteRouteTableOutput{}
10784	req = c.newRequest(op, input, output)
10785	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
10786	return
10787}
10788
10789// DeleteRouteTable API operation for Amazon Elastic Compute Cloud.
10790//
10791// Deletes the specified route table. You must disassociate the route table
10792// from any subnets before you can delete it. You can't delete the main route
10793// table.
10794//
10795// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10796// with awserr.Error's Code and Message methods to get detailed information about
10797// the error.
10798//
10799// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10800// API operation DeleteRouteTable for usage and error information.
10801// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRouteTable
10802func (c *EC2) DeleteRouteTable(input *DeleteRouteTableInput) (*DeleteRouteTableOutput, error) {
10803	req, out := c.DeleteRouteTableRequest(input)
10804	return out, req.Send()
10805}
10806
10807// DeleteRouteTableWithContext is the same as DeleteRouteTable with the addition of
10808// the ability to pass a context and additional request options.
10809//
10810// See DeleteRouteTable for details on how to use this API operation.
10811//
10812// The context must be non-nil and will be used for request cancellation. If
10813// the context is nil a panic will occur. In the future the SDK may create
10814// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10815// for more information on using Contexts.
10816func (c *EC2) DeleteRouteTableWithContext(ctx aws.Context, input *DeleteRouteTableInput, opts ...request.Option) (*DeleteRouteTableOutput, error) {
10817	req, out := c.DeleteRouteTableRequest(input)
10818	req.SetContext(ctx)
10819	req.ApplyOptions(opts...)
10820	return out, req.Send()
10821}
10822
10823const opDeleteSecurityGroup = "DeleteSecurityGroup"
10824
10825// DeleteSecurityGroupRequest generates a "aws/request.Request" representing the
10826// client's request for the DeleteSecurityGroup operation. The "output" return
10827// value will be populated with the request's response once the request completes
10828// successfully.
10829//
10830// Use "Send" method on the returned Request to send the API call to the service.
10831// the "output" return value is not valid until after Send returns without error.
10832//
10833// See DeleteSecurityGroup for more information on using the DeleteSecurityGroup
10834// API call, and error handling.
10835//
10836// This method is useful when you want to inject custom logic or configuration
10837// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10838//
10839//
10840//    // Example sending a request using the DeleteSecurityGroupRequest method.
10841//    req, resp := client.DeleteSecurityGroupRequest(params)
10842//
10843//    err := req.Send()
10844//    if err == nil { // resp is now filled
10845//        fmt.Println(resp)
10846//    }
10847//
10848// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSecurityGroup
10849func (c *EC2) DeleteSecurityGroupRequest(input *DeleteSecurityGroupInput) (req *request.Request, output *DeleteSecurityGroupOutput) {
10850	op := &request.Operation{
10851		Name:       opDeleteSecurityGroup,
10852		HTTPMethod: "POST",
10853		HTTPPath:   "/",
10854	}
10855
10856	if input == nil {
10857		input = &DeleteSecurityGroupInput{}
10858	}
10859
10860	output = &DeleteSecurityGroupOutput{}
10861	req = c.newRequest(op, input, output)
10862	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
10863	return
10864}
10865
10866// DeleteSecurityGroup API operation for Amazon Elastic Compute Cloud.
10867//
10868// Deletes a security group.
10869//
10870// If you attempt to delete a security group that is associated with an instance,
10871// or is referenced by another security group, the operation fails with InvalidGroup.InUse
10872// in EC2-Classic or DependencyViolation in EC2-VPC.
10873//
10874// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10875// with awserr.Error's Code and Message methods to get detailed information about
10876// the error.
10877//
10878// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10879// API operation DeleteSecurityGroup for usage and error information.
10880// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSecurityGroup
10881func (c *EC2) DeleteSecurityGroup(input *DeleteSecurityGroupInput) (*DeleteSecurityGroupOutput, error) {
10882	req, out := c.DeleteSecurityGroupRequest(input)
10883	return out, req.Send()
10884}
10885
10886// DeleteSecurityGroupWithContext is the same as DeleteSecurityGroup with the addition of
10887// the ability to pass a context and additional request options.
10888//
10889// See DeleteSecurityGroup for details on how to use this API operation.
10890//
10891// The context must be non-nil and will be used for request cancellation. If
10892// the context is nil a panic will occur. In the future the SDK may create
10893// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10894// for more information on using Contexts.
10895func (c *EC2) DeleteSecurityGroupWithContext(ctx aws.Context, input *DeleteSecurityGroupInput, opts ...request.Option) (*DeleteSecurityGroupOutput, error) {
10896	req, out := c.DeleteSecurityGroupRequest(input)
10897	req.SetContext(ctx)
10898	req.ApplyOptions(opts...)
10899	return out, req.Send()
10900}
10901
10902const opDeleteSnapshot = "DeleteSnapshot"
10903
10904// DeleteSnapshotRequest generates a "aws/request.Request" representing the
10905// client's request for the DeleteSnapshot operation. The "output" return
10906// value will be populated with the request's response once the request completes
10907// successfully.
10908//
10909// Use "Send" method on the returned Request to send the API call to the service.
10910// the "output" return value is not valid until after Send returns without error.
10911//
10912// See DeleteSnapshot for more information on using the DeleteSnapshot
10913// API call, and error handling.
10914//
10915// This method is useful when you want to inject custom logic or configuration
10916// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10917//
10918//
10919//    // Example sending a request using the DeleteSnapshotRequest method.
10920//    req, resp := client.DeleteSnapshotRequest(params)
10921//
10922//    err := req.Send()
10923//    if err == nil { // resp is now filled
10924//        fmt.Println(resp)
10925//    }
10926//
10927// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSnapshot
10928func (c *EC2) DeleteSnapshotRequest(input *DeleteSnapshotInput) (req *request.Request, output *DeleteSnapshotOutput) {
10929	op := &request.Operation{
10930		Name:       opDeleteSnapshot,
10931		HTTPMethod: "POST",
10932		HTTPPath:   "/",
10933	}
10934
10935	if input == nil {
10936		input = &DeleteSnapshotInput{}
10937	}
10938
10939	output = &DeleteSnapshotOutput{}
10940	req = c.newRequest(op, input, output)
10941	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
10942	return
10943}
10944
10945// DeleteSnapshot API operation for Amazon Elastic Compute Cloud.
10946//
10947// Deletes the specified snapshot.
10948//
10949// When you make periodic snapshots of a volume, the snapshots are incremental,
10950// and only the blocks on the device that have changed since your last snapshot
10951// are saved in the new snapshot. When you delete a snapshot, only the data
10952// not needed for any other snapshot is removed. So regardless of which prior
10953// snapshots have been deleted, all active snapshots will have access to all
10954// the information needed to restore the volume.
10955//
10956// You cannot delete a snapshot of the root device of an EBS volume used by
10957// a registered AMI. You must first de-register the AMI before you can delete
10958// the snapshot.
10959//
10960// For more information, see Deleting an Amazon EBS snapshot (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-snapshot.html)
10961// in the Amazon Elastic Compute Cloud User Guide.
10962//
10963// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10964// with awserr.Error's Code and Message methods to get detailed information about
10965// the error.
10966//
10967// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10968// API operation DeleteSnapshot for usage and error information.
10969// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSnapshot
10970func (c *EC2) DeleteSnapshot(input *DeleteSnapshotInput) (*DeleteSnapshotOutput, error) {
10971	req, out := c.DeleteSnapshotRequest(input)
10972	return out, req.Send()
10973}
10974
10975// DeleteSnapshotWithContext is the same as DeleteSnapshot with the addition of
10976// the ability to pass a context and additional request options.
10977//
10978// See DeleteSnapshot for details on how to use this API operation.
10979//
10980// The context must be non-nil and will be used for request cancellation. If
10981// the context is nil a panic will occur. In the future the SDK may create
10982// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10983// for more information on using Contexts.
10984func (c *EC2) DeleteSnapshotWithContext(ctx aws.Context, input *DeleteSnapshotInput, opts ...request.Option) (*DeleteSnapshotOutput, error) {
10985	req, out := c.DeleteSnapshotRequest(input)
10986	req.SetContext(ctx)
10987	req.ApplyOptions(opts...)
10988	return out, req.Send()
10989}
10990
10991const opDeleteSpotDatafeedSubscription = "DeleteSpotDatafeedSubscription"
10992
10993// DeleteSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the
10994// client's request for the DeleteSpotDatafeedSubscription operation. The "output" return
10995// value will be populated with the request's response once the request completes
10996// successfully.
10997//
10998// Use "Send" method on the returned Request to send the API call to the service.
10999// the "output" return value is not valid until after Send returns without error.
11000//
11001// See DeleteSpotDatafeedSubscription for more information on using the DeleteSpotDatafeedSubscription
11002// API call, and error handling.
11003//
11004// This method is useful when you want to inject custom logic or configuration
11005// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11006//
11007//
11008//    // Example sending a request using the DeleteSpotDatafeedSubscriptionRequest method.
11009//    req, resp := client.DeleteSpotDatafeedSubscriptionRequest(params)
11010//
11011//    err := req.Send()
11012//    if err == nil { // resp is now filled
11013//        fmt.Println(resp)
11014//    }
11015//
11016// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSpotDatafeedSubscription
11017func (c *EC2) DeleteSpotDatafeedSubscriptionRequest(input *DeleteSpotDatafeedSubscriptionInput) (req *request.Request, output *DeleteSpotDatafeedSubscriptionOutput) {
11018	op := &request.Operation{
11019		Name:       opDeleteSpotDatafeedSubscription,
11020		HTTPMethod: "POST",
11021		HTTPPath:   "/",
11022	}
11023
11024	if input == nil {
11025		input = &DeleteSpotDatafeedSubscriptionInput{}
11026	}
11027
11028	output = &DeleteSpotDatafeedSubscriptionOutput{}
11029	req = c.newRequest(op, input, output)
11030	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
11031	return
11032}
11033
11034// DeleteSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud.
11035//
11036// Deletes the data feed for Spot Instances.
11037//
11038// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11039// with awserr.Error's Code and Message methods to get detailed information about
11040// the error.
11041//
11042// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11043// API operation DeleteSpotDatafeedSubscription for usage and error information.
11044// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSpotDatafeedSubscription
11045func (c *EC2) DeleteSpotDatafeedSubscription(input *DeleteSpotDatafeedSubscriptionInput) (*DeleteSpotDatafeedSubscriptionOutput, error) {
11046	req, out := c.DeleteSpotDatafeedSubscriptionRequest(input)
11047	return out, req.Send()
11048}
11049
11050// DeleteSpotDatafeedSubscriptionWithContext is the same as DeleteSpotDatafeedSubscription with the addition of
11051// the ability to pass a context and additional request options.
11052//
11053// See DeleteSpotDatafeedSubscription for details on how to use this API operation.
11054//
11055// The context must be non-nil and will be used for request cancellation. If
11056// the context is nil a panic will occur. In the future the SDK may create
11057// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11058// for more information on using Contexts.
11059func (c *EC2) DeleteSpotDatafeedSubscriptionWithContext(ctx aws.Context, input *DeleteSpotDatafeedSubscriptionInput, opts ...request.Option) (*DeleteSpotDatafeedSubscriptionOutput, error) {
11060	req, out := c.DeleteSpotDatafeedSubscriptionRequest(input)
11061	req.SetContext(ctx)
11062	req.ApplyOptions(opts...)
11063	return out, req.Send()
11064}
11065
11066const opDeleteSubnet = "DeleteSubnet"
11067
11068// DeleteSubnetRequest generates a "aws/request.Request" representing the
11069// client's request for the DeleteSubnet operation. The "output" return
11070// value will be populated with the request's response once the request completes
11071// successfully.
11072//
11073// Use "Send" method on the returned Request to send the API call to the service.
11074// the "output" return value is not valid until after Send returns without error.
11075//
11076// See DeleteSubnet for more information on using the DeleteSubnet
11077// API call, and error handling.
11078//
11079// This method is useful when you want to inject custom logic or configuration
11080// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11081//
11082//
11083//    // Example sending a request using the DeleteSubnetRequest method.
11084//    req, resp := client.DeleteSubnetRequest(params)
11085//
11086//    err := req.Send()
11087//    if err == nil { // resp is now filled
11088//        fmt.Println(resp)
11089//    }
11090//
11091// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSubnet
11092func (c *EC2) DeleteSubnetRequest(input *DeleteSubnetInput) (req *request.Request, output *DeleteSubnetOutput) {
11093	op := &request.Operation{
11094		Name:       opDeleteSubnet,
11095		HTTPMethod: "POST",
11096		HTTPPath:   "/",
11097	}
11098
11099	if input == nil {
11100		input = &DeleteSubnetInput{}
11101	}
11102
11103	output = &DeleteSubnetOutput{}
11104	req = c.newRequest(op, input, output)
11105	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
11106	return
11107}
11108
11109// DeleteSubnet API operation for Amazon Elastic Compute Cloud.
11110//
11111// Deletes the specified subnet. You must terminate all running instances in
11112// the subnet before you can delete the subnet.
11113//
11114// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11115// with awserr.Error's Code and Message methods to get detailed information about
11116// the error.
11117//
11118// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11119// API operation DeleteSubnet for usage and error information.
11120// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSubnet
11121func (c *EC2) DeleteSubnet(input *DeleteSubnetInput) (*DeleteSubnetOutput, error) {
11122	req, out := c.DeleteSubnetRequest(input)
11123	return out, req.Send()
11124}
11125
11126// DeleteSubnetWithContext is the same as DeleteSubnet with the addition of
11127// the ability to pass a context and additional request options.
11128//
11129// See DeleteSubnet for details on how to use this API operation.
11130//
11131// The context must be non-nil and will be used for request cancellation. If
11132// the context is nil a panic will occur. In the future the SDK may create
11133// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11134// for more information on using Contexts.
11135func (c *EC2) DeleteSubnetWithContext(ctx aws.Context, input *DeleteSubnetInput, opts ...request.Option) (*DeleteSubnetOutput, error) {
11136	req, out := c.DeleteSubnetRequest(input)
11137	req.SetContext(ctx)
11138	req.ApplyOptions(opts...)
11139	return out, req.Send()
11140}
11141
11142const opDeleteTags = "DeleteTags"
11143
11144// DeleteTagsRequest generates a "aws/request.Request" representing the
11145// client's request for the DeleteTags operation. The "output" return
11146// value will be populated with the request's response once the request completes
11147// successfully.
11148//
11149// Use "Send" method on the returned Request to send the API call to the service.
11150// the "output" return value is not valid until after Send returns without error.
11151//
11152// See DeleteTags for more information on using the DeleteTags
11153// API call, and error handling.
11154//
11155// This method is useful when you want to inject custom logic or configuration
11156// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11157//
11158//
11159//    // Example sending a request using the DeleteTagsRequest method.
11160//    req, resp := client.DeleteTagsRequest(params)
11161//
11162//    err := req.Send()
11163//    if err == nil { // resp is now filled
11164//        fmt.Println(resp)
11165//    }
11166//
11167// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTags
11168func (c *EC2) DeleteTagsRequest(input *DeleteTagsInput) (req *request.Request, output *DeleteTagsOutput) {
11169	op := &request.Operation{
11170		Name:       opDeleteTags,
11171		HTTPMethod: "POST",
11172		HTTPPath:   "/",
11173	}
11174
11175	if input == nil {
11176		input = &DeleteTagsInput{}
11177	}
11178
11179	output = &DeleteTagsOutput{}
11180	req = c.newRequest(op, input, output)
11181	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
11182	return
11183}
11184
11185// DeleteTags API operation for Amazon Elastic Compute Cloud.
11186//
11187// Deletes the specified set of tags from the specified set of resources.
11188//
11189// To list the current tags, use DescribeTags. For more information about tags,
11190// see Tagging Your Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
11191// in the Amazon Elastic Compute Cloud User Guide.
11192//
11193// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11194// with awserr.Error's Code and Message methods to get detailed information about
11195// the error.
11196//
11197// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11198// API operation DeleteTags for usage and error information.
11199// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTags
11200func (c *EC2) DeleteTags(input *DeleteTagsInput) (*DeleteTagsOutput, error) {
11201	req, out := c.DeleteTagsRequest(input)
11202	return out, req.Send()
11203}
11204
11205// DeleteTagsWithContext is the same as DeleteTags with the addition of
11206// the ability to pass a context and additional request options.
11207//
11208// See DeleteTags for details on how to use this API operation.
11209//
11210// The context must be non-nil and will be used for request cancellation. If
11211// the context is nil a panic will occur. In the future the SDK may create
11212// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11213// for more information on using Contexts.
11214func (c *EC2) DeleteTagsWithContext(ctx aws.Context, input *DeleteTagsInput, opts ...request.Option) (*DeleteTagsOutput, error) {
11215	req, out := c.DeleteTagsRequest(input)
11216	req.SetContext(ctx)
11217	req.ApplyOptions(opts...)
11218	return out, req.Send()
11219}
11220
11221const opDeleteTrafficMirrorFilter = "DeleteTrafficMirrorFilter"
11222
11223// DeleteTrafficMirrorFilterRequest generates a "aws/request.Request" representing the
11224// client's request for the DeleteTrafficMirrorFilter operation. The "output" return
11225// value will be populated with the request's response once the request completes
11226// successfully.
11227//
11228// Use "Send" method on the returned Request to send the API call to the service.
11229// the "output" return value is not valid until after Send returns without error.
11230//
11231// See DeleteTrafficMirrorFilter for more information on using the DeleteTrafficMirrorFilter
11232// API call, and error handling.
11233//
11234// This method is useful when you want to inject custom logic or configuration
11235// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11236//
11237//
11238//    // Example sending a request using the DeleteTrafficMirrorFilterRequest method.
11239//    req, resp := client.DeleteTrafficMirrorFilterRequest(params)
11240//
11241//    err := req.Send()
11242//    if err == nil { // resp is now filled
11243//        fmt.Println(resp)
11244//    }
11245//
11246// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorFilter
11247func (c *EC2) DeleteTrafficMirrorFilterRequest(input *DeleteTrafficMirrorFilterInput) (req *request.Request, output *DeleteTrafficMirrorFilterOutput) {
11248	op := &request.Operation{
11249		Name:       opDeleteTrafficMirrorFilter,
11250		HTTPMethod: "POST",
11251		HTTPPath:   "/",
11252	}
11253
11254	if input == nil {
11255		input = &DeleteTrafficMirrorFilterInput{}
11256	}
11257
11258	output = &DeleteTrafficMirrorFilterOutput{}
11259	req = c.newRequest(op, input, output)
11260	return
11261}
11262
11263// DeleteTrafficMirrorFilter API operation for Amazon Elastic Compute Cloud.
11264//
11265// Deletes the specified Traffic Mirror filter.
11266//
11267// You cannot delete a Traffic Mirror filter that is in use by a Traffic Mirror
11268// session.
11269//
11270// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11271// with awserr.Error's Code and Message methods to get detailed information about
11272// the error.
11273//
11274// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11275// API operation DeleteTrafficMirrorFilter for usage and error information.
11276// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorFilter
11277func (c *EC2) DeleteTrafficMirrorFilter(input *DeleteTrafficMirrorFilterInput) (*DeleteTrafficMirrorFilterOutput, error) {
11278	req, out := c.DeleteTrafficMirrorFilterRequest(input)
11279	return out, req.Send()
11280}
11281
11282// DeleteTrafficMirrorFilterWithContext is the same as DeleteTrafficMirrorFilter with the addition of
11283// the ability to pass a context and additional request options.
11284//
11285// See DeleteTrafficMirrorFilter for details on how to use this API operation.
11286//
11287// The context must be non-nil and will be used for request cancellation. If
11288// the context is nil a panic will occur. In the future the SDK may create
11289// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11290// for more information on using Contexts.
11291func (c *EC2) DeleteTrafficMirrorFilterWithContext(ctx aws.Context, input *DeleteTrafficMirrorFilterInput, opts ...request.Option) (*DeleteTrafficMirrorFilterOutput, error) {
11292	req, out := c.DeleteTrafficMirrorFilterRequest(input)
11293	req.SetContext(ctx)
11294	req.ApplyOptions(opts...)
11295	return out, req.Send()
11296}
11297
11298const opDeleteTrafficMirrorFilterRule = "DeleteTrafficMirrorFilterRule"
11299
11300// DeleteTrafficMirrorFilterRuleRequest generates a "aws/request.Request" representing the
11301// client's request for the DeleteTrafficMirrorFilterRule operation. The "output" return
11302// value will be populated with the request's response once the request completes
11303// successfully.
11304//
11305// Use "Send" method on the returned Request to send the API call to the service.
11306// the "output" return value is not valid until after Send returns without error.
11307//
11308// See DeleteTrafficMirrorFilterRule for more information on using the DeleteTrafficMirrorFilterRule
11309// API call, and error handling.
11310//
11311// This method is useful when you want to inject custom logic or configuration
11312// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11313//
11314//
11315//    // Example sending a request using the DeleteTrafficMirrorFilterRuleRequest method.
11316//    req, resp := client.DeleteTrafficMirrorFilterRuleRequest(params)
11317//
11318//    err := req.Send()
11319//    if err == nil { // resp is now filled
11320//        fmt.Println(resp)
11321//    }
11322//
11323// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorFilterRule
11324func (c *EC2) DeleteTrafficMirrorFilterRuleRequest(input *DeleteTrafficMirrorFilterRuleInput) (req *request.Request, output *DeleteTrafficMirrorFilterRuleOutput) {
11325	op := &request.Operation{
11326		Name:       opDeleteTrafficMirrorFilterRule,
11327		HTTPMethod: "POST",
11328		HTTPPath:   "/",
11329	}
11330
11331	if input == nil {
11332		input = &DeleteTrafficMirrorFilterRuleInput{}
11333	}
11334
11335	output = &DeleteTrafficMirrorFilterRuleOutput{}
11336	req = c.newRequest(op, input, output)
11337	return
11338}
11339
11340// DeleteTrafficMirrorFilterRule API operation for Amazon Elastic Compute Cloud.
11341//
11342// Deletes the specified Traffic Mirror rule.
11343//
11344// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11345// with awserr.Error's Code and Message methods to get detailed information about
11346// the error.
11347//
11348// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11349// API operation DeleteTrafficMirrorFilterRule for usage and error information.
11350// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorFilterRule
11351func (c *EC2) DeleteTrafficMirrorFilterRule(input *DeleteTrafficMirrorFilterRuleInput) (*DeleteTrafficMirrorFilterRuleOutput, error) {
11352	req, out := c.DeleteTrafficMirrorFilterRuleRequest(input)
11353	return out, req.Send()
11354}
11355
11356// DeleteTrafficMirrorFilterRuleWithContext is the same as DeleteTrafficMirrorFilterRule with the addition of
11357// the ability to pass a context and additional request options.
11358//
11359// See DeleteTrafficMirrorFilterRule for details on how to use this API operation.
11360//
11361// The context must be non-nil and will be used for request cancellation. If
11362// the context is nil a panic will occur. In the future the SDK may create
11363// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11364// for more information on using Contexts.
11365func (c *EC2) DeleteTrafficMirrorFilterRuleWithContext(ctx aws.Context, input *DeleteTrafficMirrorFilterRuleInput, opts ...request.Option) (*DeleteTrafficMirrorFilterRuleOutput, error) {
11366	req, out := c.DeleteTrafficMirrorFilterRuleRequest(input)
11367	req.SetContext(ctx)
11368	req.ApplyOptions(opts...)
11369	return out, req.Send()
11370}
11371
11372const opDeleteTrafficMirrorSession = "DeleteTrafficMirrorSession"
11373
11374// DeleteTrafficMirrorSessionRequest generates a "aws/request.Request" representing the
11375// client's request for the DeleteTrafficMirrorSession operation. The "output" return
11376// value will be populated with the request's response once the request completes
11377// successfully.
11378//
11379// Use "Send" method on the returned Request to send the API call to the service.
11380// the "output" return value is not valid until after Send returns without error.
11381//
11382// See DeleteTrafficMirrorSession for more information on using the DeleteTrafficMirrorSession
11383// API call, and error handling.
11384//
11385// This method is useful when you want to inject custom logic or configuration
11386// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11387//
11388//
11389//    // Example sending a request using the DeleteTrafficMirrorSessionRequest method.
11390//    req, resp := client.DeleteTrafficMirrorSessionRequest(params)
11391//
11392//    err := req.Send()
11393//    if err == nil { // resp is now filled
11394//        fmt.Println(resp)
11395//    }
11396//
11397// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorSession
11398func (c *EC2) DeleteTrafficMirrorSessionRequest(input *DeleteTrafficMirrorSessionInput) (req *request.Request, output *DeleteTrafficMirrorSessionOutput) {
11399	op := &request.Operation{
11400		Name:       opDeleteTrafficMirrorSession,
11401		HTTPMethod: "POST",
11402		HTTPPath:   "/",
11403	}
11404
11405	if input == nil {
11406		input = &DeleteTrafficMirrorSessionInput{}
11407	}
11408
11409	output = &DeleteTrafficMirrorSessionOutput{}
11410	req = c.newRequest(op, input, output)
11411	return
11412}
11413
11414// DeleteTrafficMirrorSession API operation for Amazon Elastic Compute Cloud.
11415//
11416// Deletes the specified Traffic Mirror session.
11417//
11418// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11419// with awserr.Error's Code and Message methods to get detailed information about
11420// the error.
11421//
11422// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11423// API operation DeleteTrafficMirrorSession for usage and error information.
11424// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorSession
11425func (c *EC2) DeleteTrafficMirrorSession(input *DeleteTrafficMirrorSessionInput) (*DeleteTrafficMirrorSessionOutput, error) {
11426	req, out := c.DeleteTrafficMirrorSessionRequest(input)
11427	return out, req.Send()
11428}
11429
11430// DeleteTrafficMirrorSessionWithContext is the same as DeleteTrafficMirrorSession with the addition of
11431// the ability to pass a context and additional request options.
11432//
11433// See DeleteTrafficMirrorSession for details on how to use this API operation.
11434//
11435// The context must be non-nil and will be used for request cancellation. If
11436// the context is nil a panic will occur. In the future the SDK may create
11437// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11438// for more information on using Contexts.
11439func (c *EC2) DeleteTrafficMirrorSessionWithContext(ctx aws.Context, input *DeleteTrafficMirrorSessionInput, opts ...request.Option) (*DeleteTrafficMirrorSessionOutput, error) {
11440	req, out := c.DeleteTrafficMirrorSessionRequest(input)
11441	req.SetContext(ctx)
11442	req.ApplyOptions(opts...)
11443	return out, req.Send()
11444}
11445
11446const opDeleteTrafficMirrorTarget = "DeleteTrafficMirrorTarget"
11447
11448// DeleteTrafficMirrorTargetRequest generates a "aws/request.Request" representing the
11449// client's request for the DeleteTrafficMirrorTarget operation. The "output" return
11450// value will be populated with the request's response once the request completes
11451// successfully.
11452//
11453// Use "Send" method on the returned Request to send the API call to the service.
11454// the "output" return value is not valid until after Send returns without error.
11455//
11456// See DeleteTrafficMirrorTarget for more information on using the DeleteTrafficMirrorTarget
11457// API call, and error handling.
11458//
11459// This method is useful when you want to inject custom logic or configuration
11460// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11461//
11462//
11463//    // Example sending a request using the DeleteTrafficMirrorTargetRequest method.
11464//    req, resp := client.DeleteTrafficMirrorTargetRequest(params)
11465//
11466//    err := req.Send()
11467//    if err == nil { // resp is now filled
11468//        fmt.Println(resp)
11469//    }
11470//
11471// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorTarget
11472func (c *EC2) DeleteTrafficMirrorTargetRequest(input *DeleteTrafficMirrorTargetInput) (req *request.Request, output *DeleteTrafficMirrorTargetOutput) {
11473	op := &request.Operation{
11474		Name:       opDeleteTrafficMirrorTarget,
11475		HTTPMethod: "POST",
11476		HTTPPath:   "/",
11477	}
11478
11479	if input == nil {
11480		input = &DeleteTrafficMirrorTargetInput{}
11481	}
11482
11483	output = &DeleteTrafficMirrorTargetOutput{}
11484	req = c.newRequest(op, input, output)
11485	return
11486}
11487
11488// DeleteTrafficMirrorTarget API operation for Amazon Elastic Compute Cloud.
11489//
11490// Deletes the specified Traffic Mirror target.
11491//
11492// You cannot delete a Traffic Mirror target that is in use by a Traffic Mirror
11493// session.
11494//
11495// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11496// with awserr.Error's Code and Message methods to get detailed information about
11497// the error.
11498//
11499// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11500// API operation DeleteTrafficMirrorTarget for usage and error information.
11501// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorTarget
11502func (c *EC2) DeleteTrafficMirrorTarget(input *DeleteTrafficMirrorTargetInput) (*DeleteTrafficMirrorTargetOutput, error) {
11503	req, out := c.DeleteTrafficMirrorTargetRequest(input)
11504	return out, req.Send()
11505}
11506
11507// DeleteTrafficMirrorTargetWithContext is the same as DeleteTrafficMirrorTarget with the addition of
11508// the ability to pass a context and additional request options.
11509//
11510// See DeleteTrafficMirrorTarget for details on how to use this API operation.
11511//
11512// The context must be non-nil and will be used for request cancellation. If
11513// the context is nil a panic will occur. In the future the SDK may create
11514// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11515// for more information on using Contexts.
11516func (c *EC2) DeleteTrafficMirrorTargetWithContext(ctx aws.Context, input *DeleteTrafficMirrorTargetInput, opts ...request.Option) (*DeleteTrafficMirrorTargetOutput, error) {
11517	req, out := c.DeleteTrafficMirrorTargetRequest(input)
11518	req.SetContext(ctx)
11519	req.ApplyOptions(opts...)
11520	return out, req.Send()
11521}
11522
11523const opDeleteTransitGateway = "DeleteTransitGateway"
11524
11525// DeleteTransitGatewayRequest generates a "aws/request.Request" representing the
11526// client's request for the DeleteTransitGateway operation. The "output" return
11527// value will be populated with the request's response once the request completes
11528// successfully.
11529//
11530// Use "Send" method on the returned Request to send the API call to the service.
11531// the "output" return value is not valid until after Send returns without error.
11532//
11533// See DeleteTransitGateway for more information on using the DeleteTransitGateway
11534// API call, and error handling.
11535//
11536// This method is useful when you want to inject custom logic or configuration
11537// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11538//
11539//
11540//    // Example sending a request using the DeleteTransitGatewayRequest method.
11541//    req, resp := client.DeleteTransitGatewayRequest(params)
11542//
11543//    err := req.Send()
11544//    if err == nil { // resp is now filled
11545//        fmt.Println(resp)
11546//    }
11547//
11548// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGateway
11549func (c *EC2) DeleteTransitGatewayRequest(input *DeleteTransitGatewayInput) (req *request.Request, output *DeleteTransitGatewayOutput) {
11550	op := &request.Operation{
11551		Name:       opDeleteTransitGateway,
11552		HTTPMethod: "POST",
11553		HTTPPath:   "/",
11554	}
11555
11556	if input == nil {
11557		input = &DeleteTransitGatewayInput{}
11558	}
11559
11560	output = &DeleteTransitGatewayOutput{}
11561	req = c.newRequest(op, input, output)
11562	return
11563}
11564
11565// DeleteTransitGateway API operation for Amazon Elastic Compute Cloud.
11566//
11567// Deletes the specified transit gateway.
11568//
11569// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11570// with awserr.Error's Code and Message methods to get detailed information about
11571// the error.
11572//
11573// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11574// API operation DeleteTransitGateway for usage and error information.
11575// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGateway
11576func (c *EC2) DeleteTransitGateway(input *DeleteTransitGatewayInput) (*DeleteTransitGatewayOutput, error) {
11577	req, out := c.DeleteTransitGatewayRequest(input)
11578	return out, req.Send()
11579}
11580
11581// DeleteTransitGatewayWithContext is the same as DeleteTransitGateway with the addition of
11582// the ability to pass a context and additional request options.
11583//
11584// See DeleteTransitGateway for details on how to use this API operation.
11585//
11586// The context must be non-nil and will be used for request cancellation. If
11587// the context is nil a panic will occur. In the future the SDK may create
11588// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11589// for more information on using Contexts.
11590func (c *EC2) DeleteTransitGatewayWithContext(ctx aws.Context, input *DeleteTransitGatewayInput, opts ...request.Option) (*DeleteTransitGatewayOutput, error) {
11591	req, out := c.DeleteTransitGatewayRequest(input)
11592	req.SetContext(ctx)
11593	req.ApplyOptions(opts...)
11594	return out, req.Send()
11595}
11596
11597const opDeleteTransitGatewayConnect = "DeleteTransitGatewayConnect"
11598
11599// DeleteTransitGatewayConnectRequest generates a "aws/request.Request" representing the
11600// client's request for the DeleteTransitGatewayConnect operation. The "output" return
11601// value will be populated with the request's response once the request completes
11602// successfully.
11603//
11604// Use "Send" method on the returned Request to send the API call to the service.
11605// the "output" return value is not valid until after Send returns without error.
11606//
11607// See DeleteTransitGatewayConnect for more information on using the DeleteTransitGatewayConnect
11608// API call, and error handling.
11609//
11610// This method is useful when you want to inject custom logic or configuration
11611// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11612//
11613//
11614//    // Example sending a request using the DeleteTransitGatewayConnectRequest method.
11615//    req, resp := client.DeleteTransitGatewayConnectRequest(params)
11616//
11617//    err := req.Send()
11618//    if err == nil { // resp is now filled
11619//        fmt.Println(resp)
11620//    }
11621//
11622// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayConnect
11623func (c *EC2) DeleteTransitGatewayConnectRequest(input *DeleteTransitGatewayConnectInput) (req *request.Request, output *DeleteTransitGatewayConnectOutput) {
11624	op := &request.Operation{
11625		Name:       opDeleteTransitGatewayConnect,
11626		HTTPMethod: "POST",
11627		HTTPPath:   "/",
11628	}
11629
11630	if input == nil {
11631		input = &DeleteTransitGatewayConnectInput{}
11632	}
11633
11634	output = &DeleteTransitGatewayConnectOutput{}
11635	req = c.newRequest(op, input, output)
11636	return
11637}
11638
11639// DeleteTransitGatewayConnect API operation for Amazon Elastic Compute Cloud.
11640//
11641// Deletes the specified Connect attachment. You must first delete any Connect
11642// peers for the attachment.
11643//
11644// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11645// with awserr.Error's Code and Message methods to get detailed information about
11646// the error.
11647//
11648// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11649// API operation DeleteTransitGatewayConnect for usage and error information.
11650// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayConnect
11651func (c *EC2) DeleteTransitGatewayConnect(input *DeleteTransitGatewayConnectInput) (*DeleteTransitGatewayConnectOutput, error) {
11652	req, out := c.DeleteTransitGatewayConnectRequest(input)
11653	return out, req.Send()
11654}
11655
11656// DeleteTransitGatewayConnectWithContext is the same as DeleteTransitGatewayConnect with the addition of
11657// the ability to pass a context and additional request options.
11658//
11659// See DeleteTransitGatewayConnect for details on how to use this API operation.
11660//
11661// The context must be non-nil and will be used for request cancellation. If
11662// the context is nil a panic will occur. In the future the SDK may create
11663// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11664// for more information on using Contexts.
11665func (c *EC2) DeleteTransitGatewayConnectWithContext(ctx aws.Context, input *DeleteTransitGatewayConnectInput, opts ...request.Option) (*DeleteTransitGatewayConnectOutput, error) {
11666	req, out := c.DeleteTransitGatewayConnectRequest(input)
11667	req.SetContext(ctx)
11668	req.ApplyOptions(opts...)
11669	return out, req.Send()
11670}
11671
11672const opDeleteTransitGatewayConnectPeer = "DeleteTransitGatewayConnectPeer"
11673
11674// DeleteTransitGatewayConnectPeerRequest generates a "aws/request.Request" representing the
11675// client's request for the DeleteTransitGatewayConnectPeer operation. The "output" return
11676// value will be populated with the request's response once the request completes
11677// successfully.
11678//
11679// Use "Send" method on the returned Request to send the API call to the service.
11680// the "output" return value is not valid until after Send returns without error.
11681//
11682// See DeleteTransitGatewayConnectPeer for more information on using the DeleteTransitGatewayConnectPeer
11683// API call, and error handling.
11684//
11685// This method is useful when you want to inject custom logic or configuration
11686// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11687//
11688//
11689//    // Example sending a request using the DeleteTransitGatewayConnectPeerRequest method.
11690//    req, resp := client.DeleteTransitGatewayConnectPeerRequest(params)
11691//
11692//    err := req.Send()
11693//    if err == nil { // resp is now filled
11694//        fmt.Println(resp)
11695//    }
11696//
11697// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayConnectPeer
11698func (c *EC2) DeleteTransitGatewayConnectPeerRequest(input *DeleteTransitGatewayConnectPeerInput) (req *request.Request, output *DeleteTransitGatewayConnectPeerOutput) {
11699	op := &request.Operation{
11700		Name:       opDeleteTransitGatewayConnectPeer,
11701		HTTPMethod: "POST",
11702		HTTPPath:   "/",
11703	}
11704
11705	if input == nil {
11706		input = &DeleteTransitGatewayConnectPeerInput{}
11707	}
11708
11709	output = &DeleteTransitGatewayConnectPeerOutput{}
11710	req = c.newRequest(op, input, output)
11711	return
11712}
11713
11714// DeleteTransitGatewayConnectPeer API operation for Amazon Elastic Compute Cloud.
11715//
11716// Deletes the specified Connect peer.
11717//
11718// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11719// with awserr.Error's Code and Message methods to get detailed information about
11720// the error.
11721//
11722// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11723// API operation DeleteTransitGatewayConnectPeer for usage and error information.
11724// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayConnectPeer
11725func (c *EC2) DeleteTransitGatewayConnectPeer(input *DeleteTransitGatewayConnectPeerInput) (*DeleteTransitGatewayConnectPeerOutput, error) {
11726	req, out := c.DeleteTransitGatewayConnectPeerRequest(input)
11727	return out, req.Send()
11728}
11729
11730// DeleteTransitGatewayConnectPeerWithContext is the same as DeleteTransitGatewayConnectPeer with the addition of
11731// the ability to pass a context and additional request options.
11732//
11733// See DeleteTransitGatewayConnectPeer for details on how to use this API operation.
11734//
11735// The context must be non-nil and will be used for request cancellation. If
11736// the context is nil a panic will occur. In the future the SDK may create
11737// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11738// for more information on using Contexts.
11739func (c *EC2) DeleteTransitGatewayConnectPeerWithContext(ctx aws.Context, input *DeleteTransitGatewayConnectPeerInput, opts ...request.Option) (*DeleteTransitGatewayConnectPeerOutput, error) {
11740	req, out := c.DeleteTransitGatewayConnectPeerRequest(input)
11741	req.SetContext(ctx)
11742	req.ApplyOptions(opts...)
11743	return out, req.Send()
11744}
11745
11746const opDeleteTransitGatewayMulticastDomain = "DeleteTransitGatewayMulticastDomain"
11747
11748// DeleteTransitGatewayMulticastDomainRequest generates a "aws/request.Request" representing the
11749// client's request for the DeleteTransitGatewayMulticastDomain operation. The "output" return
11750// value will be populated with the request's response once the request completes
11751// successfully.
11752//
11753// Use "Send" method on the returned Request to send the API call to the service.
11754// the "output" return value is not valid until after Send returns without error.
11755//
11756// See DeleteTransitGatewayMulticastDomain for more information on using the DeleteTransitGatewayMulticastDomain
11757// API call, and error handling.
11758//
11759// This method is useful when you want to inject custom logic or configuration
11760// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11761//
11762//
11763//    // Example sending a request using the DeleteTransitGatewayMulticastDomainRequest method.
11764//    req, resp := client.DeleteTransitGatewayMulticastDomainRequest(params)
11765//
11766//    err := req.Send()
11767//    if err == nil { // resp is now filled
11768//        fmt.Println(resp)
11769//    }
11770//
11771// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayMulticastDomain
11772func (c *EC2) DeleteTransitGatewayMulticastDomainRequest(input *DeleteTransitGatewayMulticastDomainInput) (req *request.Request, output *DeleteTransitGatewayMulticastDomainOutput) {
11773	op := &request.Operation{
11774		Name:       opDeleteTransitGatewayMulticastDomain,
11775		HTTPMethod: "POST",
11776		HTTPPath:   "/",
11777	}
11778
11779	if input == nil {
11780		input = &DeleteTransitGatewayMulticastDomainInput{}
11781	}
11782
11783	output = &DeleteTransitGatewayMulticastDomainOutput{}
11784	req = c.newRequest(op, input, output)
11785	return
11786}
11787
11788// DeleteTransitGatewayMulticastDomain API operation for Amazon Elastic Compute Cloud.
11789//
11790// Deletes the specified transit gateway multicast domain.
11791//
11792// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11793// with awserr.Error's Code and Message methods to get detailed information about
11794// the error.
11795//
11796// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11797// API operation DeleteTransitGatewayMulticastDomain for usage and error information.
11798// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayMulticastDomain
11799func (c *EC2) DeleteTransitGatewayMulticastDomain(input *DeleteTransitGatewayMulticastDomainInput) (*DeleteTransitGatewayMulticastDomainOutput, error) {
11800	req, out := c.DeleteTransitGatewayMulticastDomainRequest(input)
11801	return out, req.Send()
11802}
11803
11804// DeleteTransitGatewayMulticastDomainWithContext is the same as DeleteTransitGatewayMulticastDomain with the addition of
11805// the ability to pass a context and additional request options.
11806//
11807// See DeleteTransitGatewayMulticastDomain for details on how to use this API operation.
11808//
11809// The context must be non-nil and will be used for request cancellation. If
11810// the context is nil a panic will occur. In the future the SDK may create
11811// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11812// for more information on using Contexts.
11813func (c *EC2) DeleteTransitGatewayMulticastDomainWithContext(ctx aws.Context, input *DeleteTransitGatewayMulticastDomainInput, opts ...request.Option) (*DeleteTransitGatewayMulticastDomainOutput, error) {
11814	req, out := c.DeleteTransitGatewayMulticastDomainRequest(input)
11815	req.SetContext(ctx)
11816	req.ApplyOptions(opts...)
11817	return out, req.Send()
11818}
11819
11820const opDeleteTransitGatewayPeeringAttachment = "DeleteTransitGatewayPeeringAttachment"
11821
11822// DeleteTransitGatewayPeeringAttachmentRequest generates a "aws/request.Request" representing the
11823// client's request for the DeleteTransitGatewayPeeringAttachment operation. The "output" return
11824// value will be populated with the request's response once the request completes
11825// successfully.
11826//
11827// Use "Send" method on the returned Request to send the API call to the service.
11828// the "output" return value is not valid until after Send returns without error.
11829//
11830// See DeleteTransitGatewayPeeringAttachment for more information on using the DeleteTransitGatewayPeeringAttachment
11831// API call, and error handling.
11832//
11833// This method is useful when you want to inject custom logic or configuration
11834// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11835//
11836//
11837//    // Example sending a request using the DeleteTransitGatewayPeeringAttachmentRequest method.
11838//    req, resp := client.DeleteTransitGatewayPeeringAttachmentRequest(params)
11839//
11840//    err := req.Send()
11841//    if err == nil { // resp is now filled
11842//        fmt.Println(resp)
11843//    }
11844//
11845// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayPeeringAttachment
11846func (c *EC2) DeleteTransitGatewayPeeringAttachmentRequest(input *DeleteTransitGatewayPeeringAttachmentInput) (req *request.Request, output *DeleteTransitGatewayPeeringAttachmentOutput) {
11847	op := &request.Operation{
11848		Name:       opDeleteTransitGatewayPeeringAttachment,
11849		HTTPMethod: "POST",
11850		HTTPPath:   "/",
11851	}
11852
11853	if input == nil {
11854		input = &DeleteTransitGatewayPeeringAttachmentInput{}
11855	}
11856
11857	output = &DeleteTransitGatewayPeeringAttachmentOutput{}
11858	req = c.newRequest(op, input, output)
11859	return
11860}
11861
11862// DeleteTransitGatewayPeeringAttachment API operation for Amazon Elastic Compute Cloud.
11863//
11864// Deletes a transit gateway peering attachment.
11865//
11866// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11867// with awserr.Error's Code and Message methods to get detailed information about
11868// the error.
11869//
11870// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11871// API operation DeleteTransitGatewayPeeringAttachment for usage and error information.
11872// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayPeeringAttachment
11873func (c *EC2) DeleteTransitGatewayPeeringAttachment(input *DeleteTransitGatewayPeeringAttachmentInput) (*DeleteTransitGatewayPeeringAttachmentOutput, error) {
11874	req, out := c.DeleteTransitGatewayPeeringAttachmentRequest(input)
11875	return out, req.Send()
11876}
11877
11878// DeleteTransitGatewayPeeringAttachmentWithContext is the same as DeleteTransitGatewayPeeringAttachment with the addition of
11879// the ability to pass a context and additional request options.
11880//
11881// See DeleteTransitGatewayPeeringAttachment for details on how to use this API operation.
11882//
11883// The context must be non-nil and will be used for request cancellation. If
11884// the context is nil a panic will occur. In the future the SDK may create
11885// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11886// for more information on using Contexts.
11887func (c *EC2) DeleteTransitGatewayPeeringAttachmentWithContext(ctx aws.Context, input *DeleteTransitGatewayPeeringAttachmentInput, opts ...request.Option) (*DeleteTransitGatewayPeeringAttachmentOutput, error) {
11888	req, out := c.DeleteTransitGatewayPeeringAttachmentRequest(input)
11889	req.SetContext(ctx)
11890	req.ApplyOptions(opts...)
11891	return out, req.Send()
11892}
11893
11894const opDeleteTransitGatewayPrefixListReference = "DeleteTransitGatewayPrefixListReference"
11895
11896// DeleteTransitGatewayPrefixListReferenceRequest generates a "aws/request.Request" representing the
11897// client's request for the DeleteTransitGatewayPrefixListReference operation. The "output" return
11898// value will be populated with the request's response once the request completes
11899// successfully.
11900//
11901// Use "Send" method on the returned Request to send the API call to the service.
11902// the "output" return value is not valid until after Send returns without error.
11903//
11904// See DeleteTransitGatewayPrefixListReference for more information on using the DeleteTransitGatewayPrefixListReference
11905// API call, and error handling.
11906//
11907// This method is useful when you want to inject custom logic or configuration
11908// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11909//
11910//
11911//    // Example sending a request using the DeleteTransitGatewayPrefixListReferenceRequest method.
11912//    req, resp := client.DeleteTransitGatewayPrefixListReferenceRequest(params)
11913//
11914//    err := req.Send()
11915//    if err == nil { // resp is now filled
11916//        fmt.Println(resp)
11917//    }
11918//
11919// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayPrefixListReference
11920func (c *EC2) DeleteTransitGatewayPrefixListReferenceRequest(input *DeleteTransitGatewayPrefixListReferenceInput) (req *request.Request, output *DeleteTransitGatewayPrefixListReferenceOutput) {
11921	op := &request.Operation{
11922		Name:       opDeleteTransitGatewayPrefixListReference,
11923		HTTPMethod: "POST",
11924		HTTPPath:   "/",
11925	}
11926
11927	if input == nil {
11928		input = &DeleteTransitGatewayPrefixListReferenceInput{}
11929	}
11930
11931	output = &DeleteTransitGatewayPrefixListReferenceOutput{}
11932	req = c.newRequest(op, input, output)
11933	return
11934}
11935
11936// DeleteTransitGatewayPrefixListReference API operation for Amazon Elastic Compute Cloud.
11937//
11938// Deletes a reference (route) to a prefix list in a specified transit gateway
11939// route table.
11940//
11941// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11942// with awserr.Error's Code and Message methods to get detailed information about
11943// the error.
11944//
11945// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11946// API operation DeleteTransitGatewayPrefixListReference for usage and error information.
11947// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayPrefixListReference
11948func (c *EC2) DeleteTransitGatewayPrefixListReference(input *DeleteTransitGatewayPrefixListReferenceInput) (*DeleteTransitGatewayPrefixListReferenceOutput, error) {
11949	req, out := c.DeleteTransitGatewayPrefixListReferenceRequest(input)
11950	return out, req.Send()
11951}
11952
11953// DeleteTransitGatewayPrefixListReferenceWithContext is the same as DeleteTransitGatewayPrefixListReference with the addition of
11954// the ability to pass a context and additional request options.
11955//
11956// See DeleteTransitGatewayPrefixListReference for details on how to use this API operation.
11957//
11958// The context must be non-nil and will be used for request cancellation. If
11959// the context is nil a panic will occur. In the future the SDK may create
11960// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11961// for more information on using Contexts.
11962func (c *EC2) DeleteTransitGatewayPrefixListReferenceWithContext(ctx aws.Context, input *DeleteTransitGatewayPrefixListReferenceInput, opts ...request.Option) (*DeleteTransitGatewayPrefixListReferenceOutput, error) {
11963	req, out := c.DeleteTransitGatewayPrefixListReferenceRequest(input)
11964	req.SetContext(ctx)
11965	req.ApplyOptions(opts...)
11966	return out, req.Send()
11967}
11968
11969const opDeleteTransitGatewayRoute = "DeleteTransitGatewayRoute"
11970
11971// DeleteTransitGatewayRouteRequest generates a "aws/request.Request" representing the
11972// client's request for the DeleteTransitGatewayRoute operation. The "output" return
11973// value will be populated with the request's response once the request completes
11974// successfully.
11975//
11976// Use "Send" method on the returned Request to send the API call to the service.
11977// the "output" return value is not valid until after Send returns without error.
11978//
11979// See DeleteTransitGatewayRoute for more information on using the DeleteTransitGatewayRoute
11980// API call, and error handling.
11981//
11982// This method is useful when you want to inject custom logic or configuration
11983// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11984//
11985//
11986//    // Example sending a request using the DeleteTransitGatewayRouteRequest method.
11987//    req, resp := client.DeleteTransitGatewayRouteRequest(params)
11988//
11989//    err := req.Send()
11990//    if err == nil { // resp is now filled
11991//        fmt.Println(resp)
11992//    }
11993//
11994// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayRoute
11995func (c *EC2) DeleteTransitGatewayRouteRequest(input *DeleteTransitGatewayRouteInput) (req *request.Request, output *DeleteTransitGatewayRouteOutput) {
11996	op := &request.Operation{
11997		Name:       opDeleteTransitGatewayRoute,
11998		HTTPMethod: "POST",
11999		HTTPPath:   "/",
12000	}
12001
12002	if input == nil {
12003		input = &DeleteTransitGatewayRouteInput{}
12004	}
12005
12006	output = &DeleteTransitGatewayRouteOutput{}
12007	req = c.newRequest(op, input, output)
12008	return
12009}
12010
12011// DeleteTransitGatewayRoute API operation for Amazon Elastic Compute Cloud.
12012//
12013// Deletes the specified route from the specified transit gateway route table.
12014//
12015// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12016// with awserr.Error's Code and Message methods to get detailed information about
12017// the error.
12018//
12019// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12020// API operation DeleteTransitGatewayRoute for usage and error information.
12021// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayRoute
12022func (c *EC2) DeleteTransitGatewayRoute(input *DeleteTransitGatewayRouteInput) (*DeleteTransitGatewayRouteOutput, error) {
12023	req, out := c.DeleteTransitGatewayRouteRequest(input)
12024	return out, req.Send()
12025}
12026
12027// DeleteTransitGatewayRouteWithContext is the same as DeleteTransitGatewayRoute with the addition of
12028// the ability to pass a context and additional request options.
12029//
12030// See DeleteTransitGatewayRoute for details on how to use this API operation.
12031//
12032// The context must be non-nil and will be used for request cancellation. If
12033// the context is nil a panic will occur. In the future the SDK may create
12034// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12035// for more information on using Contexts.
12036func (c *EC2) DeleteTransitGatewayRouteWithContext(ctx aws.Context, input *DeleteTransitGatewayRouteInput, opts ...request.Option) (*DeleteTransitGatewayRouteOutput, error) {
12037	req, out := c.DeleteTransitGatewayRouteRequest(input)
12038	req.SetContext(ctx)
12039	req.ApplyOptions(opts...)
12040	return out, req.Send()
12041}
12042
12043const opDeleteTransitGatewayRouteTable = "DeleteTransitGatewayRouteTable"
12044
12045// DeleteTransitGatewayRouteTableRequest generates a "aws/request.Request" representing the
12046// client's request for the DeleteTransitGatewayRouteTable operation. The "output" return
12047// value will be populated with the request's response once the request completes
12048// successfully.
12049//
12050// Use "Send" method on the returned Request to send the API call to the service.
12051// the "output" return value is not valid until after Send returns without error.
12052//
12053// See DeleteTransitGatewayRouteTable for more information on using the DeleteTransitGatewayRouteTable
12054// API call, and error handling.
12055//
12056// This method is useful when you want to inject custom logic or configuration
12057// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12058//
12059//
12060//    // Example sending a request using the DeleteTransitGatewayRouteTableRequest method.
12061//    req, resp := client.DeleteTransitGatewayRouteTableRequest(params)
12062//
12063//    err := req.Send()
12064//    if err == nil { // resp is now filled
12065//        fmt.Println(resp)
12066//    }
12067//
12068// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayRouteTable
12069func (c *EC2) DeleteTransitGatewayRouteTableRequest(input *DeleteTransitGatewayRouteTableInput) (req *request.Request, output *DeleteTransitGatewayRouteTableOutput) {
12070	op := &request.Operation{
12071		Name:       opDeleteTransitGatewayRouteTable,
12072		HTTPMethod: "POST",
12073		HTTPPath:   "/",
12074	}
12075
12076	if input == nil {
12077		input = &DeleteTransitGatewayRouteTableInput{}
12078	}
12079
12080	output = &DeleteTransitGatewayRouteTableOutput{}
12081	req = c.newRequest(op, input, output)
12082	return
12083}
12084
12085// DeleteTransitGatewayRouteTable API operation for Amazon Elastic Compute Cloud.
12086//
12087// Deletes the specified transit gateway route table. You must disassociate
12088// the route table from any transit gateway route tables before you can delete
12089// it.
12090//
12091// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12092// with awserr.Error's Code and Message methods to get detailed information about
12093// the error.
12094//
12095// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12096// API operation DeleteTransitGatewayRouteTable for usage and error information.
12097// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayRouteTable
12098func (c *EC2) DeleteTransitGatewayRouteTable(input *DeleteTransitGatewayRouteTableInput) (*DeleteTransitGatewayRouteTableOutput, error) {
12099	req, out := c.DeleteTransitGatewayRouteTableRequest(input)
12100	return out, req.Send()
12101}
12102
12103// DeleteTransitGatewayRouteTableWithContext is the same as DeleteTransitGatewayRouteTable with the addition of
12104// the ability to pass a context and additional request options.
12105//
12106// See DeleteTransitGatewayRouteTable for details on how to use this API operation.
12107//
12108// The context must be non-nil and will be used for request cancellation. If
12109// the context is nil a panic will occur. In the future the SDK may create
12110// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12111// for more information on using Contexts.
12112func (c *EC2) DeleteTransitGatewayRouteTableWithContext(ctx aws.Context, input *DeleteTransitGatewayRouteTableInput, opts ...request.Option) (*DeleteTransitGatewayRouteTableOutput, error) {
12113	req, out := c.DeleteTransitGatewayRouteTableRequest(input)
12114	req.SetContext(ctx)
12115	req.ApplyOptions(opts...)
12116	return out, req.Send()
12117}
12118
12119const opDeleteTransitGatewayVpcAttachment = "DeleteTransitGatewayVpcAttachment"
12120
12121// DeleteTransitGatewayVpcAttachmentRequest generates a "aws/request.Request" representing the
12122// client's request for the DeleteTransitGatewayVpcAttachment operation. The "output" return
12123// value will be populated with the request's response once the request completes
12124// successfully.
12125//
12126// Use "Send" method on the returned Request to send the API call to the service.
12127// the "output" return value is not valid until after Send returns without error.
12128//
12129// See DeleteTransitGatewayVpcAttachment for more information on using the DeleteTransitGatewayVpcAttachment
12130// API call, and error handling.
12131//
12132// This method is useful when you want to inject custom logic or configuration
12133// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12134//
12135//
12136//    // Example sending a request using the DeleteTransitGatewayVpcAttachmentRequest method.
12137//    req, resp := client.DeleteTransitGatewayVpcAttachmentRequest(params)
12138//
12139//    err := req.Send()
12140//    if err == nil { // resp is now filled
12141//        fmt.Println(resp)
12142//    }
12143//
12144// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayVpcAttachment
12145func (c *EC2) DeleteTransitGatewayVpcAttachmentRequest(input *DeleteTransitGatewayVpcAttachmentInput) (req *request.Request, output *DeleteTransitGatewayVpcAttachmentOutput) {
12146	op := &request.Operation{
12147		Name:       opDeleteTransitGatewayVpcAttachment,
12148		HTTPMethod: "POST",
12149		HTTPPath:   "/",
12150	}
12151
12152	if input == nil {
12153		input = &DeleteTransitGatewayVpcAttachmentInput{}
12154	}
12155
12156	output = &DeleteTransitGatewayVpcAttachmentOutput{}
12157	req = c.newRequest(op, input, output)
12158	return
12159}
12160
12161// DeleteTransitGatewayVpcAttachment API operation for Amazon Elastic Compute Cloud.
12162//
12163// Deletes the specified VPC attachment.
12164//
12165// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12166// with awserr.Error's Code and Message methods to get detailed information about
12167// the error.
12168//
12169// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12170// API operation DeleteTransitGatewayVpcAttachment for usage and error information.
12171// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayVpcAttachment
12172func (c *EC2) DeleteTransitGatewayVpcAttachment(input *DeleteTransitGatewayVpcAttachmentInput) (*DeleteTransitGatewayVpcAttachmentOutput, error) {
12173	req, out := c.DeleteTransitGatewayVpcAttachmentRequest(input)
12174	return out, req.Send()
12175}
12176
12177// DeleteTransitGatewayVpcAttachmentWithContext is the same as DeleteTransitGatewayVpcAttachment with the addition of
12178// the ability to pass a context and additional request options.
12179//
12180// See DeleteTransitGatewayVpcAttachment for details on how to use this API operation.
12181//
12182// The context must be non-nil and will be used for request cancellation. If
12183// the context is nil a panic will occur. In the future the SDK may create
12184// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12185// for more information on using Contexts.
12186func (c *EC2) DeleteTransitGatewayVpcAttachmentWithContext(ctx aws.Context, input *DeleteTransitGatewayVpcAttachmentInput, opts ...request.Option) (*DeleteTransitGatewayVpcAttachmentOutput, error) {
12187	req, out := c.DeleteTransitGatewayVpcAttachmentRequest(input)
12188	req.SetContext(ctx)
12189	req.ApplyOptions(opts...)
12190	return out, req.Send()
12191}
12192
12193const opDeleteVolume = "DeleteVolume"
12194
12195// DeleteVolumeRequest generates a "aws/request.Request" representing the
12196// client's request for the DeleteVolume operation. The "output" return
12197// value will be populated with the request's response once the request completes
12198// successfully.
12199//
12200// Use "Send" method on the returned Request to send the API call to the service.
12201// the "output" return value is not valid until after Send returns without error.
12202//
12203// See DeleteVolume for more information on using the DeleteVolume
12204// API call, and error handling.
12205//
12206// This method is useful when you want to inject custom logic or configuration
12207// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12208//
12209//
12210//    // Example sending a request using the DeleteVolumeRequest method.
12211//    req, resp := client.DeleteVolumeRequest(params)
12212//
12213//    err := req.Send()
12214//    if err == nil { // resp is now filled
12215//        fmt.Println(resp)
12216//    }
12217//
12218// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVolume
12219func (c *EC2) DeleteVolumeRequest(input *DeleteVolumeInput) (req *request.Request, output *DeleteVolumeOutput) {
12220	op := &request.Operation{
12221		Name:       opDeleteVolume,
12222		HTTPMethod: "POST",
12223		HTTPPath:   "/",
12224	}
12225
12226	if input == nil {
12227		input = &DeleteVolumeInput{}
12228	}
12229
12230	output = &DeleteVolumeOutput{}
12231	req = c.newRequest(op, input, output)
12232	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
12233	return
12234}
12235
12236// DeleteVolume API operation for Amazon Elastic Compute Cloud.
12237//
12238// Deletes the specified EBS volume. The volume must be in the available state
12239// (not attached to an instance).
12240//
12241// The volume can remain in the deleting state for several minutes.
12242//
12243// For more information, see Deleting an Amazon EBS volume (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-volume.html)
12244// in the Amazon Elastic Compute Cloud User Guide.
12245//
12246// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12247// with awserr.Error's Code and Message methods to get detailed information about
12248// the error.
12249//
12250// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12251// API operation DeleteVolume for usage and error information.
12252// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVolume
12253func (c *EC2) DeleteVolume(input *DeleteVolumeInput) (*DeleteVolumeOutput, error) {
12254	req, out := c.DeleteVolumeRequest(input)
12255	return out, req.Send()
12256}
12257
12258// DeleteVolumeWithContext is the same as DeleteVolume with the addition of
12259// the ability to pass a context and additional request options.
12260//
12261// See DeleteVolume for details on how to use this API operation.
12262//
12263// The context must be non-nil and will be used for request cancellation. If
12264// the context is nil a panic will occur. In the future the SDK may create
12265// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12266// for more information on using Contexts.
12267func (c *EC2) DeleteVolumeWithContext(ctx aws.Context, input *DeleteVolumeInput, opts ...request.Option) (*DeleteVolumeOutput, error) {
12268	req, out := c.DeleteVolumeRequest(input)
12269	req.SetContext(ctx)
12270	req.ApplyOptions(opts...)
12271	return out, req.Send()
12272}
12273
12274const opDeleteVpc = "DeleteVpc"
12275
12276// DeleteVpcRequest generates a "aws/request.Request" representing the
12277// client's request for the DeleteVpc operation. The "output" return
12278// value will be populated with the request's response once the request completes
12279// successfully.
12280//
12281// Use "Send" method on the returned Request to send the API call to the service.
12282// the "output" return value is not valid until after Send returns without error.
12283//
12284// See DeleteVpc for more information on using the DeleteVpc
12285// API call, and error handling.
12286//
12287// This method is useful when you want to inject custom logic or configuration
12288// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12289//
12290//
12291//    // Example sending a request using the DeleteVpcRequest method.
12292//    req, resp := client.DeleteVpcRequest(params)
12293//
12294//    err := req.Send()
12295//    if err == nil { // resp is now filled
12296//        fmt.Println(resp)
12297//    }
12298//
12299// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpc
12300func (c *EC2) DeleteVpcRequest(input *DeleteVpcInput) (req *request.Request, output *DeleteVpcOutput) {
12301	op := &request.Operation{
12302		Name:       opDeleteVpc,
12303		HTTPMethod: "POST",
12304		HTTPPath:   "/",
12305	}
12306
12307	if input == nil {
12308		input = &DeleteVpcInput{}
12309	}
12310
12311	output = &DeleteVpcOutput{}
12312	req = c.newRequest(op, input, output)
12313	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
12314	return
12315}
12316
12317// DeleteVpc API operation for Amazon Elastic Compute Cloud.
12318//
12319// Deletes the specified VPC. You must detach or delete all gateways and resources
12320// that are associated with the VPC before you can delete it. For example, you
12321// must terminate all instances running in the VPC, delete all security groups
12322// associated with the VPC (except the default one), delete all route tables
12323// associated with the VPC (except the default one), and so on.
12324//
12325// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12326// with awserr.Error's Code and Message methods to get detailed information about
12327// the error.
12328//
12329// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12330// API operation DeleteVpc for usage and error information.
12331// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpc
12332func (c *EC2) DeleteVpc(input *DeleteVpcInput) (*DeleteVpcOutput, error) {
12333	req, out := c.DeleteVpcRequest(input)
12334	return out, req.Send()
12335}
12336
12337// DeleteVpcWithContext is the same as DeleteVpc with the addition of
12338// the ability to pass a context and additional request options.
12339//
12340// See DeleteVpc for details on how to use this API operation.
12341//
12342// The context must be non-nil and will be used for request cancellation. If
12343// the context is nil a panic will occur. In the future the SDK may create
12344// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12345// for more information on using Contexts.
12346func (c *EC2) DeleteVpcWithContext(ctx aws.Context, input *DeleteVpcInput, opts ...request.Option) (*DeleteVpcOutput, error) {
12347	req, out := c.DeleteVpcRequest(input)
12348	req.SetContext(ctx)
12349	req.ApplyOptions(opts...)
12350	return out, req.Send()
12351}
12352
12353const opDeleteVpcEndpointConnectionNotifications = "DeleteVpcEndpointConnectionNotifications"
12354
12355// DeleteVpcEndpointConnectionNotificationsRequest generates a "aws/request.Request" representing the
12356// client's request for the DeleteVpcEndpointConnectionNotifications operation. The "output" return
12357// value will be populated with the request's response once the request completes
12358// successfully.
12359//
12360// Use "Send" method on the returned Request to send the API call to the service.
12361// the "output" return value is not valid until after Send returns without error.
12362//
12363// See DeleteVpcEndpointConnectionNotifications for more information on using the DeleteVpcEndpointConnectionNotifications
12364// API call, and error handling.
12365//
12366// This method is useful when you want to inject custom logic or configuration
12367// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12368//
12369//
12370//    // Example sending a request using the DeleteVpcEndpointConnectionNotificationsRequest method.
12371//    req, resp := client.DeleteVpcEndpointConnectionNotificationsRequest(params)
12372//
12373//    err := req.Send()
12374//    if err == nil { // resp is now filled
12375//        fmt.Println(resp)
12376//    }
12377//
12378// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointConnectionNotifications
12379func (c *EC2) DeleteVpcEndpointConnectionNotificationsRequest(input *DeleteVpcEndpointConnectionNotificationsInput) (req *request.Request, output *DeleteVpcEndpointConnectionNotificationsOutput) {
12380	op := &request.Operation{
12381		Name:       opDeleteVpcEndpointConnectionNotifications,
12382		HTTPMethod: "POST",
12383		HTTPPath:   "/",
12384	}
12385
12386	if input == nil {
12387		input = &DeleteVpcEndpointConnectionNotificationsInput{}
12388	}
12389
12390	output = &DeleteVpcEndpointConnectionNotificationsOutput{}
12391	req = c.newRequest(op, input, output)
12392	return
12393}
12394
12395// DeleteVpcEndpointConnectionNotifications API operation for Amazon Elastic Compute Cloud.
12396//
12397// Deletes one or more VPC endpoint connection notifications.
12398//
12399// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12400// with awserr.Error's Code and Message methods to get detailed information about
12401// the error.
12402//
12403// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12404// API operation DeleteVpcEndpointConnectionNotifications for usage and error information.
12405// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointConnectionNotifications
12406func (c *EC2) DeleteVpcEndpointConnectionNotifications(input *DeleteVpcEndpointConnectionNotificationsInput) (*DeleteVpcEndpointConnectionNotificationsOutput, error) {
12407	req, out := c.DeleteVpcEndpointConnectionNotificationsRequest(input)
12408	return out, req.Send()
12409}
12410
12411// DeleteVpcEndpointConnectionNotificationsWithContext is the same as DeleteVpcEndpointConnectionNotifications with the addition of
12412// the ability to pass a context and additional request options.
12413//
12414// See DeleteVpcEndpointConnectionNotifications for details on how to use this API operation.
12415//
12416// The context must be non-nil and will be used for request cancellation. If
12417// the context is nil a panic will occur. In the future the SDK may create
12418// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12419// for more information on using Contexts.
12420func (c *EC2) DeleteVpcEndpointConnectionNotificationsWithContext(ctx aws.Context, input *DeleteVpcEndpointConnectionNotificationsInput, opts ...request.Option) (*DeleteVpcEndpointConnectionNotificationsOutput, error) {
12421	req, out := c.DeleteVpcEndpointConnectionNotificationsRequest(input)
12422	req.SetContext(ctx)
12423	req.ApplyOptions(opts...)
12424	return out, req.Send()
12425}
12426
12427const opDeleteVpcEndpointServiceConfigurations = "DeleteVpcEndpointServiceConfigurations"
12428
12429// DeleteVpcEndpointServiceConfigurationsRequest generates a "aws/request.Request" representing the
12430// client's request for the DeleteVpcEndpointServiceConfigurations operation. The "output" return
12431// value will be populated with the request's response once the request completes
12432// successfully.
12433//
12434// Use "Send" method on the returned Request to send the API call to the service.
12435// the "output" return value is not valid until after Send returns without error.
12436//
12437// See DeleteVpcEndpointServiceConfigurations for more information on using the DeleteVpcEndpointServiceConfigurations
12438// API call, and error handling.
12439//
12440// This method is useful when you want to inject custom logic or configuration
12441// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12442//
12443//
12444//    // Example sending a request using the DeleteVpcEndpointServiceConfigurationsRequest method.
12445//    req, resp := client.DeleteVpcEndpointServiceConfigurationsRequest(params)
12446//
12447//    err := req.Send()
12448//    if err == nil { // resp is now filled
12449//        fmt.Println(resp)
12450//    }
12451//
12452// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointServiceConfigurations
12453func (c *EC2) DeleteVpcEndpointServiceConfigurationsRequest(input *DeleteVpcEndpointServiceConfigurationsInput) (req *request.Request, output *DeleteVpcEndpointServiceConfigurationsOutput) {
12454	op := &request.Operation{
12455		Name:       opDeleteVpcEndpointServiceConfigurations,
12456		HTTPMethod: "POST",
12457		HTTPPath:   "/",
12458	}
12459
12460	if input == nil {
12461		input = &DeleteVpcEndpointServiceConfigurationsInput{}
12462	}
12463
12464	output = &DeleteVpcEndpointServiceConfigurationsOutput{}
12465	req = c.newRequest(op, input, output)
12466	return
12467}
12468
12469// DeleteVpcEndpointServiceConfigurations API operation for Amazon Elastic Compute Cloud.
12470//
12471// Deletes one or more VPC endpoint service configurations in your account.
12472// Before you delete the endpoint service configuration, you must reject any
12473// Available or PendingAcceptance interface endpoint connections that are attached
12474// to the service.
12475//
12476// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12477// with awserr.Error's Code and Message methods to get detailed information about
12478// the error.
12479//
12480// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12481// API operation DeleteVpcEndpointServiceConfigurations for usage and error information.
12482// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointServiceConfigurations
12483func (c *EC2) DeleteVpcEndpointServiceConfigurations(input *DeleteVpcEndpointServiceConfigurationsInput) (*DeleteVpcEndpointServiceConfigurationsOutput, error) {
12484	req, out := c.DeleteVpcEndpointServiceConfigurationsRequest(input)
12485	return out, req.Send()
12486}
12487
12488// DeleteVpcEndpointServiceConfigurationsWithContext is the same as DeleteVpcEndpointServiceConfigurations with the addition of
12489// the ability to pass a context and additional request options.
12490//
12491// See DeleteVpcEndpointServiceConfigurations for details on how to use this API operation.
12492//
12493// The context must be non-nil and will be used for request cancellation. If
12494// the context is nil a panic will occur. In the future the SDK may create
12495// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12496// for more information on using Contexts.
12497func (c *EC2) DeleteVpcEndpointServiceConfigurationsWithContext(ctx aws.Context, input *DeleteVpcEndpointServiceConfigurationsInput, opts ...request.Option) (*DeleteVpcEndpointServiceConfigurationsOutput, error) {
12498	req, out := c.DeleteVpcEndpointServiceConfigurationsRequest(input)
12499	req.SetContext(ctx)
12500	req.ApplyOptions(opts...)
12501	return out, req.Send()
12502}
12503
12504const opDeleteVpcEndpoints = "DeleteVpcEndpoints"
12505
12506// DeleteVpcEndpointsRequest generates a "aws/request.Request" representing the
12507// client's request for the DeleteVpcEndpoints operation. The "output" return
12508// value will be populated with the request's response once the request completes
12509// successfully.
12510//
12511// Use "Send" method on the returned Request to send the API call to the service.
12512// the "output" return value is not valid until after Send returns without error.
12513//
12514// See DeleteVpcEndpoints for more information on using the DeleteVpcEndpoints
12515// API call, and error handling.
12516//
12517// This method is useful when you want to inject custom logic or configuration
12518// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12519//
12520//
12521//    // Example sending a request using the DeleteVpcEndpointsRequest method.
12522//    req, resp := client.DeleteVpcEndpointsRequest(params)
12523//
12524//    err := req.Send()
12525//    if err == nil { // resp is now filled
12526//        fmt.Println(resp)
12527//    }
12528//
12529// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpoints
12530func (c *EC2) DeleteVpcEndpointsRequest(input *DeleteVpcEndpointsInput) (req *request.Request, output *DeleteVpcEndpointsOutput) {
12531	op := &request.Operation{
12532		Name:       opDeleteVpcEndpoints,
12533		HTTPMethod: "POST",
12534		HTTPPath:   "/",
12535	}
12536
12537	if input == nil {
12538		input = &DeleteVpcEndpointsInput{}
12539	}
12540
12541	output = &DeleteVpcEndpointsOutput{}
12542	req = c.newRequest(op, input, output)
12543	return
12544}
12545
12546// DeleteVpcEndpoints API operation for Amazon Elastic Compute Cloud.
12547//
12548// Deletes one or more specified VPC endpoints. You can delete any of the following
12549// types of VPC endpoints.
12550//
12551//    * Gateway endpoint,
12552//
12553//    * Gateway Load Balancer endpoint,
12554//
12555//    * Interface endpoint
12556//
12557// The following rules apply when you delete a VPC endpoint:
12558//
12559//    * When you delete a gateway endpoint, we delete the endpoint routes in
12560//    the route tables that are associated with the endpoint.
12561//
12562//    * When you delete a Gateway Load Balancer endpoint, we delete the endpoint
12563//    network interfaces. You can only delete Gateway Load Balancer endpoints
12564//    when the routes that are associated with the endpoint are deleted.
12565//
12566//    * When you delete an interface endpoint, we delete the endpoint network
12567//    interfaces.
12568//
12569// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12570// with awserr.Error's Code and Message methods to get detailed information about
12571// the error.
12572//
12573// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12574// API operation DeleteVpcEndpoints for usage and error information.
12575// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpoints
12576func (c *EC2) DeleteVpcEndpoints(input *DeleteVpcEndpointsInput) (*DeleteVpcEndpointsOutput, error) {
12577	req, out := c.DeleteVpcEndpointsRequest(input)
12578	return out, req.Send()
12579}
12580
12581// DeleteVpcEndpointsWithContext is the same as DeleteVpcEndpoints with the addition of
12582// the ability to pass a context and additional request options.
12583//
12584// See DeleteVpcEndpoints for details on how to use this API operation.
12585//
12586// The context must be non-nil and will be used for request cancellation. If
12587// the context is nil a panic will occur. In the future the SDK may create
12588// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12589// for more information on using Contexts.
12590func (c *EC2) DeleteVpcEndpointsWithContext(ctx aws.Context, input *DeleteVpcEndpointsInput, opts ...request.Option) (*DeleteVpcEndpointsOutput, error) {
12591	req, out := c.DeleteVpcEndpointsRequest(input)
12592	req.SetContext(ctx)
12593	req.ApplyOptions(opts...)
12594	return out, req.Send()
12595}
12596
12597const opDeleteVpcPeeringConnection = "DeleteVpcPeeringConnection"
12598
12599// DeleteVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
12600// client's request for the DeleteVpcPeeringConnection operation. The "output" return
12601// value will be populated with the request's response once the request completes
12602// successfully.
12603//
12604// Use "Send" method on the returned Request to send the API call to the service.
12605// the "output" return value is not valid until after Send returns without error.
12606//
12607// See DeleteVpcPeeringConnection for more information on using the DeleteVpcPeeringConnection
12608// API call, and error handling.
12609//
12610// This method is useful when you want to inject custom logic or configuration
12611// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12612//
12613//
12614//    // Example sending a request using the DeleteVpcPeeringConnectionRequest method.
12615//    req, resp := client.DeleteVpcPeeringConnectionRequest(params)
12616//
12617//    err := req.Send()
12618//    if err == nil { // resp is now filled
12619//        fmt.Println(resp)
12620//    }
12621//
12622// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcPeeringConnection
12623func (c *EC2) DeleteVpcPeeringConnectionRequest(input *DeleteVpcPeeringConnectionInput) (req *request.Request, output *DeleteVpcPeeringConnectionOutput) {
12624	op := &request.Operation{
12625		Name:       opDeleteVpcPeeringConnection,
12626		HTTPMethod: "POST",
12627		HTTPPath:   "/",
12628	}
12629
12630	if input == nil {
12631		input = &DeleteVpcPeeringConnectionInput{}
12632	}
12633
12634	output = &DeleteVpcPeeringConnectionOutput{}
12635	req = c.newRequest(op, input, output)
12636	return
12637}
12638
12639// DeleteVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
12640//
12641// Deletes a VPC peering connection. Either the owner of the requester VPC or
12642// the owner of the accepter VPC can delete the VPC peering connection if it's
12643// in the active state. The owner of the requester VPC can delete a VPC peering
12644// connection in the pending-acceptance state. You cannot delete a VPC peering
12645// connection that's in the failed state.
12646//
12647// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12648// with awserr.Error's Code and Message methods to get detailed information about
12649// the error.
12650//
12651// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12652// API operation DeleteVpcPeeringConnection for usage and error information.
12653// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcPeeringConnection
12654func (c *EC2) DeleteVpcPeeringConnection(input *DeleteVpcPeeringConnectionInput) (*DeleteVpcPeeringConnectionOutput, error) {
12655	req, out := c.DeleteVpcPeeringConnectionRequest(input)
12656	return out, req.Send()
12657}
12658
12659// DeleteVpcPeeringConnectionWithContext is the same as DeleteVpcPeeringConnection with the addition of
12660// the ability to pass a context and additional request options.
12661//
12662// See DeleteVpcPeeringConnection for details on how to use this API operation.
12663//
12664// The context must be non-nil and will be used for request cancellation. If
12665// the context is nil a panic will occur. In the future the SDK may create
12666// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12667// for more information on using Contexts.
12668func (c *EC2) DeleteVpcPeeringConnectionWithContext(ctx aws.Context, input *DeleteVpcPeeringConnectionInput, opts ...request.Option) (*DeleteVpcPeeringConnectionOutput, error) {
12669	req, out := c.DeleteVpcPeeringConnectionRequest(input)
12670	req.SetContext(ctx)
12671	req.ApplyOptions(opts...)
12672	return out, req.Send()
12673}
12674
12675const opDeleteVpnConnection = "DeleteVpnConnection"
12676
12677// DeleteVpnConnectionRequest generates a "aws/request.Request" representing the
12678// client's request for the DeleteVpnConnection operation. The "output" return
12679// value will be populated with the request's response once the request completes
12680// successfully.
12681//
12682// Use "Send" method on the returned Request to send the API call to the service.
12683// the "output" return value is not valid until after Send returns without error.
12684//
12685// See DeleteVpnConnection for more information on using the DeleteVpnConnection
12686// API call, and error handling.
12687//
12688// This method is useful when you want to inject custom logic or configuration
12689// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12690//
12691//
12692//    // Example sending a request using the DeleteVpnConnectionRequest method.
12693//    req, resp := client.DeleteVpnConnectionRequest(params)
12694//
12695//    err := req.Send()
12696//    if err == nil { // resp is now filled
12697//        fmt.Println(resp)
12698//    }
12699//
12700// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnection
12701func (c *EC2) DeleteVpnConnectionRequest(input *DeleteVpnConnectionInput) (req *request.Request, output *DeleteVpnConnectionOutput) {
12702	op := &request.Operation{
12703		Name:       opDeleteVpnConnection,
12704		HTTPMethod: "POST",
12705		HTTPPath:   "/",
12706	}
12707
12708	if input == nil {
12709		input = &DeleteVpnConnectionInput{}
12710	}
12711
12712	output = &DeleteVpnConnectionOutput{}
12713	req = c.newRequest(op, input, output)
12714	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
12715	return
12716}
12717
12718// DeleteVpnConnection API operation for Amazon Elastic Compute Cloud.
12719//
12720// Deletes the specified VPN connection.
12721//
12722// If you're deleting the VPC and its associated components, we recommend that
12723// you detach the virtual private gateway from the VPC and delete the VPC before
12724// deleting the VPN connection. If you believe that the tunnel credentials for
12725// your VPN connection have been compromised, you can delete the VPN connection
12726// and create a new one that has new keys, without needing to delete the VPC
12727// or virtual private gateway. If you create a new VPN connection, you must
12728// reconfigure the customer gateway device using the new configuration information
12729// returned with the new VPN connection ID.
12730//
12731// For certificate-based authentication, delete all AWS Certificate Manager
12732// (ACM) private certificates used for the AWS-side tunnel endpoints for the
12733// VPN connection before deleting the VPN connection.
12734//
12735// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12736// with awserr.Error's Code and Message methods to get detailed information about
12737// the error.
12738//
12739// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12740// API operation DeleteVpnConnection for usage and error information.
12741// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnection
12742func (c *EC2) DeleteVpnConnection(input *DeleteVpnConnectionInput) (*DeleteVpnConnectionOutput, error) {
12743	req, out := c.DeleteVpnConnectionRequest(input)
12744	return out, req.Send()
12745}
12746
12747// DeleteVpnConnectionWithContext is the same as DeleteVpnConnection with the addition of
12748// the ability to pass a context and additional request options.
12749//
12750// See DeleteVpnConnection for details on how to use this API operation.
12751//
12752// The context must be non-nil and will be used for request cancellation. If
12753// the context is nil a panic will occur. In the future the SDK may create
12754// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12755// for more information on using Contexts.
12756func (c *EC2) DeleteVpnConnectionWithContext(ctx aws.Context, input *DeleteVpnConnectionInput, opts ...request.Option) (*DeleteVpnConnectionOutput, error) {
12757	req, out := c.DeleteVpnConnectionRequest(input)
12758	req.SetContext(ctx)
12759	req.ApplyOptions(opts...)
12760	return out, req.Send()
12761}
12762
12763const opDeleteVpnConnectionRoute = "DeleteVpnConnectionRoute"
12764
12765// DeleteVpnConnectionRouteRequest generates a "aws/request.Request" representing the
12766// client's request for the DeleteVpnConnectionRoute operation. The "output" return
12767// value will be populated with the request's response once the request completes
12768// successfully.
12769//
12770// Use "Send" method on the returned Request to send the API call to the service.
12771// the "output" return value is not valid until after Send returns without error.
12772//
12773// See DeleteVpnConnectionRoute for more information on using the DeleteVpnConnectionRoute
12774// API call, and error handling.
12775//
12776// This method is useful when you want to inject custom logic or configuration
12777// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12778//
12779//
12780//    // Example sending a request using the DeleteVpnConnectionRouteRequest method.
12781//    req, resp := client.DeleteVpnConnectionRouteRequest(params)
12782//
12783//    err := req.Send()
12784//    if err == nil { // resp is now filled
12785//        fmt.Println(resp)
12786//    }
12787//
12788// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnectionRoute
12789func (c *EC2) DeleteVpnConnectionRouteRequest(input *DeleteVpnConnectionRouteInput) (req *request.Request, output *DeleteVpnConnectionRouteOutput) {
12790	op := &request.Operation{
12791		Name:       opDeleteVpnConnectionRoute,
12792		HTTPMethod: "POST",
12793		HTTPPath:   "/",
12794	}
12795
12796	if input == nil {
12797		input = &DeleteVpnConnectionRouteInput{}
12798	}
12799
12800	output = &DeleteVpnConnectionRouteOutput{}
12801	req = c.newRequest(op, input, output)
12802	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
12803	return
12804}
12805
12806// DeleteVpnConnectionRoute API operation for Amazon Elastic Compute Cloud.
12807//
12808// Deletes the specified static route associated with a VPN connection between
12809// an existing virtual private gateway and a VPN customer gateway. The static
12810// route allows traffic to be routed from the virtual private gateway to the
12811// VPN customer gateway.
12812//
12813// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12814// with awserr.Error's Code and Message methods to get detailed information about
12815// the error.
12816//
12817// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12818// API operation DeleteVpnConnectionRoute for usage and error information.
12819// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnectionRoute
12820func (c *EC2) DeleteVpnConnectionRoute(input *DeleteVpnConnectionRouteInput) (*DeleteVpnConnectionRouteOutput, error) {
12821	req, out := c.DeleteVpnConnectionRouteRequest(input)
12822	return out, req.Send()
12823}
12824
12825// DeleteVpnConnectionRouteWithContext is the same as DeleteVpnConnectionRoute with the addition of
12826// the ability to pass a context and additional request options.
12827//
12828// See DeleteVpnConnectionRoute for details on how to use this API operation.
12829//
12830// The context must be non-nil and will be used for request cancellation. If
12831// the context is nil a panic will occur. In the future the SDK may create
12832// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12833// for more information on using Contexts.
12834func (c *EC2) DeleteVpnConnectionRouteWithContext(ctx aws.Context, input *DeleteVpnConnectionRouteInput, opts ...request.Option) (*DeleteVpnConnectionRouteOutput, error) {
12835	req, out := c.DeleteVpnConnectionRouteRequest(input)
12836	req.SetContext(ctx)
12837	req.ApplyOptions(opts...)
12838	return out, req.Send()
12839}
12840
12841const opDeleteVpnGateway = "DeleteVpnGateway"
12842
12843// DeleteVpnGatewayRequest generates a "aws/request.Request" representing the
12844// client's request for the DeleteVpnGateway operation. The "output" return
12845// value will be populated with the request's response once the request completes
12846// successfully.
12847//
12848// Use "Send" method on the returned Request to send the API call to the service.
12849// the "output" return value is not valid until after Send returns without error.
12850//
12851// See DeleteVpnGateway for more information on using the DeleteVpnGateway
12852// API call, and error handling.
12853//
12854// This method is useful when you want to inject custom logic or configuration
12855// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12856//
12857//
12858//    // Example sending a request using the DeleteVpnGatewayRequest method.
12859//    req, resp := client.DeleteVpnGatewayRequest(params)
12860//
12861//    err := req.Send()
12862//    if err == nil { // resp is now filled
12863//        fmt.Println(resp)
12864//    }
12865//
12866// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnGateway
12867func (c *EC2) DeleteVpnGatewayRequest(input *DeleteVpnGatewayInput) (req *request.Request, output *DeleteVpnGatewayOutput) {
12868	op := &request.Operation{
12869		Name:       opDeleteVpnGateway,
12870		HTTPMethod: "POST",
12871		HTTPPath:   "/",
12872	}
12873
12874	if input == nil {
12875		input = &DeleteVpnGatewayInput{}
12876	}
12877
12878	output = &DeleteVpnGatewayOutput{}
12879	req = c.newRequest(op, input, output)
12880	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
12881	return
12882}
12883
12884// DeleteVpnGateway API operation for Amazon Elastic Compute Cloud.
12885//
12886// Deletes the specified virtual private gateway. You must first detach the
12887// virtual private gateway from the VPC. Note that you don't need to delete
12888// the virtual private gateway if you plan to delete and recreate the VPN connection
12889// between your VPC and your network.
12890//
12891// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12892// with awserr.Error's Code and Message methods to get detailed information about
12893// the error.
12894//
12895// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12896// API operation DeleteVpnGateway for usage and error information.
12897// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnGateway
12898func (c *EC2) DeleteVpnGateway(input *DeleteVpnGatewayInput) (*DeleteVpnGatewayOutput, error) {
12899	req, out := c.DeleteVpnGatewayRequest(input)
12900	return out, req.Send()
12901}
12902
12903// DeleteVpnGatewayWithContext is the same as DeleteVpnGateway with the addition of
12904// the ability to pass a context and additional request options.
12905//
12906// See DeleteVpnGateway for details on how to use this API operation.
12907//
12908// The context must be non-nil and will be used for request cancellation. If
12909// the context is nil a panic will occur. In the future the SDK may create
12910// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12911// for more information on using Contexts.
12912func (c *EC2) DeleteVpnGatewayWithContext(ctx aws.Context, input *DeleteVpnGatewayInput, opts ...request.Option) (*DeleteVpnGatewayOutput, error) {
12913	req, out := c.DeleteVpnGatewayRequest(input)
12914	req.SetContext(ctx)
12915	req.ApplyOptions(opts...)
12916	return out, req.Send()
12917}
12918
12919const opDeprovisionByoipCidr = "DeprovisionByoipCidr"
12920
12921// DeprovisionByoipCidrRequest generates a "aws/request.Request" representing the
12922// client's request for the DeprovisionByoipCidr operation. The "output" return
12923// value will be populated with the request's response once the request completes
12924// successfully.
12925//
12926// Use "Send" method on the returned Request to send the API call to the service.
12927// the "output" return value is not valid until after Send returns without error.
12928//
12929// See DeprovisionByoipCidr for more information on using the DeprovisionByoipCidr
12930// API call, and error handling.
12931//
12932// This method is useful when you want to inject custom logic or configuration
12933// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12934//
12935//
12936//    // Example sending a request using the DeprovisionByoipCidrRequest method.
12937//    req, resp := client.DeprovisionByoipCidrRequest(params)
12938//
12939//    err := req.Send()
12940//    if err == nil { // resp is now filled
12941//        fmt.Println(resp)
12942//    }
12943//
12944// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeprovisionByoipCidr
12945func (c *EC2) DeprovisionByoipCidrRequest(input *DeprovisionByoipCidrInput) (req *request.Request, output *DeprovisionByoipCidrOutput) {
12946	op := &request.Operation{
12947		Name:       opDeprovisionByoipCidr,
12948		HTTPMethod: "POST",
12949		HTTPPath:   "/",
12950	}
12951
12952	if input == nil {
12953		input = &DeprovisionByoipCidrInput{}
12954	}
12955
12956	output = &DeprovisionByoipCidrOutput{}
12957	req = c.newRequest(op, input, output)
12958	return
12959}
12960
12961// DeprovisionByoipCidr API operation for Amazon Elastic Compute Cloud.
12962//
12963// Releases the specified address range that you provisioned for use with your
12964// AWS resources through bring your own IP addresses (BYOIP) and deletes the
12965// corresponding address pool.
12966//
12967// Before you can release an address range, you must stop advertising it using
12968// WithdrawByoipCidr and you must not have any IP addresses allocated from its
12969// address range.
12970//
12971// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12972// with awserr.Error's Code and Message methods to get detailed information about
12973// the error.
12974//
12975// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12976// API operation DeprovisionByoipCidr for usage and error information.
12977// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeprovisionByoipCidr
12978func (c *EC2) DeprovisionByoipCidr(input *DeprovisionByoipCidrInput) (*DeprovisionByoipCidrOutput, error) {
12979	req, out := c.DeprovisionByoipCidrRequest(input)
12980	return out, req.Send()
12981}
12982
12983// DeprovisionByoipCidrWithContext is the same as DeprovisionByoipCidr with the addition of
12984// the ability to pass a context and additional request options.
12985//
12986// See DeprovisionByoipCidr for details on how to use this API operation.
12987//
12988// The context must be non-nil and will be used for request cancellation. If
12989// the context is nil a panic will occur. In the future the SDK may create
12990// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12991// for more information on using Contexts.
12992func (c *EC2) DeprovisionByoipCidrWithContext(ctx aws.Context, input *DeprovisionByoipCidrInput, opts ...request.Option) (*DeprovisionByoipCidrOutput, error) {
12993	req, out := c.DeprovisionByoipCidrRequest(input)
12994	req.SetContext(ctx)
12995	req.ApplyOptions(opts...)
12996	return out, req.Send()
12997}
12998
12999const opDeregisterImage = "DeregisterImage"
13000
13001// DeregisterImageRequest generates a "aws/request.Request" representing the
13002// client's request for the DeregisterImage operation. The "output" return
13003// value will be populated with the request's response once the request completes
13004// successfully.
13005//
13006// Use "Send" method on the returned Request to send the API call to the service.
13007// the "output" return value is not valid until after Send returns without error.
13008//
13009// See DeregisterImage for more information on using the DeregisterImage
13010// API call, and error handling.
13011//
13012// This method is useful when you want to inject custom logic or configuration
13013// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13014//
13015//
13016//    // Example sending a request using the DeregisterImageRequest method.
13017//    req, resp := client.DeregisterImageRequest(params)
13018//
13019//    err := req.Send()
13020//    if err == nil { // resp is now filled
13021//        fmt.Println(resp)
13022//    }
13023//
13024// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterImage
13025func (c *EC2) DeregisterImageRequest(input *DeregisterImageInput) (req *request.Request, output *DeregisterImageOutput) {
13026	op := &request.Operation{
13027		Name:       opDeregisterImage,
13028		HTTPMethod: "POST",
13029		HTTPPath:   "/",
13030	}
13031
13032	if input == nil {
13033		input = &DeregisterImageInput{}
13034	}
13035
13036	output = &DeregisterImageOutput{}
13037	req = c.newRequest(op, input, output)
13038	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
13039	return
13040}
13041
13042// DeregisterImage API operation for Amazon Elastic Compute Cloud.
13043//
13044// Deregisters the specified AMI. After you deregister an AMI, it can't be used
13045// to launch new instances; however, it doesn't affect any instances that you've
13046// already launched from the AMI. You'll continue to incur usage costs for those
13047// instances until you terminate them.
13048//
13049// When you deregister an Amazon EBS-backed AMI, it doesn't affect the snapshot
13050// that was created for the root volume of the instance during the AMI creation
13051// process. When you deregister an instance store-backed AMI, it doesn't affect
13052// the files that you uploaded to Amazon S3 when you created the AMI.
13053//
13054// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13055// with awserr.Error's Code and Message methods to get detailed information about
13056// the error.
13057//
13058// See the AWS API reference guide for Amazon Elastic Compute Cloud's
13059// API operation DeregisterImage for usage and error information.
13060// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterImage
13061func (c *EC2) DeregisterImage(input *DeregisterImageInput) (*DeregisterImageOutput, error) {
13062	req, out := c.DeregisterImageRequest(input)
13063	return out, req.Send()
13064}
13065
13066// DeregisterImageWithContext is the same as DeregisterImage with the addition of
13067// the ability to pass a context and additional request options.
13068//
13069// See DeregisterImage for details on how to use this API operation.
13070//
13071// The context must be non-nil and will be used for request cancellation. If
13072// the context is nil a panic will occur. In the future the SDK may create
13073// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13074// for more information on using Contexts.
13075func (c *EC2) DeregisterImageWithContext(ctx aws.Context, input *DeregisterImageInput, opts ...request.Option) (*DeregisterImageOutput, error) {
13076	req, out := c.DeregisterImageRequest(input)
13077	req.SetContext(ctx)
13078	req.ApplyOptions(opts...)
13079	return out, req.Send()
13080}
13081
13082const opDeregisterInstanceEventNotificationAttributes = "DeregisterInstanceEventNotificationAttributes"
13083
13084// DeregisterInstanceEventNotificationAttributesRequest generates a "aws/request.Request" representing the
13085// client's request for the DeregisterInstanceEventNotificationAttributes operation. The "output" return
13086// value will be populated with the request's response once the request completes
13087// successfully.
13088//
13089// Use "Send" method on the returned Request to send the API call to the service.
13090// the "output" return value is not valid until after Send returns without error.
13091//
13092// See DeregisterInstanceEventNotificationAttributes for more information on using the DeregisterInstanceEventNotificationAttributes
13093// API call, and error handling.
13094//
13095// This method is useful when you want to inject custom logic or configuration
13096// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13097//
13098//
13099//    // Example sending a request using the DeregisterInstanceEventNotificationAttributesRequest method.
13100//    req, resp := client.DeregisterInstanceEventNotificationAttributesRequest(params)
13101//
13102//    err := req.Send()
13103//    if err == nil { // resp is now filled
13104//        fmt.Println(resp)
13105//    }
13106//
13107// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterInstanceEventNotificationAttributes
13108func (c *EC2) DeregisterInstanceEventNotificationAttributesRequest(input *DeregisterInstanceEventNotificationAttributesInput) (req *request.Request, output *DeregisterInstanceEventNotificationAttributesOutput) {
13109	op := &request.Operation{
13110		Name:       opDeregisterInstanceEventNotificationAttributes,
13111		HTTPMethod: "POST",
13112		HTTPPath:   "/",
13113	}
13114
13115	if input == nil {
13116		input = &DeregisterInstanceEventNotificationAttributesInput{}
13117	}
13118
13119	output = &DeregisterInstanceEventNotificationAttributesOutput{}
13120	req = c.newRequest(op, input, output)
13121	return
13122}
13123
13124// DeregisterInstanceEventNotificationAttributes API operation for Amazon Elastic Compute Cloud.
13125//
13126// Deregisters tag keys to prevent tags that have the specified tag keys from
13127// being included in scheduled event notifications for resources in the Region.
13128//
13129// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13130// with awserr.Error's Code and Message methods to get detailed information about
13131// the error.
13132//
13133// See the AWS API reference guide for Amazon Elastic Compute Cloud's
13134// API operation DeregisterInstanceEventNotificationAttributes for usage and error information.
13135// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterInstanceEventNotificationAttributes
13136func (c *EC2) DeregisterInstanceEventNotificationAttributes(input *DeregisterInstanceEventNotificationAttributesInput) (*DeregisterInstanceEventNotificationAttributesOutput, error) {
13137	req, out := c.DeregisterInstanceEventNotificationAttributesRequest(input)
13138	return out, req.Send()
13139}
13140
13141// DeregisterInstanceEventNotificationAttributesWithContext is the same as DeregisterInstanceEventNotificationAttributes with the addition of
13142// the ability to pass a context and additional request options.
13143//
13144// See DeregisterInstanceEventNotificationAttributes for details on how to use this API operation.
13145//
13146// The context must be non-nil and will be used for request cancellation. If
13147// the context is nil a panic will occur. In the future the SDK may create
13148// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13149// for more information on using Contexts.
13150func (c *EC2) DeregisterInstanceEventNotificationAttributesWithContext(ctx aws.Context, input *DeregisterInstanceEventNotificationAttributesInput, opts ...request.Option) (*DeregisterInstanceEventNotificationAttributesOutput, error) {
13151	req, out := c.DeregisterInstanceEventNotificationAttributesRequest(input)
13152	req.SetContext(ctx)
13153	req.ApplyOptions(opts...)
13154	return out, req.Send()
13155}
13156
13157const opDeregisterTransitGatewayMulticastGroupMembers = "DeregisterTransitGatewayMulticastGroupMembers"
13158
13159// DeregisterTransitGatewayMulticastGroupMembersRequest generates a "aws/request.Request" representing the
13160// client's request for the DeregisterTransitGatewayMulticastGroupMembers operation. The "output" return
13161// value will be populated with the request's response once the request completes
13162// successfully.
13163//
13164// Use "Send" method on the returned Request to send the API call to the service.
13165// the "output" return value is not valid until after Send returns without error.
13166//
13167// See DeregisterTransitGatewayMulticastGroupMembers for more information on using the DeregisterTransitGatewayMulticastGroupMembers
13168// API call, and error handling.
13169//
13170// This method is useful when you want to inject custom logic or configuration
13171// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13172//
13173//
13174//    // Example sending a request using the DeregisterTransitGatewayMulticastGroupMembersRequest method.
13175//    req, resp := client.DeregisterTransitGatewayMulticastGroupMembersRequest(params)
13176//
13177//    err := req.Send()
13178//    if err == nil { // resp is now filled
13179//        fmt.Println(resp)
13180//    }
13181//
13182// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterTransitGatewayMulticastGroupMembers
13183func (c *EC2) DeregisterTransitGatewayMulticastGroupMembersRequest(input *DeregisterTransitGatewayMulticastGroupMembersInput) (req *request.Request, output *DeregisterTransitGatewayMulticastGroupMembersOutput) {
13184	op := &request.Operation{
13185		Name:       opDeregisterTransitGatewayMulticastGroupMembers,
13186		HTTPMethod: "POST",
13187		HTTPPath:   "/",
13188	}
13189
13190	if input == nil {
13191		input = &DeregisterTransitGatewayMulticastGroupMembersInput{}
13192	}
13193
13194	output = &DeregisterTransitGatewayMulticastGroupMembersOutput{}
13195	req = c.newRequest(op, input, output)
13196	return
13197}
13198
13199// DeregisterTransitGatewayMulticastGroupMembers API operation for Amazon Elastic Compute Cloud.
13200//
13201// Deregisters the specified members (network interfaces) from the transit gateway
13202// multicast group.
13203//
13204// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13205// with awserr.Error's Code and Message methods to get detailed information about
13206// the error.
13207//
13208// See the AWS API reference guide for Amazon Elastic Compute Cloud's
13209// API operation DeregisterTransitGatewayMulticastGroupMembers for usage and error information.
13210// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterTransitGatewayMulticastGroupMembers
13211func (c *EC2) DeregisterTransitGatewayMulticastGroupMembers(input *DeregisterTransitGatewayMulticastGroupMembersInput) (*DeregisterTransitGatewayMulticastGroupMembersOutput, error) {
13212	req, out := c.DeregisterTransitGatewayMulticastGroupMembersRequest(input)
13213	return out, req.Send()
13214}
13215
13216// DeregisterTransitGatewayMulticastGroupMembersWithContext is the same as DeregisterTransitGatewayMulticastGroupMembers with the addition of
13217// the ability to pass a context and additional request options.
13218//
13219// See DeregisterTransitGatewayMulticastGroupMembers for details on how to use this API operation.
13220//
13221// The context must be non-nil and will be used for request cancellation. If
13222// the context is nil a panic will occur. In the future the SDK may create
13223// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13224// for more information on using Contexts.
13225func (c *EC2) DeregisterTransitGatewayMulticastGroupMembersWithContext(ctx aws.Context, input *DeregisterTransitGatewayMulticastGroupMembersInput, opts ...request.Option) (*DeregisterTransitGatewayMulticastGroupMembersOutput, error) {
13226	req, out := c.DeregisterTransitGatewayMulticastGroupMembersRequest(input)
13227	req.SetContext(ctx)
13228	req.ApplyOptions(opts...)
13229	return out, req.Send()
13230}
13231
13232const opDeregisterTransitGatewayMulticastGroupSources = "DeregisterTransitGatewayMulticastGroupSources"
13233
13234// DeregisterTransitGatewayMulticastGroupSourcesRequest generates a "aws/request.Request" representing the
13235// client's request for the DeregisterTransitGatewayMulticastGroupSources operation. The "output" return
13236// value will be populated with the request's response once the request completes
13237// successfully.
13238//
13239// Use "Send" method on the returned Request to send the API call to the service.
13240// the "output" return value is not valid until after Send returns without error.
13241//
13242// See DeregisterTransitGatewayMulticastGroupSources for more information on using the DeregisterTransitGatewayMulticastGroupSources
13243// API call, and error handling.
13244//
13245// This method is useful when you want to inject custom logic or configuration
13246// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13247//
13248//
13249//    // Example sending a request using the DeregisterTransitGatewayMulticastGroupSourcesRequest method.
13250//    req, resp := client.DeregisterTransitGatewayMulticastGroupSourcesRequest(params)
13251//
13252//    err := req.Send()
13253//    if err == nil { // resp is now filled
13254//        fmt.Println(resp)
13255//    }
13256//
13257// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterTransitGatewayMulticastGroupSources
13258func (c *EC2) DeregisterTransitGatewayMulticastGroupSourcesRequest(input *DeregisterTransitGatewayMulticastGroupSourcesInput) (req *request.Request, output *DeregisterTransitGatewayMulticastGroupSourcesOutput) {
13259	op := &request.Operation{
13260		Name:       opDeregisterTransitGatewayMulticastGroupSources,
13261		HTTPMethod: "POST",
13262		HTTPPath:   "/",
13263	}
13264
13265	if input == nil {
13266		input = &DeregisterTransitGatewayMulticastGroupSourcesInput{}
13267	}
13268
13269	output = &DeregisterTransitGatewayMulticastGroupSourcesOutput{}
13270	req = c.newRequest(op, input, output)
13271	return
13272}
13273
13274// DeregisterTransitGatewayMulticastGroupSources API operation for Amazon Elastic Compute Cloud.
13275//
13276// Deregisters the specified sources (network interfaces) from the transit gateway
13277// multicast group.
13278//
13279// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13280// with awserr.Error's Code and Message methods to get detailed information about
13281// the error.
13282//
13283// See the AWS API reference guide for Amazon Elastic Compute Cloud's
13284// API operation DeregisterTransitGatewayMulticastGroupSources for usage and error information.
13285// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterTransitGatewayMulticastGroupSources
13286func (c *EC2) DeregisterTransitGatewayMulticastGroupSources(input *DeregisterTransitGatewayMulticastGroupSourcesInput) (*DeregisterTransitGatewayMulticastGroupSourcesOutput, error) {
13287	req, out := c.DeregisterTransitGatewayMulticastGroupSourcesRequest(input)
13288	return out, req.Send()
13289}
13290
13291// DeregisterTransitGatewayMulticastGroupSourcesWithContext is the same as DeregisterTransitGatewayMulticastGroupSources with the addition of
13292// the ability to pass a context and additional request options.
13293//
13294// See DeregisterTransitGatewayMulticastGroupSources for details on how to use this API operation.
13295//
13296// The context must be non-nil and will be used for request cancellation. If
13297// the context is nil a panic will occur. In the future the SDK may create
13298// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13299// for more information on using Contexts.
13300func (c *EC2) DeregisterTransitGatewayMulticastGroupSourcesWithContext(ctx aws.Context, input *DeregisterTransitGatewayMulticastGroupSourcesInput, opts ...request.Option) (*DeregisterTransitGatewayMulticastGroupSourcesOutput, error) {
13301	req, out := c.DeregisterTransitGatewayMulticastGroupSourcesRequest(input)
13302	req.SetContext(ctx)
13303	req.ApplyOptions(opts...)
13304	return out, req.Send()
13305}
13306
13307const opDescribeAccountAttributes = "DescribeAccountAttributes"
13308
13309// DescribeAccountAttributesRequest generates a "aws/request.Request" representing the
13310// client's request for the DescribeAccountAttributes operation. The "output" return
13311// value will be populated with the request's response once the request completes
13312// successfully.
13313//
13314// Use "Send" method on the returned Request to send the API call to the service.
13315// the "output" return value is not valid until after Send returns without error.
13316//
13317// See DescribeAccountAttributes for more information on using the DescribeAccountAttributes
13318// API call, and error handling.
13319//
13320// This method is useful when you want to inject custom logic or configuration
13321// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13322//
13323//
13324//    // Example sending a request using the DescribeAccountAttributesRequest method.
13325//    req, resp := client.DescribeAccountAttributesRequest(params)
13326//
13327//    err := req.Send()
13328//    if err == nil { // resp is now filled
13329//        fmt.Println(resp)
13330//    }
13331//
13332// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAccountAttributes
13333func (c *EC2) DescribeAccountAttributesRequest(input *DescribeAccountAttributesInput) (req *request.Request, output *DescribeAccountAttributesOutput) {
13334	op := &request.Operation{
13335		Name:       opDescribeAccountAttributes,
13336		HTTPMethod: "POST",
13337		HTTPPath:   "/",
13338	}
13339
13340	if input == nil {
13341		input = &DescribeAccountAttributesInput{}
13342	}
13343
13344	output = &DescribeAccountAttributesOutput{}
13345	req = c.newRequest(op, input, output)
13346	return
13347}
13348
13349// DescribeAccountAttributes API operation for Amazon Elastic Compute Cloud.
13350//
13351// Describes attributes of your AWS account. The following are the supported
13352// account attributes:
13353//
13354//    * supported-platforms: Indicates whether your account can launch instances
13355//    into EC2-Classic and EC2-VPC, or only into EC2-VPC.
13356//
13357//    * default-vpc: The ID of the default VPC for your account, or none.
13358//
13359//    * max-instances: This attribute is no longer supported. The returned value
13360//    does not reflect your actual vCPU limit for running On-Demand Instances.
13361//    For more information, see On-Demand Instance Limits (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-on-demand-instances.html#ec2-on-demand-instances-limits)
13362//    in the Amazon Elastic Compute Cloud User Guide.
13363//
13364//    * vpc-max-security-groups-per-interface: The maximum number of security
13365//    groups that you can assign to a network interface.
13366//
13367//    * max-elastic-ips: The maximum number of Elastic IP addresses that you
13368//    can allocate for use with EC2-Classic.
13369//
13370//    * vpc-max-elastic-ips: The maximum number of Elastic IP addresses that
13371//    you can allocate for use with EC2-VPC.
13372//
13373// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13374// with awserr.Error's Code and Message methods to get detailed information about
13375// the error.
13376//
13377// See the AWS API reference guide for Amazon Elastic Compute Cloud's
13378// API operation DescribeAccountAttributes for usage and error information.
13379// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAccountAttributes
13380func (c *EC2) DescribeAccountAttributes(input *DescribeAccountAttributesInput) (*DescribeAccountAttributesOutput, error) {
13381	req, out := c.DescribeAccountAttributesRequest(input)
13382	return out, req.Send()
13383}
13384
13385// DescribeAccountAttributesWithContext is the same as DescribeAccountAttributes with the addition of
13386// the ability to pass a context and additional request options.
13387//
13388// See DescribeAccountAttributes for details on how to use this API operation.
13389//
13390// The context must be non-nil and will be used for request cancellation. If
13391// the context is nil a panic will occur. In the future the SDK may create
13392// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13393// for more information on using Contexts.
13394func (c *EC2) DescribeAccountAttributesWithContext(ctx aws.Context, input *DescribeAccountAttributesInput, opts ...request.Option) (*DescribeAccountAttributesOutput, error) {
13395	req, out := c.DescribeAccountAttributesRequest(input)
13396	req.SetContext(ctx)
13397	req.ApplyOptions(opts...)
13398	return out, req.Send()
13399}
13400
13401const opDescribeAddresses = "DescribeAddresses"
13402
13403// DescribeAddressesRequest generates a "aws/request.Request" representing the
13404// client's request for the DescribeAddresses operation. The "output" return
13405// value will be populated with the request's response once the request completes
13406// successfully.
13407//
13408// Use "Send" method on the returned Request to send the API call to the service.
13409// the "output" return value is not valid until after Send returns without error.
13410//
13411// See DescribeAddresses for more information on using the DescribeAddresses
13412// API call, and error handling.
13413//
13414// This method is useful when you want to inject custom logic or configuration
13415// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13416//
13417//
13418//    // Example sending a request using the DescribeAddressesRequest method.
13419//    req, resp := client.DescribeAddressesRequest(params)
13420//
13421//    err := req.Send()
13422//    if err == nil { // resp is now filled
13423//        fmt.Println(resp)
13424//    }
13425//
13426// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAddresses
13427func (c *EC2) DescribeAddressesRequest(input *DescribeAddressesInput) (req *request.Request, output *DescribeAddressesOutput) {
13428	op := &request.Operation{
13429		Name:       opDescribeAddresses,
13430		HTTPMethod: "POST",
13431		HTTPPath:   "/",
13432	}
13433
13434	if input == nil {
13435		input = &DescribeAddressesInput{}
13436	}
13437
13438	output = &DescribeAddressesOutput{}
13439	req = c.newRequest(op, input, output)
13440	return
13441}
13442
13443// DescribeAddresses API operation for Amazon Elastic Compute Cloud.
13444//
13445// Describes the specified Elastic IP addresses or all of your Elastic IP addresses.
13446//
13447// An Elastic IP address is for use in either the EC2-Classic platform or in
13448// a VPC. For more information, see Elastic IP Addresses (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
13449// in the Amazon Elastic Compute Cloud User Guide.
13450//
13451// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13452// with awserr.Error's Code and Message methods to get detailed information about
13453// the error.
13454//
13455// See the AWS API reference guide for Amazon Elastic Compute Cloud's
13456// API operation DescribeAddresses for usage and error information.
13457// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAddresses
13458func (c *EC2) DescribeAddresses(input *DescribeAddressesInput) (*DescribeAddressesOutput, error) {
13459	req, out := c.DescribeAddressesRequest(input)
13460	return out, req.Send()
13461}
13462
13463// DescribeAddressesWithContext is the same as DescribeAddresses with the addition of
13464// the ability to pass a context and additional request options.
13465//
13466// See DescribeAddresses for details on how to use this API operation.
13467//
13468// The context must be non-nil and will be used for request cancellation. If
13469// the context is nil a panic will occur. In the future the SDK may create
13470// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13471// for more information on using Contexts.
13472func (c *EC2) DescribeAddressesWithContext(ctx aws.Context, input *DescribeAddressesInput, opts ...request.Option) (*DescribeAddressesOutput, error) {
13473	req, out := c.DescribeAddressesRequest(input)
13474	req.SetContext(ctx)
13475	req.ApplyOptions(opts...)
13476	return out, req.Send()
13477}
13478
13479const opDescribeAddressesAttribute = "DescribeAddressesAttribute"
13480
13481// DescribeAddressesAttributeRequest generates a "aws/request.Request" representing the
13482// client's request for the DescribeAddressesAttribute operation. The "output" return
13483// value will be populated with the request's response once the request completes
13484// successfully.
13485//
13486// Use "Send" method on the returned Request to send the API call to the service.
13487// the "output" return value is not valid until after Send returns without error.
13488//
13489// See DescribeAddressesAttribute for more information on using the DescribeAddressesAttribute
13490// API call, and error handling.
13491//
13492// This method is useful when you want to inject custom logic or configuration
13493// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13494//
13495//
13496//    // Example sending a request using the DescribeAddressesAttributeRequest method.
13497//    req, resp := client.DescribeAddressesAttributeRequest(params)
13498//
13499//    err := req.Send()
13500//    if err == nil { // resp is now filled
13501//        fmt.Println(resp)
13502//    }
13503//
13504// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAddressesAttribute
13505func (c *EC2) DescribeAddressesAttributeRequest(input *DescribeAddressesAttributeInput) (req *request.Request, output *DescribeAddressesAttributeOutput) {
13506	op := &request.Operation{
13507		Name:       opDescribeAddressesAttribute,
13508		HTTPMethod: "POST",
13509		HTTPPath:   "/",
13510		Paginator: &request.Paginator{
13511			InputTokens:     []string{"NextToken"},
13512			OutputTokens:    []string{"NextToken"},
13513			LimitToken:      "MaxResults",
13514			TruncationToken: "",
13515		},
13516	}
13517
13518	if input == nil {
13519		input = &DescribeAddressesAttributeInput{}
13520	}
13521
13522	output = &DescribeAddressesAttributeOutput{}
13523	req = c.newRequest(op, input, output)
13524	return
13525}
13526
13527// DescribeAddressesAttribute API operation for Amazon Elastic Compute Cloud.
13528//
13529// Describes the attributes of the specified Elastic IP addresses. For requirements,
13530// see Using reverse DNS for email applications (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html#Using_Elastic_Addressing_Reverse_DNS).
13531//
13532// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13533// with awserr.Error's Code and Message methods to get detailed information about
13534// the error.
13535//
13536// See the AWS API reference guide for Amazon Elastic Compute Cloud's
13537// API operation DescribeAddressesAttribute for usage and error information.
13538// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAddressesAttribute
13539func (c *EC2) DescribeAddressesAttribute(input *DescribeAddressesAttributeInput) (*DescribeAddressesAttributeOutput, error) {
13540	req, out := c.DescribeAddressesAttributeRequest(input)
13541	return out, req.Send()
13542}
13543
13544// DescribeAddressesAttributeWithContext is the same as DescribeAddressesAttribute with the addition of
13545// the ability to pass a context and additional request options.
13546//
13547// See DescribeAddressesAttribute for details on how to use this API operation.
13548//
13549// The context must be non-nil and will be used for request cancellation. If
13550// the context is nil a panic will occur. In the future the SDK may create
13551// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13552// for more information on using Contexts.
13553func (c *EC2) DescribeAddressesAttributeWithContext(ctx aws.Context, input *DescribeAddressesAttributeInput, opts ...request.Option) (*DescribeAddressesAttributeOutput, error) {
13554	req, out := c.DescribeAddressesAttributeRequest(input)
13555	req.SetContext(ctx)
13556	req.ApplyOptions(opts...)
13557	return out, req.Send()
13558}
13559
13560// DescribeAddressesAttributePages iterates over the pages of a DescribeAddressesAttribute operation,
13561// calling the "fn" function with the response data for each page. To stop
13562// iterating, return false from the fn function.
13563//
13564// See DescribeAddressesAttribute method for more information on how to use this operation.
13565//
13566// Note: This operation can generate multiple requests to a service.
13567//
13568//    // Example iterating over at most 3 pages of a DescribeAddressesAttribute operation.
13569//    pageNum := 0
13570//    err := client.DescribeAddressesAttributePages(params,
13571//        func(page *ec2.DescribeAddressesAttributeOutput, lastPage bool) bool {
13572//            pageNum++
13573//            fmt.Println(page)
13574//            return pageNum <= 3
13575//        })
13576//
13577func (c *EC2) DescribeAddressesAttributePages(input *DescribeAddressesAttributeInput, fn func(*DescribeAddressesAttributeOutput, bool) bool) error {
13578	return c.DescribeAddressesAttributePagesWithContext(aws.BackgroundContext(), input, fn)
13579}
13580
13581// DescribeAddressesAttributePagesWithContext same as DescribeAddressesAttributePages except
13582// it takes a Context and allows setting request options on the pages.
13583//
13584// The context must be non-nil and will be used for request cancellation. If
13585// the context is nil a panic will occur. In the future the SDK may create
13586// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13587// for more information on using Contexts.
13588func (c *EC2) DescribeAddressesAttributePagesWithContext(ctx aws.Context, input *DescribeAddressesAttributeInput, fn func(*DescribeAddressesAttributeOutput, bool) bool, opts ...request.Option) error {
13589	p := request.Pagination{
13590		NewRequest: func() (*request.Request, error) {
13591			var inCpy *DescribeAddressesAttributeInput
13592			if input != nil {
13593				tmp := *input
13594				inCpy = &tmp
13595			}
13596			req, _ := c.DescribeAddressesAttributeRequest(inCpy)
13597			req.SetContext(ctx)
13598			req.ApplyOptions(opts...)
13599			return req, nil
13600		},
13601	}
13602
13603	for p.Next() {
13604		if !fn(p.Page().(*DescribeAddressesAttributeOutput), !p.HasNextPage()) {
13605			break
13606		}
13607	}
13608
13609	return p.Err()
13610}
13611
13612const opDescribeAggregateIdFormat = "DescribeAggregateIdFormat"
13613
13614// DescribeAggregateIdFormatRequest generates a "aws/request.Request" representing the
13615// client's request for the DescribeAggregateIdFormat operation. The "output" return
13616// value will be populated with the request's response once the request completes
13617// successfully.
13618//
13619// Use "Send" method on the returned Request to send the API call to the service.
13620// the "output" return value is not valid until after Send returns without error.
13621//
13622// See DescribeAggregateIdFormat for more information on using the DescribeAggregateIdFormat
13623// API call, and error handling.
13624//
13625// This method is useful when you want to inject custom logic or configuration
13626// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13627//
13628//
13629//    // Example sending a request using the DescribeAggregateIdFormatRequest method.
13630//    req, resp := client.DescribeAggregateIdFormatRequest(params)
13631//
13632//    err := req.Send()
13633//    if err == nil { // resp is now filled
13634//        fmt.Println(resp)
13635//    }
13636//
13637// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAggregateIdFormat
13638func (c *EC2) DescribeAggregateIdFormatRequest(input *DescribeAggregateIdFormatInput) (req *request.Request, output *DescribeAggregateIdFormatOutput) {
13639	op := &request.Operation{
13640		Name:       opDescribeAggregateIdFormat,
13641		HTTPMethod: "POST",
13642		HTTPPath:   "/",
13643	}
13644
13645	if input == nil {
13646		input = &DescribeAggregateIdFormatInput{}
13647	}
13648
13649	output = &DescribeAggregateIdFormatOutput{}
13650	req = c.newRequest(op, input, output)
13651	return
13652}
13653
13654// DescribeAggregateIdFormat API operation for Amazon Elastic Compute Cloud.
13655//
13656// Describes the longer ID format settings for all resource types in a specific
13657// Region. This request is useful for performing a quick audit to determine
13658// whether a specific Region is fully opted in for longer IDs (17-character
13659// IDs).
13660//
13661// This request only returns information about resource types that support longer
13662// IDs.
13663//
13664// The following resource types support longer IDs: bundle | conversion-task
13665// | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association
13666// | export-task | flow-log | image | import-task | instance | internet-gateway
13667// | network-acl | network-acl-association | network-interface | network-interface-attachment
13668// | prefix-list | reservation | route-table | route-table-association | security-group
13669// | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
13670// | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
13671//
13672// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13673// with awserr.Error's Code and Message methods to get detailed information about
13674// the error.
13675//
13676// See the AWS API reference guide for Amazon Elastic Compute Cloud's
13677// API operation DescribeAggregateIdFormat for usage and error information.
13678// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAggregateIdFormat
13679func (c *EC2) DescribeAggregateIdFormat(input *DescribeAggregateIdFormatInput) (*DescribeAggregateIdFormatOutput, error) {
13680	req, out := c.DescribeAggregateIdFormatRequest(input)
13681	return out, req.Send()
13682}
13683
13684// DescribeAggregateIdFormatWithContext is the same as DescribeAggregateIdFormat with the addition of
13685// the ability to pass a context and additional request options.
13686//
13687// See DescribeAggregateIdFormat for details on how to use this API operation.
13688//
13689// The context must be non-nil and will be used for request cancellation. If
13690// the context is nil a panic will occur. In the future the SDK may create
13691// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13692// for more information on using Contexts.
13693func (c *EC2) DescribeAggregateIdFormatWithContext(ctx aws.Context, input *DescribeAggregateIdFormatInput, opts ...request.Option) (*DescribeAggregateIdFormatOutput, error) {
13694	req, out := c.DescribeAggregateIdFormatRequest(input)
13695	req.SetContext(ctx)
13696	req.ApplyOptions(opts...)
13697	return out, req.Send()
13698}
13699
13700const opDescribeAvailabilityZones = "DescribeAvailabilityZones"
13701
13702// DescribeAvailabilityZonesRequest generates a "aws/request.Request" representing the
13703// client's request for the DescribeAvailabilityZones operation. The "output" return
13704// value will be populated with the request's response once the request completes
13705// successfully.
13706//
13707// Use "Send" method on the returned Request to send the API call to the service.
13708// the "output" return value is not valid until after Send returns without error.
13709//
13710// See DescribeAvailabilityZones for more information on using the DescribeAvailabilityZones
13711// API call, and error handling.
13712//
13713// This method is useful when you want to inject custom logic or configuration
13714// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13715//
13716//
13717//    // Example sending a request using the DescribeAvailabilityZonesRequest method.
13718//    req, resp := client.DescribeAvailabilityZonesRequest(params)
13719//
13720//    err := req.Send()
13721//    if err == nil { // resp is now filled
13722//        fmt.Println(resp)
13723//    }
13724//
13725// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAvailabilityZones
13726func (c *EC2) DescribeAvailabilityZonesRequest(input *DescribeAvailabilityZonesInput) (req *request.Request, output *DescribeAvailabilityZonesOutput) {
13727	op := &request.Operation{
13728		Name:       opDescribeAvailabilityZones,
13729		HTTPMethod: "POST",
13730		HTTPPath:   "/",
13731	}
13732
13733	if input == nil {
13734		input = &DescribeAvailabilityZonesInput{}
13735	}
13736
13737	output = &DescribeAvailabilityZonesOutput{}
13738	req = c.newRequest(op, input, output)
13739	return
13740}
13741
13742// DescribeAvailabilityZones API operation for Amazon Elastic Compute Cloud.
13743//
13744// Describes the Availability Zones, Local Zones, and Wavelength Zones that
13745// are available to you. If there is an event impacting a zone, you can use
13746// this request to view the state and any provided messages for that zone.
13747//
13748// For more information about Availability Zones, Local Zones, and Wavelength
13749// Zones, see Regions, Zones and Outposts (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html)
13750// in the Amazon Elastic Compute Cloud User Guide.
13751//
13752// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13753// with awserr.Error's Code and Message methods to get detailed information about
13754// the error.
13755//
13756// See the AWS API reference guide for Amazon Elastic Compute Cloud's
13757// API operation DescribeAvailabilityZones for usage and error information.
13758// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAvailabilityZones
13759func (c *EC2) DescribeAvailabilityZones(input *DescribeAvailabilityZonesInput) (*DescribeAvailabilityZonesOutput, error) {
13760	req, out := c.DescribeAvailabilityZonesRequest(input)
13761	return out, req.Send()
13762}
13763
13764// DescribeAvailabilityZonesWithContext is the same as DescribeAvailabilityZones with the addition of
13765// the ability to pass a context and additional request options.
13766//
13767// See DescribeAvailabilityZones for details on how to use this API operation.
13768//
13769// The context must be non-nil and will be used for request cancellation. If
13770// the context is nil a panic will occur. In the future the SDK may create
13771// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13772// for more information on using Contexts.
13773func (c *EC2) DescribeAvailabilityZonesWithContext(ctx aws.Context, input *DescribeAvailabilityZonesInput, opts ...request.Option) (*DescribeAvailabilityZonesOutput, error) {
13774	req, out := c.DescribeAvailabilityZonesRequest(input)
13775	req.SetContext(ctx)
13776	req.ApplyOptions(opts...)
13777	return out, req.Send()
13778}
13779
13780const opDescribeBundleTasks = "DescribeBundleTasks"
13781
13782// DescribeBundleTasksRequest generates a "aws/request.Request" representing the
13783// client's request for the DescribeBundleTasks operation. The "output" return
13784// value will be populated with the request's response once the request completes
13785// successfully.
13786//
13787// Use "Send" method on the returned Request to send the API call to the service.
13788// the "output" return value is not valid until after Send returns without error.
13789//
13790// See DescribeBundleTasks for more information on using the DescribeBundleTasks
13791// API call, and error handling.
13792//
13793// This method is useful when you want to inject custom logic or configuration
13794// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13795//
13796//
13797//    // Example sending a request using the DescribeBundleTasksRequest method.
13798//    req, resp := client.DescribeBundleTasksRequest(params)
13799//
13800//    err := req.Send()
13801//    if err == nil { // resp is now filled
13802//        fmt.Println(resp)
13803//    }
13804//
13805// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeBundleTasks
13806func (c *EC2) DescribeBundleTasksRequest(input *DescribeBundleTasksInput) (req *request.Request, output *DescribeBundleTasksOutput) {
13807	op := &request.Operation{
13808		Name:       opDescribeBundleTasks,
13809		HTTPMethod: "POST",
13810		HTTPPath:   "/",
13811	}
13812
13813	if input == nil {
13814		input = &DescribeBundleTasksInput{}
13815	}
13816
13817	output = &DescribeBundleTasksOutput{}
13818	req = c.newRequest(op, input, output)
13819	return
13820}
13821
13822// DescribeBundleTasks API operation for Amazon Elastic Compute Cloud.
13823//
13824// Describes the specified bundle tasks or all of your bundle tasks.
13825//
13826// Completed bundle tasks are listed for only a limited time. If your bundle
13827// task is no longer in the list, you can still register an AMI from it. Just
13828// use RegisterImage with the Amazon S3 bucket name and image manifest name
13829// you provided to the bundle task.
13830//
13831// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13832// with awserr.Error's Code and Message methods to get detailed information about
13833// the error.
13834//
13835// See the AWS API reference guide for Amazon Elastic Compute Cloud's
13836// API operation DescribeBundleTasks for usage and error information.
13837// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeBundleTasks
13838func (c *EC2) DescribeBundleTasks(input *DescribeBundleTasksInput) (*DescribeBundleTasksOutput, error) {
13839	req, out := c.DescribeBundleTasksRequest(input)
13840	return out, req.Send()
13841}
13842
13843// DescribeBundleTasksWithContext is the same as DescribeBundleTasks with the addition of
13844// the ability to pass a context and additional request options.
13845//
13846// See DescribeBundleTasks for details on how to use this API operation.
13847//
13848// The context must be non-nil and will be used for request cancellation. If
13849// the context is nil a panic will occur. In the future the SDK may create
13850// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13851// for more information on using Contexts.
13852func (c *EC2) DescribeBundleTasksWithContext(ctx aws.Context, input *DescribeBundleTasksInput, opts ...request.Option) (*DescribeBundleTasksOutput, error) {
13853	req, out := c.DescribeBundleTasksRequest(input)
13854	req.SetContext(ctx)
13855	req.ApplyOptions(opts...)
13856	return out, req.Send()
13857}
13858
13859const opDescribeByoipCidrs = "DescribeByoipCidrs"
13860
13861// DescribeByoipCidrsRequest generates a "aws/request.Request" representing the
13862// client's request for the DescribeByoipCidrs operation. The "output" return
13863// value will be populated with the request's response once the request completes
13864// successfully.
13865//
13866// Use "Send" method on the returned Request to send the API call to the service.
13867// the "output" return value is not valid until after Send returns without error.
13868//
13869// See DescribeByoipCidrs for more information on using the DescribeByoipCidrs
13870// API call, and error handling.
13871//
13872// This method is useful when you want to inject custom logic or configuration
13873// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13874//
13875//
13876//    // Example sending a request using the DescribeByoipCidrsRequest method.
13877//    req, resp := client.DescribeByoipCidrsRequest(params)
13878//
13879//    err := req.Send()
13880//    if err == nil { // resp is now filled
13881//        fmt.Println(resp)
13882//    }
13883//
13884// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeByoipCidrs
13885func (c *EC2) DescribeByoipCidrsRequest(input *DescribeByoipCidrsInput) (req *request.Request, output *DescribeByoipCidrsOutput) {
13886	op := &request.Operation{
13887		Name:       opDescribeByoipCidrs,
13888		HTTPMethod: "POST",
13889		HTTPPath:   "/",
13890		Paginator: &request.Paginator{
13891			InputTokens:     []string{"NextToken"},
13892			OutputTokens:    []string{"NextToken"},
13893			LimitToken:      "MaxResults",
13894			TruncationToken: "",
13895		},
13896	}
13897
13898	if input == nil {
13899		input = &DescribeByoipCidrsInput{}
13900	}
13901
13902	output = &DescribeByoipCidrsOutput{}
13903	req = c.newRequest(op, input, output)
13904	return
13905}
13906
13907// DescribeByoipCidrs API operation for Amazon Elastic Compute Cloud.
13908//
13909// Describes the IP address ranges that were specified in calls to ProvisionByoipCidr.
13910//
13911// To describe the address pools that were created when you provisioned the
13912// address ranges, use DescribePublicIpv4Pools or DescribeIpv6Pools.
13913//
13914// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13915// with awserr.Error's Code and Message methods to get detailed information about
13916// the error.
13917//
13918// See the AWS API reference guide for Amazon Elastic Compute Cloud's
13919// API operation DescribeByoipCidrs for usage and error information.
13920// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeByoipCidrs
13921func (c *EC2) DescribeByoipCidrs(input *DescribeByoipCidrsInput) (*DescribeByoipCidrsOutput, error) {
13922	req, out := c.DescribeByoipCidrsRequest(input)
13923	return out, req.Send()
13924}
13925
13926// DescribeByoipCidrsWithContext is the same as DescribeByoipCidrs with the addition of
13927// the ability to pass a context and additional request options.
13928//
13929// See DescribeByoipCidrs for details on how to use this API operation.
13930//
13931// The context must be non-nil and will be used for request cancellation. If
13932// the context is nil a panic will occur. In the future the SDK may create
13933// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13934// for more information on using Contexts.
13935func (c *EC2) DescribeByoipCidrsWithContext(ctx aws.Context, input *DescribeByoipCidrsInput, opts ...request.Option) (*DescribeByoipCidrsOutput, error) {
13936	req, out := c.DescribeByoipCidrsRequest(input)
13937	req.SetContext(ctx)
13938	req.ApplyOptions(opts...)
13939	return out, req.Send()
13940}
13941
13942// DescribeByoipCidrsPages iterates over the pages of a DescribeByoipCidrs operation,
13943// calling the "fn" function with the response data for each page. To stop
13944// iterating, return false from the fn function.
13945//
13946// See DescribeByoipCidrs method for more information on how to use this operation.
13947//
13948// Note: This operation can generate multiple requests to a service.
13949//
13950//    // Example iterating over at most 3 pages of a DescribeByoipCidrs operation.
13951//    pageNum := 0
13952//    err := client.DescribeByoipCidrsPages(params,
13953//        func(page *ec2.DescribeByoipCidrsOutput, lastPage bool) bool {
13954//            pageNum++
13955//            fmt.Println(page)
13956//            return pageNum <= 3
13957//        })
13958//
13959func (c *EC2) DescribeByoipCidrsPages(input *DescribeByoipCidrsInput, fn func(*DescribeByoipCidrsOutput, bool) bool) error {
13960	return c.DescribeByoipCidrsPagesWithContext(aws.BackgroundContext(), input, fn)
13961}
13962
13963// DescribeByoipCidrsPagesWithContext same as DescribeByoipCidrsPages except
13964// it takes a Context and allows setting request options on the pages.
13965//
13966// The context must be non-nil and will be used for request cancellation. If
13967// the context is nil a panic will occur. In the future the SDK may create
13968// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13969// for more information on using Contexts.
13970func (c *EC2) DescribeByoipCidrsPagesWithContext(ctx aws.Context, input *DescribeByoipCidrsInput, fn func(*DescribeByoipCidrsOutput, bool) bool, opts ...request.Option) error {
13971	p := request.Pagination{
13972		NewRequest: func() (*request.Request, error) {
13973			var inCpy *DescribeByoipCidrsInput
13974			if input != nil {
13975				tmp := *input
13976				inCpy = &tmp
13977			}
13978			req, _ := c.DescribeByoipCidrsRequest(inCpy)
13979			req.SetContext(ctx)
13980			req.ApplyOptions(opts...)
13981			return req, nil
13982		},
13983	}
13984
13985	for p.Next() {
13986		if !fn(p.Page().(*DescribeByoipCidrsOutput), !p.HasNextPage()) {
13987			break
13988		}
13989	}
13990
13991	return p.Err()
13992}
13993
13994const opDescribeCapacityReservations = "DescribeCapacityReservations"
13995
13996// DescribeCapacityReservationsRequest generates a "aws/request.Request" representing the
13997// client's request for the DescribeCapacityReservations operation. The "output" return
13998// value will be populated with the request's response once the request completes
13999// successfully.
14000//
14001// Use "Send" method on the returned Request to send the API call to the service.
14002// the "output" return value is not valid until after Send returns without error.
14003//
14004// See DescribeCapacityReservations for more information on using the DescribeCapacityReservations
14005// API call, and error handling.
14006//
14007// This method is useful when you want to inject custom logic or configuration
14008// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14009//
14010//
14011//    // Example sending a request using the DescribeCapacityReservationsRequest method.
14012//    req, resp := client.DescribeCapacityReservationsRequest(params)
14013//
14014//    err := req.Send()
14015//    if err == nil { // resp is now filled
14016//        fmt.Println(resp)
14017//    }
14018//
14019// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCapacityReservations
14020func (c *EC2) DescribeCapacityReservationsRequest(input *DescribeCapacityReservationsInput) (req *request.Request, output *DescribeCapacityReservationsOutput) {
14021	op := &request.Operation{
14022		Name:       opDescribeCapacityReservations,
14023		HTTPMethod: "POST",
14024		HTTPPath:   "/",
14025		Paginator: &request.Paginator{
14026			InputTokens:     []string{"NextToken"},
14027			OutputTokens:    []string{"NextToken"},
14028			LimitToken:      "MaxResults",
14029			TruncationToken: "",
14030		},
14031	}
14032
14033	if input == nil {
14034		input = &DescribeCapacityReservationsInput{}
14035	}
14036
14037	output = &DescribeCapacityReservationsOutput{}
14038	req = c.newRequest(op, input, output)
14039	return
14040}
14041
14042// DescribeCapacityReservations API operation for Amazon Elastic Compute Cloud.
14043//
14044// Describes one or more of your Capacity Reservations. The results describe
14045// only the Capacity Reservations in the AWS Region that you're currently using.
14046//
14047// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14048// with awserr.Error's Code and Message methods to get detailed information about
14049// the error.
14050//
14051// See the AWS API reference guide for Amazon Elastic Compute Cloud's
14052// API operation DescribeCapacityReservations for usage and error information.
14053// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCapacityReservations
14054func (c *EC2) DescribeCapacityReservations(input *DescribeCapacityReservationsInput) (*DescribeCapacityReservationsOutput, error) {
14055	req, out := c.DescribeCapacityReservationsRequest(input)
14056	return out, req.Send()
14057}
14058
14059// DescribeCapacityReservationsWithContext is the same as DescribeCapacityReservations with the addition of
14060// the ability to pass a context and additional request options.
14061//
14062// See DescribeCapacityReservations for details on how to use this API operation.
14063//
14064// The context must be non-nil and will be used for request cancellation. If
14065// the context is nil a panic will occur. In the future the SDK may create
14066// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14067// for more information on using Contexts.
14068func (c *EC2) DescribeCapacityReservationsWithContext(ctx aws.Context, input *DescribeCapacityReservationsInput, opts ...request.Option) (*DescribeCapacityReservationsOutput, error) {
14069	req, out := c.DescribeCapacityReservationsRequest(input)
14070	req.SetContext(ctx)
14071	req.ApplyOptions(opts...)
14072	return out, req.Send()
14073}
14074
14075// DescribeCapacityReservationsPages iterates over the pages of a DescribeCapacityReservations operation,
14076// calling the "fn" function with the response data for each page. To stop
14077// iterating, return false from the fn function.
14078//
14079// See DescribeCapacityReservations method for more information on how to use this operation.
14080//
14081// Note: This operation can generate multiple requests to a service.
14082//
14083//    // Example iterating over at most 3 pages of a DescribeCapacityReservations operation.
14084//    pageNum := 0
14085//    err := client.DescribeCapacityReservationsPages(params,
14086//        func(page *ec2.DescribeCapacityReservationsOutput, lastPage bool) bool {
14087//            pageNum++
14088//            fmt.Println(page)
14089//            return pageNum <= 3
14090//        })
14091//
14092func (c *EC2) DescribeCapacityReservationsPages(input *DescribeCapacityReservationsInput, fn func(*DescribeCapacityReservationsOutput, bool) bool) error {
14093	return c.DescribeCapacityReservationsPagesWithContext(aws.BackgroundContext(), input, fn)
14094}
14095
14096// DescribeCapacityReservationsPagesWithContext same as DescribeCapacityReservationsPages except
14097// it takes a Context and allows setting request options on the pages.
14098//
14099// The context must be non-nil and will be used for request cancellation. If
14100// the context is nil a panic will occur. In the future the SDK may create
14101// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14102// for more information on using Contexts.
14103func (c *EC2) DescribeCapacityReservationsPagesWithContext(ctx aws.Context, input *DescribeCapacityReservationsInput, fn func(*DescribeCapacityReservationsOutput, bool) bool, opts ...request.Option) error {
14104	p := request.Pagination{
14105		NewRequest: func() (*request.Request, error) {
14106			var inCpy *DescribeCapacityReservationsInput
14107			if input != nil {
14108				tmp := *input
14109				inCpy = &tmp
14110			}
14111			req, _ := c.DescribeCapacityReservationsRequest(inCpy)
14112			req.SetContext(ctx)
14113			req.ApplyOptions(opts...)
14114			return req, nil
14115		},
14116	}
14117
14118	for p.Next() {
14119		if !fn(p.Page().(*DescribeCapacityReservationsOutput), !p.HasNextPage()) {
14120			break
14121		}
14122	}
14123
14124	return p.Err()
14125}
14126
14127const opDescribeCarrierGateways = "DescribeCarrierGateways"
14128
14129// DescribeCarrierGatewaysRequest generates a "aws/request.Request" representing the
14130// client's request for the DescribeCarrierGateways operation. The "output" return
14131// value will be populated with the request's response once the request completes
14132// successfully.
14133//
14134// Use "Send" method on the returned Request to send the API call to the service.
14135// the "output" return value is not valid until after Send returns without error.
14136//
14137// See DescribeCarrierGateways for more information on using the DescribeCarrierGateways
14138// API call, and error handling.
14139//
14140// This method is useful when you want to inject custom logic or configuration
14141// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14142//
14143//
14144//    // Example sending a request using the DescribeCarrierGatewaysRequest method.
14145//    req, resp := client.DescribeCarrierGatewaysRequest(params)
14146//
14147//    err := req.Send()
14148//    if err == nil { // resp is now filled
14149//        fmt.Println(resp)
14150//    }
14151//
14152// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCarrierGateways
14153func (c *EC2) DescribeCarrierGatewaysRequest(input *DescribeCarrierGatewaysInput) (req *request.Request, output *DescribeCarrierGatewaysOutput) {
14154	op := &request.Operation{
14155		Name:       opDescribeCarrierGateways,
14156		HTTPMethod: "POST",
14157		HTTPPath:   "/",
14158		Paginator: &request.Paginator{
14159			InputTokens:     []string{"NextToken"},
14160			OutputTokens:    []string{"NextToken"},
14161			LimitToken:      "MaxResults",
14162			TruncationToken: "",
14163		},
14164	}
14165
14166	if input == nil {
14167		input = &DescribeCarrierGatewaysInput{}
14168	}
14169
14170	output = &DescribeCarrierGatewaysOutput{}
14171	req = c.newRequest(op, input, output)
14172	return
14173}
14174
14175// DescribeCarrierGateways API operation for Amazon Elastic Compute Cloud.
14176//
14177// Describes one or more of your carrier gateways.
14178//
14179// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14180// with awserr.Error's Code and Message methods to get detailed information about
14181// the error.
14182//
14183// See the AWS API reference guide for Amazon Elastic Compute Cloud's
14184// API operation DescribeCarrierGateways for usage and error information.
14185// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCarrierGateways
14186func (c *EC2) DescribeCarrierGateways(input *DescribeCarrierGatewaysInput) (*DescribeCarrierGatewaysOutput, error) {
14187	req, out := c.DescribeCarrierGatewaysRequest(input)
14188	return out, req.Send()
14189}
14190
14191// DescribeCarrierGatewaysWithContext is the same as DescribeCarrierGateways with the addition of
14192// the ability to pass a context and additional request options.
14193//
14194// See DescribeCarrierGateways for details on how to use this API operation.
14195//
14196// The context must be non-nil and will be used for request cancellation. If
14197// the context is nil a panic will occur. In the future the SDK may create
14198// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14199// for more information on using Contexts.
14200func (c *EC2) DescribeCarrierGatewaysWithContext(ctx aws.Context, input *DescribeCarrierGatewaysInput, opts ...request.Option) (*DescribeCarrierGatewaysOutput, error) {
14201	req, out := c.DescribeCarrierGatewaysRequest(input)
14202	req.SetContext(ctx)
14203	req.ApplyOptions(opts...)
14204	return out, req.Send()
14205}
14206
14207// DescribeCarrierGatewaysPages iterates over the pages of a DescribeCarrierGateways operation,
14208// calling the "fn" function with the response data for each page. To stop
14209// iterating, return false from the fn function.
14210//
14211// See DescribeCarrierGateways method for more information on how to use this operation.
14212//
14213// Note: This operation can generate multiple requests to a service.
14214//
14215//    // Example iterating over at most 3 pages of a DescribeCarrierGateways operation.
14216//    pageNum := 0
14217//    err := client.DescribeCarrierGatewaysPages(params,
14218//        func(page *ec2.DescribeCarrierGatewaysOutput, lastPage bool) bool {
14219//            pageNum++
14220//            fmt.Println(page)
14221//            return pageNum <= 3
14222//        })
14223//
14224func (c *EC2) DescribeCarrierGatewaysPages(input *DescribeCarrierGatewaysInput, fn func(*DescribeCarrierGatewaysOutput, bool) bool) error {
14225	return c.DescribeCarrierGatewaysPagesWithContext(aws.BackgroundContext(), input, fn)
14226}
14227
14228// DescribeCarrierGatewaysPagesWithContext same as DescribeCarrierGatewaysPages except
14229// it takes a Context and allows setting request options on the pages.
14230//
14231// The context must be non-nil and will be used for request cancellation. If
14232// the context is nil a panic will occur. In the future the SDK may create
14233// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14234// for more information on using Contexts.
14235func (c *EC2) DescribeCarrierGatewaysPagesWithContext(ctx aws.Context, input *DescribeCarrierGatewaysInput, fn func(*DescribeCarrierGatewaysOutput, bool) bool, opts ...request.Option) error {
14236	p := request.Pagination{
14237		NewRequest: func() (*request.Request, error) {
14238			var inCpy *DescribeCarrierGatewaysInput
14239			if input != nil {
14240				tmp := *input
14241				inCpy = &tmp
14242			}
14243			req, _ := c.DescribeCarrierGatewaysRequest(inCpy)
14244			req.SetContext(ctx)
14245			req.ApplyOptions(opts...)
14246			return req, nil
14247		},
14248	}
14249
14250	for p.Next() {
14251		if !fn(p.Page().(*DescribeCarrierGatewaysOutput), !p.HasNextPage()) {
14252			break
14253		}
14254	}
14255
14256	return p.Err()
14257}
14258
14259const opDescribeClassicLinkInstances = "DescribeClassicLinkInstances"
14260
14261// DescribeClassicLinkInstancesRequest generates a "aws/request.Request" representing the
14262// client's request for the DescribeClassicLinkInstances operation. The "output" return
14263// value will be populated with the request's response once the request completes
14264// successfully.
14265//
14266// Use "Send" method on the returned Request to send the API call to the service.
14267// the "output" return value is not valid until after Send returns without error.
14268//
14269// See DescribeClassicLinkInstances for more information on using the DescribeClassicLinkInstances
14270// API call, and error handling.
14271//
14272// This method is useful when you want to inject custom logic or configuration
14273// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14274//
14275//
14276//    // Example sending a request using the DescribeClassicLinkInstancesRequest method.
14277//    req, resp := client.DescribeClassicLinkInstancesRequest(params)
14278//
14279//    err := req.Send()
14280//    if err == nil { // resp is now filled
14281//        fmt.Println(resp)
14282//    }
14283//
14284// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClassicLinkInstances
14285func (c *EC2) DescribeClassicLinkInstancesRequest(input *DescribeClassicLinkInstancesInput) (req *request.Request, output *DescribeClassicLinkInstancesOutput) {
14286	op := &request.Operation{
14287		Name:       opDescribeClassicLinkInstances,
14288		HTTPMethod: "POST",
14289		HTTPPath:   "/",
14290		Paginator: &request.Paginator{
14291			InputTokens:     []string{"NextToken"},
14292			OutputTokens:    []string{"NextToken"},
14293			LimitToken:      "MaxResults",
14294			TruncationToken: "",
14295		},
14296	}
14297
14298	if input == nil {
14299		input = &DescribeClassicLinkInstancesInput{}
14300	}
14301
14302	output = &DescribeClassicLinkInstancesOutput{}
14303	req = c.newRequest(op, input, output)
14304	return
14305}
14306
14307// DescribeClassicLinkInstances API operation for Amazon Elastic Compute Cloud.
14308//
14309// Describes one or more of your linked EC2-Classic instances. This request
14310// only returns information about EC2-Classic instances linked to a VPC through
14311// ClassicLink. You cannot use this request to return information about other
14312// instances.
14313//
14314// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14315// with awserr.Error's Code and Message methods to get detailed information about
14316// the error.
14317//
14318// See the AWS API reference guide for Amazon Elastic Compute Cloud's
14319// API operation DescribeClassicLinkInstances for usage and error information.
14320// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClassicLinkInstances
14321func (c *EC2) DescribeClassicLinkInstances(input *DescribeClassicLinkInstancesInput) (*DescribeClassicLinkInstancesOutput, error) {
14322	req, out := c.DescribeClassicLinkInstancesRequest(input)
14323	return out, req.Send()
14324}
14325
14326// DescribeClassicLinkInstancesWithContext is the same as DescribeClassicLinkInstances with the addition of
14327// the ability to pass a context and additional request options.
14328//
14329// See DescribeClassicLinkInstances for details on how to use this API operation.
14330//
14331// The context must be non-nil and will be used for request cancellation. If
14332// the context is nil a panic will occur. In the future the SDK may create
14333// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14334// for more information on using Contexts.
14335func (c *EC2) DescribeClassicLinkInstancesWithContext(ctx aws.Context, input *DescribeClassicLinkInstancesInput, opts ...request.Option) (*DescribeClassicLinkInstancesOutput, error) {
14336	req, out := c.DescribeClassicLinkInstancesRequest(input)
14337	req.SetContext(ctx)
14338	req.ApplyOptions(opts...)
14339	return out, req.Send()
14340}
14341
14342// DescribeClassicLinkInstancesPages iterates over the pages of a DescribeClassicLinkInstances operation,
14343// calling the "fn" function with the response data for each page. To stop
14344// iterating, return false from the fn function.
14345//
14346// See DescribeClassicLinkInstances method for more information on how to use this operation.
14347//
14348// Note: This operation can generate multiple requests to a service.
14349//
14350//    // Example iterating over at most 3 pages of a DescribeClassicLinkInstances operation.
14351//    pageNum := 0
14352//    err := client.DescribeClassicLinkInstancesPages(params,
14353//        func(page *ec2.DescribeClassicLinkInstancesOutput, lastPage bool) bool {
14354//            pageNum++
14355//            fmt.Println(page)
14356//            return pageNum <= 3
14357//        })
14358//
14359func (c *EC2) DescribeClassicLinkInstancesPages(input *DescribeClassicLinkInstancesInput, fn func(*DescribeClassicLinkInstancesOutput, bool) bool) error {
14360	return c.DescribeClassicLinkInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
14361}
14362
14363// DescribeClassicLinkInstancesPagesWithContext same as DescribeClassicLinkInstancesPages except
14364// it takes a Context and allows setting request options on the pages.
14365//
14366// The context must be non-nil and will be used for request cancellation. If
14367// the context is nil a panic will occur. In the future the SDK may create
14368// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14369// for more information on using Contexts.
14370func (c *EC2) DescribeClassicLinkInstancesPagesWithContext(ctx aws.Context, input *DescribeClassicLinkInstancesInput, fn func(*DescribeClassicLinkInstancesOutput, bool) bool, opts ...request.Option) error {
14371	p := request.Pagination{
14372		NewRequest: func() (*request.Request, error) {
14373			var inCpy *DescribeClassicLinkInstancesInput
14374			if input != nil {
14375				tmp := *input
14376				inCpy = &tmp
14377			}
14378			req, _ := c.DescribeClassicLinkInstancesRequest(inCpy)
14379			req.SetContext(ctx)
14380			req.ApplyOptions(opts...)
14381			return req, nil
14382		},
14383	}
14384
14385	for p.Next() {
14386		if !fn(p.Page().(*DescribeClassicLinkInstancesOutput), !p.HasNextPage()) {
14387			break
14388		}
14389	}
14390
14391	return p.Err()
14392}
14393
14394const opDescribeClientVpnAuthorizationRules = "DescribeClientVpnAuthorizationRules"
14395
14396// DescribeClientVpnAuthorizationRulesRequest generates a "aws/request.Request" representing the
14397// client's request for the DescribeClientVpnAuthorizationRules operation. The "output" return
14398// value will be populated with the request's response once the request completes
14399// successfully.
14400//
14401// Use "Send" method on the returned Request to send the API call to the service.
14402// the "output" return value is not valid until after Send returns without error.
14403//
14404// See DescribeClientVpnAuthorizationRules for more information on using the DescribeClientVpnAuthorizationRules
14405// API call, and error handling.
14406//
14407// This method is useful when you want to inject custom logic or configuration
14408// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14409//
14410//
14411//    // Example sending a request using the DescribeClientVpnAuthorizationRulesRequest method.
14412//    req, resp := client.DescribeClientVpnAuthorizationRulesRequest(params)
14413//
14414//    err := req.Send()
14415//    if err == nil { // resp is now filled
14416//        fmt.Println(resp)
14417//    }
14418//
14419// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnAuthorizationRules
14420func (c *EC2) DescribeClientVpnAuthorizationRulesRequest(input *DescribeClientVpnAuthorizationRulesInput) (req *request.Request, output *DescribeClientVpnAuthorizationRulesOutput) {
14421	op := &request.Operation{
14422		Name:       opDescribeClientVpnAuthorizationRules,
14423		HTTPMethod: "POST",
14424		HTTPPath:   "/",
14425		Paginator: &request.Paginator{
14426			InputTokens:     []string{"NextToken"},
14427			OutputTokens:    []string{"NextToken"},
14428			LimitToken:      "MaxResults",
14429			TruncationToken: "",
14430		},
14431	}
14432
14433	if input == nil {
14434		input = &DescribeClientVpnAuthorizationRulesInput{}
14435	}
14436
14437	output = &DescribeClientVpnAuthorizationRulesOutput{}
14438	req = c.newRequest(op, input, output)
14439	return
14440}
14441
14442// DescribeClientVpnAuthorizationRules API operation for Amazon Elastic Compute Cloud.
14443//
14444// Describes the authorization rules for a specified Client VPN endpoint.
14445//
14446// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14447// with awserr.Error's Code and Message methods to get detailed information about
14448// the error.
14449//
14450// See the AWS API reference guide for Amazon Elastic Compute Cloud's
14451// API operation DescribeClientVpnAuthorizationRules for usage and error information.
14452// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnAuthorizationRules
14453func (c *EC2) DescribeClientVpnAuthorizationRules(input *DescribeClientVpnAuthorizationRulesInput) (*DescribeClientVpnAuthorizationRulesOutput, error) {
14454	req, out := c.DescribeClientVpnAuthorizationRulesRequest(input)
14455	return out, req.Send()
14456}
14457
14458// DescribeClientVpnAuthorizationRulesWithContext is the same as DescribeClientVpnAuthorizationRules with the addition of
14459// the ability to pass a context and additional request options.
14460//
14461// See DescribeClientVpnAuthorizationRules for details on how to use this API operation.
14462//
14463// The context must be non-nil and will be used for request cancellation. If
14464// the context is nil a panic will occur. In the future the SDK may create
14465// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14466// for more information on using Contexts.
14467func (c *EC2) DescribeClientVpnAuthorizationRulesWithContext(ctx aws.Context, input *DescribeClientVpnAuthorizationRulesInput, opts ...request.Option) (*DescribeClientVpnAuthorizationRulesOutput, error) {
14468	req, out := c.DescribeClientVpnAuthorizationRulesRequest(input)
14469	req.SetContext(ctx)
14470	req.ApplyOptions(opts...)
14471	return out, req.Send()
14472}
14473
14474// DescribeClientVpnAuthorizationRulesPages iterates over the pages of a DescribeClientVpnAuthorizationRules operation,
14475// calling the "fn" function with the response data for each page. To stop
14476// iterating, return false from the fn function.
14477//
14478// See DescribeClientVpnAuthorizationRules method for more information on how to use this operation.
14479//
14480// Note: This operation can generate multiple requests to a service.
14481//
14482//    // Example iterating over at most 3 pages of a DescribeClientVpnAuthorizationRules operation.
14483//    pageNum := 0
14484//    err := client.DescribeClientVpnAuthorizationRulesPages(params,
14485//        func(page *ec2.DescribeClientVpnAuthorizationRulesOutput, lastPage bool) bool {
14486//            pageNum++
14487//            fmt.Println(page)
14488//            return pageNum <= 3
14489//        })
14490//
14491func (c *EC2) DescribeClientVpnAuthorizationRulesPages(input *DescribeClientVpnAuthorizationRulesInput, fn func(*DescribeClientVpnAuthorizationRulesOutput, bool) bool) error {
14492	return c.DescribeClientVpnAuthorizationRulesPagesWithContext(aws.BackgroundContext(), input, fn)
14493}
14494
14495// DescribeClientVpnAuthorizationRulesPagesWithContext same as DescribeClientVpnAuthorizationRulesPages except
14496// it takes a Context and allows setting request options on the pages.
14497//
14498// The context must be non-nil and will be used for request cancellation. If
14499// the context is nil a panic will occur. In the future the SDK may create
14500// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14501// for more information on using Contexts.
14502func (c *EC2) DescribeClientVpnAuthorizationRulesPagesWithContext(ctx aws.Context, input *DescribeClientVpnAuthorizationRulesInput, fn func(*DescribeClientVpnAuthorizationRulesOutput, bool) bool, opts ...request.Option) error {
14503	p := request.Pagination{
14504		NewRequest: func() (*request.Request, error) {
14505			var inCpy *DescribeClientVpnAuthorizationRulesInput
14506			if input != nil {
14507				tmp := *input
14508				inCpy = &tmp
14509			}
14510			req, _ := c.DescribeClientVpnAuthorizationRulesRequest(inCpy)
14511			req.SetContext(ctx)
14512			req.ApplyOptions(opts...)
14513			return req, nil
14514		},
14515	}
14516
14517	for p.Next() {
14518		if !fn(p.Page().(*DescribeClientVpnAuthorizationRulesOutput), !p.HasNextPage()) {
14519			break
14520		}
14521	}
14522
14523	return p.Err()
14524}
14525
14526const opDescribeClientVpnConnections = "DescribeClientVpnConnections"
14527
14528// DescribeClientVpnConnectionsRequest generates a "aws/request.Request" representing the
14529// client's request for the DescribeClientVpnConnections operation. The "output" return
14530// value will be populated with the request's response once the request completes
14531// successfully.
14532//
14533// Use "Send" method on the returned Request to send the API call to the service.
14534// the "output" return value is not valid until after Send returns without error.
14535//
14536// See DescribeClientVpnConnections for more information on using the DescribeClientVpnConnections
14537// API call, and error handling.
14538//
14539// This method is useful when you want to inject custom logic or configuration
14540// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14541//
14542//
14543//    // Example sending a request using the DescribeClientVpnConnectionsRequest method.
14544//    req, resp := client.DescribeClientVpnConnectionsRequest(params)
14545//
14546//    err := req.Send()
14547//    if err == nil { // resp is now filled
14548//        fmt.Println(resp)
14549//    }
14550//
14551// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnConnections
14552func (c *EC2) DescribeClientVpnConnectionsRequest(input *DescribeClientVpnConnectionsInput) (req *request.Request, output *DescribeClientVpnConnectionsOutput) {
14553	op := &request.Operation{
14554		Name:       opDescribeClientVpnConnections,
14555		HTTPMethod: "POST",
14556		HTTPPath:   "/",
14557		Paginator: &request.Paginator{
14558			InputTokens:     []string{"NextToken"},
14559			OutputTokens:    []string{"NextToken"},
14560			LimitToken:      "MaxResults",
14561			TruncationToken: "",
14562		},
14563	}
14564
14565	if input == nil {
14566		input = &DescribeClientVpnConnectionsInput{}
14567	}
14568
14569	output = &DescribeClientVpnConnectionsOutput{}
14570	req = c.newRequest(op, input, output)
14571	return
14572}
14573
14574// DescribeClientVpnConnections API operation for Amazon Elastic Compute Cloud.
14575//
14576// Describes active client connections and connections that have been terminated
14577// within the last 60 minutes for the specified Client VPN endpoint.
14578//
14579// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14580// with awserr.Error's Code and Message methods to get detailed information about
14581// the error.
14582//
14583// See the AWS API reference guide for Amazon Elastic Compute Cloud's
14584// API operation DescribeClientVpnConnections for usage and error information.
14585// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnConnections
14586func (c *EC2) DescribeClientVpnConnections(input *DescribeClientVpnConnectionsInput) (*DescribeClientVpnConnectionsOutput, error) {
14587	req, out := c.DescribeClientVpnConnectionsRequest(input)
14588	return out, req.Send()
14589}
14590
14591// DescribeClientVpnConnectionsWithContext is the same as DescribeClientVpnConnections with the addition of
14592// the ability to pass a context and additional request options.
14593//
14594// See DescribeClientVpnConnections for details on how to use this API operation.
14595//
14596// The context must be non-nil and will be used for request cancellation. If
14597// the context is nil a panic will occur. In the future the SDK may create
14598// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14599// for more information on using Contexts.
14600func (c *EC2) DescribeClientVpnConnectionsWithContext(ctx aws.Context, input *DescribeClientVpnConnectionsInput, opts ...request.Option) (*DescribeClientVpnConnectionsOutput, error) {
14601	req, out := c.DescribeClientVpnConnectionsRequest(input)
14602	req.SetContext(ctx)
14603	req.ApplyOptions(opts...)
14604	return out, req.Send()
14605}
14606
14607// DescribeClientVpnConnectionsPages iterates over the pages of a DescribeClientVpnConnections operation,
14608// calling the "fn" function with the response data for each page. To stop
14609// iterating, return false from the fn function.
14610//
14611// See DescribeClientVpnConnections method for more information on how to use this operation.
14612//
14613// Note: This operation can generate multiple requests to a service.
14614//
14615//    // Example iterating over at most 3 pages of a DescribeClientVpnConnections operation.
14616//    pageNum := 0
14617//    err := client.DescribeClientVpnConnectionsPages(params,
14618//        func(page *ec2.DescribeClientVpnConnectionsOutput, lastPage bool) bool {
14619//            pageNum++
14620//            fmt.Println(page)
14621//            return pageNum <= 3
14622//        })
14623//
14624func (c *EC2) DescribeClientVpnConnectionsPages(input *DescribeClientVpnConnectionsInput, fn func(*DescribeClientVpnConnectionsOutput, bool) bool) error {
14625	return c.DescribeClientVpnConnectionsPagesWithContext(aws.BackgroundContext(), input, fn)
14626}
14627
14628// DescribeClientVpnConnectionsPagesWithContext same as DescribeClientVpnConnectionsPages except
14629// it takes a Context and allows setting request options on the pages.
14630//
14631// The context must be non-nil and will be used for request cancellation. If
14632// the context is nil a panic will occur. In the future the SDK may create
14633// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14634// for more information on using Contexts.
14635func (c *EC2) DescribeClientVpnConnectionsPagesWithContext(ctx aws.Context, input *DescribeClientVpnConnectionsInput, fn func(*DescribeClientVpnConnectionsOutput, bool) bool, opts ...request.Option) error {
14636	p := request.Pagination{
14637		NewRequest: func() (*request.Request, error) {
14638			var inCpy *DescribeClientVpnConnectionsInput
14639			if input != nil {
14640				tmp := *input
14641				inCpy = &tmp
14642			}
14643			req, _ := c.DescribeClientVpnConnectionsRequest(inCpy)
14644			req.SetContext(ctx)
14645			req.ApplyOptions(opts...)
14646			return req, nil
14647		},
14648	}
14649
14650	for p.Next() {
14651		if !fn(p.Page().(*DescribeClientVpnConnectionsOutput), !p.HasNextPage()) {
14652			break
14653		}
14654	}
14655
14656	return p.Err()
14657}
14658
14659const opDescribeClientVpnEndpoints = "DescribeClientVpnEndpoints"
14660
14661// DescribeClientVpnEndpointsRequest generates a "aws/request.Request" representing the
14662// client's request for the DescribeClientVpnEndpoints operation. The "output" return
14663// value will be populated with the request's response once the request completes
14664// successfully.
14665//
14666// Use "Send" method on the returned Request to send the API call to the service.
14667// the "output" return value is not valid until after Send returns without error.
14668//
14669// See DescribeClientVpnEndpoints for more information on using the DescribeClientVpnEndpoints
14670// API call, and error handling.
14671//
14672// This method is useful when you want to inject custom logic or configuration
14673// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14674//
14675//
14676//    // Example sending a request using the DescribeClientVpnEndpointsRequest method.
14677//    req, resp := client.DescribeClientVpnEndpointsRequest(params)
14678//
14679//    err := req.Send()
14680//    if err == nil { // resp is now filled
14681//        fmt.Println(resp)
14682//    }
14683//
14684// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnEndpoints
14685func (c *EC2) DescribeClientVpnEndpointsRequest(input *DescribeClientVpnEndpointsInput) (req *request.Request, output *DescribeClientVpnEndpointsOutput) {
14686	op := &request.Operation{
14687		Name:       opDescribeClientVpnEndpoints,
14688		HTTPMethod: "POST",
14689		HTTPPath:   "/",
14690		Paginator: &request.Paginator{
14691			InputTokens:     []string{"NextToken"},
14692			OutputTokens:    []string{"NextToken"},
14693			LimitToken:      "MaxResults",
14694			TruncationToken: "",
14695		},
14696	}
14697
14698	if input == nil {
14699		input = &DescribeClientVpnEndpointsInput{}
14700	}
14701
14702	output = &DescribeClientVpnEndpointsOutput{}
14703	req = c.newRequest(op, input, output)
14704	return
14705}
14706
14707// DescribeClientVpnEndpoints API operation for Amazon Elastic Compute Cloud.
14708//
14709// Describes one or more Client VPN endpoints in the account.
14710//
14711// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14712// with awserr.Error's Code and Message methods to get detailed information about
14713// the error.
14714//
14715// See the AWS API reference guide for Amazon Elastic Compute Cloud's
14716// API operation DescribeClientVpnEndpoints for usage and error information.
14717// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnEndpoints
14718func (c *EC2) DescribeClientVpnEndpoints(input *DescribeClientVpnEndpointsInput) (*DescribeClientVpnEndpointsOutput, error) {
14719	req, out := c.DescribeClientVpnEndpointsRequest(input)
14720	return out, req.Send()
14721}
14722
14723// DescribeClientVpnEndpointsWithContext is the same as DescribeClientVpnEndpoints with the addition of
14724// the ability to pass a context and additional request options.
14725//
14726// See DescribeClientVpnEndpoints for details on how to use this API operation.
14727//
14728// The context must be non-nil and will be used for request cancellation. If
14729// the context is nil a panic will occur. In the future the SDK may create
14730// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14731// for more information on using Contexts.
14732func (c *EC2) DescribeClientVpnEndpointsWithContext(ctx aws.Context, input *DescribeClientVpnEndpointsInput, opts ...request.Option) (*DescribeClientVpnEndpointsOutput, error) {
14733	req, out := c.DescribeClientVpnEndpointsRequest(input)
14734	req.SetContext(ctx)
14735	req.ApplyOptions(opts...)
14736	return out, req.Send()
14737}
14738
14739// DescribeClientVpnEndpointsPages iterates over the pages of a DescribeClientVpnEndpoints operation,
14740// calling the "fn" function with the response data for each page. To stop
14741// iterating, return false from the fn function.
14742//
14743// See DescribeClientVpnEndpoints method for more information on how to use this operation.
14744//
14745// Note: This operation can generate multiple requests to a service.
14746//
14747//    // Example iterating over at most 3 pages of a DescribeClientVpnEndpoints operation.
14748//    pageNum := 0
14749//    err := client.DescribeClientVpnEndpointsPages(params,
14750//        func(page *ec2.DescribeClientVpnEndpointsOutput, lastPage bool) bool {
14751//            pageNum++
14752//            fmt.Println(page)
14753//            return pageNum <= 3
14754//        })
14755//
14756func (c *EC2) DescribeClientVpnEndpointsPages(input *DescribeClientVpnEndpointsInput, fn func(*DescribeClientVpnEndpointsOutput, bool) bool) error {
14757	return c.DescribeClientVpnEndpointsPagesWithContext(aws.BackgroundContext(), input, fn)
14758}
14759
14760// DescribeClientVpnEndpointsPagesWithContext same as DescribeClientVpnEndpointsPages except
14761// it takes a Context and allows setting request options on the pages.
14762//
14763// The context must be non-nil and will be used for request cancellation. If
14764// the context is nil a panic will occur. In the future the SDK may create
14765// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14766// for more information on using Contexts.
14767func (c *EC2) DescribeClientVpnEndpointsPagesWithContext(ctx aws.Context, input *DescribeClientVpnEndpointsInput, fn func(*DescribeClientVpnEndpointsOutput, bool) bool, opts ...request.Option) error {
14768	p := request.Pagination{
14769		NewRequest: func() (*request.Request, error) {
14770			var inCpy *DescribeClientVpnEndpointsInput
14771			if input != nil {
14772				tmp := *input
14773				inCpy = &tmp
14774			}
14775			req, _ := c.DescribeClientVpnEndpointsRequest(inCpy)
14776			req.SetContext(ctx)
14777			req.ApplyOptions(opts...)
14778			return req, nil
14779		},
14780	}
14781
14782	for p.Next() {
14783		if !fn(p.Page().(*DescribeClientVpnEndpointsOutput), !p.HasNextPage()) {
14784			break
14785		}
14786	}
14787
14788	return p.Err()
14789}
14790
14791const opDescribeClientVpnRoutes = "DescribeClientVpnRoutes"
14792
14793// DescribeClientVpnRoutesRequest generates a "aws/request.Request" representing the
14794// client's request for the DescribeClientVpnRoutes operation. The "output" return
14795// value will be populated with the request's response once the request completes
14796// successfully.
14797//
14798// Use "Send" method on the returned Request to send the API call to the service.
14799// the "output" return value is not valid until after Send returns without error.
14800//
14801// See DescribeClientVpnRoutes for more information on using the DescribeClientVpnRoutes
14802// API call, and error handling.
14803//
14804// This method is useful when you want to inject custom logic or configuration
14805// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14806//
14807//
14808//    // Example sending a request using the DescribeClientVpnRoutesRequest method.
14809//    req, resp := client.DescribeClientVpnRoutesRequest(params)
14810//
14811//    err := req.Send()
14812//    if err == nil { // resp is now filled
14813//        fmt.Println(resp)
14814//    }
14815//
14816// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnRoutes
14817func (c *EC2) DescribeClientVpnRoutesRequest(input *DescribeClientVpnRoutesInput) (req *request.Request, output *DescribeClientVpnRoutesOutput) {
14818	op := &request.Operation{
14819		Name:       opDescribeClientVpnRoutes,
14820		HTTPMethod: "POST",
14821		HTTPPath:   "/",
14822		Paginator: &request.Paginator{
14823			InputTokens:     []string{"NextToken"},
14824			OutputTokens:    []string{"NextToken"},
14825			LimitToken:      "MaxResults",
14826			TruncationToken: "",
14827		},
14828	}
14829
14830	if input == nil {
14831		input = &DescribeClientVpnRoutesInput{}
14832	}
14833
14834	output = &DescribeClientVpnRoutesOutput{}
14835	req = c.newRequest(op, input, output)
14836	return
14837}
14838
14839// DescribeClientVpnRoutes API operation for Amazon Elastic Compute Cloud.
14840//
14841// Describes the routes for the specified Client VPN endpoint.
14842//
14843// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14844// with awserr.Error's Code and Message methods to get detailed information about
14845// the error.
14846//
14847// See the AWS API reference guide for Amazon Elastic Compute Cloud's
14848// API operation DescribeClientVpnRoutes for usage and error information.
14849// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnRoutes
14850func (c *EC2) DescribeClientVpnRoutes(input *DescribeClientVpnRoutesInput) (*DescribeClientVpnRoutesOutput, error) {
14851	req, out := c.DescribeClientVpnRoutesRequest(input)
14852	return out, req.Send()
14853}
14854
14855// DescribeClientVpnRoutesWithContext is the same as DescribeClientVpnRoutes with the addition of
14856// the ability to pass a context and additional request options.
14857//
14858// See DescribeClientVpnRoutes for details on how to use this API operation.
14859//
14860// The context must be non-nil and will be used for request cancellation. If
14861// the context is nil a panic will occur. In the future the SDK may create
14862// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14863// for more information on using Contexts.
14864func (c *EC2) DescribeClientVpnRoutesWithContext(ctx aws.Context, input *DescribeClientVpnRoutesInput, opts ...request.Option) (*DescribeClientVpnRoutesOutput, error) {
14865	req, out := c.DescribeClientVpnRoutesRequest(input)
14866	req.SetContext(ctx)
14867	req.ApplyOptions(opts...)
14868	return out, req.Send()
14869}
14870
14871// DescribeClientVpnRoutesPages iterates over the pages of a DescribeClientVpnRoutes operation,
14872// calling the "fn" function with the response data for each page. To stop
14873// iterating, return false from the fn function.
14874//
14875// See DescribeClientVpnRoutes method for more information on how to use this operation.
14876//
14877// Note: This operation can generate multiple requests to a service.
14878//
14879//    // Example iterating over at most 3 pages of a DescribeClientVpnRoutes operation.
14880//    pageNum := 0
14881//    err := client.DescribeClientVpnRoutesPages(params,
14882//        func(page *ec2.DescribeClientVpnRoutesOutput, lastPage bool) bool {
14883//            pageNum++
14884//            fmt.Println(page)
14885//            return pageNum <= 3
14886//        })
14887//
14888func (c *EC2) DescribeClientVpnRoutesPages(input *DescribeClientVpnRoutesInput, fn func(*DescribeClientVpnRoutesOutput, bool) bool) error {
14889	return c.DescribeClientVpnRoutesPagesWithContext(aws.BackgroundContext(), input, fn)
14890}
14891
14892// DescribeClientVpnRoutesPagesWithContext same as DescribeClientVpnRoutesPages except
14893// it takes a Context and allows setting request options on the pages.
14894//
14895// The context must be non-nil and will be used for request cancellation. If
14896// the context is nil a panic will occur. In the future the SDK may create
14897// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14898// for more information on using Contexts.
14899func (c *EC2) DescribeClientVpnRoutesPagesWithContext(ctx aws.Context, input *DescribeClientVpnRoutesInput, fn func(*DescribeClientVpnRoutesOutput, bool) bool, opts ...request.Option) error {
14900	p := request.Pagination{
14901		NewRequest: func() (*request.Request, error) {
14902			var inCpy *DescribeClientVpnRoutesInput
14903			if input != nil {
14904				tmp := *input
14905				inCpy = &tmp
14906			}
14907			req, _ := c.DescribeClientVpnRoutesRequest(inCpy)
14908			req.SetContext(ctx)
14909			req.ApplyOptions(opts...)
14910			return req, nil
14911		},
14912	}
14913
14914	for p.Next() {
14915		if !fn(p.Page().(*DescribeClientVpnRoutesOutput), !p.HasNextPage()) {
14916			break
14917		}
14918	}
14919
14920	return p.Err()
14921}
14922
14923const opDescribeClientVpnTargetNetworks = "DescribeClientVpnTargetNetworks"
14924
14925// DescribeClientVpnTargetNetworksRequest generates a "aws/request.Request" representing the
14926// client's request for the DescribeClientVpnTargetNetworks operation. The "output" return
14927// value will be populated with the request's response once the request completes
14928// successfully.
14929//
14930// Use "Send" method on the returned Request to send the API call to the service.
14931// the "output" return value is not valid until after Send returns without error.
14932//
14933// See DescribeClientVpnTargetNetworks for more information on using the DescribeClientVpnTargetNetworks
14934// API call, and error handling.
14935//
14936// This method is useful when you want to inject custom logic or configuration
14937// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14938//
14939//
14940//    // Example sending a request using the DescribeClientVpnTargetNetworksRequest method.
14941//    req, resp := client.DescribeClientVpnTargetNetworksRequest(params)
14942//
14943//    err := req.Send()
14944//    if err == nil { // resp is now filled
14945//        fmt.Println(resp)
14946//    }
14947//
14948// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnTargetNetworks
14949func (c *EC2) DescribeClientVpnTargetNetworksRequest(input *DescribeClientVpnTargetNetworksInput) (req *request.Request, output *DescribeClientVpnTargetNetworksOutput) {
14950	op := &request.Operation{
14951		Name:       opDescribeClientVpnTargetNetworks,
14952		HTTPMethod: "POST",
14953		HTTPPath:   "/",
14954		Paginator: &request.Paginator{
14955			InputTokens:     []string{"NextToken"},
14956			OutputTokens:    []string{"NextToken"},
14957			LimitToken:      "MaxResults",
14958			TruncationToken: "",
14959		},
14960	}
14961
14962	if input == nil {
14963		input = &DescribeClientVpnTargetNetworksInput{}
14964	}
14965
14966	output = &DescribeClientVpnTargetNetworksOutput{}
14967	req = c.newRequest(op, input, output)
14968	return
14969}
14970
14971// DescribeClientVpnTargetNetworks API operation for Amazon Elastic Compute Cloud.
14972//
14973// Describes the target networks associated with the specified Client VPN endpoint.
14974//
14975// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14976// with awserr.Error's Code and Message methods to get detailed information about
14977// the error.
14978//
14979// See the AWS API reference guide for Amazon Elastic Compute Cloud's
14980// API operation DescribeClientVpnTargetNetworks for usage and error information.
14981// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnTargetNetworks
14982func (c *EC2) DescribeClientVpnTargetNetworks(input *DescribeClientVpnTargetNetworksInput) (*DescribeClientVpnTargetNetworksOutput, error) {
14983	req, out := c.DescribeClientVpnTargetNetworksRequest(input)
14984	return out, req.Send()
14985}
14986
14987// DescribeClientVpnTargetNetworksWithContext is the same as DescribeClientVpnTargetNetworks with the addition of
14988// the ability to pass a context and additional request options.
14989//
14990// See DescribeClientVpnTargetNetworks for details on how to use this API operation.
14991//
14992// The context must be non-nil and will be used for request cancellation. If
14993// the context is nil a panic will occur. In the future the SDK may create
14994// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14995// for more information on using Contexts.
14996func (c *EC2) DescribeClientVpnTargetNetworksWithContext(ctx aws.Context, input *DescribeClientVpnTargetNetworksInput, opts ...request.Option) (*DescribeClientVpnTargetNetworksOutput, error) {
14997	req, out := c.DescribeClientVpnTargetNetworksRequest(input)
14998	req.SetContext(ctx)
14999	req.ApplyOptions(opts...)
15000	return out, req.Send()
15001}
15002
15003// DescribeClientVpnTargetNetworksPages iterates over the pages of a DescribeClientVpnTargetNetworks operation,
15004// calling the "fn" function with the response data for each page. To stop
15005// iterating, return false from the fn function.
15006//
15007// See DescribeClientVpnTargetNetworks method for more information on how to use this operation.
15008//
15009// Note: This operation can generate multiple requests to a service.
15010//
15011//    // Example iterating over at most 3 pages of a DescribeClientVpnTargetNetworks operation.
15012//    pageNum := 0
15013//    err := client.DescribeClientVpnTargetNetworksPages(params,
15014//        func(page *ec2.DescribeClientVpnTargetNetworksOutput, lastPage bool) bool {
15015//            pageNum++
15016//            fmt.Println(page)
15017//            return pageNum <= 3
15018//        })
15019//
15020func (c *EC2) DescribeClientVpnTargetNetworksPages(input *DescribeClientVpnTargetNetworksInput, fn func(*DescribeClientVpnTargetNetworksOutput, bool) bool) error {
15021	return c.DescribeClientVpnTargetNetworksPagesWithContext(aws.BackgroundContext(), input, fn)
15022}
15023
15024// DescribeClientVpnTargetNetworksPagesWithContext same as DescribeClientVpnTargetNetworksPages except
15025// it takes a Context and allows setting request options on the pages.
15026//
15027// The context must be non-nil and will be used for request cancellation. If
15028// the context is nil a panic will occur. In the future the SDK may create
15029// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15030// for more information on using Contexts.
15031func (c *EC2) DescribeClientVpnTargetNetworksPagesWithContext(ctx aws.Context, input *DescribeClientVpnTargetNetworksInput, fn func(*DescribeClientVpnTargetNetworksOutput, bool) bool, opts ...request.Option) error {
15032	p := request.Pagination{
15033		NewRequest: func() (*request.Request, error) {
15034			var inCpy *DescribeClientVpnTargetNetworksInput
15035			if input != nil {
15036				tmp := *input
15037				inCpy = &tmp
15038			}
15039			req, _ := c.DescribeClientVpnTargetNetworksRequest(inCpy)
15040			req.SetContext(ctx)
15041			req.ApplyOptions(opts...)
15042			return req, nil
15043		},
15044	}
15045
15046	for p.Next() {
15047		if !fn(p.Page().(*DescribeClientVpnTargetNetworksOutput), !p.HasNextPage()) {
15048			break
15049		}
15050	}
15051
15052	return p.Err()
15053}
15054
15055const opDescribeCoipPools = "DescribeCoipPools"
15056
15057// DescribeCoipPoolsRequest generates a "aws/request.Request" representing the
15058// client's request for the DescribeCoipPools operation. The "output" return
15059// value will be populated with the request's response once the request completes
15060// successfully.
15061//
15062// Use "Send" method on the returned Request to send the API call to the service.
15063// the "output" return value is not valid until after Send returns without error.
15064//
15065// See DescribeCoipPools for more information on using the DescribeCoipPools
15066// API call, and error handling.
15067//
15068// This method is useful when you want to inject custom logic or configuration
15069// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15070//
15071//
15072//    // Example sending a request using the DescribeCoipPoolsRequest method.
15073//    req, resp := client.DescribeCoipPoolsRequest(params)
15074//
15075//    err := req.Send()
15076//    if err == nil { // resp is now filled
15077//        fmt.Println(resp)
15078//    }
15079//
15080// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCoipPools
15081func (c *EC2) DescribeCoipPoolsRequest(input *DescribeCoipPoolsInput) (req *request.Request, output *DescribeCoipPoolsOutput) {
15082	op := &request.Operation{
15083		Name:       opDescribeCoipPools,
15084		HTTPMethod: "POST",
15085		HTTPPath:   "/",
15086		Paginator: &request.Paginator{
15087			InputTokens:     []string{"NextToken"},
15088			OutputTokens:    []string{"NextToken"},
15089			LimitToken:      "MaxResults",
15090			TruncationToken: "",
15091		},
15092	}
15093
15094	if input == nil {
15095		input = &DescribeCoipPoolsInput{}
15096	}
15097
15098	output = &DescribeCoipPoolsOutput{}
15099	req = c.newRequest(op, input, output)
15100	return
15101}
15102
15103// DescribeCoipPools API operation for Amazon Elastic Compute Cloud.
15104//
15105// Describes the specified customer-owned address pools or all of your customer-owned
15106// address pools.
15107//
15108// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15109// with awserr.Error's Code and Message methods to get detailed information about
15110// the error.
15111//
15112// See the AWS API reference guide for Amazon Elastic Compute Cloud's
15113// API operation DescribeCoipPools for usage and error information.
15114// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCoipPools
15115func (c *EC2) DescribeCoipPools(input *DescribeCoipPoolsInput) (*DescribeCoipPoolsOutput, error) {
15116	req, out := c.DescribeCoipPoolsRequest(input)
15117	return out, req.Send()
15118}
15119
15120// DescribeCoipPoolsWithContext is the same as DescribeCoipPools with the addition of
15121// the ability to pass a context and additional request options.
15122//
15123// See DescribeCoipPools for details on how to use this API operation.
15124//
15125// The context must be non-nil and will be used for request cancellation. If
15126// the context is nil a panic will occur. In the future the SDK may create
15127// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15128// for more information on using Contexts.
15129func (c *EC2) DescribeCoipPoolsWithContext(ctx aws.Context, input *DescribeCoipPoolsInput, opts ...request.Option) (*DescribeCoipPoolsOutput, error) {
15130	req, out := c.DescribeCoipPoolsRequest(input)
15131	req.SetContext(ctx)
15132	req.ApplyOptions(opts...)
15133	return out, req.Send()
15134}
15135
15136// DescribeCoipPoolsPages iterates over the pages of a DescribeCoipPools operation,
15137// calling the "fn" function with the response data for each page. To stop
15138// iterating, return false from the fn function.
15139//
15140// See DescribeCoipPools method for more information on how to use this operation.
15141//
15142// Note: This operation can generate multiple requests to a service.
15143//
15144//    // Example iterating over at most 3 pages of a DescribeCoipPools operation.
15145//    pageNum := 0
15146//    err := client.DescribeCoipPoolsPages(params,
15147//        func(page *ec2.DescribeCoipPoolsOutput, lastPage bool) bool {
15148//            pageNum++
15149//            fmt.Println(page)
15150//            return pageNum <= 3
15151//        })
15152//
15153func (c *EC2) DescribeCoipPoolsPages(input *DescribeCoipPoolsInput, fn func(*DescribeCoipPoolsOutput, bool) bool) error {
15154	return c.DescribeCoipPoolsPagesWithContext(aws.BackgroundContext(), input, fn)
15155}
15156
15157// DescribeCoipPoolsPagesWithContext same as DescribeCoipPoolsPages except
15158// it takes a Context and allows setting request options on the pages.
15159//
15160// The context must be non-nil and will be used for request cancellation. If
15161// the context is nil a panic will occur. In the future the SDK may create
15162// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15163// for more information on using Contexts.
15164func (c *EC2) DescribeCoipPoolsPagesWithContext(ctx aws.Context, input *DescribeCoipPoolsInput, fn func(*DescribeCoipPoolsOutput, bool) bool, opts ...request.Option) error {
15165	p := request.Pagination{
15166		NewRequest: func() (*request.Request, error) {
15167			var inCpy *DescribeCoipPoolsInput
15168			if input != nil {
15169				tmp := *input
15170				inCpy = &tmp
15171			}
15172			req, _ := c.DescribeCoipPoolsRequest(inCpy)
15173			req.SetContext(ctx)
15174			req.ApplyOptions(opts...)
15175			return req, nil
15176		},
15177	}
15178
15179	for p.Next() {
15180		if !fn(p.Page().(*DescribeCoipPoolsOutput), !p.HasNextPage()) {
15181			break
15182		}
15183	}
15184
15185	return p.Err()
15186}
15187
15188const opDescribeConversionTasks = "DescribeConversionTasks"
15189
15190// DescribeConversionTasksRequest generates a "aws/request.Request" representing the
15191// client's request for the DescribeConversionTasks operation. The "output" return
15192// value will be populated with the request's response once the request completes
15193// successfully.
15194//
15195// Use "Send" method on the returned Request to send the API call to the service.
15196// the "output" return value is not valid until after Send returns without error.
15197//
15198// See DescribeConversionTasks for more information on using the DescribeConversionTasks
15199// API call, and error handling.
15200//
15201// This method is useful when you want to inject custom logic or configuration
15202// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15203//
15204//
15205//    // Example sending a request using the DescribeConversionTasksRequest method.
15206//    req, resp := client.DescribeConversionTasksRequest(params)
15207//
15208//    err := req.Send()
15209//    if err == nil { // resp is now filled
15210//        fmt.Println(resp)
15211//    }
15212//
15213// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeConversionTasks
15214func (c *EC2) DescribeConversionTasksRequest(input *DescribeConversionTasksInput) (req *request.Request, output *DescribeConversionTasksOutput) {
15215	op := &request.Operation{
15216		Name:       opDescribeConversionTasks,
15217		HTTPMethod: "POST",
15218		HTTPPath:   "/",
15219	}
15220
15221	if input == nil {
15222		input = &DescribeConversionTasksInput{}
15223	}
15224
15225	output = &DescribeConversionTasksOutput{}
15226	req = c.newRequest(op, input, output)
15227	return
15228}
15229
15230// DescribeConversionTasks API operation for Amazon Elastic Compute Cloud.
15231//
15232// Describes the specified conversion tasks or all your conversion tasks. For
15233// more information, see the VM Import/Export User Guide (https://docs.aws.amazon.com/vm-import/latest/userguide/).
15234//
15235// For information about the import manifest referenced by this API action,
15236// see VM Import Manifest (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
15237//
15238// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15239// with awserr.Error's Code and Message methods to get detailed information about
15240// the error.
15241//
15242// See the AWS API reference guide for Amazon Elastic Compute Cloud's
15243// API operation DescribeConversionTasks for usage and error information.
15244// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeConversionTasks
15245func (c *EC2) DescribeConversionTasks(input *DescribeConversionTasksInput) (*DescribeConversionTasksOutput, error) {
15246	req, out := c.DescribeConversionTasksRequest(input)
15247	return out, req.Send()
15248}
15249
15250// DescribeConversionTasksWithContext is the same as DescribeConversionTasks with the addition of
15251// the ability to pass a context and additional request options.
15252//
15253// See DescribeConversionTasks for details on how to use this API operation.
15254//
15255// The context must be non-nil and will be used for request cancellation. If
15256// the context is nil a panic will occur. In the future the SDK may create
15257// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15258// for more information on using Contexts.
15259func (c *EC2) DescribeConversionTasksWithContext(ctx aws.Context, input *DescribeConversionTasksInput, opts ...request.Option) (*DescribeConversionTasksOutput, error) {
15260	req, out := c.DescribeConversionTasksRequest(input)
15261	req.SetContext(ctx)
15262	req.ApplyOptions(opts...)
15263	return out, req.Send()
15264}
15265
15266const opDescribeCustomerGateways = "DescribeCustomerGateways"
15267
15268// DescribeCustomerGatewaysRequest generates a "aws/request.Request" representing the
15269// client's request for the DescribeCustomerGateways operation. The "output" return
15270// value will be populated with the request's response once the request completes
15271// successfully.
15272//
15273// Use "Send" method on the returned Request to send the API call to the service.
15274// the "output" return value is not valid until after Send returns without error.
15275//
15276// See DescribeCustomerGateways for more information on using the DescribeCustomerGateways
15277// API call, and error handling.
15278//
15279// This method is useful when you want to inject custom logic or configuration
15280// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15281//
15282//
15283//    // Example sending a request using the DescribeCustomerGatewaysRequest method.
15284//    req, resp := client.DescribeCustomerGatewaysRequest(params)
15285//
15286//    err := req.Send()
15287//    if err == nil { // resp is now filled
15288//        fmt.Println(resp)
15289//    }
15290//
15291// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCustomerGateways
15292func (c *EC2) DescribeCustomerGatewaysRequest(input *DescribeCustomerGatewaysInput) (req *request.Request, output *DescribeCustomerGatewaysOutput) {
15293	op := &request.Operation{
15294		Name:       opDescribeCustomerGateways,
15295		HTTPMethod: "POST",
15296		HTTPPath:   "/",
15297	}
15298
15299	if input == nil {
15300		input = &DescribeCustomerGatewaysInput{}
15301	}
15302
15303	output = &DescribeCustomerGatewaysOutput{}
15304	req = c.newRequest(op, input, output)
15305	return
15306}
15307
15308// DescribeCustomerGateways API operation for Amazon Elastic Compute Cloud.
15309//
15310// Describes one or more of your VPN customer gateways.
15311//
15312// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
15313// in the AWS Site-to-Site VPN User Guide.
15314//
15315// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15316// with awserr.Error's Code and Message methods to get detailed information about
15317// the error.
15318//
15319// See the AWS API reference guide for Amazon Elastic Compute Cloud's
15320// API operation DescribeCustomerGateways for usage and error information.
15321// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCustomerGateways
15322func (c *EC2) DescribeCustomerGateways(input *DescribeCustomerGatewaysInput) (*DescribeCustomerGatewaysOutput, error) {
15323	req, out := c.DescribeCustomerGatewaysRequest(input)
15324	return out, req.Send()
15325}
15326
15327// DescribeCustomerGatewaysWithContext is the same as DescribeCustomerGateways with the addition of
15328// the ability to pass a context and additional request options.
15329//
15330// See DescribeCustomerGateways for details on how to use this API operation.
15331//
15332// The context must be non-nil and will be used for request cancellation. If
15333// the context is nil a panic will occur. In the future the SDK may create
15334// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15335// for more information on using Contexts.
15336func (c *EC2) DescribeCustomerGatewaysWithContext(ctx aws.Context, input *DescribeCustomerGatewaysInput, opts ...request.Option) (*DescribeCustomerGatewaysOutput, error) {
15337	req, out := c.DescribeCustomerGatewaysRequest(input)
15338	req.SetContext(ctx)
15339	req.ApplyOptions(opts...)
15340	return out, req.Send()
15341}
15342
15343const opDescribeDhcpOptions = "DescribeDhcpOptions"
15344
15345// DescribeDhcpOptionsRequest generates a "aws/request.Request" representing the
15346// client's request for the DescribeDhcpOptions operation. The "output" return
15347// value will be populated with the request's response once the request completes
15348// successfully.
15349//
15350// Use "Send" method on the returned Request to send the API call to the service.
15351// the "output" return value is not valid until after Send returns without error.
15352//
15353// See DescribeDhcpOptions for more information on using the DescribeDhcpOptions
15354// API call, and error handling.
15355//
15356// This method is useful when you want to inject custom logic or configuration
15357// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15358//
15359//
15360//    // Example sending a request using the DescribeDhcpOptionsRequest method.
15361//    req, resp := client.DescribeDhcpOptionsRequest(params)
15362//
15363//    err := req.Send()
15364//    if err == nil { // resp is now filled
15365//        fmt.Println(resp)
15366//    }
15367//
15368// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeDhcpOptions
15369func (c *EC2) DescribeDhcpOptionsRequest(input *DescribeDhcpOptionsInput) (req *request.Request, output *DescribeDhcpOptionsOutput) {
15370	op := &request.Operation{
15371		Name:       opDescribeDhcpOptions,
15372		HTTPMethod: "POST",
15373		HTTPPath:   "/",
15374		Paginator: &request.Paginator{
15375			InputTokens:     []string{"NextToken"},
15376			OutputTokens:    []string{"NextToken"},
15377			LimitToken:      "MaxResults",
15378			TruncationToken: "",
15379		},
15380	}
15381
15382	if input == nil {
15383		input = &DescribeDhcpOptionsInput{}
15384	}
15385
15386	output = &DescribeDhcpOptionsOutput{}
15387	req = c.newRequest(op, input, output)
15388	return
15389}
15390
15391// DescribeDhcpOptions API operation for Amazon Elastic Compute Cloud.
15392//
15393// Describes one or more of your DHCP options sets.
15394//
15395// For more information, see DHCP Options Sets (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html)
15396// in the Amazon Virtual Private Cloud User Guide.
15397//
15398// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15399// with awserr.Error's Code and Message methods to get detailed information about
15400// the error.
15401//
15402// See the AWS API reference guide for Amazon Elastic Compute Cloud's
15403// API operation DescribeDhcpOptions for usage and error information.
15404// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeDhcpOptions
15405func (c *EC2) DescribeDhcpOptions(input *DescribeDhcpOptionsInput) (*DescribeDhcpOptionsOutput, error) {
15406	req, out := c.DescribeDhcpOptionsRequest(input)
15407	return out, req.Send()
15408}
15409
15410// DescribeDhcpOptionsWithContext is the same as DescribeDhcpOptions with the addition of
15411// the ability to pass a context and additional request options.
15412//
15413// See DescribeDhcpOptions for details on how to use this API operation.
15414//
15415// The context must be non-nil and will be used for request cancellation. If
15416// the context is nil a panic will occur. In the future the SDK may create
15417// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15418// for more information on using Contexts.
15419func (c *EC2) DescribeDhcpOptionsWithContext(ctx aws.Context, input *DescribeDhcpOptionsInput, opts ...request.Option) (*DescribeDhcpOptionsOutput, error) {
15420	req, out := c.DescribeDhcpOptionsRequest(input)
15421	req.SetContext(ctx)
15422	req.ApplyOptions(opts...)
15423	return out, req.Send()
15424}
15425
15426// DescribeDhcpOptionsPages iterates over the pages of a DescribeDhcpOptions operation,
15427// calling the "fn" function with the response data for each page. To stop
15428// iterating, return false from the fn function.
15429//
15430// See DescribeDhcpOptions method for more information on how to use this operation.
15431//
15432// Note: This operation can generate multiple requests to a service.
15433//
15434//    // Example iterating over at most 3 pages of a DescribeDhcpOptions operation.
15435//    pageNum := 0
15436//    err := client.DescribeDhcpOptionsPages(params,
15437//        func(page *ec2.DescribeDhcpOptionsOutput, lastPage bool) bool {
15438//            pageNum++
15439//            fmt.Println(page)
15440//            return pageNum <= 3
15441//        })
15442//
15443func (c *EC2) DescribeDhcpOptionsPages(input *DescribeDhcpOptionsInput, fn func(*DescribeDhcpOptionsOutput, bool) bool) error {
15444	return c.DescribeDhcpOptionsPagesWithContext(aws.BackgroundContext(), input, fn)
15445}
15446
15447// DescribeDhcpOptionsPagesWithContext same as DescribeDhcpOptionsPages except
15448// it takes a Context and allows setting request options on the pages.
15449//
15450// The context must be non-nil and will be used for request cancellation. If
15451// the context is nil a panic will occur. In the future the SDK may create
15452// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15453// for more information on using Contexts.
15454func (c *EC2) DescribeDhcpOptionsPagesWithContext(ctx aws.Context, input *DescribeDhcpOptionsInput, fn func(*DescribeDhcpOptionsOutput, bool) bool, opts ...request.Option) error {
15455	p := request.Pagination{
15456		NewRequest: func() (*request.Request, error) {
15457			var inCpy *DescribeDhcpOptionsInput
15458			if input != nil {
15459				tmp := *input
15460				inCpy = &tmp
15461			}
15462			req, _ := c.DescribeDhcpOptionsRequest(inCpy)
15463			req.SetContext(ctx)
15464			req.ApplyOptions(opts...)
15465			return req, nil
15466		},
15467	}
15468
15469	for p.Next() {
15470		if !fn(p.Page().(*DescribeDhcpOptionsOutput), !p.HasNextPage()) {
15471			break
15472		}
15473	}
15474
15475	return p.Err()
15476}
15477
15478const opDescribeEgressOnlyInternetGateways = "DescribeEgressOnlyInternetGateways"
15479
15480// DescribeEgressOnlyInternetGatewaysRequest generates a "aws/request.Request" representing the
15481// client's request for the DescribeEgressOnlyInternetGateways operation. The "output" return
15482// value will be populated with the request's response once the request completes
15483// successfully.
15484//
15485// Use "Send" method on the returned Request to send the API call to the service.
15486// the "output" return value is not valid until after Send returns without error.
15487//
15488// See DescribeEgressOnlyInternetGateways for more information on using the DescribeEgressOnlyInternetGateways
15489// API call, and error handling.
15490//
15491// This method is useful when you want to inject custom logic or configuration
15492// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15493//
15494//
15495//    // Example sending a request using the DescribeEgressOnlyInternetGatewaysRequest method.
15496//    req, resp := client.DescribeEgressOnlyInternetGatewaysRequest(params)
15497//
15498//    err := req.Send()
15499//    if err == nil { // resp is now filled
15500//        fmt.Println(resp)
15501//    }
15502//
15503// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeEgressOnlyInternetGateways
15504func (c *EC2) DescribeEgressOnlyInternetGatewaysRequest(input *DescribeEgressOnlyInternetGatewaysInput) (req *request.Request, output *DescribeEgressOnlyInternetGatewaysOutput) {
15505	op := &request.Operation{
15506		Name:       opDescribeEgressOnlyInternetGateways,
15507		HTTPMethod: "POST",
15508		HTTPPath:   "/",
15509		Paginator: &request.Paginator{
15510			InputTokens:     []string{"NextToken"},
15511			OutputTokens:    []string{"NextToken"},
15512			LimitToken:      "MaxResults",
15513			TruncationToken: "",
15514		},
15515	}
15516
15517	if input == nil {
15518		input = &DescribeEgressOnlyInternetGatewaysInput{}
15519	}
15520
15521	output = &DescribeEgressOnlyInternetGatewaysOutput{}
15522	req = c.newRequest(op, input, output)
15523	return
15524}
15525
15526// DescribeEgressOnlyInternetGateways API operation for Amazon Elastic Compute Cloud.
15527//
15528// Describes one or more of your egress-only internet gateways.
15529//
15530// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15531// with awserr.Error's Code and Message methods to get detailed information about
15532// the error.
15533//
15534// See the AWS API reference guide for Amazon Elastic Compute Cloud's
15535// API operation DescribeEgressOnlyInternetGateways for usage and error information.
15536// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeEgressOnlyInternetGateways
15537func (c *EC2) DescribeEgressOnlyInternetGateways(input *DescribeEgressOnlyInternetGatewaysInput) (*DescribeEgressOnlyInternetGatewaysOutput, error) {
15538	req, out := c.DescribeEgressOnlyInternetGatewaysRequest(input)
15539	return out, req.Send()
15540}
15541
15542// DescribeEgressOnlyInternetGatewaysWithContext is the same as DescribeEgressOnlyInternetGateways with the addition of
15543// the ability to pass a context and additional request options.
15544//
15545// See DescribeEgressOnlyInternetGateways for details on how to use this API operation.
15546//
15547// The context must be non-nil and will be used for request cancellation. If
15548// the context is nil a panic will occur. In the future the SDK may create
15549// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15550// for more information on using Contexts.
15551func (c *EC2) DescribeEgressOnlyInternetGatewaysWithContext(ctx aws.Context, input *DescribeEgressOnlyInternetGatewaysInput, opts ...request.Option) (*DescribeEgressOnlyInternetGatewaysOutput, error) {
15552	req, out := c.DescribeEgressOnlyInternetGatewaysRequest(input)
15553	req.SetContext(ctx)
15554	req.ApplyOptions(opts...)
15555	return out, req.Send()
15556}
15557
15558// DescribeEgressOnlyInternetGatewaysPages iterates over the pages of a DescribeEgressOnlyInternetGateways operation,
15559// calling the "fn" function with the response data for each page. To stop
15560// iterating, return false from the fn function.
15561//
15562// See DescribeEgressOnlyInternetGateways method for more information on how to use this operation.
15563//
15564// Note: This operation can generate multiple requests to a service.
15565//
15566//    // Example iterating over at most 3 pages of a DescribeEgressOnlyInternetGateways operation.
15567//    pageNum := 0
15568//    err := client.DescribeEgressOnlyInternetGatewaysPages(params,
15569//        func(page *ec2.DescribeEgressOnlyInternetGatewaysOutput, lastPage bool) bool {
15570//            pageNum++
15571//            fmt.Println(page)
15572//            return pageNum <= 3
15573//        })
15574//
15575func (c *EC2) DescribeEgressOnlyInternetGatewaysPages(input *DescribeEgressOnlyInternetGatewaysInput, fn func(*DescribeEgressOnlyInternetGatewaysOutput, bool) bool) error {
15576	return c.DescribeEgressOnlyInternetGatewaysPagesWithContext(aws.BackgroundContext(), input, fn)
15577}
15578
15579// DescribeEgressOnlyInternetGatewaysPagesWithContext same as DescribeEgressOnlyInternetGatewaysPages except
15580// it takes a Context and allows setting request options on the pages.
15581//
15582// The context must be non-nil and will be used for request cancellation. If
15583// the context is nil a panic will occur. In the future the SDK may create
15584// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15585// for more information on using Contexts.
15586func (c *EC2) DescribeEgressOnlyInternetGatewaysPagesWithContext(ctx aws.Context, input *DescribeEgressOnlyInternetGatewaysInput, fn func(*DescribeEgressOnlyInternetGatewaysOutput, bool) bool, opts ...request.Option) error {
15587	p := request.Pagination{
15588		NewRequest: func() (*request.Request, error) {
15589			var inCpy *DescribeEgressOnlyInternetGatewaysInput
15590			if input != nil {
15591				tmp := *input
15592				inCpy = &tmp
15593			}
15594			req, _ := c.DescribeEgressOnlyInternetGatewaysRequest(inCpy)
15595			req.SetContext(ctx)
15596			req.ApplyOptions(opts...)
15597			return req, nil
15598		},
15599	}
15600
15601	for p.Next() {
15602		if !fn(p.Page().(*DescribeEgressOnlyInternetGatewaysOutput), !p.HasNextPage()) {
15603			break
15604		}
15605	}
15606
15607	return p.Err()
15608}
15609
15610const opDescribeElasticGpus = "DescribeElasticGpus"
15611
15612// DescribeElasticGpusRequest generates a "aws/request.Request" representing the
15613// client's request for the DescribeElasticGpus operation. The "output" return
15614// value will be populated with the request's response once the request completes
15615// successfully.
15616//
15617// Use "Send" method on the returned Request to send the API call to the service.
15618// the "output" return value is not valid until after Send returns without error.
15619//
15620// See DescribeElasticGpus for more information on using the DescribeElasticGpus
15621// API call, and error handling.
15622//
15623// This method is useful when you want to inject custom logic or configuration
15624// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15625//
15626//
15627//    // Example sending a request using the DescribeElasticGpusRequest method.
15628//    req, resp := client.DescribeElasticGpusRequest(params)
15629//
15630//    err := req.Send()
15631//    if err == nil { // resp is now filled
15632//        fmt.Println(resp)
15633//    }
15634//
15635// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeElasticGpus
15636func (c *EC2) DescribeElasticGpusRequest(input *DescribeElasticGpusInput) (req *request.Request, output *DescribeElasticGpusOutput) {
15637	op := &request.Operation{
15638		Name:       opDescribeElasticGpus,
15639		HTTPMethod: "POST",
15640		HTTPPath:   "/",
15641	}
15642
15643	if input == nil {
15644		input = &DescribeElasticGpusInput{}
15645	}
15646
15647	output = &DescribeElasticGpusOutput{}
15648	req = c.newRequest(op, input, output)
15649	return
15650}
15651
15652// DescribeElasticGpus API operation for Amazon Elastic Compute Cloud.
15653//
15654// Describes the Elastic Graphics accelerator associated with your instances.
15655// For more information about Elastic Graphics, see Amazon Elastic Graphics
15656// (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-graphics.html).
15657//
15658// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15659// with awserr.Error's Code and Message methods to get detailed information about
15660// the error.
15661//
15662// See the AWS API reference guide for Amazon Elastic Compute Cloud's
15663// API operation DescribeElasticGpus for usage and error information.
15664// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeElasticGpus
15665func (c *EC2) DescribeElasticGpus(input *DescribeElasticGpusInput) (*DescribeElasticGpusOutput, error) {
15666	req, out := c.DescribeElasticGpusRequest(input)
15667	return out, req.Send()
15668}
15669
15670// DescribeElasticGpusWithContext is the same as DescribeElasticGpus with the addition of
15671// the ability to pass a context and additional request options.
15672//
15673// See DescribeElasticGpus for details on how to use this API operation.
15674//
15675// The context must be non-nil and will be used for request cancellation. If
15676// the context is nil a panic will occur. In the future the SDK may create
15677// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15678// for more information on using Contexts.
15679func (c *EC2) DescribeElasticGpusWithContext(ctx aws.Context, input *DescribeElasticGpusInput, opts ...request.Option) (*DescribeElasticGpusOutput, error) {
15680	req, out := c.DescribeElasticGpusRequest(input)
15681	req.SetContext(ctx)
15682	req.ApplyOptions(opts...)
15683	return out, req.Send()
15684}
15685
15686const opDescribeExportImageTasks = "DescribeExportImageTasks"
15687
15688// DescribeExportImageTasksRequest generates a "aws/request.Request" representing the
15689// client's request for the DescribeExportImageTasks operation. The "output" return
15690// value will be populated with the request's response once the request completes
15691// successfully.
15692//
15693// Use "Send" method on the returned Request to send the API call to the service.
15694// the "output" return value is not valid until after Send returns without error.
15695//
15696// See DescribeExportImageTasks for more information on using the DescribeExportImageTasks
15697// API call, and error handling.
15698//
15699// This method is useful when you want to inject custom logic or configuration
15700// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15701//
15702//
15703//    // Example sending a request using the DescribeExportImageTasksRequest method.
15704//    req, resp := client.DescribeExportImageTasksRequest(params)
15705//
15706//    err := req.Send()
15707//    if err == nil { // resp is now filled
15708//        fmt.Println(resp)
15709//    }
15710//
15711// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportImageTasks
15712func (c *EC2) DescribeExportImageTasksRequest(input *DescribeExportImageTasksInput) (req *request.Request, output *DescribeExportImageTasksOutput) {
15713	op := &request.Operation{
15714		Name:       opDescribeExportImageTasks,
15715		HTTPMethod: "POST",
15716		HTTPPath:   "/",
15717		Paginator: &request.Paginator{
15718			InputTokens:     []string{"NextToken"},
15719			OutputTokens:    []string{"NextToken"},
15720			LimitToken:      "MaxResults",
15721			TruncationToken: "",
15722		},
15723	}
15724
15725	if input == nil {
15726		input = &DescribeExportImageTasksInput{}
15727	}
15728
15729	output = &DescribeExportImageTasksOutput{}
15730	req = c.newRequest(op, input, output)
15731	return
15732}
15733
15734// DescribeExportImageTasks API operation for Amazon Elastic Compute Cloud.
15735//
15736// Describes the specified export image tasks or all of your export image tasks.
15737//
15738// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15739// with awserr.Error's Code and Message methods to get detailed information about
15740// the error.
15741//
15742// See the AWS API reference guide for Amazon Elastic Compute Cloud's
15743// API operation DescribeExportImageTasks for usage and error information.
15744// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportImageTasks
15745func (c *EC2) DescribeExportImageTasks(input *DescribeExportImageTasksInput) (*DescribeExportImageTasksOutput, error) {
15746	req, out := c.DescribeExportImageTasksRequest(input)
15747	return out, req.Send()
15748}
15749
15750// DescribeExportImageTasksWithContext is the same as DescribeExportImageTasks with the addition of
15751// the ability to pass a context and additional request options.
15752//
15753// See DescribeExportImageTasks for details on how to use this API operation.
15754//
15755// The context must be non-nil and will be used for request cancellation. If
15756// the context is nil a panic will occur. In the future the SDK may create
15757// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15758// for more information on using Contexts.
15759func (c *EC2) DescribeExportImageTasksWithContext(ctx aws.Context, input *DescribeExportImageTasksInput, opts ...request.Option) (*DescribeExportImageTasksOutput, error) {
15760	req, out := c.DescribeExportImageTasksRequest(input)
15761	req.SetContext(ctx)
15762	req.ApplyOptions(opts...)
15763	return out, req.Send()
15764}
15765
15766// DescribeExportImageTasksPages iterates over the pages of a DescribeExportImageTasks operation,
15767// calling the "fn" function with the response data for each page. To stop
15768// iterating, return false from the fn function.
15769//
15770// See DescribeExportImageTasks method for more information on how to use this operation.
15771//
15772// Note: This operation can generate multiple requests to a service.
15773//
15774//    // Example iterating over at most 3 pages of a DescribeExportImageTasks operation.
15775//    pageNum := 0
15776//    err := client.DescribeExportImageTasksPages(params,
15777//        func(page *ec2.DescribeExportImageTasksOutput, lastPage bool) bool {
15778//            pageNum++
15779//            fmt.Println(page)
15780//            return pageNum <= 3
15781//        })
15782//
15783func (c *EC2) DescribeExportImageTasksPages(input *DescribeExportImageTasksInput, fn func(*DescribeExportImageTasksOutput, bool) bool) error {
15784	return c.DescribeExportImageTasksPagesWithContext(aws.BackgroundContext(), input, fn)
15785}
15786
15787// DescribeExportImageTasksPagesWithContext same as DescribeExportImageTasksPages except
15788// it takes a Context and allows setting request options on the pages.
15789//
15790// The context must be non-nil and will be used for request cancellation. If
15791// the context is nil a panic will occur. In the future the SDK may create
15792// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15793// for more information on using Contexts.
15794func (c *EC2) DescribeExportImageTasksPagesWithContext(ctx aws.Context, input *DescribeExportImageTasksInput, fn func(*DescribeExportImageTasksOutput, bool) bool, opts ...request.Option) error {
15795	p := request.Pagination{
15796		NewRequest: func() (*request.Request, error) {
15797			var inCpy *DescribeExportImageTasksInput
15798			if input != nil {
15799				tmp := *input
15800				inCpy = &tmp
15801			}
15802			req, _ := c.DescribeExportImageTasksRequest(inCpy)
15803			req.SetContext(ctx)
15804			req.ApplyOptions(opts...)
15805			return req, nil
15806		},
15807	}
15808
15809	for p.Next() {
15810		if !fn(p.Page().(*DescribeExportImageTasksOutput), !p.HasNextPage()) {
15811			break
15812		}
15813	}
15814
15815	return p.Err()
15816}
15817
15818const opDescribeExportTasks = "DescribeExportTasks"
15819
15820// DescribeExportTasksRequest generates a "aws/request.Request" representing the
15821// client's request for the DescribeExportTasks operation. The "output" return
15822// value will be populated with the request's response once the request completes
15823// successfully.
15824//
15825// Use "Send" method on the returned Request to send the API call to the service.
15826// the "output" return value is not valid until after Send returns without error.
15827//
15828// See DescribeExportTasks for more information on using the DescribeExportTasks
15829// API call, and error handling.
15830//
15831// This method is useful when you want to inject custom logic or configuration
15832// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15833//
15834//
15835//    // Example sending a request using the DescribeExportTasksRequest method.
15836//    req, resp := client.DescribeExportTasksRequest(params)
15837//
15838//    err := req.Send()
15839//    if err == nil { // resp is now filled
15840//        fmt.Println(resp)
15841//    }
15842//
15843// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportTasks
15844func (c *EC2) DescribeExportTasksRequest(input *DescribeExportTasksInput) (req *request.Request, output *DescribeExportTasksOutput) {
15845	op := &request.Operation{
15846		Name:       opDescribeExportTasks,
15847		HTTPMethod: "POST",
15848		HTTPPath:   "/",
15849	}
15850
15851	if input == nil {
15852		input = &DescribeExportTasksInput{}
15853	}
15854
15855	output = &DescribeExportTasksOutput{}
15856	req = c.newRequest(op, input, output)
15857	return
15858}
15859
15860// DescribeExportTasks API operation for Amazon Elastic Compute Cloud.
15861//
15862// Describes the specified export instance tasks or all of your export instance
15863// tasks.
15864//
15865// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15866// with awserr.Error's Code and Message methods to get detailed information about
15867// the error.
15868//
15869// See the AWS API reference guide for Amazon Elastic Compute Cloud's
15870// API operation DescribeExportTasks for usage and error information.
15871// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportTasks
15872func (c *EC2) DescribeExportTasks(input *DescribeExportTasksInput) (*DescribeExportTasksOutput, error) {
15873	req, out := c.DescribeExportTasksRequest(input)
15874	return out, req.Send()
15875}
15876
15877// DescribeExportTasksWithContext is the same as DescribeExportTasks with the addition of
15878// the ability to pass a context and additional request options.
15879//
15880// See DescribeExportTasks for details on how to use this API operation.
15881//
15882// The context must be non-nil and will be used for request cancellation. If
15883// the context is nil a panic will occur. In the future the SDK may create
15884// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15885// for more information on using Contexts.
15886func (c *EC2) DescribeExportTasksWithContext(ctx aws.Context, input *DescribeExportTasksInput, opts ...request.Option) (*DescribeExportTasksOutput, error) {
15887	req, out := c.DescribeExportTasksRequest(input)
15888	req.SetContext(ctx)
15889	req.ApplyOptions(opts...)
15890	return out, req.Send()
15891}
15892
15893const opDescribeFastSnapshotRestores = "DescribeFastSnapshotRestores"
15894
15895// DescribeFastSnapshotRestoresRequest generates a "aws/request.Request" representing the
15896// client's request for the DescribeFastSnapshotRestores operation. The "output" return
15897// value will be populated with the request's response once the request completes
15898// successfully.
15899//
15900// Use "Send" method on the returned Request to send the API call to the service.
15901// the "output" return value is not valid until after Send returns without error.
15902//
15903// See DescribeFastSnapshotRestores for more information on using the DescribeFastSnapshotRestores
15904// API call, and error handling.
15905//
15906// This method is useful when you want to inject custom logic or configuration
15907// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15908//
15909//
15910//    // Example sending a request using the DescribeFastSnapshotRestoresRequest method.
15911//    req, resp := client.DescribeFastSnapshotRestoresRequest(params)
15912//
15913//    err := req.Send()
15914//    if err == nil { // resp is now filled
15915//        fmt.Println(resp)
15916//    }
15917//
15918// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFastSnapshotRestores
15919func (c *EC2) DescribeFastSnapshotRestoresRequest(input *DescribeFastSnapshotRestoresInput) (req *request.Request, output *DescribeFastSnapshotRestoresOutput) {
15920	op := &request.Operation{
15921		Name:       opDescribeFastSnapshotRestores,
15922		HTTPMethod: "POST",
15923		HTTPPath:   "/",
15924		Paginator: &request.Paginator{
15925			InputTokens:     []string{"NextToken"},
15926			OutputTokens:    []string{"NextToken"},
15927			LimitToken:      "MaxResults",
15928			TruncationToken: "",
15929		},
15930	}
15931
15932	if input == nil {
15933		input = &DescribeFastSnapshotRestoresInput{}
15934	}
15935
15936	output = &DescribeFastSnapshotRestoresOutput{}
15937	req = c.newRequest(op, input, output)
15938	return
15939}
15940
15941// DescribeFastSnapshotRestores API operation for Amazon Elastic Compute Cloud.
15942//
15943// Describes the state of fast snapshot restores for your snapshots.
15944//
15945// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15946// with awserr.Error's Code and Message methods to get detailed information about
15947// the error.
15948//
15949// See the AWS API reference guide for Amazon Elastic Compute Cloud's
15950// API operation DescribeFastSnapshotRestores for usage and error information.
15951// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFastSnapshotRestores
15952func (c *EC2) DescribeFastSnapshotRestores(input *DescribeFastSnapshotRestoresInput) (*DescribeFastSnapshotRestoresOutput, error) {
15953	req, out := c.DescribeFastSnapshotRestoresRequest(input)
15954	return out, req.Send()
15955}
15956
15957// DescribeFastSnapshotRestoresWithContext is the same as DescribeFastSnapshotRestores with the addition of
15958// the ability to pass a context and additional request options.
15959//
15960// See DescribeFastSnapshotRestores for details on how to use this API operation.
15961//
15962// The context must be non-nil and will be used for request cancellation. If
15963// the context is nil a panic will occur. In the future the SDK may create
15964// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15965// for more information on using Contexts.
15966func (c *EC2) DescribeFastSnapshotRestoresWithContext(ctx aws.Context, input *DescribeFastSnapshotRestoresInput, opts ...request.Option) (*DescribeFastSnapshotRestoresOutput, error) {
15967	req, out := c.DescribeFastSnapshotRestoresRequest(input)
15968	req.SetContext(ctx)
15969	req.ApplyOptions(opts...)
15970	return out, req.Send()
15971}
15972
15973// DescribeFastSnapshotRestoresPages iterates over the pages of a DescribeFastSnapshotRestores operation,
15974// calling the "fn" function with the response data for each page. To stop
15975// iterating, return false from the fn function.
15976//
15977// See DescribeFastSnapshotRestores method for more information on how to use this operation.
15978//
15979// Note: This operation can generate multiple requests to a service.
15980//
15981//    // Example iterating over at most 3 pages of a DescribeFastSnapshotRestores operation.
15982//    pageNum := 0
15983//    err := client.DescribeFastSnapshotRestoresPages(params,
15984//        func(page *ec2.DescribeFastSnapshotRestoresOutput, lastPage bool) bool {
15985//            pageNum++
15986//            fmt.Println(page)
15987//            return pageNum <= 3
15988//        })
15989//
15990func (c *EC2) DescribeFastSnapshotRestoresPages(input *DescribeFastSnapshotRestoresInput, fn func(*DescribeFastSnapshotRestoresOutput, bool) bool) error {
15991	return c.DescribeFastSnapshotRestoresPagesWithContext(aws.BackgroundContext(), input, fn)
15992}
15993
15994// DescribeFastSnapshotRestoresPagesWithContext same as DescribeFastSnapshotRestoresPages except
15995// it takes a Context and allows setting request options on the pages.
15996//
15997// The context must be non-nil and will be used for request cancellation. If
15998// the context is nil a panic will occur. In the future the SDK may create
15999// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16000// for more information on using Contexts.
16001func (c *EC2) DescribeFastSnapshotRestoresPagesWithContext(ctx aws.Context, input *DescribeFastSnapshotRestoresInput, fn func(*DescribeFastSnapshotRestoresOutput, bool) bool, opts ...request.Option) error {
16002	p := request.Pagination{
16003		NewRequest: func() (*request.Request, error) {
16004			var inCpy *DescribeFastSnapshotRestoresInput
16005			if input != nil {
16006				tmp := *input
16007				inCpy = &tmp
16008			}
16009			req, _ := c.DescribeFastSnapshotRestoresRequest(inCpy)
16010			req.SetContext(ctx)
16011			req.ApplyOptions(opts...)
16012			return req, nil
16013		},
16014	}
16015
16016	for p.Next() {
16017		if !fn(p.Page().(*DescribeFastSnapshotRestoresOutput), !p.HasNextPage()) {
16018			break
16019		}
16020	}
16021
16022	return p.Err()
16023}
16024
16025const opDescribeFleetHistory = "DescribeFleetHistory"
16026
16027// DescribeFleetHistoryRequest generates a "aws/request.Request" representing the
16028// client's request for the DescribeFleetHistory operation. The "output" return
16029// value will be populated with the request's response once the request completes
16030// successfully.
16031//
16032// Use "Send" method on the returned Request to send the API call to the service.
16033// the "output" return value is not valid until after Send returns without error.
16034//
16035// See DescribeFleetHistory for more information on using the DescribeFleetHistory
16036// API call, and error handling.
16037//
16038// This method is useful when you want to inject custom logic or configuration
16039// into the SDK's request lifecycle. Such as custom headers, or retry logic.
16040//
16041//
16042//    // Example sending a request using the DescribeFleetHistoryRequest method.
16043//    req, resp := client.DescribeFleetHistoryRequest(params)
16044//
16045//    err := req.Send()
16046//    if err == nil { // resp is now filled
16047//        fmt.Println(resp)
16048//    }
16049//
16050// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleetHistory
16051func (c *EC2) DescribeFleetHistoryRequest(input *DescribeFleetHistoryInput) (req *request.Request, output *DescribeFleetHistoryOutput) {
16052	op := &request.Operation{
16053		Name:       opDescribeFleetHistory,
16054		HTTPMethod: "POST",
16055		HTTPPath:   "/",
16056	}
16057
16058	if input == nil {
16059		input = &DescribeFleetHistoryInput{}
16060	}
16061
16062	output = &DescribeFleetHistoryOutput{}
16063	req = c.newRequest(op, input, output)
16064	return
16065}
16066
16067// DescribeFleetHistory API operation for Amazon Elastic Compute Cloud.
16068//
16069// Describes the events for the specified EC2 Fleet during the specified time.
16070//
16071// EC2 Fleet events are delayed by up to 30 seconds before they can be described.
16072// This ensures that you can query by the last evaluated time and not miss a
16073// recorded event. EC2 Fleet events are available for 48 hours.
16074//
16075// For more information, see Monitoring your EC2 Fleet (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet.html#monitor-ec2-fleet)
16076// in the Amazon EC2 User Guide.
16077//
16078// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
16079// with awserr.Error's Code and Message methods to get detailed information about
16080// the error.
16081//
16082// See the AWS API reference guide for Amazon Elastic Compute Cloud's
16083// API operation DescribeFleetHistory for usage and error information.
16084// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleetHistory
16085func (c *EC2) DescribeFleetHistory(input *DescribeFleetHistoryInput) (*DescribeFleetHistoryOutput, error) {
16086	req, out := c.DescribeFleetHistoryRequest(input)
16087	return out, req.Send()
16088}
16089
16090// DescribeFleetHistoryWithContext is the same as DescribeFleetHistory with the addition of
16091// the ability to pass a context and additional request options.
16092//
16093// See DescribeFleetHistory for details on how to use this API operation.
16094//
16095// The context must be non-nil and will be used for request cancellation. If
16096// the context is nil a panic will occur. In the future the SDK may create
16097// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16098// for more information on using Contexts.
16099func (c *EC2) DescribeFleetHistoryWithContext(ctx aws.Context, input *DescribeFleetHistoryInput, opts ...request.Option) (*DescribeFleetHistoryOutput, error) {
16100	req, out := c.DescribeFleetHistoryRequest(input)
16101	req.SetContext(ctx)
16102	req.ApplyOptions(opts...)
16103	return out, req.Send()
16104}
16105
16106const opDescribeFleetInstances = "DescribeFleetInstances"
16107
16108// DescribeFleetInstancesRequest generates a "aws/request.Request" representing the
16109// client's request for the DescribeFleetInstances operation. The "output" return
16110// value will be populated with the request's response once the request completes
16111// successfully.
16112//
16113// Use "Send" method on the returned Request to send the API call to the service.
16114// the "output" return value is not valid until after Send returns without error.
16115//
16116// See DescribeFleetInstances for more information on using the DescribeFleetInstances
16117// API call, and error handling.
16118//
16119// This method is useful when you want to inject custom logic or configuration
16120// into the SDK's request lifecycle. Such as custom headers, or retry logic.
16121//
16122//
16123//    // Example sending a request using the DescribeFleetInstancesRequest method.
16124//    req, resp := client.DescribeFleetInstancesRequest(params)
16125//
16126//    err := req.Send()
16127//    if err == nil { // resp is now filled
16128//        fmt.Println(resp)
16129//    }
16130//
16131// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleetInstances
16132func (c *EC2) DescribeFleetInstancesRequest(input *DescribeFleetInstancesInput) (req *request.Request, output *DescribeFleetInstancesOutput) {
16133	op := &request.Operation{
16134		Name:       opDescribeFleetInstances,
16135		HTTPMethod: "POST",
16136		HTTPPath:   "/",
16137	}
16138
16139	if input == nil {
16140		input = &DescribeFleetInstancesInput{}
16141	}
16142
16143	output = &DescribeFleetInstancesOutput{}
16144	req = c.newRequest(op, input, output)
16145	return
16146}
16147
16148// DescribeFleetInstances API operation for Amazon Elastic Compute Cloud.
16149//
16150// Describes the running instances for the specified EC2 Fleet.
16151//
16152// For more information, see Monitoring your EC2 Fleet (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet.html#monitor-ec2-fleet)
16153// in the Amazon EC2 User Guide.
16154//
16155// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
16156// with awserr.Error's Code and Message methods to get detailed information about
16157// the error.
16158//
16159// See the AWS API reference guide for Amazon Elastic Compute Cloud's
16160// API operation DescribeFleetInstances for usage and error information.
16161// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleetInstances
16162func (c *EC2) DescribeFleetInstances(input *DescribeFleetInstancesInput) (*DescribeFleetInstancesOutput, error) {
16163	req, out := c.DescribeFleetInstancesRequest(input)
16164	return out, req.Send()
16165}
16166
16167// DescribeFleetInstancesWithContext is the same as DescribeFleetInstances with the addition of
16168// the ability to pass a context and additional request options.
16169//
16170// See DescribeFleetInstances for details on how to use this API operation.
16171//
16172// The context must be non-nil and will be used for request cancellation. If
16173// the context is nil a panic will occur. In the future the SDK may create
16174// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16175// for more information on using Contexts.
16176func (c *EC2) DescribeFleetInstancesWithContext(ctx aws.Context, input *DescribeFleetInstancesInput, opts ...request.Option) (*DescribeFleetInstancesOutput, error) {
16177	req, out := c.DescribeFleetInstancesRequest(input)
16178	req.SetContext(ctx)
16179	req.ApplyOptions(opts...)
16180	return out, req.Send()
16181}
16182
16183const opDescribeFleets = "DescribeFleets"
16184
16185// DescribeFleetsRequest generates a "aws/request.Request" representing the
16186// client's request for the DescribeFleets operation. The "output" return
16187// value will be populated with the request's response once the request completes
16188// successfully.
16189//
16190// Use "Send" method on the returned Request to send the API call to the service.
16191// the "output" return value is not valid until after Send returns without error.
16192//
16193// See DescribeFleets for more information on using the DescribeFleets
16194// API call, and error handling.
16195//
16196// This method is useful when you want to inject custom logic or configuration
16197// into the SDK's request lifecycle. Such as custom headers, or retry logic.
16198//
16199//
16200//    // Example sending a request using the DescribeFleetsRequest method.
16201//    req, resp := client.DescribeFleetsRequest(params)
16202//
16203//    err := req.Send()
16204//    if err == nil { // resp is now filled
16205//        fmt.Println(resp)
16206//    }
16207//
16208// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleets
16209func (c *EC2) DescribeFleetsRequest(input *DescribeFleetsInput) (req *request.Request, output *DescribeFleetsOutput) {
16210	op := &request.Operation{
16211		Name:       opDescribeFleets,
16212		HTTPMethod: "POST",
16213		HTTPPath:   "/",
16214		Paginator: &request.Paginator{
16215			InputTokens:     []string{"NextToken"},
16216			OutputTokens:    []string{"NextToken"},
16217			LimitToken:      "MaxResults",
16218			TruncationToken: "",
16219		},
16220	}
16221
16222	if input == nil {
16223		input = &DescribeFleetsInput{}
16224	}
16225
16226	output = &DescribeFleetsOutput{}
16227	req = c.newRequest(op, input, output)
16228	return
16229}
16230
16231// DescribeFleets API operation for Amazon Elastic Compute Cloud.
16232//
16233// Describes the specified EC2 Fleets or all of your EC2 Fleets.
16234//
16235// For more information, see Monitoring your EC2 Fleet (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet.html#monitor-ec2-fleet)
16236// in the Amazon EC2 User Guide.
16237//
16238// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
16239// with awserr.Error's Code and Message methods to get detailed information about
16240// the error.
16241//
16242// See the AWS API reference guide for Amazon Elastic Compute Cloud's
16243// API operation DescribeFleets for usage and error information.
16244// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleets
16245func (c *EC2) DescribeFleets(input *DescribeFleetsInput) (*DescribeFleetsOutput, error) {
16246	req, out := c.DescribeFleetsRequest(input)
16247	return out, req.Send()
16248}
16249
16250// DescribeFleetsWithContext is the same as DescribeFleets with the addition of
16251// the ability to pass a context and additional request options.
16252//
16253// See DescribeFleets for details on how to use this API operation.
16254//
16255// The context must be non-nil and will be used for request cancellation. If
16256// the context is nil a panic will occur. In the future the SDK may create
16257// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16258// for more information on using Contexts.
16259func (c *EC2) DescribeFleetsWithContext(ctx aws.Context, input *DescribeFleetsInput, opts ...request.Option) (*DescribeFleetsOutput, error) {
16260	req, out := c.DescribeFleetsRequest(input)
16261	req.SetContext(ctx)
16262	req.ApplyOptions(opts...)
16263	return out, req.Send()
16264}
16265
16266// DescribeFleetsPages iterates over the pages of a DescribeFleets operation,
16267// calling the "fn" function with the response data for each page. To stop
16268// iterating, return false from the fn function.
16269//
16270// See DescribeFleets method for more information on how to use this operation.
16271//
16272// Note: This operation can generate multiple requests to a service.
16273//
16274//    // Example iterating over at most 3 pages of a DescribeFleets operation.
16275//    pageNum := 0
16276//    err := client.DescribeFleetsPages(params,
16277//        func(page *ec2.DescribeFleetsOutput, lastPage bool) bool {
16278//            pageNum++
16279//            fmt.Println(page)
16280//            return pageNum <= 3
16281//        })
16282//
16283func (c *EC2) DescribeFleetsPages(input *DescribeFleetsInput, fn func(*DescribeFleetsOutput, bool) bool) error {
16284	return c.DescribeFleetsPagesWithContext(aws.BackgroundContext(), input, fn)
16285}
16286
16287// DescribeFleetsPagesWithContext same as DescribeFleetsPages except
16288// it takes a Context and allows setting request options on the pages.
16289//
16290// The context must be non-nil and will be used for request cancellation. If
16291// the context is nil a panic will occur. In the future the SDK may create
16292// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16293// for more information on using Contexts.
16294func (c *EC2) DescribeFleetsPagesWithContext(ctx aws.Context, input *DescribeFleetsInput, fn func(*DescribeFleetsOutput, bool) bool, opts ...request.Option) error {
16295	p := request.Pagination{
16296		NewRequest: func() (*request.Request, error) {
16297			var inCpy *DescribeFleetsInput
16298			if input != nil {
16299				tmp := *input
16300				inCpy = &tmp
16301			}
16302			req, _ := c.DescribeFleetsRequest(inCpy)
16303			req.SetContext(ctx)
16304			req.ApplyOptions(opts...)
16305			return req, nil
16306		},
16307	}
16308
16309	for p.Next() {
16310		if !fn(p.Page().(*DescribeFleetsOutput), !p.HasNextPage()) {
16311			break
16312		}
16313	}
16314
16315	return p.Err()
16316}
16317
16318const opDescribeFlowLogs = "DescribeFlowLogs"
16319
16320// DescribeFlowLogsRequest generates a "aws/request.Request" representing the
16321// client's request for the DescribeFlowLogs operation. The "output" return
16322// value will be populated with the request's response once the request completes
16323// successfully.
16324//
16325// Use "Send" method on the returned Request to send the API call to the service.
16326// the "output" return value is not valid until after Send returns without error.
16327//
16328// See DescribeFlowLogs for more information on using the DescribeFlowLogs
16329// API call, and error handling.
16330//
16331// This method is useful when you want to inject custom logic or configuration
16332// into the SDK's request lifecycle. Such as custom headers, or retry logic.
16333//
16334//
16335//    // Example sending a request using the DescribeFlowLogsRequest method.
16336//    req, resp := client.DescribeFlowLogsRequest(params)
16337//
16338//    err := req.Send()
16339//    if err == nil { // resp is now filled
16340//        fmt.Println(resp)
16341//    }
16342//
16343// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFlowLogs
16344func (c *EC2) DescribeFlowLogsRequest(input *DescribeFlowLogsInput) (req *request.Request, output *DescribeFlowLogsOutput) {
16345	op := &request.Operation{
16346		Name:       opDescribeFlowLogs,
16347		HTTPMethod: "POST",
16348		HTTPPath:   "/",
16349		Paginator: &request.Paginator{
16350			InputTokens:     []string{"NextToken"},
16351			OutputTokens:    []string{"NextToken"},
16352			LimitToken:      "MaxResults",
16353			TruncationToken: "",
16354		},
16355	}
16356
16357	if input == nil {
16358		input = &DescribeFlowLogsInput{}
16359	}
16360
16361	output = &DescribeFlowLogsOutput{}
16362	req = c.newRequest(op, input, output)
16363	return
16364}
16365
16366// DescribeFlowLogs API operation for Amazon Elastic Compute Cloud.
16367//
16368// Describes one or more flow logs. To view the information in your flow logs
16369// (the log streams for the network interfaces), you must use the CloudWatch
16370// Logs console or the CloudWatch Logs API.
16371//
16372// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
16373// with awserr.Error's Code and Message methods to get detailed information about
16374// the error.
16375//
16376// See the AWS API reference guide for Amazon Elastic Compute Cloud's
16377// API operation DescribeFlowLogs for usage and error information.
16378// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFlowLogs
16379func (c *EC2) DescribeFlowLogs(input *DescribeFlowLogsInput) (*DescribeFlowLogsOutput, error) {
16380	req, out := c.DescribeFlowLogsRequest(input)
16381	return out, req.Send()
16382}
16383
16384// DescribeFlowLogsWithContext is the same as DescribeFlowLogs with the addition of
16385// the ability to pass a context and additional request options.
16386//
16387// See DescribeFlowLogs for details on how to use this API operation.
16388//
16389// The context must be non-nil and will be used for request cancellation. If
16390// the context is nil a panic will occur. In the future the SDK may create
16391// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16392// for more information on using Contexts.
16393func (c *EC2) DescribeFlowLogsWithContext(ctx aws.Context, input *DescribeFlowLogsInput, opts ...request.Option) (*DescribeFlowLogsOutput, error) {
16394	req, out := c.DescribeFlowLogsRequest(input)
16395	req.SetContext(ctx)
16396	req.ApplyOptions(opts...)
16397	return out, req.Send()
16398}
16399
16400// DescribeFlowLogsPages iterates over the pages of a DescribeFlowLogs operation,
16401// calling the "fn" function with the response data for each page. To stop
16402// iterating, return false from the fn function.
16403//
16404// See DescribeFlowLogs method for more information on how to use this operation.
16405//
16406// Note: This operation can generate multiple requests to a service.
16407//
16408//    // Example iterating over at most 3 pages of a DescribeFlowLogs operation.
16409//    pageNum := 0
16410//    err := client.DescribeFlowLogsPages(params,
16411//        func(page *ec2.DescribeFlowLogsOutput, lastPage bool) bool {
16412//            pageNum++
16413//            fmt.Println(page)
16414//            return pageNum <= 3
16415//        })
16416//
16417func (c *EC2) DescribeFlowLogsPages(input *DescribeFlowLogsInput, fn func(*DescribeFlowLogsOutput, bool) bool) error {
16418	return c.DescribeFlowLogsPagesWithContext(aws.BackgroundContext(), input, fn)
16419}
16420
16421// DescribeFlowLogsPagesWithContext same as DescribeFlowLogsPages except
16422// it takes a Context and allows setting request options on the pages.
16423//
16424// The context must be non-nil and will be used for request cancellation. If
16425// the context is nil a panic will occur. In the future the SDK may create
16426// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16427// for more information on using Contexts.
16428func (c *EC2) DescribeFlowLogsPagesWithContext(ctx aws.Context, input *DescribeFlowLogsInput, fn func(*DescribeFlowLogsOutput, bool) bool, opts ...request.Option) error {
16429	p := request.Pagination{
16430		NewRequest: func() (*request.Request, error) {
16431			var inCpy *DescribeFlowLogsInput
16432			if input != nil {
16433				tmp := *input
16434				inCpy = &tmp
16435			}
16436			req, _ := c.DescribeFlowLogsRequest(inCpy)
16437			req.SetContext(ctx)
16438			req.ApplyOptions(opts...)
16439			return req, nil
16440		},
16441	}
16442
16443	for p.Next() {
16444		if !fn(p.Page().(*DescribeFlowLogsOutput), !p.HasNextPage()) {
16445			break
16446		}
16447	}
16448
16449	return p.Err()
16450}
16451
16452const opDescribeFpgaImageAttribute = "DescribeFpgaImageAttribute"
16453
16454// DescribeFpgaImageAttributeRequest generates a "aws/request.Request" representing the
16455// client's request for the DescribeFpgaImageAttribute operation. The "output" return
16456// value will be populated with the request's response once the request completes
16457// successfully.
16458//
16459// Use "Send" method on the returned Request to send the API call to the service.
16460// the "output" return value is not valid until after Send returns without error.
16461//
16462// See DescribeFpgaImageAttribute for more information on using the DescribeFpgaImageAttribute
16463// API call, and error handling.
16464//
16465// This method is useful when you want to inject custom logic or configuration
16466// into the SDK's request lifecycle. Such as custom headers, or retry logic.
16467//
16468//
16469//    // Example sending a request using the DescribeFpgaImageAttributeRequest method.
16470//    req, resp := client.DescribeFpgaImageAttributeRequest(params)
16471//
16472//    err := req.Send()
16473//    if err == nil { // resp is now filled
16474//        fmt.Println(resp)
16475//    }
16476//
16477// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImageAttribute
16478func (c *EC2) DescribeFpgaImageAttributeRequest(input *DescribeFpgaImageAttributeInput) (req *request.Request, output *DescribeFpgaImageAttributeOutput) {
16479	op := &request.Operation{
16480		Name:       opDescribeFpgaImageAttribute,
16481		HTTPMethod: "POST",
16482		HTTPPath:   "/",
16483	}
16484
16485	if input == nil {
16486		input = &DescribeFpgaImageAttributeInput{}
16487	}
16488
16489	output = &DescribeFpgaImageAttributeOutput{}
16490	req = c.newRequest(op, input, output)
16491	return
16492}
16493
16494// DescribeFpgaImageAttribute API operation for Amazon Elastic Compute Cloud.
16495//
16496// Describes the specified attribute of the specified Amazon FPGA Image (AFI).
16497//
16498// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
16499// with awserr.Error's Code and Message methods to get detailed information about
16500// the error.
16501//
16502// See the AWS API reference guide for Amazon Elastic Compute Cloud's
16503// API operation DescribeFpgaImageAttribute for usage and error information.
16504// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImageAttribute
16505func (c *EC2) DescribeFpgaImageAttribute(input *DescribeFpgaImageAttributeInput) (*DescribeFpgaImageAttributeOutput, error) {
16506	req, out := c.DescribeFpgaImageAttributeRequest(input)
16507	return out, req.Send()
16508}
16509
16510// DescribeFpgaImageAttributeWithContext is the same as DescribeFpgaImageAttribute with the addition of
16511// the ability to pass a context and additional request options.
16512//
16513// See DescribeFpgaImageAttribute for details on how to use this API operation.
16514//
16515// The context must be non-nil and will be used for request cancellation. If
16516// the context is nil a panic will occur. In the future the SDK may create
16517// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16518// for more information on using Contexts.
16519func (c *EC2) DescribeFpgaImageAttributeWithContext(ctx aws.Context, input *DescribeFpgaImageAttributeInput, opts ...request.Option) (*DescribeFpgaImageAttributeOutput, error) {
16520	req, out := c.DescribeFpgaImageAttributeRequest(input)
16521	req.SetContext(ctx)
16522	req.ApplyOptions(opts...)
16523	return out, req.Send()
16524}
16525
16526const opDescribeFpgaImages = "DescribeFpgaImages"
16527
16528// DescribeFpgaImagesRequest generates a "aws/request.Request" representing the
16529// client's request for the DescribeFpgaImages operation. The "output" return
16530// value will be populated with the request's response once the request completes
16531// successfully.
16532//
16533// Use "Send" method on the returned Request to send the API call to the service.
16534// the "output" return value is not valid until after Send returns without error.
16535//
16536// See DescribeFpgaImages for more information on using the DescribeFpgaImages
16537// API call, and error handling.
16538//
16539// This method is useful when you want to inject custom logic or configuration
16540// into the SDK's request lifecycle. Such as custom headers, or retry logic.
16541//
16542//
16543//    // Example sending a request using the DescribeFpgaImagesRequest method.
16544//    req, resp := client.DescribeFpgaImagesRequest(params)
16545//
16546//    err := req.Send()
16547//    if err == nil { // resp is now filled
16548//        fmt.Println(resp)
16549//    }
16550//
16551// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImages
16552func (c *EC2) DescribeFpgaImagesRequest(input *DescribeFpgaImagesInput) (req *request.Request, output *DescribeFpgaImagesOutput) {
16553	op := &request.Operation{
16554		Name:       opDescribeFpgaImages,
16555		HTTPMethod: "POST",
16556		HTTPPath:   "/",
16557		Paginator: &request.Paginator{
16558			InputTokens:     []string{"NextToken"},
16559			OutputTokens:    []string{"NextToken"},
16560			LimitToken:      "MaxResults",
16561			TruncationToken: "",
16562		},
16563	}
16564
16565	if input == nil {
16566		input = &DescribeFpgaImagesInput{}
16567	}
16568
16569	output = &DescribeFpgaImagesOutput{}
16570	req = c.newRequest(op, input, output)
16571	return
16572}
16573
16574// DescribeFpgaImages API operation for Amazon Elastic Compute Cloud.
16575//
16576// Describes the Amazon FPGA Images (AFIs) available to you. These include public
16577// AFIs, private AFIs that you own, and AFIs owned by other AWS accounts for
16578// which you have load permissions.
16579//
16580// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
16581// with awserr.Error's Code and Message methods to get detailed information about
16582// the error.
16583//
16584// See the AWS API reference guide for Amazon Elastic Compute Cloud's
16585// API operation DescribeFpgaImages for usage and error information.
16586// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImages
16587func (c *EC2) DescribeFpgaImages(input *DescribeFpgaImagesInput) (*DescribeFpgaImagesOutput, error) {
16588	req, out := c.DescribeFpgaImagesRequest(input)
16589	return out, req.Send()
16590}
16591
16592// DescribeFpgaImagesWithContext is the same as DescribeFpgaImages with the addition of
16593// the ability to pass a context and additional request options.
16594//
16595// See DescribeFpgaImages for details on how to use this API operation.
16596//
16597// The context must be non-nil and will be used for request cancellation. If
16598// the context is nil a panic will occur. In the future the SDK may create
16599// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16600// for more information on using Contexts.
16601func (c *EC2) DescribeFpgaImagesWithContext(ctx aws.Context, input *DescribeFpgaImagesInput, opts ...request.Option) (*DescribeFpgaImagesOutput, error) {
16602	req, out := c.DescribeFpgaImagesRequest(input)
16603	req.SetContext(ctx)
16604	req.ApplyOptions(opts...)
16605	return out, req.Send()
16606}
16607
16608// DescribeFpgaImagesPages iterates over the pages of a DescribeFpgaImages operation,
16609// calling the "fn" function with the response data for each page. To stop
16610// iterating, return false from the fn function.
16611//
16612// See DescribeFpgaImages method for more information on how to use this operation.
16613//
16614// Note: This operation can generate multiple requests to a service.
16615//
16616//    // Example iterating over at most 3 pages of a DescribeFpgaImages operation.
16617//    pageNum := 0
16618//    err := client.DescribeFpgaImagesPages(params,
16619//        func(page *ec2.DescribeFpgaImagesOutput, lastPage bool) bool {
16620//            pageNum++
16621//            fmt.Println(page)
16622//            return pageNum <= 3
16623//        })
16624//
16625func (c *EC2) DescribeFpgaImagesPages(input *DescribeFpgaImagesInput, fn func(*DescribeFpgaImagesOutput, bool) bool) error {
16626	return c.DescribeFpgaImagesPagesWithContext(aws.BackgroundContext(), input, fn)
16627}
16628
16629// DescribeFpgaImagesPagesWithContext same as DescribeFpgaImagesPages except
16630// it takes a Context and allows setting request options on the pages.
16631//
16632// The context must be non-nil and will be used for request cancellation. If
16633// the context is nil a panic will occur. In the future the SDK may create
16634// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16635// for more information on using Contexts.
16636func (c *EC2) DescribeFpgaImagesPagesWithContext(ctx aws.Context, input *DescribeFpgaImagesInput, fn func(*DescribeFpgaImagesOutput, bool) bool, opts ...request.Option) error {
16637	p := request.Pagination{
16638		NewRequest: func() (*request.Request, error) {
16639			var inCpy *DescribeFpgaImagesInput
16640			if input != nil {
16641				tmp := *input
16642				inCpy = &tmp
16643			}
16644			req, _ := c.DescribeFpgaImagesRequest(inCpy)
16645			req.SetContext(ctx)
16646			req.ApplyOptions(opts...)
16647			return req, nil
16648		},
16649	}
16650
16651	for p.Next() {
16652		if !fn(p.Page().(*DescribeFpgaImagesOutput), !p.HasNextPage()) {
16653			break
16654		}
16655	}
16656
16657	return p.Err()
16658}
16659
16660const opDescribeHostReservationOfferings = "DescribeHostReservationOfferings"
16661
16662// DescribeHostReservationOfferingsRequest generates a "aws/request.Request" representing the
16663// client's request for the DescribeHostReservationOfferings operation. The "output" return
16664// value will be populated with the request's response once the request completes
16665// successfully.
16666//
16667// Use "Send" method on the returned Request to send the API call to the service.
16668// the "output" return value is not valid until after Send returns without error.
16669//
16670// See DescribeHostReservationOfferings for more information on using the DescribeHostReservationOfferings
16671// API call, and error handling.
16672//
16673// This method is useful when you want to inject custom logic or configuration
16674// into the SDK's request lifecycle. Such as custom headers, or retry logic.
16675//
16676//
16677//    // Example sending a request using the DescribeHostReservationOfferingsRequest method.
16678//    req, resp := client.DescribeHostReservationOfferingsRequest(params)
16679//
16680//    err := req.Send()
16681//    if err == nil { // resp is now filled
16682//        fmt.Println(resp)
16683//    }
16684//
16685// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservationOfferings
16686func (c *EC2) DescribeHostReservationOfferingsRequest(input *DescribeHostReservationOfferingsInput) (req *request.Request, output *DescribeHostReservationOfferingsOutput) {
16687	op := &request.Operation{
16688		Name:       opDescribeHostReservationOfferings,
16689		HTTPMethod: "POST",
16690		HTTPPath:   "/",
16691		Paginator: &request.Paginator{
16692			InputTokens:     []string{"NextToken"},
16693			OutputTokens:    []string{"NextToken"},
16694			LimitToken:      "MaxResults",
16695			TruncationToken: "",
16696		},
16697	}
16698
16699	if input == nil {
16700		input = &DescribeHostReservationOfferingsInput{}
16701	}
16702
16703	output = &DescribeHostReservationOfferingsOutput{}
16704	req = c.newRequest(op, input, output)
16705	return
16706}
16707
16708// DescribeHostReservationOfferings API operation for Amazon Elastic Compute Cloud.
16709//
16710// Describes the Dedicated Host reservations that are available to purchase.
16711//
16712// The results describe all of the Dedicated Host reservation offerings, including
16713// offerings that might not match the instance family and Region of your Dedicated
16714// Hosts. When purchasing an offering, ensure that the instance family and Region
16715// of the offering matches that of the Dedicated Hosts with which it is to be
16716// associated. For more information about supported instance types, see Dedicated
16717// Hosts (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-overview.html)
16718// in the Amazon EC2 User Guide.
16719//
16720// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
16721// with awserr.Error's Code and Message methods to get detailed information about
16722// the error.
16723//
16724// See the AWS API reference guide for Amazon Elastic Compute Cloud's
16725// API operation DescribeHostReservationOfferings for usage and error information.
16726// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservationOfferings
16727func (c *EC2) DescribeHostReservationOfferings(input *DescribeHostReservationOfferingsInput) (*DescribeHostReservationOfferingsOutput, error) {
16728	req, out := c.DescribeHostReservationOfferingsRequest(input)
16729	return out, req.Send()
16730}
16731
16732// DescribeHostReservationOfferingsWithContext is the same as DescribeHostReservationOfferings with the addition of
16733// the ability to pass a context and additional request options.
16734//
16735// See DescribeHostReservationOfferings for details on how to use this API operation.
16736//
16737// The context must be non-nil and will be used for request cancellation. If
16738// the context is nil a panic will occur. In the future the SDK may create
16739// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16740// for more information on using Contexts.
16741func (c *EC2) DescribeHostReservationOfferingsWithContext(ctx aws.Context, input *DescribeHostReservationOfferingsInput, opts ...request.Option) (*DescribeHostReservationOfferingsOutput, error) {
16742	req, out := c.DescribeHostReservationOfferingsRequest(input)
16743	req.SetContext(ctx)
16744	req.ApplyOptions(opts...)
16745	return out, req.Send()
16746}
16747
16748// DescribeHostReservationOfferingsPages iterates over the pages of a DescribeHostReservationOfferings operation,
16749// calling the "fn" function with the response data for each page. To stop
16750// iterating, return false from the fn function.
16751//
16752// See DescribeHostReservationOfferings method for more information on how to use this operation.
16753//
16754// Note: This operation can generate multiple requests to a service.
16755//
16756//    // Example iterating over at most 3 pages of a DescribeHostReservationOfferings operation.
16757//    pageNum := 0
16758//    err := client.DescribeHostReservationOfferingsPages(params,
16759//        func(page *ec2.DescribeHostReservationOfferingsOutput, lastPage bool) bool {
16760//            pageNum++
16761//            fmt.Println(page)
16762//            return pageNum <= 3
16763//        })
16764//
16765func (c *EC2) DescribeHostReservationOfferingsPages(input *DescribeHostReservationOfferingsInput, fn func(*DescribeHostReservationOfferingsOutput, bool) bool) error {
16766	return c.DescribeHostReservationOfferingsPagesWithContext(aws.BackgroundContext(), input, fn)
16767}
16768
16769// DescribeHostReservationOfferingsPagesWithContext same as DescribeHostReservationOfferingsPages except
16770// it takes a Context and allows setting request options on the pages.
16771//
16772// The context must be non-nil and will be used for request cancellation. If
16773// the context is nil a panic will occur. In the future the SDK may create
16774// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16775// for more information on using Contexts.
16776func (c *EC2) DescribeHostReservationOfferingsPagesWithContext(ctx aws.Context, input *DescribeHostReservationOfferingsInput, fn func(*DescribeHostReservationOfferingsOutput, bool) bool, opts ...request.Option) error {
16777	p := request.Pagination{
16778		NewRequest: func() (*request.Request, error) {
16779			var inCpy *DescribeHostReservationOfferingsInput
16780			if input != nil {
16781				tmp := *input
16782				inCpy = &tmp
16783			}
16784			req, _ := c.DescribeHostReservationOfferingsRequest(inCpy)
16785			req.SetContext(ctx)
16786			req.ApplyOptions(opts...)
16787			return req, nil
16788		},
16789	}
16790
16791	for p.Next() {
16792		if !fn(p.Page().(*DescribeHostReservationOfferingsOutput), !p.HasNextPage()) {
16793			break
16794		}
16795	}
16796
16797	return p.Err()
16798}
16799
16800const opDescribeHostReservations = "DescribeHostReservations"
16801
16802// DescribeHostReservationsRequest generates a "aws/request.Request" representing the
16803// client's request for the DescribeHostReservations operation. The "output" return
16804// value will be populated with the request's response once the request completes
16805// successfully.
16806//
16807// Use "Send" method on the returned Request to send the API call to the service.
16808// the "output" return value is not valid until after Send returns without error.
16809//
16810// See DescribeHostReservations for more information on using the DescribeHostReservations
16811// API call, and error handling.
16812//
16813// This method is useful when you want to inject custom logic or configuration
16814// into the SDK's request lifecycle. Such as custom headers, or retry logic.
16815//
16816//
16817//    // Example sending a request using the DescribeHostReservationsRequest method.
16818//    req, resp := client.DescribeHostReservationsRequest(params)
16819//
16820//    err := req.Send()
16821//    if err == nil { // resp is now filled
16822//        fmt.Println(resp)
16823//    }
16824//
16825// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservations
16826func (c *EC2) DescribeHostReservationsRequest(input *DescribeHostReservationsInput) (req *request.Request, output *DescribeHostReservationsOutput) {
16827	op := &request.Operation{
16828		Name:       opDescribeHostReservations,
16829		HTTPMethod: "POST",
16830		HTTPPath:   "/",
16831		Paginator: &request.Paginator{
16832			InputTokens:     []string{"NextToken"},
16833			OutputTokens:    []string{"NextToken"},
16834			LimitToken:      "MaxResults",
16835			TruncationToken: "",
16836		},
16837	}
16838
16839	if input == nil {
16840		input = &DescribeHostReservationsInput{}
16841	}
16842
16843	output = &DescribeHostReservationsOutput{}
16844	req = c.newRequest(op, input, output)
16845	return
16846}
16847
16848// DescribeHostReservations API operation for Amazon Elastic Compute Cloud.
16849//
16850// Describes reservations that are associated with Dedicated Hosts in your account.
16851//
16852// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
16853// with awserr.Error's Code and Message methods to get detailed information about
16854// the error.
16855//
16856// See the AWS API reference guide for Amazon Elastic Compute Cloud's
16857// API operation DescribeHostReservations for usage and error information.
16858// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservations
16859func (c *EC2) DescribeHostReservations(input *DescribeHostReservationsInput) (*DescribeHostReservationsOutput, error) {
16860	req, out := c.DescribeHostReservationsRequest(input)
16861	return out, req.Send()
16862}
16863
16864// DescribeHostReservationsWithContext is the same as DescribeHostReservations with the addition of
16865// the ability to pass a context and additional request options.
16866//
16867// See DescribeHostReservations for details on how to use this API operation.
16868//
16869// The context must be non-nil and will be used for request cancellation. If
16870// the context is nil a panic will occur. In the future the SDK may create
16871// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16872// for more information on using Contexts.
16873func (c *EC2) DescribeHostReservationsWithContext(ctx aws.Context, input *DescribeHostReservationsInput, opts ...request.Option) (*DescribeHostReservationsOutput, error) {
16874	req, out := c.DescribeHostReservationsRequest(input)
16875	req.SetContext(ctx)
16876	req.ApplyOptions(opts...)
16877	return out, req.Send()
16878}
16879
16880// DescribeHostReservationsPages iterates over the pages of a DescribeHostReservations operation,
16881// calling the "fn" function with the response data for each page. To stop
16882// iterating, return false from the fn function.
16883//
16884// See DescribeHostReservations method for more information on how to use this operation.
16885//
16886// Note: This operation can generate multiple requests to a service.
16887//
16888//    // Example iterating over at most 3 pages of a DescribeHostReservations operation.
16889//    pageNum := 0
16890//    err := client.DescribeHostReservationsPages(params,
16891//        func(page *ec2.DescribeHostReservationsOutput, lastPage bool) bool {
16892//            pageNum++
16893//            fmt.Println(page)
16894//            return pageNum <= 3
16895//        })
16896//
16897func (c *EC2) DescribeHostReservationsPages(input *DescribeHostReservationsInput, fn func(*DescribeHostReservationsOutput, bool) bool) error {
16898	return c.DescribeHostReservationsPagesWithContext(aws.BackgroundContext(), input, fn)
16899}
16900
16901// DescribeHostReservationsPagesWithContext same as DescribeHostReservationsPages except
16902// it takes a Context and allows setting request options on the pages.
16903//
16904// The context must be non-nil and will be used for request cancellation. If
16905// the context is nil a panic will occur. In the future the SDK may create
16906// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16907// for more information on using Contexts.
16908func (c *EC2) DescribeHostReservationsPagesWithContext(ctx aws.Context, input *DescribeHostReservationsInput, fn func(*DescribeHostReservationsOutput, bool) bool, opts ...request.Option) error {
16909	p := request.Pagination{
16910		NewRequest: func() (*request.Request, error) {
16911			var inCpy *DescribeHostReservationsInput
16912			if input != nil {
16913				tmp := *input
16914				inCpy = &tmp
16915			}
16916			req, _ := c.DescribeHostReservationsRequest(inCpy)
16917			req.SetContext(ctx)
16918			req.ApplyOptions(opts...)
16919			return req, nil
16920		},
16921	}
16922
16923	for p.Next() {
16924		if !fn(p.Page().(*DescribeHostReservationsOutput), !p.HasNextPage()) {
16925			break
16926		}
16927	}
16928
16929	return p.Err()
16930}
16931
16932const opDescribeHosts = "DescribeHosts"
16933
16934// DescribeHostsRequest generates a "aws/request.Request" representing the
16935// client's request for the DescribeHosts operation. The "output" return
16936// value will be populated with the request's response once the request completes
16937// successfully.
16938//
16939// Use "Send" method on the returned Request to send the API call to the service.
16940// the "output" return value is not valid until after Send returns without error.
16941//
16942// See DescribeHosts for more information on using the DescribeHosts
16943// API call, and error handling.
16944//
16945// This method is useful when you want to inject custom logic or configuration
16946// into the SDK's request lifecycle. Such as custom headers, or retry logic.
16947//
16948//
16949//    // Example sending a request using the DescribeHostsRequest method.
16950//    req, resp := client.DescribeHostsRequest(params)
16951//
16952//    err := req.Send()
16953//    if err == nil { // resp is now filled
16954//        fmt.Println(resp)
16955//    }
16956//
16957// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHosts
16958func (c *EC2) DescribeHostsRequest(input *DescribeHostsInput) (req *request.Request, output *DescribeHostsOutput) {
16959	op := &request.Operation{
16960		Name:       opDescribeHosts,
16961		HTTPMethod: "POST",
16962		HTTPPath:   "/",
16963		Paginator: &request.Paginator{
16964			InputTokens:     []string{"NextToken"},
16965			OutputTokens:    []string{"NextToken"},
16966			LimitToken:      "MaxResults",
16967			TruncationToken: "",
16968		},
16969	}
16970
16971	if input == nil {
16972		input = &DescribeHostsInput{}
16973	}
16974
16975	output = &DescribeHostsOutput{}
16976	req = c.newRequest(op, input, output)
16977	return
16978}
16979
16980// DescribeHosts API operation for Amazon Elastic Compute Cloud.
16981//
16982// Describes the specified Dedicated Hosts or all your Dedicated Hosts.
16983//
16984// The results describe only the Dedicated Hosts in the Region you're currently
16985// using. All listed instances consume capacity on your Dedicated Host. Dedicated
16986// Hosts that have recently been released are listed with the state released.
16987//
16988// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
16989// with awserr.Error's Code and Message methods to get detailed information about
16990// the error.
16991//
16992// See the AWS API reference guide for Amazon Elastic Compute Cloud's
16993// API operation DescribeHosts for usage and error information.
16994// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHosts
16995func (c *EC2) DescribeHosts(input *DescribeHostsInput) (*DescribeHostsOutput, error) {
16996	req, out := c.DescribeHostsRequest(input)
16997	return out, req.Send()
16998}
16999
17000// DescribeHostsWithContext is the same as DescribeHosts with the addition of
17001// the ability to pass a context and additional request options.
17002//
17003// See DescribeHosts for details on how to use this API operation.
17004//
17005// The context must be non-nil and will be used for request cancellation. If
17006// the context is nil a panic will occur. In the future the SDK may create
17007// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17008// for more information on using Contexts.
17009func (c *EC2) DescribeHostsWithContext(ctx aws.Context, input *DescribeHostsInput, opts ...request.Option) (*DescribeHostsOutput, error) {
17010	req, out := c.DescribeHostsRequest(input)
17011	req.SetContext(ctx)
17012	req.ApplyOptions(opts...)
17013	return out, req.Send()
17014}
17015
17016// DescribeHostsPages iterates over the pages of a DescribeHosts operation,
17017// calling the "fn" function with the response data for each page. To stop
17018// iterating, return false from the fn function.
17019//
17020// See DescribeHosts method for more information on how to use this operation.
17021//
17022// Note: This operation can generate multiple requests to a service.
17023//
17024//    // Example iterating over at most 3 pages of a DescribeHosts operation.
17025//    pageNum := 0
17026//    err := client.DescribeHostsPages(params,
17027//        func(page *ec2.DescribeHostsOutput, lastPage bool) bool {
17028//            pageNum++
17029//            fmt.Println(page)
17030//            return pageNum <= 3
17031//        })
17032//
17033func (c *EC2) DescribeHostsPages(input *DescribeHostsInput, fn func(*DescribeHostsOutput, bool) bool) error {
17034	return c.DescribeHostsPagesWithContext(aws.BackgroundContext(), input, fn)
17035}
17036
17037// DescribeHostsPagesWithContext same as DescribeHostsPages except
17038// it takes a Context and allows setting request options on the pages.
17039//
17040// The context must be non-nil and will be used for request cancellation. If
17041// the context is nil a panic will occur. In the future the SDK may create
17042// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17043// for more information on using Contexts.
17044func (c *EC2) DescribeHostsPagesWithContext(ctx aws.Context, input *DescribeHostsInput, fn func(*DescribeHostsOutput, bool) bool, opts ...request.Option) error {
17045	p := request.Pagination{
17046		NewRequest: func() (*request.Request, error) {
17047			var inCpy *DescribeHostsInput
17048			if input != nil {
17049				tmp := *input
17050				inCpy = &tmp
17051			}
17052			req, _ := c.DescribeHostsRequest(inCpy)
17053			req.SetContext(ctx)
17054			req.ApplyOptions(opts...)
17055			return req, nil
17056		},
17057	}
17058
17059	for p.Next() {
17060		if !fn(p.Page().(*DescribeHostsOutput), !p.HasNextPage()) {
17061			break
17062		}
17063	}
17064
17065	return p.Err()
17066}
17067
17068const opDescribeIamInstanceProfileAssociations = "DescribeIamInstanceProfileAssociations"
17069
17070// DescribeIamInstanceProfileAssociationsRequest generates a "aws/request.Request" representing the
17071// client's request for the DescribeIamInstanceProfileAssociations operation. The "output" return
17072// value will be populated with the request's response once the request completes
17073// successfully.
17074//
17075// Use "Send" method on the returned Request to send the API call to the service.
17076// the "output" return value is not valid until after Send returns without error.
17077//
17078// See DescribeIamInstanceProfileAssociations for more information on using the DescribeIamInstanceProfileAssociations
17079// API call, and error handling.
17080//
17081// This method is useful when you want to inject custom logic or configuration
17082// into the SDK's request lifecycle. Such as custom headers, or retry logic.
17083//
17084//
17085//    // Example sending a request using the DescribeIamInstanceProfileAssociationsRequest method.
17086//    req, resp := client.DescribeIamInstanceProfileAssociationsRequest(params)
17087//
17088//    err := req.Send()
17089//    if err == nil { // resp is now filled
17090//        fmt.Println(resp)
17091//    }
17092//
17093// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIamInstanceProfileAssociations
17094func (c *EC2) DescribeIamInstanceProfileAssociationsRequest(input *DescribeIamInstanceProfileAssociationsInput) (req *request.Request, output *DescribeIamInstanceProfileAssociationsOutput) {
17095	op := &request.Operation{
17096		Name:       opDescribeIamInstanceProfileAssociations,
17097		HTTPMethod: "POST",
17098		HTTPPath:   "/",
17099		Paginator: &request.Paginator{
17100			InputTokens:     []string{"NextToken"},
17101			OutputTokens:    []string{"NextToken"},
17102			LimitToken:      "MaxResults",
17103			TruncationToken: "",
17104		},
17105	}
17106
17107	if input == nil {
17108		input = &DescribeIamInstanceProfileAssociationsInput{}
17109	}
17110
17111	output = &DescribeIamInstanceProfileAssociationsOutput{}
17112	req = c.newRequest(op, input, output)
17113	return
17114}
17115
17116// DescribeIamInstanceProfileAssociations API operation for Amazon Elastic Compute Cloud.
17117//
17118// Describes your IAM instance profile associations.
17119//
17120// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
17121// with awserr.Error's Code and Message methods to get detailed information about
17122// the error.
17123//
17124// See the AWS API reference guide for Amazon Elastic Compute Cloud's
17125// API operation DescribeIamInstanceProfileAssociations for usage and error information.
17126// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIamInstanceProfileAssociations
17127func (c *EC2) DescribeIamInstanceProfileAssociations(input *DescribeIamInstanceProfileAssociationsInput) (*DescribeIamInstanceProfileAssociationsOutput, error) {
17128	req, out := c.DescribeIamInstanceProfileAssociationsRequest(input)
17129	return out, req.Send()
17130}
17131
17132// DescribeIamInstanceProfileAssociationsWithContext is the same as DescribeIamInstanceProfileAssociations with the addition of
17133// the ability to pass a context and additional request options.
17134//
17135// See DescribeIamInstanceProfileAssociations for details on how to use this API operation.
17136//
17137// The context must be non-nil and will be used for request cancellation. If
17138// the context is nil a panic will occur. In the future the SDK may create
17139// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17140// for more information on using Contexts.
17141func (c *EC2) DescribeIamInstanceProfileAssociationsWithContext(ctx aws.Context, input *DescribeIamInstanceProfileAssociationsInput, opts ...request.Option) (*DescribeIamInstanceProfileAssociationsOutput, error) {
17142	req, out := c.DescribeIamInstanceProfileAssociationsRequest(input)
17143	req.SetContext(ctx)
17144	req.ApplyOptions(opts...)
17145	return out, req.Send()
17146}
17147
17148// DescribeIamInstanceProfileAssociationsPages iterates over the pages of a DescribeIamInstanceProfileAssociations operation,
17149// calling the "fn" function with the response data for each page. To stop
17150// iterating, return false from the fn function.
17151//
17152// See DescribeIamInstanceProfileAssociations method for more information on how to use this operation.
17153//
17154// Note: This operation can generate multiple requests to a service.
17155//
17156//    // Example iterating over at most 3 pages of a DescribeIamInstanceProfileAssociations operation.
17157//    pageNum := 0
17158//    err := client.DescribeIamInstanceProfileAssociationsPages(params,
17159//        func(page *ec2.DescribeIamInstanceProfileAssociationsOutput, lastPage bool) bool {
17160//            pageNum++
17161//            fmt.Println(page)
17162//            return pageNum <= 3
17163//        })
17164//
17165func (c *EC2) DescribeIamInstanceProfileAssociationsPages(input *DescribeIamInstanceProfileAssociationsInput, fn func(*DescribeIamInstanceProfileAssociationsOutput, bool) bool) error {
17166	return c.DescribeIamInstanceProfileAssociationsPagesWithContext(aws.BackgroundContext(), input, fn)
17167}
17168
17169// DescribeIamInstanceProfileAssociationsPagesWithContext same as DescribeIamInstanceProfileAssociationsPages except
17170// it takes a Context and allows setting request options on the pages.
17171//
17172// The context must be non-nil and will be used for request cancellation. If
17173// the context is nil a panic will occur. In the future the SDK may create
17174// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17175// for more information on using Contexts.
17176func (c *EC2) DescribeIamInstanceProfileAssociationsPagesWithContext(ctx aws.Context, input *DescribeIamInstanceProfileAssociationsInput, fn func(*DescribeIamInstanceProfileAssociationsOutput, bool) bool, opts ...request.Option) error {
17177	p := request.Pagination{
17178		NewRequest: func() (*request.Request, error) {
17179			var inCpy *DescribeIamInstanceProfileAssociationsInput
17180			if input != nil {
17181				tmp := *input
17182				inCpy = &tmp
17183			}
17184			req, _ := c.DescribeIamInstanceProfileAssociationsRequest(inCpy)
17185			req.SetContext(ctx)
17186			req.ApplyOptions(opts...)
17187			return req, nil
17188		},
17189	}
17190
17191	for p.Next() {
17192		if !fn(p.Page().(*DescribeIamInstanceProfileAssociationsOutput), !p.HasNextPage()) {
17193			break
17194		}
17195	}
17196
17197	return p.Err()
17198}
17199
17200const opDescribeIdFormat = "DescribeIdFormat"
17201
17202// DescribeIdFormatRequest generates a "aws/request.Request" representing the
17203// client's request for the DescribeIdFormat operation. The "output" return
17204// value will be populated with the request's response once the request completes
17205// successfully.
17206//
17207// Use "Send" method on the returned Request to send the API call to the service.
17208// the "output" return value is not valid until after Send returns without error.
17209//
17210// See DescribeIdFormat for more information on using the DescribeIdFormat
17211// API call, and error handling.
17212//
17213// This method is useful when you want to inject custom logic or configuration
17214// into the SDK's request lifecycle. Such as custom headers, or retry logic.
17215//
17216//
17217//    // Example sending a request using the DescribeIdFormatRequest method.
17218//    req, resp := client.DescribeIdFormatRequest(params)
17219//
17220//    err := req.Send()
17221//    if err == nil { // resp is now filled
17222//        fmt.Println(resp)
17223//    }
17224//
17225// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdFormat
17226func (c *EC2) DescribeIdFormatRequest(input *DescribeIdFormatInput) (req *request.Request, output *DescribeIdFormatOutput) {
17227	op := &request.Operation{
17228		Name:       opDescribeIdFormat,
17229		HTTPMethod: "POST",
17230		HTTPPath:   "/",
17231	}
17232
17233	if input == nil {
17234		input = &DescribeIdFormatInput{}
17235	}
17236
17237	output = &DescribeIdFormatOutput{}
17238	req = c.newRequest(op, input, output)
17239	return
17240}
17241
17242// DescribeIdFormat API operation for Amazon Elastic Compute Cloud.
17243//
17244// Describes the ID format settings for your resources on a per-Region basis,
17245// for example, to view which resource types are enabled for longer IDs. This
17246// request only returns information about resource types whose ID formats can
17247// be modified; it does not return information about other resource types.
17248//
17249// The following resource types support longer IDs: bundle | conversion-task
17250// | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association
17251// | export-task | flow-log | image | import-task | instance | internet-gateway
17252// | network-acl | network-acl-association | network-interface | network-interface-attachment
17253// | prefix-list | reservation | route-table | route-table-association | security-group
17254// | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
17255// | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
17256//
17257// These settings apply to the IAM user who makes the request; they do not apply
17258// to the entire AWS account. By default, an IAM user defaults to the same settings
17259// as the root user, unless they explicitly override the settings by running
17260// the ModifyIdFormat command. Resources created with longer IDs are visible
17261// to all IAM users, regardless of these settings and provided that they have
17262// permission to use the relevant Describe command for the resource type.
17263//
17264// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
17265// with awserr.Error's Code and Message methods to get detailed information about
17266// the error.
17267//
17268// See the AWS API reference guide for Amazon Elastic Compute Cloud's
17269// API operation DescribeIdFormat for usage and error information.
17270// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdFormat
17271func (c *EC2) DescribeIdFormat(input *DescribeIdFormatInput) (*DescribeIdFormatOutput, error) {
17272	req, out := c.DescribeIdFormatRequest(input)
17273	return out, req.Send()
17274}
17275
17276// DescribeIdFormatWithContext is the same as DescribeIdFormat with the addition of
17277// the ability to pass a context and additional request options.
17278//
17279// See DescribeIdFormat for details on how to use this API operation.
17280//
17281// The context must be non-nil and will be used for request cancellation. If
17282// the context is nil a panic will occur. In the future the SDK may create
17283// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17284// for more information on using Contexts.
17285func (c *EC2) DescribeIdFormatWithContext(ctx aws.Context, input *DescribeIdFormatInput, opts ...request.Option) (*DescribeIdFormatOutput, error) {
17286	req, out := c.DescribeIdFormatRequest(input)
17287	req.SetContext(ctx)
17288	req.ApplyOptions(opts...)
17289	return out, req.Send()
17290}
17291
17292const opDescribeIdentityIdFormat = "DescribeIdentityIdFormat"
17293
17294// DescribeIdentityIdFormatRequest generates a "aws/request.Request" representing the
17295// client's request for the DescribeIdentityIdFormat operation. The "output" return
17296// value will be populated with the request's response once the request completes
17297// successfully.
17298//
17299// Use "Send" method on the returned Request to send the API call to the service.
17300// the "output" return value is not valid until after Send returns without error.
17301//
17302// See DescribeIdentityIdFormat for more information on using the DescribeIdentityIdFormat
17303// API call, and error handling.
17304//
17305// This method is useful when you want to inject custom logic or configuration
17306// into the SDK's request lifecycle. Such as custom headers, or retry logic.
17307//
17308//
17309//    // Example sending a request using the DescribeIdentityIdFormatRequest method.
17310//    req, resp := client.DescribeIdentityIdFormatRequest(params)
17311//
17312//    err := req.Send()
17313//    if err == nil { // resp is now filled
17314//        fmt.Println(resp)
17315//    }
17316//
17317// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdentityIdFormat
17318func (c *EC2) DescribeIdentityIdFormatRequest(input *DescribeIdentityIdFormatInput) (req *request.Request, output *DescribeIdentityIdFormatOutput) {
17319	op := &request.Operation{
17320		Name:       opDescribeIdentityIdFormat,
17321		HTTPMethod: "POST",
17322		HTTPPath:   "/",
17323	}
17324
17325	if input == nil {
17326		input = &DescribeIdentityIdFormatInput{}
17327	}
17328
17329	output = &DescribeIdentityIdFormatOutput{}
17330	req = c.newRequest(op, input, output)
17331	return
17332}
17333
17334// DescribeIdentityIdFormat API operation for Amazon Elastic Compute Cloud.
17335//
17336// Describes the ID format settings for resources for the specified IAM user,
17337// IAM role, or root user. For example, you can view the resource types that
17338// are enabled for longer IDs. This request only returns information about resource
17339// types whose ID formats can be modified; it does not return information about
17340// other resource types. For more information, see Resource IDs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html)
17341// in the Amazon Elastic Compute Cloud User Guide.
17342//
17343// The following resource types support longer IDs: bundle | conversion-task
17344// | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association
17345// | export-task | flow-log | image | import-task | instance | internet-gateway
17346// | network-acl | network-acl-association | network-interface | network-interface-attachment
17347// | prefix-list | reservation | route-table | route-table-association | security-group
17348// | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
17349// | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
17350//
17351// These settings apply to the principal specified in the request. They do not
17352// apply to the principal that makes the request.
17353//
17354// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
17355// with awserr.Error's Code and Message methods to get detailed information about
17356// the error.
17357//
17358// See the AWS API reference guide for Amazon Elastic Compute Cloud's
17359// API operation DescribeIdentityIdFormat for usage and error information.
17360// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdentityIdFormat
17361func (c *EC2) DescribeIdentityIdFormat(input *DescribeIdentityIdFormatInput) (*DescribeIdentityIdFormatOutput, error) {
17362	req, out := c.DescribeIdentityIdFormatRequest(input)
17363	return out, req.Send()
17364}
17365
17366// DescribeIdentityIdFormatWithContext is the same as DescribeIdentityIdFormat with the addition of
17367// the ability to pass a context and additional request options.
17368//
17369// See DescribeIdentityIdFormat for details on how to use this API operation.
17370//
17371// The context must be non-nil and will be used for request cancellation. If
17372// the context is nil a panic will occur. In the future the SDK may create
17373// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17374// for more information on using Contexts.
17375func (c *EC2) DescribeIdentityIdFormatWithContext(ctx aws.Context, input *DescribeIdentityIdFormatInput, opts ...request.Option) (*DescribeIdentityIdFormatOutput, error) {
17376	req, out := c.DescribeIdentityIdFormatRequest(input)
17377	req.SetContext(ctx)
17378	req.ApplyOptions(opts...)
17379	return out, req.Send()
17380}
17381
17382const opDescribeImageAttribute = "DescribeImageAttribute"
17383
17384// DescribeImageAttributeRequest generates a "aws/request.Request" representing the
17385// client's request for the DescribeImageAttribute operation. The "output" return
17386// value will be populated with the request's response once the request completes
17387// successfully.
17388//
17389// Use "Send" method on the returned Request to send the API call to the service.
17390// the "output" return value is not valid until after Send returns without error.
17391//
17392// See DescribeImageAttribute for more information on using the DescribeImageAttribute
17393// API call, and error handling.
17394//
17395// This method is useful when you want to inject custom logic or configuration
17396// into the SDK's request lifecycle. Such as custom headers, or retry logic.
17397//
17398//
17399//    // Example sending a request using the DescribeImageAttributeRequest method.
17400//    req, resp := client.DescribeImageAttributeRequest(params)
17401//
17402//    err := req.Send()
17403//    if err == nil { // resp is now filled
17404//        fmt.Println(resp)
17405//    }
17406//
17407// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImageAttribute
17408func (c *EC2) DescribeImageAttributeRequest(input *DescribeImageAttributeInput) (req *request.Request, output *DescribeImageAttributeOutput) {
17409	op := &request.Operation{
17410		Name:       opDescribeImageAttribute,
17411		HTTPMethod: "POST",
17412		HTTPPath:   "/",
17413	}
17414
17415	if input == nil {
17416		input = &DescribeImageAttributeInput{}
17417	}
17418
17419	output = &DescribeImageAttributeOutput{}
17420	req = c.newRequest(op, input, output)
17421	return
17422}
17423
17424// DescribeImageAttribute API operation for Amazon Elastic Compute Cloud.
17425//
17426// Describes the specified attribute of the specified AMI. You can specify only
17427// one attribute at a time.
17428//
17429// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
17430// with awserr.Error's Code and Message methods to get detailed information about
17431// the error.
17432//
17433// See the AWS API reference guide for Amazon Elastic Compute Cloud's
17434// API operation DescribeImageAttribute for usage and error information.
17435// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImageAttribute
17436func (c *EC2) DescribeImageAttribute(input *DescribeImageAttributeInput) (*DescribeImageAttributeOutput, error) {
17437	req, out := c.DescribeImageAttributeRequest(input)
17438	return out, req.Send()
17439}
17440
17441// DescribeImageAttributeWithContext is the same as DescribeImageAttribute with the addition of
17442// the ability to pass a context and additional request options.
17443//
17444// See DescribeImageAttribute for details on how to use this API operation.
17445//
17446// The context must be non-nil and will be used for request cancellation. If
17447// the context is nil a panic will occur. In the future the SDK may create
17448// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17449// for more information on using Contexts.
17450func (c *EC2) DescribeImageAttributeWithContext(ctx aws.Context, input *DescribeImageAttributeInput, opts ...request.Option) (*DescribeImageAttributeOutput, error) {
17451	req, out := c.DescribeImageAttributeRequest(input)
17452	req.SetContext(ctx)
17453	req.ApplyOptions(opts...)
17454	return out, req.Send()
17455}
17456
17457const opDescribeImages = "DescribeImages"
17458
17459// DescribeImagesRequest generates a "aws/request.Request" representing the
17460// client's request for the DescribeImages operation. The "output" return
17461// value will be populated with the request's response once the request completes
17462// successfully.
17463//
17464// Use "Send" method on the returned Request to send the API call to the service.
17465// the "output" return value is not valid until after Send returns without error.
17466//
17467// See DescribeImages for more information on using the DescribeImages
17468// API call, and error handling.
17469//
17470// This method is useful when you want to inject custom logic or configuration
17471// into the SDK's request lifecycle. Such as custom headers, or retry logic.
17472//
17473//
17474//    // Example sending a request using the DescribeImagesRequest method.
17475//    req, resp := client.DescribeImagesRequest(params)
17476//
17477//    err := req.Send()
17478//    if err == nil { // resp is now filled
17479//        fmt.Println(resp)
17480//    }
17481//
17482// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImages
17483func (c *EC2) DescribeImagesRequest(input *DescribeImagesInput) (req *request.Request, output *DescribeImagesOutput) {
17484	op := &request.Operation{
17485		Name:       opDescribeImages,
17486		HTTPMethod: "POST",
17487		HTTPPath:   "/",
17488	}
17489
17490	if input == nil {
17491		input = &DescribeImagesInput{}
17492	}
17493
17494	output = &DescribeImagesOutput{}
17495	req = c.newRequest(op, input, output)
17496	return
17497}
17498
17499// DescribeImages API operation for Amazon Elastic Compute Cloud.
17500//
17501// Describes the specified images (AMIs, AKIs, and ARIs) available to you or
17502// all of the images available to you.
17503//
17504// The images available to you include public images, private images that you
17505// own, and private images owned by other AWS accounts for which you have explicit
17506// launch permissions.
17507//
17508// Recently deregistered images appear in the returned results for a short interval
17509// and then return empty results. After all instances that reference a deregistered
17510// AMI are terminated, specifying the ID of the image results in an error indicating
17511// that the AMI ID cannot be found.
17512//
17513// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
17514// with awserr.Error's Code and Message methods to get detailed information about
17515// the error.
17516//
17517// See the AWS API reference guide for Amazon Elastic Compute Cloud's
17518// API operation DescribeImages for usage and error information.
17519// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImages
17520func (c *EC2) DescribeImages(input *DescribeImagesInput) (*DescribeImagesOutput, error) {
17521	req, out := c.DescribeImagesRequest(input)
17522	return out, req.Send()
17523}
17524
17525// DescribeImagesWithContext is the same as DescribeImages with the addition of
17526// the ability to pass a context and additional request options.
17527//
17528// See DescribeImages for details on how to use this API operation.
17529//
17530// The context must be non-nil and will be used for request cancellation. If
17531// the context is nil a panic will occur. In the future the SDK may create
17532// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17533// for more information on using Contexts.
17534func (c *EC2) DescribeImagesWithContext(ctx aws.Context, input *DescribeImagesInput, opts ...request.Option) (*DescribeImagesOutput, error) {
17535	req, out := c.DescribeImagesRequest(input)
17536	req.SetContext(ctx)
17537	req.ApplyOptions(opts...)
17538	return out, req.Send()
17539}
17540
17541const opDescribeImportImageTasks = "DescribeImportImageTasks"
17542
17543// DescribeImportImageTasksRequest generates a "aws/request.Request" representing the
17544// client's request for the DescribeImportImageTasks operation. The "output" return
17545// value will be populated with the request's response once the request completes
17546// successfully.
17547//
17548// Use "Send" method on the returned Request to send the API call to the service.
17549// the "output" return value is not valid until after Send returns without error.
17550//
17551// See DescribeImportImageTasks for more information on using the DescribeImportImageTasks
17552// API call, and error handling.
17553//
17554// This method is useful when you want to inject custom logic or configuration
17555// into the SDK's request lifecycle. Such as custom headers, or retry logic.
17556//
17557//
17558//    // Example sending a request using the DescribeImportImageTasksRequest method.
17559//    req, resp := client.DescribeImportImageTasksRequest(params)
17560//
17561//    err := req.Send()
17562//    if err == nil { // resp is now filled
17563//        fmt.Println(resp)
17564//    }
17565//
17566// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportImageTasks
17567func (c *EC2) DescribeImportImageTasksRequest(input *DescribeImportImageTasksInput) (req *request.Request, output *DescribeImportImageTasksOutput) {
17568	op := &request.Operation{
17569		Name:       opDescribeImportImageTasks,
17570		HTTPMethod: "POST",
17571		HTTPPath:   "/",
17572		Paginator: &request.Paginator{
17573			InputTokens:     []string{"NextToken"},
17574			OutputTokens:    []string{"NextToken"},
17575			LimitToken:      "MaxResults",
17576			TruncationToken: "",
17577		},
17578	}
17579
17580	if input == nil {
17581		input = &DescribeImportImageTasksInput{}
17582	}
17583
17584	output = &DescribeImportImageTasksOutput{}
17585	req = c.newRequest(op, input, output)
17586	return
17587}
17588
17589// DescribeImportImageTasks API operation for Amazon Elastic Compute Cloud.
17590//
17591// Displays details about an import virtual machine or import snapshot tasks
17592// that are already created.
17593//
17594// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
17595// with awserr.Error's Code and Message methods to get detailed information about
17596// the error.
17597//
17598// See the AWS API reference guide for Amazon Elastic Compute Cloud's
17599// API operation DescribeImportImageTasks for usage and error information.
17600// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportImageTasks
17601func (c *EC2) DescribeImportImageTasks(input *DescribeImportImageTasksInput) (*DescribeImportImageTasksOutput, error) {
17602	req, out := c.DescribeImportImageTasksRequest(input)
17603	return out, req.Send()
17604}
17605
17606// DescribeImportImageTasksWithContext is the same as DescribeImportImageTasks with the addition of
17607// the ability to pass a context and additional request options.
17608//
17609// See DescribeImportImageTasks for details on how to use this API operation.
17610//
17611// The context must be non-nil and will be used for request cancellation. If
17612// the context is nil a panic will occur. In the future the SDK may create
17613// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17614// for more information on using Contexts.
17615func (c *EC2) DescribeImportImageTasksWithContext(ctx aws.Context, input *DescribeImportImageTasksInput, opts ...request.Option) (*DescribeImportImageTasksOutput, error) {
17616	req, out := c.DescribeImportImageTasksRequest(input)
17617	req.SetContext(ctx)
17618	req.ApplyOptions(opts...)
17619	return out, req.Send()
17620}
17621
17622// DescribeImportImageTasksPages iterates over the pages of a DescribeImportImageTasks operation,
17623// calling the "fn" function with the response data for each page. To stop
17624// iterating, return false from the fn function.
17625//
17626// See DescribeImportImageTasks method for more information on how to use this operation.
17627//
17628// Note: This operation can generate multiple requests to a service.
17629//
17630//    // Example iterating over at most 3 pages of a DescribeImportImageTasks operation.
17631//    pageNum := 0
17632//    err := client.DescribeImportImageTasksPages(params,
17633//        func(page *ec2.DescribeImportImageTasksOutput, lastPage bool) bool {
17634//            pageNum++
17635//            fmt.Println(page)
17636//            return pageNum <= 3
17637//        })
17638//
17639func (c *EC2) DescribeImportImageTasksPages(input *DescribeImportImageTasksInput, fn func(*DescribeImportImageTasksOutput, bool) bool) error {
17640	return c.DescribeImportImageTasksPagesWithContext(aws.BackgroundContext(), input, fn)
17641}
17642
17643// DescribeImportImageTasksPagesWithContext same as DescribeImportImageTasksPages except
17644// it takes a Context and allows setting request options on the pages.
17645//
17646// The context must be non-nil and will be used for request cancellation. If
17647// the context is nil a panic will occur. In the future the SDK may create
17648// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17649// for more information on using Contexts.
17650func (c *EC2) DescribeImportImageTasksPagesWithContext(ctx aws.Context, input *DescribeImportImageTasksInput, fn func(*DescribeImportImageTasksOutput, bool) bool, opts ...request.Option) error {
17651	p := request.Pagination{
17652		NewRequest: func() (*request.Request, error) {
17653			var inCpy *DescribeImportImageTasksInput
17654			if input != nil {
17655				tmp := *input
17656				inCpy = &tmp
17657			}
17658			req, _ := c.DescribeImportImageTasksRequest(inCpy)
17659			req.SetContext(ctx)
17660			req.ApplyOptions(opts...)
17661			return req, nil
17662		},
17663	}
17664
17665	for p.Next() {
17666		if !fn(p.Page().(*DescribeImportImageTasksOutput), !p.HasNextPage()) {
17667			break
17668		}
17669	}
17670
17671	return p.Err()
17672}
17673
17674const opDescribeImportSnapshotTasks = "DescribeImportSnapshotTasks"
17675
17676// DescribeImportSnapshotTasksRequest generates a "aws/request.Request" representing the
17677// client's request for the DescribeImportSnapshotTasks operation. The "output" return
17678// value will be populated with the request's response once the request completes
17679// successfully.
17680//
17681// Use "Send" method on the returned Request to send the API call to the service.
17682// the "output" return value is not valid until after Send returns without error.
17683//
17684// See DescribeImportSnapshotTasks for more information on using the DescribeImportSnapshotTasks
17685// API call, and error handling.
17686//
17687// This method is useful when you want to inject custom logic or configuration
17688// into the SDK's request lifecycle. Such as custom headers, or retry logic.
17689//
17690//
17691//    // Example sending a request using the DescribeImportSnapshotTasksRequest method.
17692//    req, resp := client.DescribeImportSnapshotTasksRequest(params)
17693//
17694//    err := req.Send()
17695//    if err == nil { // resp is now filled
17696//        fmt.Println(resp)
17697//    }
17698//
17699// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportSnapshotTasks
17700func (c *EC2) DescribeImportSnapshotTasksRequest(input *DescribeImportSnapshotTasksInput) (req *request.Request, output *DescribeImportSnapshotTasksOutput) {
17701	op := &request.Operation{
17702		Name:       opDescribeImportSnapshotTasks,
17703		HTTPMethod: "POST",
17704		HTTPPath:   "/",
17705		Paginator: &request.Paginator{
17706			InputTokens:     []string{"NextToken"},
17707			OutputTokens:    []string{"NextToken"},
17708			LimitToken:      "MaxResults",
17709			TruncationToken: "",
17710		},
17711	}
17712
17713	if input == nil {
17714		input = &DescribeImportSnapshotTasksInput{}
17715	}
17716
17717	output = &DescribeImportSnapshotTasksOutput{}
17718	req = c.newRequest(op, input, output)
17719	return
17720}
17721
17722// DescribeImportSnapshotTasks API operation for Amazon Elastic Compute Cloud.
17723//
17724// Describes your import snapshot tasks.
17725//
17726// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
17727// with awserr.Error's Code and Message methods to get detailed information about
17728// the error.
17729//
17730// See the AWS API reference guide for Amazon Elastic Compute Cloud's
17731// API operation DescribeImportSnapshotTasks for usage and error information.
17732// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportSnapshotTasks
17733func (c *EC2) DescribeImportSnapshotTasks(input *DescribeImportSnapshotTasksInput) (*DescribeImportSnapshotTasksOutput, error) {
17734	req, out := c.DescribeImportSnapshotTasksRequest(input)
17735	return out, req.Send()
17736}
17737
17738// DescribeImportSnapshotTasksWithContext is the same as DescribeImportSnapshotTasks with the addition of
17739// the ability to pass a context and additional request options.
17740//
17741// See DescribeImportSnapshotTasks for details on how to use this API operation.
17742//
17743// The context must be non-nil and will be used for request cancellation. If
17744// the context is nil a panic will occur. In the future the SDK may create
17745// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17746// for more information on using Contexts.
17747func (c *EC2) DescribeImportSnapshotTasksWithContext(ctx aws.Context, input *DescribeImportSnapshotTasksInput, opts ...request.Option) (*DescribeImportSnapshotTasksOutput, error) {
17748	req, out := c.DescribeImportSnapshotTasksRequest(input)
17749	req.SetContext(ctx)
17750	req.ApplyOptions(opts...)
17751	return out, req.Send()
17752}
17753
17754// DescribeImportSnapshotTasksPages iterates over the pages of a DescribeImportSnapshotTasks operation,
17755// calling the "fn" function with the response data for each page. To stop
17756// iterating, return false from the fn function.
17757//
17758// See DescribeImportSnapshotTasks method for more information on how to use this operation.
17759//
17760// Note: This operation can generate multiple requests to a service.
17761//
17762//    // Example iterating over at most 3 pages of a DescribeImportSnapshotTasks operation.
17763//    pageNum := 0
17764//    err := client.DescribeImportSnapshotTasksPages(params,
17765//        func(page *ec2.DescribeImportSnapshotTasksOutput, lastPage bool) bool {
17766//            pageNum++
17767//            fmt.Println(page)
17768//            return pageNum <= 3
17769//        })
17770//
17771func (c *EC2) DescribeImportSnapshotTasksPages(input *DescribeImportSnapshotTasksInput, fn func(*DescribeImportSnapshotTasksOutput, bool) bool) error {
17772	return c.DescribeImportSnapshotTasksPagesWithContext(aws.BackgroundContext(), input, fn)
17773}
17774
17775// DescribeImportSnapshotTasksPagesWithContext same as DescribeImportSnapshotTasksPages except
17776// it takes a Context and allows setting request options on the pages.
17777//
17778// The context must be non-nil and will be used for request cancellation. If
17779// the context is nil a panic will occur. In the future the SDK may create
17780// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17781// for more information on using Contexts.
17782func (c *EC2) DescribeImportSnapshotTasksPagesWithContext(ctx aws.Context, input *DescribeImportSnapshotTasksInput, fn func(*DescribeImportSnapshotTasksOutput, bool) bool, opts ...request.Option) error {
17783	p := request.Pagination{
17784		NewRequest: func() (*request.Request, error) {
17785			var inCpy *DescribeImportSnapshotTasksInput
17786			if input != nil {
17787				tmp := *input
17788				inCpy = &tmp
17789			}
17790			req, _ := c.DescribeImportSnapshotTasksRequest(inCpy)
17791			req.SetContext(ctx)
17792			req.ApplyOptions(opts...)
17793			return req, nil
17794		},
17795	}
17796
17797	for p.Next() {
17798		if !fn(p.Page().(*DescribeImportSnapshotTasksOutput), !p.HasNextPage()) {
17799			break
17800		}
17801	}
17802
17803	return p.Err()
17804}
17805
17806const opDescribeInstanceAttribute = "DescribeInstanceAttribute"
17807
17808// DescribeInstanceAttributeRequest generates a "aws/request.Request" representing the
17809// client's request for the DescribeInstanceAttribute operation. The "output" return
17810// value will be populated with the request's response once the request completes
17811// successfully.
17812//
17813// Use "Send" method on the returned Request to send the API call to the service.
17814// the "output" return value is not valid until after Send returns without error.
17815//
17816// See DescribeInstanceAttribute for more information on using the DescribeInstanceAttribute
17817// API call, and error handling.
17818//
17819// This method is useful when you want to inject custom logic or configuration
17820// into the SDK's request lifecycle. Such as custom headers, or retry logic.
17821//
17822//
17823//    // Example sending a request using the DescribeInstanceAttributeRequest method.
17824//    req, resp := client.DescribeInstanceAttributeRequest(params)
17825//
17826//    err := req.Send()
17827//    if err == nil { // resp is now filled
17828//        fmt.Println(resp)
17829//    }
17830//
17831// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceAttribute
17832func (c *EC2) DescribeInstanceAttributeRequest(input *DescribeInstanceAttributeInput) (req *request.Request, output *DescribeInstanceAttributeOutput) {
17833	op := &request.Operation{
17834		Name:       opDescribeInstanceAttribute,
17835		HTTPMethod: "POST",
17836		HTTPPath:   "/",
17837	}
17838
17839	if input == nil {
17840		input = &DescribeInstanceAttributeInput{}
17841	}
17842
17843	output = &DescribeInstanceAttributeOutput{}
17844	req = c.newRequest(op, input, output)
17845	return
17846}
17847
17848// DescribeInstanceAttribute API operation for Amazon Elastic Compute Cloud.
17849//
17850// Describes the specified attribute of the specified instance. You can specify
17851// only one attribute at a time. Valid attribute values are: instanceType |
17852// kernel | ramdisk | userData | disableApiTermination | instanceInitiatedShutdownBehavior
17853// | rootDeviceName | blockDeviceMapping | productCodes | sourceDestCheck |
17854// groupSet | ebsOptimized | sriovNetSupport
17855//
17856// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
17857// with awserr.Error's Code and Message methods to get detailed information about
17858// the error.
17859//
17860// See the AWS API reference guide for Amazon Elastic Compute Cloud's
17861// API operation DescribeInstanceAttribute for usage and error information.
17862// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceAttribute
17863func (c *EC2) DescribeInstanceAttribute(input *DescribeInstanceAttributeInput) (*DescribeInstanceAttributeOutput, error) {
17864	req, out := c.DescribeInstanceAttributeRequest(input)
17865	return out, req.Send()
17866}
17867
17868// DescribeInstanceAttributeWithContext is the same as DescribeInstanceAttribute with the addition of
17869// the ability to pass a context and additional request options.
17870//
17871// See DescribeInstanceAttribute for details on how to use this API operation.
17872//
17873// The context must be non-nil and will be used for request cancellation. If
17874// the context is nil a panic will occur. In the future the SDK may create
17875// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17876// for more information on using Contexts.
17877func (c *EC2) DescribeInstanceAttributeWithContext(ctx aws.Context, input *DescribeInstanceAttributeInput, opts ...request.Option) (*DescribeInstanceAttributeOutput, error) {
17878	req, out := c.DescribeInstanceAttributeRequest(input)
17879	req.SetContext(ctx)
17880	req.ApplyOptions(opts...)
17881	return out, req.Send()
17882}
17883
17884const opDescribeInstanceCreditSpecifications = "DescribeInstanceCreditSpecifications"
17885
17886// DescribeInstanceCreditSpecificationsRequest generates a "aws/request.Request" representing the
17887// client's request for the DescribeInstanceCreditSpecifications operation. The "output" return
17888// value will be populated with the request's response once the request completes
17889// successfully.
17890//
17891// Use "Send" method on the returned Request to send the API call to the service.
17892// the "output" return value is not valid until after Send returns without error.
17893//
17894// See DescribeInstanceCreditSpecifications for more information on using the DescribeInstanceCreditSpecifications
17895// API call, and error handling.
17896//
17897// This method is useful when you want to inject custom logic or configuration
17898// into the SDK's request lifecycle. Such as custom headers, or retry logic.
17899//
17900//
17901//    // Example sending a request using the DescribeInstanceCreditSpecificationsRequest method.
17902//    req, resp := client.DescribeInstanceCreditSpecificationsRequest(params)
17903//
17904//    err := req.Send()
17905//    if err == nil { // resp is now filled
17906//        fmt.Println(resp)
17907//    }
17908//
17909// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceCreditSpecifications
17910func (c *EC2) DescribeInstanceCreditSpecificationsRequest(input *DescribeInstanceCreditSpecificationsInput) (req *request.Request, output *DescribeInstanceCreditSpecificationsOutput) {
17911	op := &request.Operation{
17912		Name:       opDescribeInstanceCreditSpecifications,
17913		HTTPMethod: "POST",
17914		HTTPPath:   "/",
17915		Paginator: &request.Paginator{
17916			InputTokens:     []string{"NextToken"},
17917			OutputTokens:    []string{"NextToken"},
17918			LimitToken:      "MaxResults",
17919			TruncationToken: "",
17920		},
17921	}
17922
17923	if input == nil {
17924		input = &DescribeInstanceCreditSpecificationsInput{}
17925	}
17926
17927	output = &DescribeInstanceCreditSpecificationsOutput{}
17928	req = c.newRequest(op, input, output)
17929	return
17930}
17931
17932// DescribeInstanceCreditSpecifications API operation for Amazon Elastic Compute Cloud.
17933//
17934// Describes the credit option for CPU usage of the specified burstable performance
17935// instances. The credit options are standard and unlimited.
17936//
17937// If you do not specify an instance ID, Amazon EC2 returns burstable performance
17938// instances with the unlimited credit option, as well as instances that were
17939// previously configured as T2, T3, and T3a with the unlimited credit option.
17940// For example, if you resize a T2 instance, while it is configured as unlimited,
17941// to an M4 instance, Amazon EC2 returns the M4 instance.
17942//
17943// If you specify one or more instance IDs, Amazon EC2 returns the credit option
17944// (standard or unlimited) of those instances. If you specify an instance ID
17945// that is not valid, such as an instance that is not a burstable performance
17946// instance, an error is returned.
17947//
17948// Recently terminated instances might appear in the returned results. This
17949// interval is usually less than one hour.
17950//
17951// If an Availability Zone is experiencing a service disruption and you specify
17952// instance IDs in the affected zone, or do not specify any instance IDs at
17953// all, the call fails. If you specify only instance IDs in an unaffected zone,
17954// the call works normally.
17955//
17956// For more information, see Burstable performance instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html)
17957// in the Amazon EC2 User Guide.
17958//
17959// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
17960// with awserr.Error's Code and Message methods to get detailed information about
17961// the error.
17962//
17963// See the AWS API reference guide for Amazon Elastic Compute Cloud's
17964// API operation DescribeInstanceCreditSpecifications for usage and error information.
17965// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceCreditSpecifications
17966func (c *EC2) DescribeInstanceCreditSpecifications(input *DescribeInstanceCreditSpecificationsInput) (*DescribeInstanceCreditSpecificationsOutput, error) {
17967	req, out := c.DescribeInstanceCreditSpecificationsRequest(input)
17968	return out, req.Send()
17969}
17970
17971// DescribeInstanceCreditSpecificationsWithContext is the same as DescribeInstanceCreditSpecifications with the addition of
17972// the ability to pass a context and additional request options.
17973//
17974// See DescribeInstanceCreditSpecifications for details on how to use this API operation.
17975//
17976// The context must be non-nil and will be used for request cancellation. If
17977// the context is nil a panic will occur. In the future the SDK may create
17978// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17979// for more information on using Contexts.
17980func (c *EC2) DescribeInstanceCreditSpecificationsWithContext(ctx aws.Context, input *DescribeInstanceCreditSpecificationsInput, opts ...request.Option) (*DescribeInstanceCreditSpecificationsOutput, error) {
17981	req, out := c.DescribeInstanceCreditSpecificationsRequest(input)
17982	req.SetContext(ctx)
17983	req.ApplyOptions(opts...)
17984	return out, req.Send()
17985}
17986
17987// DescribeInstanceCreditSpecificationsPages iterates over the pages of a DescribeInstanceCreditSpecifications operation,
17988// calling the "fn" function with the response data for each page. To stop
17989// iterating, return false from the fn function.
17990//
17991// See DescribeInstanceCreditSpecifications method for more information on how to use this operation.
17992//
17993// Note: This operation can generate multiple requests to a service.
17994//
17995//    // Example iterating over at most 3 pages of a DescribeInstanceCreditSpecifications operation.
17996//    pageNum := 0
17997//    err := client.DescribeInstanceCreditSpecificationsPages(params,
17998//        func(page *ec2.DescribeInstanceCreditSpecificationsOutput, lastPage bool) bool {
17999//            pageNum++
18000//            fmt.Println(page)
18001//            return pageNum <= 3
18002//        })
18003//
18004func (c *EC2) DescribeInstanceCreditSpecificationsPages(input *DescribeInstanceCreditSpecificationsInput, fn func(*DescribeInstanceCreditSpecificationsOutput, bool) bool) error {
18005	return c.DescribeInstanceCreditSpecificationsPagesWithContext(aws.BackgroundContext(), input, fn)
18006}
18007
18008// DescribeInstanceCreditSpecificationsPagesWithContext same as DescribeInstanceCreditSpecificationsPages except
18009// it takes a Context and allows setting request options on the pages.
18010//
18011// The context must be non-nil and will be used for request cancellation. If
18012// the context is nil a panic will occur. In the future the SDK may create
18013// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18014// for more information on using Contexts.
18015func (c *EC2) DescribeInstanceCreditSpecificationsPagesWithContext(ctx aws.Context, input *DescribeInstanceCreditSpecificationsInput, fn func(*DescribeInstanceCreditSpecificationsOutput, bool) bool, opts ...request.Option) error {
18016	p := request.Pagination{
18017		NewRequest: func() (*request.Request, error) {
18018			var inCpy *DescribeInstanceCreditSpecificationsInput
18019			if input != nil {
18020				tmp := *input
18021				inCpy = &tmp
18022			}
18023			req, _ := c.DescribeInstanceCreditSpecificationsRequest(inCpy)
18024			req.SetContext(ctx)
18025			req.ApplyOptions(opts...)
18026			return req, nil
18027		},
18028	}
18029
18030	for p.Next() {
18031		if !fn(p.Page().(*DescribeInstanceCreditSpecificationsOutput), !p.HasNextPage()) {
18032			break
18033		}
18034	}
18035
18036	return p.Err()
18037}
18038
18039const opDescribeInstanceEventNotificationAttributes = "DescribeInstanceEventNotificationAttributes"
18040
18041// DescribeInstanceEventNotificationAttributesRequest generates a "aws/request.Request" representing the
18042// client's request for the DescribeInstanceEventNotificationAttributes operation. The "output" return
18043// value will be populated with the request's response once the request completes
18044// successfully.
18045//
18046// Use "Send" method on the returned Request to send the API call to the service.
18047// the "output" return value is not valid until after Send returns without error.
18048//
18049// See DescribeInstanceEventNotificationAttributes for more information on using the DescribeInstanceEventNotificationAttributes
18050// API call, and error handling.
18051//
18052// This method is useful when you want to inject custom logic or configuration
18053// into the SDK's request lifecycle. Such as custom headers, or retry logic.
18054//
18055//
18056//    // Example sending a request using the DescribeInstanceEventNotificationAttributesRequest method.
18057//    req, resp := client.DescribeInstanceEventNotificationAttributesRequest(params)
18058//
18059//    err := req.Send()
18060//    if err == nil { // resp is now filled
18061//        fmt.Println(resp)
18062//    }
18063//
18064// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceEventNotificationAttributes
18065func (c *EC2) DescribeInstanceEventNotificationAttributesRequest(input *DescribeInstanceEventNotificationAttributesInput) (req *request.Request, output *DescribeInstanceEventNotificationAttributesOutput) {
18066	op := &request.Operation{
18067		Name:       opDescribeInstanceEventNotificationAttributes,
18068		HTTPMethod: "POST",
18069		HTTPPath:   "/",
18070	}
18071
18072	if input == nil {
18073		input = &DescribeInstanceEventNotificationAttributesInput{}
18074	}
18075
18076	output = &DescribeInstanceEventNotificationAttributesOutput{}
18077	req = c.newRequest(op, input, output)
18078	return
18079}
18080
18081// DescribeInstanceEventNotificationAttributes API operation for Amazon Elastic Compute Cloud.
18082//
18083// Describes the tag keys that are registered to appear in scheduled event notifications
18084// for resources in the current Region.
18085//
18086// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
18087// with awserr.Error's Code and Message methods to get detailed information about
18088// the error.
18089//
18090// See the AWS API reference guide for Amazon Elastic Compute Cloud's
18091// API operation DescribeInstanceEventNotificationAttributes for usage and error information.
18092// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceEventNotificationAttributes
18093func (c *EC2) DescribeInstanceEventNotificationAttributes(input *DescribeInstanceEventNotificationAttributesInput) (*DescribeInstanceEventNotificationAttributesOutput, error) {
18094	req, out := c.DescribeInstanceEventNotificationAttributesRequest(input)
18095	return out, req.Send()
18096}
18097
18098// DescribeInstanceEventNotificationAttributesWithContext is the same as DescribeInstanceEventNotificationAttributes with the addition of
18099// the ability to pass a context and additional request options.
18100//
18101// See DescribeInstanceEventNotificationAttributes for details on how to use this API operation.
18102//
18103// The context must be non-nil and will be used for request cancellation. If
18104// the context is nil a panic will occur. In the future the SDK may create
18105// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18106// for more information on using Contexts.
18107func (c *EC2) DescribeInstanceEventNotificationAttributesWithContext(ctx aws.Context, input *DescribeInstanceEventNotificationAttributesInput, opts ...request.Option) (*DescribeInstanceEventNotificationAttributesOutput, error) {
18108	req, out := c.DescribeInstanceEventNotificationAttributesRequest(input)
18109	req.SetContext(ctx)
18110	req.ApplyOptions(opts...)
18111	return out, req.Send()
18112}
18113
18114const opDescribeInstanceStatus = "DescribeInstanceStatus"
18115
18116// DescribeInstanceStatusRequest generates a "aws/request.Request" representing the
18117// client's request for the DescribeInstanceStatus operation. The "output" return
18118// value will be populated with the request's response once the request completes
18119// successfully.
18120//
18121// Use "Send" method on the returned Request to send the API call to the service.
18122// the "output" return value is not valid until after Send returns without error.
18123//
18124// See DescribeInstanceStatus for more information on using the DescribeInstanceStatus
18125// API call, and error handling.
18126//
18127// This method is useful when you want to inject custom logic or configuration
18128// into the SDK's request lifecycle. Such as custom headers, or retry logic.
18129//
18130//
18131//    // Example sending a request using the DescribeInstanceStatusRequest method.
18132//    req, resp := client.DescribeInstanceStatusRequest(params)
18133//
18134//    err := req.Send()
18135//    if err == nil { // resp is now filled
18136//        fmt.Println(resp)
18137//    }
18138//
18139// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceStatus
18140func (c *EC2) DescribeInstanceStatusRequest(input *DescribeInstanceStatusInput) (req *request.Request, output *DescribeInstanceStatusOutput) {
18141	op := &request.Operation{
18142		Name:       opDescribeInstanceStatus,
18143		HTTPMethod: "POST",
18144		HTTPPath:   "/",
18145		Paginator: &request.Paginator{
18146			InputTokens:     []string{"NextToken"},
18147			OutputTokens:    []string{"NextToken"},
18148			LimitToken:      "MaxResults",
18149			TruncationToken: "",
18150		},
18151	}
18152
18153	if input == nil {
18154		input = &DescribeInstanceStatusInput{}
18155	}
18156
18157	output = &DescribeInstanceStatusOutput{}
18158	req = c.newRequest(op, input, output)
18159	return
18160}
18161
18162// DescribeInstanceStatus API operation for Amazon Elastic Compute Cloud.
18163//
18164// Describes the status of the specified instances or all of your instances.
18165// By default, only running instances are described, unless you specifically
18166// indicate to return the status of all instances.
18167//
18168// Instance status includes the following components:
18169//
18170//    * Status checks - Amazon EC2 performs status checks on running EC2 instances
18171//    to identify hardware and software issues. For more information, see Status
18172//    checks for your instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-system-instance-status-check.html)
18173//    and Troubleshooting instances with failed status checks (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstances.html)
18174//    in the Amazon EC2 User Guide.
18175//
18176//    * Scheduled events - Amazon EC2 can schedule events (such as reboot, stop,
18177//    or terminate) for your instances related to hardware issues, software
18178//    updates, or system maintenance. For more information, see Scheduled events
18179//    for your instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-instances-status-check_sched.html)
18180//    in the Amazon EC2 User Guide.
18181//
18182//    * Instance state - You can manage your instances from the moment you launch
18183//    them through their termination. For more information, see Instance lifecycle
18184//    (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html)
18185//    in the Amazon EC2 User Guide.
18186//
18187// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
18188// with awserr.Error's Code and Message methods to get detailed information about
18189// the error.
18190//
18191// See the AWS API reference guide for Amazon Elastic Compute Cloud's
18192// API operation DescribeInstanceStatus for usage and error information.
18193// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceStatus
18194func (c *EC2) DescribeInstanceStatus(input *DescribeInstanceStatusInput) (*DescribeInstanceStatusOutput, error) {
18195	req, out := c.DescribeInstanceStatusRequest(input)
18196	return out, req.Send()
18197}
18198
18199// DescribeInstanceStatusWithContext is the same as DescribeInstanceStatus with the addition of
18200// the ability to pass a context and additional request options.
18201//
18202// See DescribeInstanceStatus for details on how to use this API operation.
18203//
18204// The context must be non-nil and will be used for request cancellation. If
18205// the context is nil a panic will occur. In the future the SDK may create
18206// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18207// for more information on using Contexts.
18208func (c *EC2) DescribeInstanceStatusWithContext(ctx aws.Context, input *DescribeInstanceStatusInput, opts ...request.Option) (*DescribeInstanceStatusOutput, error) {
18209	req, out := c.DescribeInstanceStatusRequest(input)
18210	req.SetContext(ctx)
18211	req.ApplyOptions(opts...)
18212	return out, req.Send()
18213}
18214
18215// DescribeInstanceStatusPages iterates over the pages of a DescribeInstanceStatus operation,
18216// calling the "fn" function with the response data for each page. To stop
18217// iterating, return false from the fn function.
18218//
18219// See DescribeInstanceStatus method for more information on how to use this operation.
18220//
18221// Note: This operation can generate multiple requests to a service.
18222//
18223//    // Example iterating over at most 3 pages of a DescribeInstanceStatus operation.
18224//    pageNum := 0
18225//    err := client.DescribeInstanceStatusPages(params,
18226//        func(page *ec2.DescribeInstanceStatusOutput, lastPage bool) bool {
18227//            pageNum++
18228//            fmt.Println(page)
18229//            return pageNum <= 3
18230//        })
18231//
18232func (c *EC2) DescribeInstanceStatusPages(input *DescribeInstanceStatusInput, fn func(*DescribeInstanceStatusOutput, bool) bool) error {
18233	return c.DescribeInstanceStatusPagesWithContext(aws.BackgroundContext(), input, fn)
18234}
18235
18236// DescribeInstanceStatusPagesWithContext same as DescribeInstanceStatusPages except
18237// it takes a Context and allows setting request options on the pages.
18238//
18239// The context must be non-nil and will be used for request cancellation. If
18240// the context is nil a panic will occur. In the future the SDK may create
18241// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18242// for more information on using Contexts.
18243func (c *EC2) DescribeInstanceStatusPagesWithContext(ctx aws.Context, input *DescribeInstanceStatusInput, fn func(*DescribeInstanceStatusOutput, bool) bool, opts ...request.Option) error {
18244	p := request.Pagination{
18245		NewRequest: func() (*request.Request, error) {
18246			var inCpy *DescribeInstanceStatusInput
18247			if input != nil {
18248				tmp := *input
18249				inCpy = &tmp
18250			}
18251			req, _ := c.DescribeInstanceStatusRequest(inCpy)
18252			req.SetContext(ctx)
18253			req.ApplyOptions(opts...)
18254			return req, nil
18255		},
18256	}
18257
18258	for p.Next() {
18259		if !fn(p.Page().(*DescribeInstanceStatusOutput), !p.HasNextPage()) {
18260			break
18261		}
18262	}
18263
18264	return p.Err()
18265}
18266
18267const opDescribeInstanceTypeOfferings = "DescribeInstanceTypeOfferings"
18268
18269// DescribeInstanceTypeOfferingsRequest generates a "aws/request.Request" representing the
18270// client's request for the DescribeInstanceTypeOfferings operation. The "output" return
18271// value will be populated with the request's response once the request completes
18272// successfully.
18273//
18274// Use "Send" method on the returned Request to send the API call to the service.
18275// the "output" return value is not valid until after Send returns without error.
18276//
18277// See DescribeInstanceTypeOfferings for more information on using the DescribeInstanceTypeOfferings
18278// API call, and error handling.
18279//
18280// This method is useful when you want to inject custom logic or configuration
18281// into the SDK's request lifecycle. Such as custom headers, or retry logic.
18282//
18283//
18284//    // Example sending a request using the DescribeInstanceTypeOfferingsRequest method.
18285//    req, resp := client.DescribeInstanceTypeOfferingsRequest(params)
18286//
18287//    err := req.Send()
18288//    if err == nil { // resp is now filled
18289//        fmt.Println(resp)
18290//    }
18291//
18292// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceTypeOfferings
18293func (c *EC2) DescribeInstanceTypeOfferingsRequest(input *DescribeInstanceTypeOfferingsInput) (req *request.Request, output *DescribeInstanceTypeOfferingsOutput) {
18294	op := &request.Operation{
18295		Name:       opDescribeInstanceTypeOfferings,
18296		HTTPMethod: "POST",
18297		HTTPPath:   "/",
18298		Paginator: &request.Paginator{
18299			InputTokens:     []string{"NextToken"},
18300			OutputTokens:    []string{"NextToken"},
18301			LimitToken:      "MaxResults",
18302			TruncationToken: "",
18303		},
18304	}
18305
18306	if input == nil {
18307		input = &DescribeInstanceTypeOfferingsInput{}
18308	}
18309
18310	output = &DescribeInstanceTypeOfferingsOutput{}
18311	req = c.newRequest(op, input, output)
18312	return
18313}
18314
18315// DescribeInstanceTypeOfferings API operation for Amazon Elastic Compute Cloud.
18316//
18317// Returns a list of all instance types offered. The results can be filtered
18318// by location (Region or Availability Zone). If no location is specified, the
18319// instance types offered in the current Region are returned.
18320//
18321// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
18322// with awserr.Error's Code and Message methods to get detailed information about
18323// the error.
18324//
18325// See the AWS API reference guide for Amazon Elastic Compute Cloud's
18326// API operation DescribeInstanceTypeOfferings for usage and error information.
18327// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceTypeOfferings
18328func (c *EC2) DescribeInstanceTypeOfferings(input *DescribeInstanceTypeOfferingsInput) (*DescribeInstanceTypeOfferingsOutput, error) {
18329	req, out := c.DescribeInstanceTypeOfferingsRequest(input)
18330	return out, req.Send()
18331}
18332
18333// DescribeInstanceTypeOfferingsWithContext is the same as DescribeInstanceTypeOfferings with the addition of
18334// the ability to pass a context and additional request options.
18335//
18336// See DescribeInstanceTypeOfferings for details on how to use this API operation.
18337//
18338// The context must be non-nil and will be used for request cancellation. If
18339// the context is nil a panic will occur. In the future the SDK may create
18340// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18341// for more information on using Contexts.
18342func (c *EC2) DescribeInstanceTypeOfferingsWithContext(ctx aws.Context, input *DescribeInstanceTypeOfferingsInput, opts ...request.Option) (*DescribeInstanceTypeOfferingsOutput, error) {
18343	req, out := c.DescribeInstanceTypeOfferingsRequest(input)
18344	req.SetContext(ctx)
18345	req.ApplyOptions(opts...)
18346	return out, req.Send()
18347}
18348
18349// DescribeInstanceTypeOfferingsPages iterates over the pages of a DescribeInstanceTypeOfferings operation,
18350// calling the "fn" function with the response data for each page. To stop
18351// iterating, return false from the fn function.
18352//
18353// See DescribeInstanceTypeOfferings method for more information on how to use this operation.
18354//
18355// Note: This operation can generate multiple requests to a service.
18356//
18357//    // Example iterating over at most 3 pages of a DescribeInstanceTypeOfferings operation.
18358//    pageNum := 0
18359//    err := client.DescribeInstanceTypeOfferingsPages(params,
18360//        func(page *ec2.DescribeInstanceTypeOfferingsOutput, lastPage bool) bool {
18361//            pageNum++
18362//            fmt.Println(page)
18363//            return pageNum <= 3
18364//        })
18365//
18366func (c *EC2) DescribeInstanceTypeOfferingsPages(input *DescribeInstanceTypeOfferingsInput, fn func(*DescribeInstanceTypeOfferingsOutput, bool) bool) error {
18367	return c.DescribeInstanceTypeOfferingsPagesWithContext(aws.BackgroundContext(), input, fn)
18368}
18369
18370// DescribeInstanceTypeOfferingsPagesWithContext same as DescribeInstanceTypeOfferingsPages except
18371// it takes a Context and allows setting request options on the pages.
18372//
18373// The context must be non-nil and will be used for request cancellation. If
18374// the context is nil a panic will occur. In the future the SDK may create
18375// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18376// for more information on using Contexts.
18377func (c *EC2) DescribeInstanceTypeOfferingsPagesWithContext(ctx aws.Context, input *DescribeInstanceTypeOfferingsInput, fn func(*DescribeInstanceTypeOfferingsOutput, bool) bool, opts ...request.Option) error {
18378	p := request.Pagination{
18379		NewRequest: func() (*request.Request, error) {
18380			var inCpy *DescribeInstanceTypeOfferingsInput
18381			if input != nil {
18382				tmp := *input
18383				inCpy = &tmp
18384			}
18385			req, _ := c.DescribeInstanceTypeOfferingsRequest(inCpy)
18386			req.SetContext(ctx)
18387			req.ApplyOptions(opts...)
18388			return req, nil
18389		},
18390	}
18391
18392	for p.Next() {
18393		if !fn(p.Page().(*DescribeInstanceTypeOfferingsOutput), !p.HasNextPage()) {
18394			break
18395		}
18396	}
18397
18398	return p.Err()
18399}
18400
18401const opDescribeInstanceTypes = "DescribeInstanceTypes"
18402
18403// DescribeInstanceTypesRequest generates a "aws/request.Request" representing the
18404// client's request for the DescribeInstanceTypes operation. The "output" return
18405// value will be populated with the request's response once the request completes
18406// successfully.
18407//
18408// Use "Send" method on the returned Request to send the API call to the service.
18409// the "output" return value is not valid until after Send returns without error.
18410//
18411// See DescribeInstanceTypes for more information on using the DescribeInstanceTypes
18412// API call, and error handling.
18413//
18414// This method is useful when you want to inject custom logic or configuration
18415// into the SDK's request lifecycle. Such as custom headers, or retry logic.
18416//
18417//
18418//    // Example sending a request using the DescribeInstanceTypesRequest method.
18419//    req, resp := client.DescribeInstanceTypesRequest(params)
18420//
18421//    err := req.Send()
18422//    if err == nil { // resp is now filled
18423//        fmt.Println(resp)
18424//    }
18425//
18426// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceTypes
18427func (c *EC2) DescribeInstanceTypesRequest(input *DescribeInstanceTypesInput) (req *request.Request, output *DescribeInstanceTypesOutput) {
18428	op := &request.Operation{
18429		Name:       opDescribeInstanceTypes,
18430		HTTPMethod: "POST",
18431		HTTPPath:   "/",
18432		Paginator: &request.Paginator{
18433			InputTokens:     []string{"NextToken"},
18434			OutputTokens:    []string{"NextToken"},
18435			LimitToken:      "MaxResults",
18436			TruncationToken: "",
18437		},
18438	}
18439
18440	if input == nil {
18441		input = &DescribeInstanceTypesInput{}
18442	}
18443
18444	output = &DescribeInstanceTypesOutput{}
18445	req = c.newRequest(op, input, output)
18446	return
18447}
18448
18449// DescribeInstanceTypes API operation for Amazon Elastic Compute Cloud.
18450//
18451// Describes the details of the instance types that are offered in a location.
18452// The results can be filtered by the attributes of the instance types.
18453//
18454// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
18455// with awserr.Error's Code and Message methods to get detailed information about
18456// the error.
18457//
18458// See the AWS API reference guide for Amazon Elastic Compute Cloud's
18459// API operation DescribeInstanceTypes for usage and error information.
18460// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceTypes
18461func (c *EC2) DescribeInstanceTypes(input *DescribeInstanceTypesInput) (*DescribeInstanceTypesOutput, error) {
18462	req, out := c.DescribeInstanceTypesRequest(input)
18463	return out, req.Send()
18464}
18465
18466// DescribeInstanceTypesWithContext is the same as DescribeInstanceTypes with the addition of
18467// the ability to pass a context and additional request options.
18468//
18469// See DescribeInstanceTypes for details on how to use this API operation.
18470//
18471// The context must be non-nil and will be used for request cancellation. If
18472// the context is nil a panic will occur. In the future the SDK may create
18473// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18474// for more information on using Contexts.
18475func (c *EC2) DescribeInstanceTypesWithContext(ctx aws.Context, input *DescribeInstanceTypesInput, opts ...request.Option) (*DescribeInstanceTypesOutput, error) {
18476	req, out := c.DescribeInstanceTypesRequest(input)
18477	req.SetContext(ctx)
18478	req.ApplyOptions(opts...)
18479	return out, req.Send()
18480}
18481
18482// DescribeInstanceTypesPages iterates over the pages of a DescribeInstanceTypes operation,
18483// calling the "fn" function with the response data for each page. To stop
18484// iterating, return false from the fn function.
18485//
18486// See DescribeInstanceTypes method for more information on how to use this operation.
18487//
18488// Note: This operation can generate multiple requests to a service.
18489//
18490//    // Example iterating over at most 3 pages of a DescribeInstanceTypes operation.
18491//    pageNum := 0
18492//    err := client.DescribeInstanceTypesPages(params,
18493//        func(page *ec2.DescribeInstanceTypesOutput, lastPage bool) bool {
18494//            pageNum++
18495//            fmt.Println(page)
18496//            return pageNum <= 3
18497//        })
18498//
18499func (c *EC2) DescribeInstanceTypesPages(input *DescribeInstanceTypesInput, fn func(*DescribeInstanceTypesOutput, bool) bool) error {
18500	return c.DescribeInstanceTypesPagesWithContext(aws.BackgroundContext(), input, fn)
18501}
18502
18503// DescribeInstanceTypesPagesWithContext same as DescribeInstanceTypesPages except
18504// it takes a Context and allows setting request options on the pages.
18505//
18506// The context must be non-nil and will be used for request cancellation. If
18507// the context is nil a panic will occur. In the future the SDK may create
18508// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18509// for more information on using Contexts.
18510func (c *EC2) DescribeInstanceTypesPagesWithContext(ctx aws.Context, input *DescribeInstanceTypesInput, fn func(*DescribeInstanceTypesOutput, bool) bool, opts ...request.Option) error {
18511	p := request.Pagination{
18512		NewRequest: func() (*request.Request, error) {
18513			var inCpy *DescribeInstanceTypesInput
18514			if input != nil {
18515				tmp := *input
18516				inCpy = &tmp
18517			}
18518			req, _ := c.DescribeInstanceTypesRequest(inCpy)
18519			req.SetContext(ctx)
18520			req.ApplyOptions(opts...)
18521			return req, nil
18522		},
18523	}
18524
18525	for p.Next() {
18526		if !fn(p.Page().(*DescribeInstanceTypesOutput), !p.HasNextPage()) {
18527			break
18528		}
18529	}
18530
18531	return p.Err()
18532}
18533
18534const opDescribeInstances = "DescribeInstances"
18535
18536// DescribeInstancesRequest generates a "aws/request.Request" representing the
18537// client's request for the DescribeInstances operation. The "output" return
18538// value will be populated with the request's response once the request completes
18539// successfully.
18540//
18541// Use "Send" method on the returned Request to send the API call to the service.
18542// the "output" return value is not valid until after Send returns without error.
18543//
18544// See DescribeInstances for more information on using the DescribeInstances
18545// API call, and error handling.
18546//
18547// This method is useful when you want to inject custom logic or configuration
18548// into the SDK's request lifecycle. Such as custom headers, or retry logic.
18549//
18550//
18551//    // Example sending a request using the DescribeInstancesRequest method.
18552//    req, resp := client.DescribeInstancesRequest(params)
18553//
18554//    err := req.Send()
18555//    if err == nil { // resp is now filled
18556//        fmt.Println(resp)
18557//    }
18558//
18559// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstances
18560func (c *EC2) DescribeInstancesRequest(input *DescribeInstancesInput) (req *request.Request, output *DescribeInstancesOutput) {
18561	op := &request.Operation{
18562		Name:       opDescribeInstances,
18563		HTTPMethod: "POST",
18564		HTTPPath:   "/",
18565		Paginator: &request.Paginator{
18566			InputTokens:     []string{"NextToken"},
18567			OutputTokens:    []string{"NextToken"},
18568			LimitToken:      "MaxResults",
18569			TruncationToken: "",
18570		},
18571	}
18572
18573	if input == nil {
18574		input = &DescribeInstancesInput{}
18575	}
18576
18577	output = &DescribeInstancesOutput{}
18578	req = c.newRequest(op, input, output)
18579	return
18580}
18581
18582// DescribeInstances API operation for Amazon Elastic Compute Cloud.
18583//
18584// Describes the specified instances or all instances.
18585//
18586// If you specify instance IDs, the output includes information for only the
18587// specified instances. If you specify filters, the output includes information
18588// for only those instances that meet the filter criteria. If you do not specify
18589// instance IDs or filters, the output includes information for all instances,
18590// which can affect performance. We recommend that you use pagination to ensure
18591// that the operation returns quickly and successfully.
18592//
18593// If you specify an instance ID that is not valid, an error is returned. If
18594// you specify an instance that you do not own, it is not included in the output.
18595//
18596// Recently terminated instances might appear in the returned results. This
18597// interval is usually less than one hour.
18598//
18599// If you describe instances in the rare case where an Availability Zone is
18600// experiencing a service disruption and you specify instance IDs that are in
18601// the affected zone, or do not specify any instance IDs at all, the call fails.
18602// If you describe instances and specify only instance IDs that are in an unaffected
18603// zone, the call works normally.
18604//
18605// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
18606// with awserr.Error's Code and Message methods to get detailed information about
18607// the error.
18608//
18609// See the AWS API reference guide for Amazon Elastic Compute Cloud's
18610// API operation DescribeInstances for usage and error information.
18611// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstances
18612func (c *EC2) DescribeInstances(input *DescribeInstancesInput) (*DescribeInstancesOutput, error) {
18613	req, out := c.DescribeInstancesRequest(input)
18614	return out, req.Send()
18615}
18616
18617// DescribeInstancesWithContext is the same as DescribeInstances with the addition of
18618// the ability to pass a context and additional request options.
18619//
18620// See DescribeInstances for details on how to use this API operation.
18621//
18622// The context must be non-nil and will be used for request cancellation. If
18623// the context is nil a panic will occur. In the future the SDK may create
18624// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18625// for more information on using Contexts.
18626func (c *EC2) DescribeInstancesWithContext(ctx aws.Context, input *DescribeInstancesInput, opts ...request.Option) (*DescribeInstancesOutput, error) {
18627	req, out := c.DescribeInstancesRequest(input)
18628	req.SetContext(ctx)
18629	req.ApplyOptions(opts...)
18630	return out, req.Send()
18631}
18632
18633// DescribeInstancesPages iterates over the pages of a DescribeInstances operation,
18634// calling the "fn" function with the response data for each page. To stop
18635// iterating, return false from the fn function.
18636//
18637// See DescribeInstances method for more information on how to use this operation.
18638//
18639// Note: This operation can generate multiple requests to a service.
18640//
18641//    // Example iterating over at most 3 pages of a DescribeInstances operation.
18642//    pageNum := 0
18643//    err := client.DescribeInstancesPages(params,
18644//        func(page *ec2.DescribeInstancesOutput, lastPage bool) bool {
18645//            pageNum++
18646//            fmt.Println(page)
18647//            return pageNum <= 3
18648//        })
18649//
18650func (c *EC2) DescribeInstancesPages(input *DescribeInstancesInput, fn func(*DescribeInstancesOutput, bool) bool) error {
18651	return c.DescribeInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
18652}
18653
18654// DescribeInstancesPagesWithContext same as DescribeInstancesPages except
18655// it takes a Context and allows setting request options on the pages.
18656//
18657// The context must be non-nil and will be used for request cancellation. If
18658// the context is nil a panic will occur. In the future the SDK may create
18659// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18660// for more information on using Contexts.
18661func (c *EC2) DescribeInstancesPagesWithContext(ctx aws.Context, input *DescribeInstancesInput, fn func(*DescribeInstancesOutput, bool) bool, opts ...request.Option) error {
18662	p := request.Pagination{
18663		NewRequest: func() (*request.Request, error) {
18664			var inCpy *DescribeInstancesInput
18665			if input != nil {
18666				tmp := *input
18667				inCpy = &tmp
18668			}
18669			req, _ := c.DescribeInstancesRequest(inCpy)
18670			req.SetContext(ctx)
18671			req.ApplyOptions(opts...)
18672			return req, nil
18673		},
18674	}
18675
18676	for p.Next() {
18677		if !fn(p.Page().(*DescribeInstancesOutput), !p.HasNextPage()) {
18678			break
18679		}
18680	}
18681
18682	return p.Err()
18683}
18684
18685const opDescribeInternetGateways = "DescribeInternetGateways"
18686
18687// DescribeInternetGatewaysRequest generates a "aws/request.Request" representing the
18688// client's request for the DescribeInternetGateways operation. The "output" return
18689// value will be populated with the request's response once the request completes
18690// successfully.
18691//
18692// Use "Send" method on the returned Request to send the API call to the service.
18693// the "output" return value is not valid until after Send returns without error.
18694//
18695// See DescribeInternetGateways for more information on using the DescribeInternetGateways
18696// API call, and error handling.
18697//
18698// This method is useful when you want to inject custom logic or configuration
18699// into the SDK's request lifecycle. Such as custom headers, or retry logic.
18700//
18701//
18702//    // Example sending a request using the DescribeInternetGatewaysRequest method.
18703//    req, resp := client.DescribeInternetGatewaysRequest(params)
18704//
18705//    err := req.Send()
18706//    if err == nil { // resp is now filled
18707//        fmt.Println(resp)
18708//    }
18709//
18710// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInternetGateways
18711func (c *EC2) DescribeInternetGatewaysRequest(input *DescribeInternetGatewaysInput) (req *request.Request, output *DescribeInternetGatewaysOutput) {
18712	op := &request.Operation{
18713		Name:       opDescribeInternetGateways,
18714		HTTPMethod: "POST",
18715		HTTPPath:   "/",
18716		Paginator: &request.Paginator{
18717			InputTokens:     []string{"NextToken"},
18718			OutputTokens:    []string{"NextToken"},
18719			LimitToken:      "MaxResults",
18720			TruncationToken: "",
18721		},
18722	}
18723
18724	if input == nil {
18725		input = &DescribeInternetGatewaysInput{}
18726	}
18727
18728	output = &DescribeInternetGatewaysOutput{}
18729	req = c.newRequest(op, input, output)
18730	return
18731}
18732
18733// DescribeInternetGateways API operation for Amazon Elastic Compute Cloud.
18734//
18735// Describes one or more of your internet gateways.
18736//
18737// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
18738// with awserr.Error's Code and Message methods to get detailed information about
18739// the error.
18740//
18741// See the AWS API reference guide for Amazon Elastic Compute Cloud's
18742// API operation DescribeInternetGateways for usage and error information.
18743// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInternetGateways
18744func (c *EC2) DescribeInternetGateways(input *DescribeInternetGatewaysInput) (*DescribeInternetGatewaysOutput, error) {
18745	req, out := c.DescribeInternetGatewaysRequest(input)
18746	return out, req.Send()
18747}
18748
18749// DescribeInternetGatewaysWithContext is the same as DescribeInternetGateways with the addition of
18750// the ability to pass a context and additional request options.
18751//
18752// See DescribeInternetGateways for details on how to use this API operation.
18753//
18754// The context must be non-nil and will be used for request cancellation. If
18755// the context is nil a panic will occur. In the future the SDK may create
18756// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18757// for more information on using Contexts.
18758func (c *EC2) DescribeInternetGatewaysWithContext(ctx aws.Context, input *DescribeInternetGatewaysInput, opts ...request.Option) (*DescribeInternetGatewaysOutput, error) {
18759	req, out := c.DescribeInternetGatewaysRequest(input)
18760	req.SetContext(ctx)
18761	req.ApplyOptions(opts...)
18762	return out, req.Send()
18763}
18764
18765// DescribeInternetGatewaysPages iterates over the pages of a DescribeInternetGateways operation,
18766// calling the "fn" function with the response data for each page. To stop
18767// iterating, return false from the fn function.
18768//
18769// See DescribeInternetGateways method for more information on how to use this operation.
18770//
18771// Note: This operation can generate multiple requests to a service.
18772//
18773//    // Example iterating over at most 3 pages of a DescribeInternetGateways operation.
18774//    pageNum := 0
18775//    err := client.DescribeInternetGatewaysPages(params,
18776//        func(page *ec2.DescribeInternetGatewaysOutput, lastPage bool) bool {
18777//            pageNum++
18778//            fmt.Println(page)
18779//            return pageNum <= 3
18780//        })
18781//
18782func (c *EC2) DescribeInternetGatewaysPages(input *DescribeInternetGatewaysInput, fn func(*DescribeInternetGatewaysOutput, bool) bool) error {
18783	return c.DescribeInternetGatewaysPagesWithContext(aws.BackgroundContext(), input, fn)
18784}
18785
18786// DescribeInternetGatewaysPagesWithContext same as DescribeInternetGatewaysPages except
18787// it takes a Context and allows setting request options on the pages.
18788//
18789// The context must be non-nil and will be used for request cancellation. If
18790// the context is nil a panic will occur. In the future the SDK may create
18791// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18792// for more information on using Contexts.
18793func (c *EC2) DescribeInternetGatewaysPagesWithContext(ctx aws.Context, input *DescribeInternetGatewaysInput, fn func(*DescribeInternetGatewaysOutput, bool) bool, opts ...request.Option) error {
18794	p := request.Pagination{
18795		NewRequest: func() (*request.Request, error) {
18796			var inCpy *DescribeInternetGatewaysInput
18797			if input != nil {
18798				tmp := *input
18799				inCpy = &tmp
18800			}
18801			req, _ := c.DescribeInternetGatewaysRequest(inCpy)
18802			req.SetContext(ctx)
18803			req.ApplyOptions(opts...)
18804			return req, nil
18805		},
18806	}
18807
18808	for p.Next() {
18809		if !fn(p.Page().(*DescribeInternetGatewaysOutput), !p.HasNextPage()) {
18810			break
18811		}
18812	}
18813
18814	return p.Err()
18815}
18816
18817const opDescribeIpv6Pools = "DescribeIpv6Pools"
18818
18819// DescribeIpv6PoolsRequest generates a "aws/request.Request" representing the
18820// client's request for the DescribeIpv6Pools operation. The "output" return
18821// value will be populated with the request's response once the request completes
18822// successfully.
18823//
18824// Use "Send" method on the returned Request to send the API call to the service.
18825// the "output" return value is not valid until after Send returns without error.
18826//
18827// See DescribeIpv6Pools for more information on using the DescribeIpv6Pools
18828// API call, and error handling.
18829//
18830// This method is useful when you want to inject custom logic or configuration
18831// into the SDK's request lifecycle. Such as custom headers, or retry logic.
18832//
18833//
18834//    // Example sending a request using the DescribeIpv6PoolsRequest method.
18835//    req, resp := client.DescribeIpv6PoolsRequest(params)
18836//
18837//    err := req.Send()
18838//    if err == nil { // resp is now filled
18839//        fmt.Println(resp)
18840//    }
18841//
18842// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIpv6Pools
18843func (c *EC2) DescribeIpv6PoolsRequest(input *DescribeIpv6PoolsInput) (req *request.Request, output *DescribeIpv6PoolsOutput) {
18844	op := &request.Operation{
18845		Name:       opDescribeIpv6Pools,
18846		HTTPMethod: "POST",
18847		HTTPPath:   "/",
18848		Paginator: &request.Paginator{
18849			InputTokens:     []string{"NextToken"},
18850			OutputTokens:    []string{"NextToken"},
18851			LimitToken:      "MaxResults",
18852			TruncationToken: "",
18853		},
18854	}
18855
18856	if input == nil {
18857		input = &DescribeIpv6PoolsInput{}
18858	}
18859
18860	output = &DescribeIpv6PoolsOutput{}
18861	req = c.newRequest(op, input, output)
18862	return
18863}
18864
18865// DescribeIpv6Pools API operation for Amazon Elastic Compute Cloud.
18866//
18867// Describes your IPv6 address pools.
18868//
18869// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
18870// with awserr.Error's Code and Message methods to get detailed information about
18871// the error.
18872//
18873// See the AWS API reference guide for Amazon Elastic Compute Cloud's
18874// API operation DescribeIpv6Pools for usage and error information.
18875// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIpv6Pools
18876func (c *EC2) DescribeIpv6Pools(input *DescribeIpv6PoolsInput) (*DescribeIpv6PoolsOutput, error) {
18877	req, out := c.DescribeIpv6PoolsRequest(input)
18878	return out, req.Send()
18879}
18880
18881// DescribeIpv6PoolsWithContext is the same as DescribeIpv6Pools with the addition of
18882// the ability to pass a context and additional request options.
18883//
18884// See DescribeIpv6Pools for details on how to use this API operation.
18885//
18886// The context must be non-nil and will be used for request cancellation. If
18887// the context is nil a panic will occur. In the future the SDK may create
18888// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18889// for more information on using Contexts.
18890func (c *EC2) DescribeIpv6PoolsWithContext(ctx aws.Context, input *DescribeIpv6PoolsInput, opts ...request.Option) (*DescribeIpv6PoolsOutput, error) {
18891	req, out := c.DescribeIpv6PoolsRequest(input)
18892	req.SetContext(ctx)
18893	req.ApplyOptions(opts...)
18894	return out, req.Send()
18895}
18896
18897// DescribeIpv6PoolsPages iterates over the pages of a DescribeIpv6Pools operation,
18898// calling the "fn" function with the response data for each page. To stop
18899// iterating, return false from the fn function.
18900//
18901// See DescribeIpv6Pools method for more information on how to use this operation.
18902//
18903// Note: This operation can generate multiple requests to a service.
18904//
18905//    // Example iterating over at most 3 pages of a DescribeIpv6Pools operation.
18906//    pageNum := 0
18907//    err := client.DescribeIpv6PoolsPages(params,
18908//        func(page *ec2.DescribeIpv6PoolsOutput, lastPage bool) bool {
18909//            pageNum++
18910//            fmt.Println(page)
18911//            return pageNum <= 3
18912//        })
18913//
18914func (c *EC2) DescribeIpv6PoolsPages(input *DescribeIpv6PoolsInput, fn func(*DescribeIpv6PoolsOutput, bool) bool) error {
18915	return c.DescribeIpv6PoolsPagesWithContext(aws.BackgroundContext(), input, fn)
18916}
18917
18918// DescribeIpv6PoolsPagesWithContext same as DescribeIpv6PoolsPages except
18919// it takes a Context and allows setting request options on the pages.
18920//
18921// The context must be non-nil and will be used for request cancellation. If
18922// the context is nil a panic will occur. In the future the SDK may create
18923// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18924// for more information on using Contexts.
18925func (c *EC2) DescribeIpv6PoolsPagesWithContext(ctx aws.Context, input *DescribeIpv6PoolsInput, fn func(*DescribeIpv6PoolsOutput, bool) bool, opts ...request.Option) error {
18926	p := request.Pagination{
18927		NewRequest: func() (*request.Request, error) {
18928			var inCpy *DescribeIpv6PoolsInput
18929			if input != nil {
18930				tmp := *input
18931				inCpy = &tmp
18932			}
18933			req, _ := c.DescribeIpv6PoolsRequest(inCpy)
18934			req.SetContext(ctx)
18935			req.ApplyOptions(opts...)
18936			return req, nil
18937		},
18938	}
18939
18940	for p.Next() {
18941		if !fn(p.Page().(*DescribeIpv6PoolsOutput), !p.HasNextPage()) {
18942			break
18943		}
18944	}
18945
18946	return p.Err()
18947}
18948
18949const opDescribeKeyPairs = "DescribeKeyPairs"
18950
18951// DescribeKeyPairsRequest generates a "aws/request.Request" representing the
18952// client's request for the DescribeKeyPairs operation. The "output" return
18953// value will be populated with the request's response once the request completes
18954// successfully.
18955//
18956// Use "Send" method on the returned Request to send the API call to the service.
18957// the "output" return value is not valid until after Send returns without error.
18958//
18959// See DescribeKeyPairs for more information on using the DescribeKeyPairs
18960// API call, and error handling.
18961//
18962// This method is useful when you want to inject custom logic or configuration
18963// into the SDK's request lifecycle. Such as custom headers, or retry logic.
18964//
18965//
18966//    // Example sending a request using the DescribeKeyPairsRequest method.
18967//    req, resp := client.DescribeKeyPairsRequest(params)
18968//
18969//    err := req.Send()
18970//    if err == nil { // resp is now filled
18971//        fmt.Println(resp)
18972//    }
18973//
18974// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeKeyPairs
18975func (c *EC2) DescribeKeyPairsRequest(input *DescribeKeyPairsInput) (req *request.Request, output *DescribeKeyPairsOutput) {
18976	op := &request.Operation{
18977		Name:       opDescribeKeyPairs,
18978		HTTPMethod: "POST",
18979		HTTPPath:   "/",
18980	}
18981
18982	if input == nil {
18983		input = &DescribeKeyPairsInput{}
18984	}
18985
18986	output = &DescribeKeyPairsOutput{}
18987	req = c.newRequest(op, input, output)
18988	return
18989}
18990
18991// DescribeKeyPairs API operation for Amazon Elastic Compute Cloud.
18992//
18993// Describes the specified key pairs or all of your key pairs.
18994//
18995// For more information about key pairs, see Key Pairs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
18996// in the Amazon Elastic Compute Cloud User Guide.
18997//
18998// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
18999// with awserr.Error's Code and Message methods to get detailed information about
19000// the error.
19001//
19002// See the AWS API reference guide for Amazon Elastic Compute Cloud's
19003// API operation DescribeKeyPairs for usage and error information.
19004// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeKeyPairs
19005func (c *EC2) DescribeKeyPairs(input *DescribeKeyPairsInput) (*DescribeKeyPairsOutput, error) {
19006	req, out := c.DescribeKeyPairsRequest(input)
19007	return out, req.Send()
19008}
19009
19010// DescribeKeyPairsWithContext is the same as DescribeKeyPairs with the addition of
19011// the ability to pass a context and additional request options.
19012//
19013// See DescribeKeyPairs for details on how to use this API operation.
19014//
19015// The context must be non-nil and will be used for request cancellation. If
19016// the context is nil a panic will occur. In the future the SDK may create
19017// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19018// for more information on using Contexts.
19019func (c *EC2) DescribeKeyPairsWithContext(ctx aws.Context, input *DescribeKeyPairsInput, opts ...request.Option) (*DescribeKeyPairsOutput, error) {
19020	req, out := c.DescribeKeyPairsRequest(input)
19021	req.SetContext(ctx)
19022	req.ApplyOptions(opts...)
19023	return out, req.Send()
19024}
19025
19026const opDescribeLaunchTemplateVersions = "DescribeLaunchTemplateVersions"
19027
19028// DescribeLaunchTemplateVersionsRequest generates a "aws/request.Request" representing the
19029// client's request for the DescribeLaunchTemplateVersions operation. The "output" return
19030// value will be populated with the request's response once the request completes
19031// successfully.
19032//
19033// Use "Send" method on the returned Request to send the API call to the service.
19034// the "output" return value is not valid until after Send returns without error.
19035//
19036// See DescribeLaunchTemplateVersions for more information on using the DescribeLaunchTemplateVersions
19037// API call, and error handling.
19038//
19039// This method is useful when you want to inject custom logic or configuration
19040// into the SDK's request lifecycle. Such as custom headers, or retry logic.
19041//
19042//
19043//    // Example sending a request using the DescribeLaunchTemplateVersionsRequest method.
19044//    req, resp := client.DescribeLaunchTemplateVersionsRequest(params)
19045//
19046//    err := req.Send()
19047//    if err == nil { // resp is now filled
19048//        fmt.Println(resp)
19049//    }
19050//
19051// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLaunchTemplateVersions
19052func (c *EC2) DescribeLaunchTemplateVersionsRequest(input *DescribeLaunchTemplateVersionsInput) (req *request.Request, output *DescribeLaunchTemplateVersionsOutput) {
19053	op := &request.Operation{
19054		Name:       opDescribeLaunchTemplateVersions,
19055		HTTPMethod: "POST",
19056		HTTPPath:   "/",
19057		Paginator: &request.Paginator{
19058			InputTokens:     []string{"NextToken"},
19059			OutputTokens:    []string{"NextToken"},
19060			LimitToken:      "MaxResults",
19061			TruncationToken: "",
19062		},
19063	}
19064
19065	if input == nil {
19066		input = &DescribeLaunchTemplateVersionsInput{}
19067	}
19068
19069	output = &DescribeLaunchTemplateVersionsOutput{}
19070	req = c.newRequest(op, input, output)
19071	return
19072}
19073
19074// DescribeLaunchTemplateVersions API operation for Amazon Elastic Compute Cloud.
19075//
19076// Describes one or more versions of a specified launch template. You can describe
19077// all versions, individual versions, or a range of versions. You can also describe
19078// all the latest versions or all the default versions of all the launch templates
19079// in your account.
19080//
19081// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
19082// with awserr.Error's Code and Message methods to get detailed information about
19083// the error.
19084//
19085// See the AWS API reference guide for Amazon Elastic Compute Cloud's
19086// API operation DescribeLaunchTemplateVersions for usage and error information.
19087// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLaunchTemplateVersions
19088func (c *EC2) DescribeLaunchTemplateVersions(input *DescribeLaunchTemplateVersionsInput) (*DescribeLaunchTemplateVersionsOutput, error) {
19089	req, out := c.DescribeLaunchTemplateVersionsRequest(input)
19090	return out, req.Send()
19091}
19092
19093// DescribeLaunchTemplateVersionsWithContext is the same as DescribeLaunchTemplateVersions with the addition of
19094// the ability to pass a context and additional request options.
19095//
19096// See DescribeLaunchTemplateVersions for details on how to use this API operation.
19097//
19098// The context must be non-nil and will be used for request cancellation. If
19099// the context is nil a panic will occur. In the future the SDK may create
19100// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19101// for more information on using Contexts.
19102func (c *EC2) DescribeLaunchTemplateVersionsWithContext(ctx aws.Context, input *DescribeLaunchTemplateVersionsInput, opts ...request.Option) (*DescribeLaunchTemplateVersionsOutput, error) {
19103	req, out := c.DescribeLaunchTemplateVersionsRequest(input)
19104	req.SetContext(ctx)
19105	req.ApplyOptions(opts...)
19106	return out, req.Send()
19107}
19108
19109// DescribeLaunchTemplateVersionsPages iterates over the pages of a DescribeLaunchTemplateVersions operation,
19110// calling the "fn" function with the response data for each page. To stop
19111// iterating, return false from the fn function.
19112//
19113// See DescribeLaunchTemplateVersions method for more information on how to use this operation.
19114//
19115// Note: This operation can generate multiple requests to a service.
19116//
19117//    // Example iterating over at most 3 pages of a DescribeLaunchTemplateVersions operation.
19118//    pageNum := 0
19119//    err := client.DescribeLaunchTemplateVersionsPages(params,
19120//        func(page *ec2.DescribeLaunchTemplateVersionsOutput, lastPage bool) bool {
19121//            pageNum++
19122//            fmt.Println(page)
19123//            return pageNum <= 3
19124//        })
19125//
19126func (c *EC2) DescribeLaunchTemplateVersionsPages(input *DescribeLaunchTemplateVersionsInput, fn func(*DescribeLaunchTemplateVersionsOutput, bool) bool) error {
19127	return c.DescribeLaunchTemplateVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
19128}
19129
19130// DescribeLaunchTemplateVersionsPagesWithContext same as DescribeLaunchTemplateVersionsPages except
19131// it takes a Context and allows setting request options on the pages.
19132//
19133// The context must be non-nil and will be used for request cancellation. If
19134// the context is nil a panic will occur. In the future the SDK may create
19135// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19136// for more information on using Contexts.
19137func (c *EC2) DescribeLaunchTemplateVersionsPagesWithContext(ctx aws.Context, input *DescribeLaunchTemplateVersionsInput, fn func(*DescribeLaunchTemplateVersionsOutput, bool) bool, opts ...request.Option) error {
19138	p := request.Pagination{
19139		NewRequest: func() (*request.Request, error) {
19140			var inCpy *DescribeLaunchTemplateVersionsInput
19141			if input != nil {
19142				tmp := *input
19143				inCpy = &tmp
19144			}
19145			req, _ := c.DescribeLaunchTemplateVersionsRequest(inCpy)
19146			req.SetContext(ctx)
19147			req.ApplyOptions(opts...)
19148			return req, nil
19149		},
19150	}
19151
19152	for p.Next() {
19153		if !fn(p.Page().(*DescribeLaunchTemplateVersionsOutput), !p.HasNextPage()) {
19154			break
19155		}
19156	}
19157
19158	return p.Err()
19159}
19160
19161const opDescribeLaunchTemplates = "DescribeLaunchTemplates"
19162
19163// DescribeLaunchTemplatesRequest generates a "aws/request.Request" representing the
19164// client's request for the DescribeLaunchTemplates operation. The "output" return
19165// value will be populated with the request's response once the request completes
19166// successfully.
19167//
19168// Use "Send" method on the returned Request to send the API call to the service.
19169// the "output" return value is not valid until after Send returns without error.
19170//
19171// See DescribeLaunchTemplates for more information on using the DescribeLaunchTemplates
19172// API call, and error handling.
19173//
19174// This method is useful when you want to inject custom logic or configuration
19175// into the SDK's request lifecycle. Such as custom headers, or retry logic.
19176//
19177//
19178//    // Example sending a request using the DescribeLaunchTemplatesRequest method.
19179//    req, resp := client.DescribeLaunchTemplatesRequest(params)
19180//
19181//    err := req.Send()
19182//    if err == nil { // resp is now filled
19183//        fmt.Println(resp)
19184//    }
19185//
19186// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLaunchTemplates
19187func (c *EC2) DescribeLaunchTemplatesRequest(input *DescribeLaunchTemplatesInput) (req *request.Request, output *DescribeLaunchTemplatesOutput) {
19188	op := &request.Operation{
19189		Name:       opDescribeLaunchTemplates,
19190		HTTPMethod: "POST",
19191		HTTPPath:   "/",
19192		Paginator: &request.Paginator{
19193			InputTokens:     []string{"NextToken"},
19194			OutputTokens:    []string{"NextToken"},
19195			LimitToken:      "MaxResults",
19196			TruncationToken: "",
19197		},
19198	}
19199
19200	if input == nil {
19201		input = &DescribeLaunchTemplatesInput{}
19202	}
19203
19204	output = &DescribeLaunchTemplatesOutput{}
19205	req = c.newRequest(op, input, output)
19206	return
19207}
19208
19209// DescribeLaunchTemplates API operation for Amazon Elastic Compute Cloud.
19210//
19211// Describes one or more launch templates.
19212//
19213// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
19214// with awserr.Error's Code and Message methods to get detailed information about
19215// the error.
19216//
19217// See the AWS API reference guide for Amazon Elastic Compute Cloud's
19218// API operation DescribeLaunchTemplates for usage and error information.
19219// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLaunchTemplates
19220func (c *EC2) DescribeLaunchTemplates(input *DescribeLaunchTemplatesInput) (*DescribeLaunchTemplatesOutput, error) {
19221	req, out := c.DescribeLaunchTemplatesRequest(input)
19222	return out, req.Send()
19223}
19224
19225// DescribeLaunchTemplatesWithContext is the same as DescribeLaunchTemplates with the addition of
19226// the ability to pass a context and additional request options.
19227//
19228// See DescribeLaunchTemplates for details on how to use this API operation.
19229//
19230// The context must be non-nil and will be used for request cancellation. If
19231// the context is nil a panic will occur. In the future the SDK may create
19232// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19233// for more information on using Contexts.
19234func (c *EC2) DescribeLaunchTemplatesWithContext(ctx aws.Context, input *DescribeLaunchTemplatesInput, opts ...request.Option) (*DescribeLaunchTemplatesOutput, error) {
19235	req, out := c.DescribeLaunchTemplatesRequest(input)
19236	req.SetContext(ctx)
19237	req.ApplyOptions(opts...)
19238	return out, req.Send()
19239}
19240
19241// DescribeLaunchTemplatesPages iterates over the pages of a DescribeLaunchTemplates operation,
19242// calling the "fn" function with the response data for each page. To stop
19243// iterating, return false from the fn function.
19244//
19245// See DescribeLaunchTemplates method for more information on how to use this operation.
19246//
19247// Note: This operation can generate multiple requests to a service.
19248//
19249//    // Example iterating over at most 3 pages of a DescribeLaunchTemplates operation.
19250//    pageNum := 0
19251//    err := client.DescribeLaunchTemplatesPages(params,
19252//        func(page *ec2.DescribeLaunchTemplatesOutput, lastPage bool) bool {
19253//            pageNum++
19254//            fmt.Println(page)
19255//            return pageNum <= 3
19256//        })
19257//
19258func (c *EC2) DescribeLaunchTemplatesPages(input *DescribeLaunchTemplatesInput, fn func(*DescribeLaunchTemplatesOutput, bool) bool) error {
19259	return c.DescribeLaunchTemplatesPagesWithContext(aws.BackgroundContext(), input, fn)
19260}
19261
19262// DescribeLaunchTemplatesPagesWithContext same as DescribeLaunchTemplatesPages except
19263// it takes a Context and allows setting request options on the pages.
19264//
19265// The context must be non-nil and will be used for request cancellation. If
19266// the context is nil a panic will occur. In the future the SDK may create
19267// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19268// for more information on using Contexts.
19269func (c *EC2) DescribeLaunchTemplatesPagesWithContext(ctx aws.Context, input *DescribeLaunchTemplatesInput, fn func(*DescribeLaunchTemplatesOutput, bool) bool, opts ...request.Option) error {
19270	p := request.Pagination{
19271		NewRequest: func() (*request.Request, error) {
19272			var inCpy *DescribeLaunchTemplatesInput
19273			if input != nil {
19274				tmp := *input
19275				inCpy = &tmp
19276			}
19277			req, _ := c.DescribeLaunchTemplatesRequest(inCpy)
19278			req.SetContext(ctx)
19279			req.ApplyOptions(opts...)
19280			return req, nil
19281		},
19282	}
19283
19284	for p.Next() {
19285		if !fn(p.Page().(*DescribeLaunchTemplatesOutput), !p.HasNextPage()) {
19286			break
19287		}
19288	}
19289
19290	return p.Err()
19291}
19292
19293const opDescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations = "DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations"
19294
19295// DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest generates a "aws/request.Request" representing the
19296// client's request for the DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations operation. The "output" return
19297// value will be populated with the request's response once the request completes
19298// successfully.
19299//
19300// Use "Send" method on the returned Request to send the API call to the service.
19301// the "output" return value is not valid until after Send returns without error.
19302//
19303// See DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations for more information on using the DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations
19304// API call, and error handling.
19305//
19306// This method is useful when you want to inject custom logic or configuration
19307// into the SDK's request lifecycle. Such as custom headers, or retry logic.
19308//
19309//
19310//    // Example sending a request using the DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest method.
19311//    req, resp := client.DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest(params)
19312//
19313//    err := req.Send()
19314//    if err == nil { // resp is now filled
19315//        fmt.Println(resp)
19316//    }
19317//
19318// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations
19319func (c *EC2) DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest(input *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) (req *request.Request, output *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput) {
19320	op := &request.Operation{
19321		Name:       opDescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations,
19322		HTTPMethod: "POST",
19323		HTTPPath:   "/",
19324		Paginator: &request.Paginator{
19325			InputTokens:     []string{"NextToken"},
19326			OutputTokens:    []string{"NextToken"},
19327			LimitToken:      "MaxResults",
19328			TruncationToken: "",
19329		},
19330	}
19331
19332	if input == nil {
19333		input = &DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput{}
19334	}
19335
19336	output = &DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput{}
19337	req = c.newRequest(op, input, output)
19338	return
19339}
19340
19341// DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations API operation for Amazon Elastic Compute Cloud.
19342//
19343// Describes the associations between virtual interface groups and local gateway
19344// route tables.
19345//
19346// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
19347// with awserr.Error's Code and Message methods to get detailed information about
19348// the error.
19349//
19350// See the AWS API reference guide for Amazon Elastic Compute Cloud's
19351// API operation DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations for usage and error information.
19352// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations
19353func (c *EC2) DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations(input *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) (*DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput, error) {
19354	req, out := c.DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest(input)
19355	return out, req.Send()
19356}
19357
19358// DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsWithContext is the same as DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations with the addition of
19359// the ability to pass a context and additional request options.
19360//
19361// See DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations for details on how to use this API operation.
19362//
19363// The context must be non-nil and will be used for request cancellation. If
19364// the context is nil a panic will occur. In the future the SDK may create
19365// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19366// for more information on using Contexts.
19367func (c *EC2) DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsWithContext(ctx aws.Context, input *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput, opts ...request.Option) (*DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput, error) {
19368	req, out := c.DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest(input)
19369	req.SetContext(ctx)
19370	req.ApplyOptions(opts...)
19371	return out, req.Send()
19372}
19373
19374// DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsPages iterates over the pages of a DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations operation,
19375// calling the "fn" function with the response data for each page. To stop
19376// iterating, return false from the fn function.
19377//
19378// See DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations method for more information on how to use this operation.
19379//
19380// Note: This operation can generate multiple requests to a service.
19381//
19382//    // Example iterating over at most 3 pages of a DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations operation.
19383//    pageNum := 0
19384//    err := client.DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsPages(params,
19385//        func(page *ec2.DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput, lastPage bool) bool {
19386//            pageNum++
19387//            fmt.Println(page)
19388//            return pageNum <= 3
19389//        })
19390//
19391func (c *EC2) DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsPages(input *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput, fn func(*DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput, bool) bool) error {
19392	return c.DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsPagesWithContext(aws.BackgroundContext(), input, fn)
19393}
19394
19395// DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsPagesWithContext same as DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsPages except
19396// it takes a Context and allows setting request options on the pages.
19397//
19398// The context must be non-nil and will be used for request cancellation. If
19399// the context is nil a panic will occur. In the future the SDK may create
19400// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19401// for more information on using Contexts.
19402func (c *EC2) DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsPagesWithContext(ctx aws.Context, input *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput, fn func(*DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput, bool) bool, opts ...request.Option) error {
19403	p := request.Pagination{
19404		NewRequest: func() (*request.Request, error) {
19405			var inCpy *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput
19406			if input != nil {
19407				tmp := *input
19408				inCpy = &tmp
19409			}
19410			req, _ := c.DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest(inCpy)
19411			req.SetContext(ctx)
19412			req.ApplyOptions(opts...)
19413			return req, nil
19414		},
19415	}
19416
19417	for p.Next() {
19418		if !fn(p.Page().(*DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput), !p.HasNextPage()) {
19419			break
19420		}
19421	}
19422
19423	return p.Err()
19424}
19425
19426const opDescribeLocalGatewayRouteTableVpcAssociations = "DescribeLocalGatewayRouteTableVpcAssociations"
19427
19428// DescribeLocalGatewayRouteTableVpcAssociationsRequest generates a "aws/request.Request" representing the
19429// client's request for the DescribeLocalGatewayRouteTableVpcAssociations operation. The "output" return
19430// value will be populated with the request's response once the request completes
19431// successfully.
19432//
19433// Use "Send" method on the returned Request to send the API call to the service.
19434// the "output" return value is not valid until after Send returns without error.
19435//
19436// See DescribeLocalGatewayRouteTableVpcAssociations for more information on using the DescribeLocalGatewayRouteTableVpcAssociations
19437// API call, and error handling.
19438//
19439// This method is useful when you want to inject custom logic or configuration
19440// into the SDK's request lifecycle. Such as custom headers, or retry logic.
19441//
19442//
19443//    // Example sending a request using the DescribeLocalGatewayRouteTableVpcAssociationsRequest method.
19444//    req, resp := client.DescribeLocalGatewayRouteTableVpcAssociationsRequest(params)
19445//
19446//    err := req.Send()
19447//    if err == nil { // resp is now filled
19448//        fmt.Println(resp)
19449//    }
19450//
19451// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayRouteTableVpcAssociations
19452func (c *EC2) DescribeLocalGatewayRouteTableVpcAssociationsRequest(input *DescribeLocalGatewayRouteTableVpcAssociationsInput) (req *request.Request, output *DescribeLocalGatewayRouteTableVpcAssociationsOutput) {
19453	op := &request.Operation{
19454		Name:       opDescribeLocalGatewayRouteTableVpcAssociations,
19455		HTTPMethod: "POST",
19456		HTTPPath:   "/",
19457		Paginator: &request.Paginator{
19458			InputTokens:     []string{"NextToken"},
19459			OutputTokens:    []string{"NextToken"},
19460			LimitToken:      "MaxResults",
19461			TruncationToken: "",
19462		},
19463	}
19464
19465	if input == nil {
19466		input = &DescribeLocalGatewayRouteTableVpcAssociationsInput{}
19467	}
19468
19469	output = &DescribeLocalGatewayRouteTableVpcAssociationsOutput{}
19470	req = c.newRequest(op, input, output)
19471	return
19472}
19473
19474// DescribeLocalGatewayRouteTableVpcAssociations API operation for Amazon Elastic Compute Cloud.
19475//
19476// Describes the specified associations between VPCs and local gateway route
19477// tables.
19478//
19479// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
19480// with awserr.Error's Code and Message methods to get detailed information about
19481// the error.
19482//
19483// See the AWS API reference guide for Amazon Elastic Compute Cloud's
19484// API operation DescribeLocalGatewayRouteTableVpcAssociations for usage and error information.
19485// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayRouteTableVpcAssociations
19486func (c *EC2) DescribeLocalGatewayRouteTableVpcAssociations(input *DescribeLocalGatewayRouteTableVpcAssociationsInput) (*DescribeLocalGatewayRouteTableVpcAssociationsOutput, error) {
19487	req, out := c.DescribeLocalGatewayRouteTableVpcAssociationsRequest(input)
19488	return out, req.Send()
19489}
19490
19491// DescribeLocalGatewayRouteTableVpcAssociationsWithContext is the same as DescribeLocalGatewayRouteTableVpcAssociations with the addition of
19492// the ability to pass a context and additional request options.
19493//
19494// See DescribeLocalGatewayRouteTableVpcAssociations for details on how to use this API operation.
19495//
19496// The context must be non-nil and will be used for request cancellation. If
19497// the context is nil a panic will occur. In the future the SDK may create
19498// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19499// for more information on using Contexts.
19500func (c *EC2) DescribeLocalGatewayRouteTableVpcAssociationsWithContext(ctx aws.Context, input *DescribeLocalGatewayRouteTableVpcAssociationsInput, opts ...request.Option) (*DescribeLocalGatewayRouteTableVpcAssociationsOutput, error) {
19501	req, out := c.DescribeLocalGatewayRouteTableVpcAssociationsRequest(input)
19502	req.SetContext(ctx)
19503	req.ApplyOptions(opts...)
19504	return out, req.Send()
19505}
19506
19507// DescribeLocalGatewayRouteTableVpcAssociationsPages iterates over the pages of a DescribeLocalGatewayRouteTableVpcAssociations operation,
19508// calling the "fn" function with the response data for each page. To stop
19509// iterating, return false from the fn function.
19510//
19511// See DescribeLocalGatewayRouteTableVpcAssociations method for more information on how to use this operation.
19512//
19513// Note: This operation can generate multiple requests to a service.
19514//
19515//    // Example iterating over at most 3 pages of a DescribeLocalGatewayRouteTableVpcAssociations operation.
19516//    pageNum := 0
19517//    err := client.DescribeLocalGatewayRouteTableVpcAssociationsPages(params,
19518//        func(page *ec2.DescribeLocalGatewayRouteTableVpcAssociationsOutput, lastPage bool) bool {
19519//            pageNum++
19520//            fmt.Println(page)
19521//            return pageNum <= 3
19522//        })
19523//
19524func (c *EC2) DescribeLocalGatewayRouteTableVpcAssociationsPages(input *DescribeLocalGatewayRouteTableVpcAssociationsInput, fn func(*DescribeLocalGatewayRouteTableVpcAssociationsOutput, bool) bool) error {
19525	return c.DescribeLocalGatewayRouteTableVpcAssociationsPagesWithContext(aws.BackgroundContext(), input, fn)
19526}
19527
19528// DescribeLocalGatewayRouteTableVpcAssociationsPagesWithContext same as DescribeLocalGatewayRouteTableVpcAssociationsPages except
19529// it takes a Context and allows setting request options on the pages.
19530//
19531// The context must be non-nil and will be used for request cancellation. If
19532// the context is nil a panic will occur. In the future the SDK may create
19533// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19534// for more information on using Contexts.
19535func (c *EC2) DescribeLocalGatewayRouteTableVpcAssociationsPagesWithContext(ctx aws.Context, input *DescribeLocalGatewayRouteTableVpcAssociationsInput, fn func(*DescribeLocalGatewayRouteTableVpcAssociationsOutput, bool) bool, opts ...request.Option) error {
19536	p := request.Pagination{
19537		NewRequest: func() (*request.Request, error) {
19538			var inCpy *DescribeLocalGatewayRouteTableVpcAssociationsInput
19539			if input != nil {
19540				tmp := *input
19541				inCpy = &tmp
19542			}
19543			req, _ := c.DescribeLocalGatewayRouteTableVpcAssociationsRequest(inCpy)
19544			req.SetContext(ctx)
19545			req.ApplyOptions(opts...)
19546			return req, nil
19547		},
19548	}
19549
19550	for p.Next() {
19551		if !fn(p.Page().(*DescribeLocalGatewayRouteTableVpcAssociationsOutput), !p.HasNextPage()) {
19552			break
19553		}
19554	}
19555
19556	return p.Err()
19557}
19558
19559const opDescribeLocalGatewayRouteTables = "DescribeLocalGatewayRouteTables"
19560
19561// DescribeLocalGatewayRouteTablesRequest generates a "aws/request.Request" representing the
19562// client's request for the DescribeLocalGatewayRouteTables operation. The "output" return
19563// value will be populated with the request's response once the request completes
19564// successfully.
19565//
19566// Use "Send" method on the returned Request to send the API call to the service.
19567// the "output" return value is not valid until after Send returns without error.
19568//
19569// See DescribeLocalGatewayRouteTables for more information on using the DescribeLocalGatewayRouteTables
19570// API call, and error handling.
19571//
19572// This method is useful when you want to inject custom logic or configuration
19573// into the SDK's request lifecycle. Such as custom headers, or retry logic.
19574//
19575//
19576//    // Example sending a request using the DescribeLocalGatewayRouteTablesRequest method.
19577//    req, resp := client.DescribeLocalGatewayRouteTablesRequest(params)
19578//
19579//    err := req.Send()
19580//    if err == nil { // resp is now filled
19581//        fmt.Println(resp)
19582//    }
19583//
19584// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayRouteTables
19585func (c *EC2) DescribeLocalGatewayRouteTablesRequest(input *DescribeLocalGatewayRouteTablesInput) (req *request.Request, output *DescribeLocalGatewayRouteTablesOutput) {
19586	op := &request.Operation{
19587		Name:       opDescribeLocalGatewayRouteTables,
19588		HTTPMethod: "POST",
19589		HTTPPath:   "/",
19590		Paginator: &request.Paginator{
19591			InputTokens:     []string{"NextToken"},
19592			OutputTokens:    []string{"NextToken"},
19593			LimitToken:      "MaxResults",
19594			TruncationToken: "",
19595		},
19596	}
19597
19598	if input == nil {
19599		input = &DescribeLocalGatewayRouteTablesInput{}
19600	}
19601
19602	output = &DescribeLocalGatewayRouteTablesOutput{}
19603	req = c.newRequest(op, input, output)
19604	return
19605}
19606
19607// DescribeLocalGatewayRouteTables API operation for Amazon Elastic Compute Cloud.
19608//
19609// Describes one or more local gateway route tables. By default, all local gateway
19610// route tables are described. Alternatively, you can filter the results.
19611//
19612// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
19613// with awserr.Error's Code and Message methods to get detailed information about
19614// the error.
19615//
19616// See the AWS API reference guide for Amazon Elastic Compute Cloud's
19617// API operation DescribeLocalGatewayRouteTables for usage and error information.
19618// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayRouteTables
19619func (c *EC2) DescribeLocalGatewayRouteTables(input *DescribeLocalGatewayRouteTablesInput) (*DescribeLocalGatewayRouteTablesOutput, error) {
19620	req, out := c.DescribeLocalGatewayRouteTablesRequest(input)
19621	return out, req.Send()
19622}
19623
19624// DescribeLocalGatewayRouteTablesWithContext is the same as DescribeLocalGatewayRouteTables with the addition of
19625// the ability to pass a context and additional request options.
19626//
19627// See DescribeLocalGatewayRouteTables for details on how to use this API operation.
19628//
19629// The context must be non-nil and will be used for request cancellation. If
19630// the context is nil a panic will occur. In the future the SDK may create
19631// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19632// for more information on using Contexts.
19633func (c *EC2) DescribeLocalGatewayRouteTablesWithContext(ctx aws.Context, input *DescribeLocalGatewayRouteTablesInput, opts ...request.Option) (*DescribeLocalGatewayRouteTablesOutput, error) {
19634	req, out := c.DescribeLocalGatewayRouteTablesRequest(input)
19635	req.SetContext(ctx)
19636	req.ApplyOptions(opts...)
19637	return out, req.Send()
19638}
19639
19640// DescribeLocalGatewayRouteTablesPages iterates over the pages of a DescribeLocalGatewayRouteTables operation,
19641// calling the "fn" function with the response data for each page. To stop
19642// iterating, return false from the fn function.
19643//
19644// See DescribeLocalGatewayRouteTables method for more information on how to use this operation.
19645//
19646// Note: This operation can generate multiple requests to a service.
19647//
19648//    // Example iterating over at most 3 pages of a DescribeLocalGatewayRouteTables operation.
19649//    pageNum := 0
19650//    err := client.DescribeLocalGatewayRouteTablesPages(params,
19651//        func(page *ec2.DescribeLocalGatewayRouteTablesOutput, lastPage bool) bool {
19652//            pageNum++
19653//            fmt.Println(page)
19654//            return pageNum <= 3
19655//        })
19656//
19657func (c *EC2) DescribeLocalGatewayRouteTablesPages(input *DescribeLocalGatewayRouteTablesInput, fn func(*DescribeLocalGatewayRouteTablesOutput, bool) bool) error {
19658	return c.DescribeLocalGatewayRouteTablesPagesWithContext(aws.BackgroundContext(), input, fn)
19659}
19660
19661// DescribeLocalGatewayRouteTablesPagesWithContext same as DescribeLocalGatewayRouteTablesPages except
19662// it takes a Context and allows setting request options on the pages.
19663//
19664// The context must be non-nil and will be used for request cancellation. If
19665// the context is nil a panic will occur. In the future the SDK may create
19666// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19667// for more information on using Contexts.
19668func (c *EC2) DescribeLocalGatewayRouteTablesPagesWithContext(ctx aws.Context, input *DescribeLocalGatewayRouteTablesInput, fn func(*DescribeLocalGatewayRouteTablesOutput, bool) bool, opts ...request.Option) error {
19669	p := request.Pagination{
19670		NewRequest: func() (*request.Request, error) {
19671			var inCpy *DescribeLocalGatewayRouteTablesInput
19672			if input != nil {
19673				tmp := *input
19674				inCpy = &tmp
19675			}
19676			req, _ := c.DescribeLocalGatewayRouteTablesRequest(inCpy)
19677			req.SetContext(ctx)
19678			req.ApplyOptions(opts...)
19679			return req, nil
19680		},
19681	}
19682
19683	for p.Next() {
19684		if !fn(p.Page().(*DescribeLocalGatewayRouteTablesOutput), !p.HasNextPage()) {
19685			break
19686		}
19687	}
19688
19689	return p.Err()
19690}
19691
19692const opDescribeLocalGatewayVirtualInterfaceGroups = "DescribeLocalGatewayVirtualInterfaceGroups"
19693
19694// DescribeLocalGatewayVirtualInterfaceGroupsRequest generates a "aws/request.Request" representing the
19695// client's request for the DescribeLocalGatewayVirtualInterfaceGroups operation. The "output" return
19696// value will be populated with the request's response once the request completes
19697// successfully.
19698//
19699// Use "Send" method on the returned Request to send the API call to the service.
19700// the "output" return value is not valid until after Send returns without error.
19701//
19702// See DescribeLocalGatewayVirtualInterfaceGroups for more information on using the DescribeLocalGatewayVirtualInterfaceGroups
19703// API call, and error handling.
19704//
19705// This method is useful when you want to inject custom logic or configuration
19706// into the SDK's request lifecycle. Such as custom headers, or retry logic.
19707//
19708//
19709//    // Example sending a request using the DescribeLocalGatewayVirtualInterfaceGroupsRequest method.
19710//    req, resp := client.DescribeLocalGatewayVirtualInterfaceGroupsRequest(params)
19711//
19712//    err := req.Send()
19713//    if err == nil { // resp is now filled
19714//        fmt.Println(resp)
19715//    }
19716//
19717// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayVirtualInterfaceGroups
19718func (c *EC2) DescribeLocalGatewayVirtualInterfaceGroupsRequest(input *DescribeLocalGatewayVirtualInterfaceGroupsInput) (req *request.Request, output *DescribeLocalGatewayVirtualInterfaceGroupsOutput) {
19719	op := &request.Operation{
19720		Name:       opDescribeLocalGatewayVirtualInterfaceGroups,
19721		HTTPMethod: "POST",
19722		HTTPPath:   "/",
19723		Paginator: &request.Paginator{
19724			InputTokens:     []string{"NextToken"},
19725			OutputTokens:    []string{"NextToken"},
19726			LimitToken:      "MaxResults",
19727			TruncationToken: "",
19728		},
19729	}
19730
19731	if input == nil {
19732		input = &DescribeLocalGatewayVirtualInterfaceGroupsInput{}
19733	}
19734
19735	output = &DescribeLocalGatewayVirtualInterfaceGroupsOutput{}
19736	req = c.newRequest(op, input, output)
19737	return
19738}
19739
19740// DescribeLocalGatewayVirtualInterfaceGroups API operation for Amazon Elastic Compute Cloud.
19741//
19742// Describes the specified local gateway virtual interface groups.
19743//
19744// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
19745// with awserr.Error's Code and Message methods to get detailed information about
19746// the error.
19747//
19748// See the AWS API reference guide for Amazon Elastic Compute Cloud's
19749// API operation DescribeLocalGatewayVirtualInterfaceGroups for usage and error information.
19750// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayVirtualInterfaceGroups
19751func (c *EC2) DescribeLocalGatewayVirtualInterfaceGroups(input *DescribeLocalGatewayVirtualInterfaceGroupsInput) (*DescribeLocalGatewayVirtualInterfaceGroupsOutput, error) {
19752	req, out := c.DescribeLocalGatewayVirtualInterfaceGroupsRequest(input)
19753	return out, req.Send()
19754}
19755
19756// DescribeLocalGatewayVirtualInterfaceGroupsWithContext is the same as DescribeLocalGatewayVirtualInterfaceGroups with the addition of
19757// the ability to pass a context and additional request options.
19758//
19759// See DescribeLocalGatewayVirtualInterfaceGroups for details on how to use this API operation.
19760//
19761// The context must be non-nil and will be used for request cancellation. If
19762// the context is nil a panic will occur. In the future the SDK may create
19763// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19764// for more information on using Contexts.
19765func (c *EC2) DescribeLocalGatewayVirtualInterfaceGroupsWithContext(ctx aws.Context, input *DescribeLocalGatewayVirtualInterfaceGroupsInput, opts ...request.Option) (*DescribeLocalGatewayVirtualInterfaceGroupsOutput, error) {
19766	req, out := c.DescribeLocalGatewayVirtualInterfaceGroupsRequest(input)
19767	req.SetContext(ctx)
19768	req.ApplyOptions(opts...)
19769	return out, req.Send()
19770}
19771
19772// DescribeLocalGatewayVirtualInterfaceGroupsPages iterates over the pages of a DescribeLocalGatewayVirtualInterfaceGroups operation,
19773// calling the "fn" function with the response data for each page. To stop
19774// iterating, return false from the fn function.
19775//
19776// See DescribeLocalGatewayVirtualInterfaceGroups method for more information on how to use this operation.
19777//
19778// Note: This operation can generate multiple requests to a service.
19779//
19780//    // Example iterating over at most 3 pages of a DescribeLocalGatewayVirtualInterfaceGroups operation.
19781//    pageNum := 0
19782//    err := client.DescribeLocalGatewayVirtualInterfaceGroupsPages(params,
19783//        func(page *ec2.DescribeLocalGatewayVirtualInterfaceGroupsOutput, lastPage bool) bool {
19784//            pageNum++
19785//            fmt.Println(page)
19786//            return pageNum <= 3
19787//        })
19788//
19789func (c *EC2) DescribeLocalGatewayVirtualInterfaceGroupsPages(input *DescribeLocalGatewayVirtualInterfaceGroupsInput, fn func(*DescribeLocalGatewayVirtualInterfaceGroupsOutput, bool) bool) error {
19790	return c.DescribeLocalGatewayVirtualInterfaceGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
19791}
19792
19793// DescribeLocalGatewayVirtualInterfaceGroupsPagesWithContext same as DescribeLocalGatewayVirtualInterfaceGroupsPages except
19794// it takes a Context and allows setting request options on the pages.
19795//
19796// The context must be non-nil and will be used for request cancellation. If
19797// the context is nil a panic will occur. In the future the SDK may create
19798// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19799// for more information on using Contexts.
19800func (c *EC2) DescribeLocalGatewayVirtualInterfaceGroupsPagesWithContext(ctx aws.Context, input *DescribeLocalGatewayVirtualInterfaceGroupsInput, fn func(*DescribeLocalGatewayVirtualInterfaceGroupsOutput, bool) bool, opts ...request.Option) error {
19801	p := request.Pagination{
19802		NewRequest: func() (*request.Request, error) {
19803			var inCpy *DescribeLocalGatewayVirtualInterfaceGroupsInput
19804			if input != nil {
19805				tmp := *input
19806				inCpy = &tmp
19807			}
19808			req, _ := c.DescribeLocalGatewayVirtualInterfaceGroupsRequest(inCpy)
19809			req.SetContext(ctx)
19810			req.ApplyOptions(opts...)
19811			return req, nil
19812		},
19813	}
19814
19815	for p.Next() {
19816		if !fn(p.Page().(*DescribeLocalGatewayVirtualInterfaceGroupsOutput), !p.HasNextPage()) {
19817			break
19818		}
19819	}
19820
19821	return p.Err()
19822}
19823
19824const opDescribeLocalGatewayVirtualInterfaces = "DescribeLocalGatewayVirtualInterfaces"
19825
19826// DescribeLocalGatewayVirtualInterfacesRequest generates a "aws/request.Request" representing the
19827// client's request for the DescribeLocalGatewayVirtualInterfaces operation. The "output" return
19828// value will be populated with the request's response once the request completes
19829// successfully.
19830//
19831// Use "Send" method on the returned Request to send the API call to the service.
19832// the "output" return value is not valid until after Send returns without error.
19833//
19834// See DescribeLocalGatewayVirtualInterfaces for more information on using the DescribeLocalGatewayVirtualInterfaces
19835// API call, and error handling.
19836//
19837// This method is useful when you want to inject custom logic or configuration
19838// into the SDK's request lifecycle. Such as custom headers, or retry logic.
19839//
19840//
19841//    // Example sending a request using the DescribeLocalGatewayVirtualInterfacesRequest method.
19842//    req, resp := client.DescribeLocalGatewayVirtualInterfacesRequest(params)
19843//
19844//    err := req.Send()
19845//    if err == nil { // resp is now filled
19846//        fmt.Println(resp)
19847//    }
19848//
19849// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayVirtualInterfaces
19850func (c *EC2) DescribeLocalGatewayVirtualInterfacesRequest(input *DescribeLocalGatewayVirtualInterfacesInput) (req *request.Request, output *DescribeLocalGatewayVirtualInterfacesOutput) {
19851	op := &request.Operation{
19852		Name:       opDescribeLocalGatewayVirtualInterfaces,
19853		HTTPMethod: "POST",
19854		HTTPPath:   "/",
19855		Paginator: &request.Paginator{
19856			InputTokens:     []string{"NextToken"},
19857			OutputTokens:    []string{"NextToken"},
19858			LimitToken:      "MaxResults",
19859			TruncationToken: "",
19860		},
19861	}
19862
19863	if input == nil {
19864		input = &DescribeLocalGatewayVirtualInterfacesInput{}
19865	}
19866
19867	output = &DescribeLocalGatewayVirtualInterfacesOutput{}
19868	req = c.newRequest(op, input, output)
19869	return
19870}
19871
19872// DescribeLocalGatewayVirtualInterfaces API operation for Amazon Elastic Compute Cloud.
19873//
19874// Describes the specified local gateway virtual interfaces.
19875//
19876// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
19877// with awserr.Error's Code and Message methods to get detailed information about
19878// the error.
19879//
19880// See the AWS API reference guide for Amazon Elastic Compute Cloud's
19881// API operation DescribeLocalGatewayVirtualInterfaces for usage and error information.
19882// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayVirtualInterfaces
19883func (c *EC2) DescribeLocalGatewayVirtualInterfaces(input *DescribeLocalGatewayVirtualInterfacesInput) (*DescribeLocalGatewayVirtualInterfacesOutput, error) {
19884	req, out := c.DescribeLocalGatewayVirtualInterfacesRequest(input)
19885	return out, req.Send()
19886}
19887
19888// DescribeLocalGatewayVirtualInterfacesWithContext is the same as DescribeLocalGatewayVirtualInterfaces with the addition of
19889// the ability to pass a context and additional request options.
19890//
19891// See DescribeLocalGatewayVirtualInterfaces for details on how to use this API operation.
19892//
19893// The context must be non-nil and will be used for request cancellation. If
19894// the context is nil a panic will occur. In the future the SDK may create
19895// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19896// for more information on using Contexts.
19897func (c *EC2) DescribeLocalGatewayVirtualInterfacesWithContext(ctx aws.Context, input *DescribeLocalGatewayVirtualInterfacesInput, opts ...request.Option) (*DescribeLocalGatewayVirtualInterfacesOutput, error) {
19898	req, out := c.DescribeLocalGatewayVirtualInterfacesRequest(input)
19899	req.SetContext(ctx)
19900	req.ApplyOptions(opts...)
19901	return out, req.Send()
19902}
19903
19904// DescribeLocalGatewayVirtualInterfacesPages iterates over the pages of a DescribeLocalGatewayVirtualInterfaces operation,
19905// calling the "fn" function with the response data for each page. To stop
19906// iterating, return false from the fn function.
19907//
19908// See DescribeLocalGatewayVirtualInterfaces method for more information on how to use this operation.
19909//
19910// Note: This operation can generate multiple requests to a service.
19911//
19912//    // Example iterating over at most 3 pages of a DescribeLocalGatewayVirtualInterfaces operation.
19913//    pageNum := 0
19914//    err := client.DescribeLocalGatewayVirtualInterfacesPages(params,
19915//        func(page *ec2.DescribeLocalGatewayVirtualInterfacesOutput, lastPage bool) bool {
19916//            pageNum++
19917//            fmt.Println(page)
19918//            return pageNum <= 3
19919//        })
19920//
19921func (c *EC2) DescribeLocalGatewayVirtualInterfacesPages(input *DescribeLocalGatewayVirtualInterfacesInput, fn func(*DescribeLocalGatewayVirtualInterfacesOutput, bool) bool) error {
19922	return c.DescribeLocalGatewayVirtualInterfacesPagesWithContext(aws.BackgroundContext(), input, fn)
19923}
19924
19925// DescribeLocalGatewayVirtualInterfacesPagesWithContext same as DescribeLocalGatewayVirtualInterfacesPages except
19926// it takes a Context and allows setting request options on the pages.
19927//
19928// The context must be non-nil and will be used for request cancellation. If
19929// the context is nil a panic will occur. In the future the SDK may create
19930// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19931// for more information on using Contexts.
19932func (c *EC2) DescribeLocalGatewayVirtualInterfacesPagesWithContext(ctx aws.Context, input *DescribeLocalGatewayVirtualInterfacesInput, fn func(*DescribeLocalGatewayVirtualInterfacesOutput, bool) bool, opts ...request.Option) error {
19933	p := request.Pagination{
19934		NewRequest: func() (*request.Request, error) {
19935			var inCpy *DescribeLocalGatewayVirtualInterfacesInput
19936			if input != nil {
19937				tmp := *input
19938				inCpy = &tmp
19939			}
19940			req, _ := c.DescribeLocalGatewayVirtualInterfacesRequest(inCpy)
19941			req.SetContext(ctx)
19942			req.ApplyOptions(opts...)
19943			return req, nil
19944		},
19945	}
19946
19947	for p.Next() {
19948		if !fn(p.Page().(*DescribeLocalGatewayVirtualInterfacesOutput), !p.HasNextPage()) {
19949			break
19950		}
19951	}
19952
19953	return p.Err()
19954}
19955
19956const opDescribeLocalGateways = "DescribeLocalGateways"
19957
19958// DescribeLocalGatewaysRequest generates a "aws/request.Request" representing the
19959// client's request for the DescribeLocalGateways operation. The "output" return
19960// value will be populated with the request's response once the request completes
19961// successfully.
19962//
19963// Use "Send" method on the returned Request to send the API call to the service.
19964// the "output" return value is not valid until after Send returns without error.
19965//
19966// See DescribeLocalGateways for more information on using the DescribeLocalGateways
19967// API call, and error handling.
19968//
19969// This method is useful when you want to inject custom logic or configuration
19970// into the SDK's request lifecycle. Such as custom headers, or retry logic.
19971//
19972//
19973//    // Example sending a request using the DescribeLocalGatewaysRequest method.
19974//    req, resp := client.DescribeLocalGatewaysRequest(params)
19975//
19976//    err := req.Send()
19977//    if err == nil { // resp is now filled
19978//        fmt.Println(resp)
19979//    }
19980//
19981// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGateways
19982func (c *EC2) DescribeLocalGatewaysRequest(input *DescribeLocalGatewaysInput) (req *request.Request, output *DescribeLocalGatewaysOutput) {
19983	op := &request.Operation{
19984		Name:       opDescribeLocalGateways,
19985		HTTPMethod: "POST",
19986		HTTPPath:   "/",
19987		Paginator: &request.Paginator{
19988			InputTokens:     []string{"NextToken"},
19989			OutputTokens:    []string{"NextToken"},
19990			LimitToken:      "MaxResults",
19991			TruncationToken: "",
19992		},
19993	}
19994
19995	if input == nil {
19996		input = &DescribeLocalGatewaysInput{}
19997	}
19998
19999	output = &DescribeLocalGatewaysOutput{}
20000	req = c.newRequest(op, input, output)
20001	return
20002}
20003
20004// DescribeLocalGateways API operation for Amazon Elastic Compute Cloud.
20005//
20006// Describes one or more local gateways. By default, all local gateways are
20007// described. Alternatively, you can filter the results.
20008//
20009// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
20010// with awserr.Error's Code and Message methods to get detailed information about
20011// the error.
20012//
20013// See the AWS API reference guide for Amazon Elastic Compute Cloud's
20014// API operation DescribeLocalGateways for usage and error information.
20015// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGateways
20016func (c *EC2) DescribeLocalGateways(input *DescribeLocalGatewaysInput) (*DescribeLocalGatewaysOutput, error) {
20017	req, out := c.DescribeLocalGatewaysRequest(input)
20018	return out, req.Send()
20019}
20020
20021// DescribeLocalGatewaysWithContext is the same as DescribeLocalGateways with the addition of
20022// the ability to pass a context and additional request options.
20023//
20024// See DescribeLocalGateways for details on how to use this API operation.
20025//
20026// The context must be non-nil and will be used for request cancellation. If
20027// the context is nil a panic will occur. In the future the SDK may create
20028// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20029// for more information on using Contexts.
20030func (c *EC2) DescribeLocalGatewaysWithContext(ctx aws.Context, input *DescribeLocalGatewaysInput, opts ...request.Option) (*DescribeLocalGatewaysOutput, error) {
20031	req, out := c.DescribeLocalGatewaysRequest(input)
20032	req.SetContext(ctx)
20033	req.ApplyOptions(opts...)
20034	return out, req.Send()
20035}
20036
20037// DescribeLocalGatewaysPages iterates over the pages of a DescribeLocalGateways operation,
20038// calling the "fn" function with the response data for each page. To stop
20039// iterating, return false from the fn function.
20040//
20041// See DescribeLocalGateways method for more information on how to use this operation.
20042//
20043// Note: This operation can generate multiple requests to a service.
20044//
20045//    // Example iterating over at most 3 pages of a DescribeLocalGateways operation.
20046//    pageNum := 0
20047//    err := client.DescribeLocalGatewaysPages(params,
20048//        func(page *ec2.DescribeLocalGatewaysOutput, lastPage bool) bool {
20049//            pageNum++
20050//            fmt.Println(page)
20051//            return pageNum <= 3
20052//        })
20053//
20054func (c *EC2) DescribeLocalGatewaysPages(input *DescribeLocalGatewaysInput, fn func(*DescribeLocalGatewaysOutput, bool) bool) error {
20055	return c.DescribeLocalGatewaysPagesWithContext(aws.BackgroundContext(), input, fn)
20056}
20057
20058// DescribeLocalGatewaysPagesWithContext same as DescribeLocalGatewaysPages except
20059// it takes a Context and allows setting request options on the pages.
20060//
20061// The context must be non-nil and will be used for request cancellation. If
20062// the context is nil a panic will occur. In the future the SDK may create
20063// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20064// for more information on using Contexts.
20065func (c *EC2) DescribeLocalGatewaysPagesWithContext(ctx aws.Context, input *DescribeLocalGatewaysInput, fn func(*DescribeLocalGatewaysOutput, bool) bool, opts ...request.Option) error {
20066	p := request.Pagination{
20067		NewRequest: func() (*request.Request, error) {
20068			var inCpy *DescribeLocalGatewaysInput
20069			if input != nil {
20070				tmp := *input
20071				inCpy = &tmp
20072			}
20073			req, _ := c.DescribeLocalGatewaysRequest(inCpy)
20074			req.SetContext(ctx)
20075			req.ApplyOptions(opts...)
20076			return req, nil
20077		},
20078	}
20079
20080	for p.Next() {
20081		if !fn(p.Page().(*DescribeLocalGatewaysOutput), !p.HasNextPage()) {
20082			break
20083		}
20084	}
20085
20086	return p.Err()
20087}
20088
20089const opDescribeManagedPrefixLists = "DescribeManagedPrefixLists"
20090
20091// DescribeManagedPrefixListsRequest generates a "aws/request.Request" representing the
20092// client's request for the DescribeManagedPrefixLists operation. The "output" return
20093// value will be populated with the request's response once the request completes
20094// successfully.
20095//
20096// Use "Send" method on the returned Request to send the API call to the service.
20097// the "output" return value is not valid until after Send returns without error.
20098//
20099// See DescribeManagedPrefixLists for more information on using the DescribeManagedPrefixLists
20100// API call, and error handling.
20101//
20102// This method is useful when you want to inject custom logic or configuration
20103// into the SDK's request lifecycle. Such as custom headers, or retry logic.
20104//
20105//
20106//    // Example sending a request using the DescribeManagedPrefixListsRequest method.
20107//    req, resp := client.DescribeManagedPrefixListsRequest(params)
20108//
20109//    err := req.Send()
20110//    if err == nil { // resp is now filled
20111//        fmt.Println(resp)
20112//    }
20113//
20114// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeManagedPrefixLists
20115func (c *EC2) DescribeManagedPrefixListsRequest(input *DescribeManagedPrefixListsInput) (req *request.Request, output *DescribeManagedPrefixListsOutput) {
20116	op := &request.Operation{
20117		Name:       opDescribeManagedPrefixLists,
20118		HTTPMethod: "POST",
20119		HTTPPath:   "/",
20120		Paginator: &request.Paginator{
20121			InputTokens:     []string{"NextToken"},
20122			OutputTokens:    []string{"NextToken"},
20123			LimitToken:      "MaxResults",
20124			TruncationToken: "",
20125		},
20126	}
20127
20128	if input == nil {
20129		input = &DescribeManagedPrefixListsInput{}
20130	}
20131
20132	output = &DescribeManagedPrefixListsOutput{}
20133	req = c.newRequest(op, input, output)
20134	return
20135}
20136
20137// DescribeManagedPrefixLists API operation for Amazon Elastic Compute Cloud.
20138//
20139// Describes your managed prefix lists and any AWS-managed prefix lists.
20140//
20141// To view the entries for your prefix list, use GetManagedPrefixListEntries.
20142//
20143// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
20144// with awserr.Error's Code and Message methods to get detailed information about
20145// the error.
20146//
20147// See the AWS API reference guide for Amazon Elastic Compute Cloud's
20148// API operation DescribeManagedPrefixLists for usage and error information.
20149// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeManagedPrefixLists
20150func (c *EC2) DescribeManagedPrefixLists(input *DescribeManagedPrefixListsInput) (*DescribeManagedPrefixListsOutput, error) {
20151	req, out := c.DescribeManagedPrefixListsRequest(input)
20152	return out, req.Send()
20153}
20154
20155// DescribeManagedPrefixListsWithContext is the same as DescribeManagedPrefixLists with the addition of
20156// the ability to pass a context and additional request options.
20157//
20158// See DescribeManagedPrefixLists for details on how to use this API operation.
20159//
20160// The context must be non-nil and will be used for request cancellation. If
20161// the context is nil a panic will occur. In the future the SDK may create
20162// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20163// for more information on using Contexts.
20164func (c *EC2) DescribeManagedPrefixListsWithContext(ctx aws.Context, input *DescribeManagedPrefixListsInput, opts ...request.Option) (*DescribeManagedPrefixListsOutput, error) {
20165	req, out := c.DescribeManagedPrefixListsRequest(input)
20166	req.SetContext(ctx)
20167	req.ApplyOptions(opts...)
20168	return out, req.Send()
20169}
20170
20171// DescribeManagedPrefixListsPages iterates over the pages of a DescribeManagedPrefixLists operation,
20172// calling the "fn" function with the response data for each page. To stop
20173// iterating, return false from the fn function.
20174//
20175// See DescribeManagedPrefixLists method for more information on how to use this operation.
20176//
20177// Note: This operation can generate multiple requests to a service.
20178//
20179//    // Example iterating over at most 3 pages of a DescribeManagedPrefixLists operation.
20180//    pageNum := 0
20181//    err := client.DescribeManagedPrefixListsPages(params,
20182//        func(page *ec2.DescribeManagedPrefixListsOutput, lastPage bool) bool {
20183//            pageNum++
20184//            fmt.Println(page)
20185//            return pageNum <= 3
20186//        })
20187//
20188func (c *EC2) DescribeManagedPrefixListsPages(input *DescribeManagedPrefixListsInput, fn func(*DescribeManagedPrefixListsOutput, bool) bool) error {
20189	return c.DescribeManagedPrefixListsPagesWithContext(aws.BackgroundContext(), input, fn)
20190}
20191
20192// DescribeManagedPrefixListsPagesWithContext same as DescribeManagedPrefixListsPages except
20193// it takes a Context and allows setting request options on the pages.
20194//
20195// The context must be non-nil and will be used for request cancellation. If
20196// the context is nil a panic will occur. In the future the SDK may create
20197// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20198// for more information on using Contexts.
20199func (c *EC2) DescribeManagedPrefixListsPagesWithContext(ctx aws.Context, input *DescribeManagedPrefixListsInput, fn func(*DescribeManagedPrefixListsOutput, bool) bool, opts ...request.Option) error {
20200	p := request.Pagination{
20201		NewRequest: func() (*request.Request, error) {
20202			var inCpy *DescribeManagedPrefixListsInput
20203			if input != nil {
20204				tmp := *input
20205				inCpy = &tmp
20206			}
20207			req, _ := c.DescribeManagedPrefixListsRequest(inCpy)
20208			req.SetContext(ctx)
20209			req.ApplyOptions(opts...)
20210			return req, nil
20211		},
20212	}
20213
20214	for p.Next() {
20215		if !fn(p.Page().(*DescribeManagedPrefixListsOutput), !p.HasNextPage()) {
20216			break
20217		}
20218	}
20219
20220	return p.Err()
20221}
20222
20223const opDescribeMovingAddresses = "DescribeMovingAddresses"
20224
20225// DescribeMovingAddressesRequest generates a "aws/request.Request" representing the
20226// client's request for the DescribeMovingAddresses operation. The "output" return
20227// value will be populated with the request's response once the request completes
20228// successfully.
20229//
20230// Use "Send" method on the returned Request to send the API call to the service.
20231// the "output" return value is not valid until after Send returns without error.
20232//
20233// See DescribeMovingAddresses for more information on using the DescribeMovingAddresses
20234// API call, and error handling.
20235//
20236// This method is useful when you want to inject custom logic or configuration
20237// into the SDK's request lifecycle. Such as custom headers, or retry logic.
20238//
20239//
20240//    // Example sending a request using the DescribeMovingAddressesRequest method.
20241//    req, resp := client.DescribeMovingAddressesRequest(params)
20242//
20243//    err := req.Send()
20244//    if err == nil { // resp is now filled
20245//        fmt.Println(resp)
20246//    }
20247//
20248// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeMovingAddresses
20249func (c *EC2) DescribeMovingAddressesRequest(input *DescribeMovingAddressesInput) (req *request.Request, output *DescribeMovingAddressesOutput) {
20250	op := &request.Operation{
20251		Name:       opDescribeMovingAddresses,
20252		HTTPMethod: "POST",
20253		HTTPPath:   "/",
20254		Paginator: &request.Paginator{
20255			InputTokens:     []string{"NextToken"},
20256			OutputTokens:    []string{"NextToken"},
20257			LimitToken:      "MaxResults",
20258			TruncationToken: "",
20259		},
20260	}
20261
20262	if input == nil {
20263		input = &DescribeMovingAddressesInput{}
20264	}
20265
20266	output = &DescribeMovingAddressesOutput{}
20267	req = c.newRequest(op, input, output)
20268	return
20269}
20270
20271// DescribeMovingAddresses API operation for Amazon Elastic Compute Cloud.
20272//
20273// Describes your Elastic IP addresses that are being moved to the EC2-VPC platform,
20274// or that are being restored to the EC2-Classic platform. This request does
20275// not return information about any other Elastic IP addresses in your account.
20276//
20277// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
20278// with awserr.Error's Code and Message methods to get detailed information about
20279// the error.
20280//
20281// See the AWS API reference guide for Amazon Elastic Compute Cloud's
20282// API operation DescribeMovingAddresses for usage and error information.
20283// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeMovingAddresses
20284func (c *EC2) DescribeMovingAddresses(input *DescribeMovingAddressesInput) (*DescribeMovingAddressesOutput, error) {
20285	req, out := c.DescribeMovingAddressesRequest(input)
20286	return out, req.Send()
20287}
20288
20289// DescribeMovingAddressesWithContext is the same as DescribeMovingAddresses with the addition of
20290// the ability to pass a context and additional request options.
20291//
20292// See DescribeMovingAddresses for details on how to use this API operation.
20293//
20294// The context must be non-nil and will be used for request cancellation. If
20295// the context is nil a panic will occur. In the future the SDK may create
20296// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20297// for more information on using Contexts.
20298func (c *EC2) DescribeMovingAddressesWithContext(ctx aws.Context, input *DescribeMovingAddressesInput, opts ...request.Option) (*DescribeMovingAddressesOutput, error) {
20299	req, out := c.DescribeMovingAddressesRequest(input)
20300	req.SetContext(ctx)
20301	req.ApplyOptions(opts...)
20302	return out, req.Send()
20303}
20304
20305// DescribeMovingAddressesPages iterates over the pages of a DescribeMovingAddresses operation,
20306// calling the "fn" function with the response data for each page. To stop
20307// iterating, return false from the fn function.
20308//
20309// See DescribeMovingAddresses method for more information on how to use this operation.
20310//
20311// Note: This operation can generate multiple requests to a service.
20312//
20313//    // Example iterating over at most 3 pages of a DescribeMovingAddresses operation.
20314//    pageNum := 0
20315//    err := client.DescribeMovingAddressesPages(params,
20316//        func(page *ec2.DescribeMovingAddressesOutput, lastPage bool) bool {
20317//            pageNum++
20318//            fmt.Println(page)
20319//            return pageNum <= 3
20320//        })
20321//
20322func (c *EC2) DescribeMovingAddressesPages(input *DescribeMovingAddressesInput, fn func(*DescribeMovingAddressesOutput, bool) bool) error {
20323	return c.DescribeMovingAddressesPagesWithContext(aws.BackgroundContext(), input, fn)
20324}
20325
20326// DescribeMovingAddressesPagesWithContext same as DescribeMovingAddressesPages except
20327// it takes a Context and allows setting request options on the pages.
20328//
20329// The context must be non-nil and will be used for request cancellation. If
20330// the context is nil a panic will occur. In the future the SDK may create
20331// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20332// for more information on using Contexts.
20333func (c *EC2) DescribeMovingAddressesPagesWithContext(ctx aws.Context, input *DescribeMovingAddressesInput, fn func(*DescribeMovingAddressesOutput, bool) bool, opts ...request.Option) error {
20334	p := request.Pagination{
20335		NewRequest: func() (*request.Request, error) {
20336			var inCpy *DescribeMovingAddressesInput
20337			if input != nil {
20338				tmp := *input
20339				inCpy = &tmp
20340			}
20341			req, _ := c.DescribeMovingAddressesRequest(inCpy)
20342			req.SetContext(ctx)
20343			req.ApplyOptions(opts...)
20344			return req, nil
20345		},
20346	}
20347
20348	for p.Next() {
20349		if !fn(p.Page().(*DescribeMovingAddressesOutput), !p.HasNextPage()) {
20350			break
20351		}
20352	}
20353
20354	return p.Err()
20355}
20356
20357const opDescribeNatGateways = "DescribeNatGateways"
20358
20359// DescribeNatGatewaysRequest generates a "aws/request.Request" representing the
20360// client's request for the DescribeNatGateways operation. The "output" return
20361// value will be populated with the request's response once the request completes
20362// successfully.
20363//
20364// Use "Send" method on the returned Request to send the API call to the service.
20365// the "output" return value is not valid until after Send returns without error.
20366//
20367// See DescribeNatGateways for more information on using the DescribeNatGateways
20368// API call, and error handling.
20369//
20370// This method is useful when you want to inject custom logic or configuration
20371// into the SDK's request lifecycle. Such as custom headers, or retry logic.
20372//
20373//
20374//    // Example sending a request using the DescribeNatGatewaysRequest method.
20375//    req, resp := client.DescribeNatGatewaysRequest(params)
20376//
20377//    err := req.Send()
20378//    if err == nil { // resp is now filled
20379//        fmt.Println(resp)
20380//    }
20381//
20382// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNatGateways
20383func (c *EC2) DescribeNatGatewaysRequest(input *DescribeNatGatewaysInput) (req *request.Request, output *DescribeNatGatewaysOutput) {
20384	op := &request.Operation{
20385		Name:       opDescribeNatGateways,
20386		HTTPMethod: "POST",
20387		HTTPPath:   "/",
20388		Paginator: &request.Paginator{
20389			InputTokens:     []string{"NextToken"},
20390			OutputTokens:    []string{"NextToken"},
20391			LimitToken:      "MaxResults",
20392			TruncationToken: "",
20393		},
20394	}
20395
20396	if input == nil {
20397		input = &DescribeNatGatewaysInput{}
20398	}
20399
20400	output = &DescribeNatGatewaysOutput{}
20401	req = c.newRequest(op, input, output)
20402	return
20403}
20404
20405// DescribeNatGateways API operation for Amazon Elastic Compute Cloud.
20406//
20407// Describes one or more of your NAT gateways.
20408//
20409// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
20410// with awserr.Error's Code and Message methods to get detailed information about
20411// the error.
20412//
20413// See the AWS API reference guide for Amazon Elastic Compute Cloud's
20414// API operation DescribeNatGateways for usage and error information.
20415// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNatGateways
20416func (c *EC2) DescribeNatGateways(input *DescribeNatGatewaysInput) (*DescribeNatGatewaysOutput, error) {
20417	req, out := c.DescribeNatGatewaysRequest(input)
20418	return out, req.Send()
20419}
20420
20421// DescribeNatGatewaysWithContext is the same as DescribeNatGateways with the addition of
20422// the ability to pass a context and additional request options.
20423//
20424// See DescribeNatGateways for details on how to use this API operation.
20425//
20426// The context must be non-nil and will be used for request cancellation. If
20427// the context is nil a panic will occur. In the future the SDK may create
20428// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20429// for more information on using Contexts.
20430func (c *EC2) DescribeNatGatewaysWithContext(ctx aws.Context, input *DescribeNatGatewaysInput, opts ...request.Option) (*DescribeNatGatewaysOutput, error) {
20431	req, out := c.DescribeNatGatewaysRequest(input)
20432	req.SetContext(ctx)
20433	req.ApplyOptions(opts...)
20434	return out, req.Send()
20435}
20436
20437// DescribeNatGatewaysPages iterates over the pages of a DescribeNatGateways operation,
20438// calling the "fn" function with the response data for each page. To stop
20439// iterating, return false from the fn function.
20440//
20441// See DescribeNatGateways method for more information on how to use this operation.
20442//
20443// Note: This operation can generate multiple requests to a service.
20444//
20445//    // Example iterating over at most 3 pages of a DescribeNatGateways operation.
20446//    pageNum := 0
20447//    err := client.DescribeNatGatewaysPages(params,
20448//        func(page *ec2.DescribeNatGatewaysOutput, lastPage bool) bool {
20449//            pageNum++
20450//            fmt.Println(page)
20451//            return pageNum <= 3
20452//        })
20453//
20454func (c *EC2) DescribeNatGatewaysPages(input *DescribeNatGatewaysInput, fn func(*DescribeNatGatewaysOutput, bool) bool) error {
20455	return c.DescribeNatGatewaysPagesWithContext(aws.BackgroundContext(), input, fn)
20456}
20457
20458// DescribeNatGatewaysPagesWithContext same as DescribeNatGatewaysPages except
20459// it takes a Context and allows setting request options on the pages.
20460//
20461// The context must be non-nil and will be used for request cancellation. If
20462// the context is nil a panic will occur. In the future the SDK may create
20463// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20464// for more information on using Contexts.
20465func (c *EC2) DescribeNatGatewaysPagesWithContext(ctx aws.Context, input *DescribeNatGatewaysInput, fn func(*DescribeNatGatewaysOutput, bool) bool, opts ...request.Option) error {
20466	p := request.Pagination{
20467		NewRequest: func() (*request.Request, error) {
20468			var inCpy *DescribeNatGatewaysInput
20469			if input != nil {
20470				tmp := *input
20471				inCpy = &tmp
20472			}
20473			req, _ := c.DescribeNatGatewaysRequest(inCpy)
20474			req.SetContext(ctx)
20475			req.ApplyOptions(opts...)
20476			return req, nil
20477		},
20478	}
20479
20480	for p.Next() {
20481		if !fn(p.Page().(*DescribeNatGatewaysOutput), !p.HasNextPage()) {
20482			break
20483		}
20484	}
20485
20486	return p.Err()
20487}
20488
20489const opDescribeNetworkAcls = "DescribeNetworkAcls"
20490
20491// DescribeNetworkAclsRequest generates a "aws/request.Request" representing the
20492// client's request for the DescribeNetworkAcls operation. The "output" return
20493// value will be populated with the request's response once the request completes
20494// successfully.
20495//
20496// Use "Send" method on the returned Request to send the API call to the service.
20497// the "output" return value is not valid until after Send returns without error.
20498//
20499// See DescribeNetworkAcls for more information on using the DescribeNetworkAcls
20500// API call, and error handling.
20501//
20502// This method is useful when you want to inject custom logic or configuration
20503// into the SDK's request lifecycle. Such as custom headers, or retry logic.
20504//
20505//
20506//    // Example sending a request using the DescribeNetworkAclsRequest method.
20507//    req, resp := client.DescribeNetworkAclsRequest(params)
20508//
20509//    err := req.Send()
20510//    if err == nil { // resp is now filled
20511//        fmt.Println(resp)
20512//    }
20513//
20514// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkAcls
20515func (c *EC2) DescribeNetworkAclsRequest(input *DescribeNetworkAclsInput) (req *request.Request, output *DescribeNetworkAclsOutput) {
20516	op := &request.Operation{
20517		Name:       opDescribeNetworkAcls,
20518		HTTPMethod: "POST",
20519		HTTPPath:   "/",
20520		Paginator: &request.Paginator{
20521			InputTokens:     []string{"NextToken"},
20522			OutputTokens:    []string{"NextToken"},
20523			LimitToken:      "MaxResults",
20524			TruncationToken: "",
20525		},
20526	}
20527
20528	if input == nil {
20529		input = &DescribeNetworkAclsInput{}
20530	}
20531
20532	output = &DescribeNetworkAclsOutput{}
20533	req = c.newRequest(op, input, output)
20534	return
20535}
20536
20537// DescribeNetworkAcls API operation for Amazon Elastic Compute Cloud.
20538//
20539// Describes one or more of your network ACLs.
20540//
20541// For more information, see Network ACLs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ACLs.html)
20542// in the Amazon Virtual Private Cloud User Guide.
20543//
20544// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
20545// with awserr.Error's Code and Message methods to get detailed information about
20546// the error.
20547//
20548// See the AWS API reference guide for Amazon Elastic Compute Cloud's
20549// API operation DescribeNetworkAcls for usage and error information.
20550// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkAcls
20551func (c *EC2) DescribeNetworkAcls(input *DescribeNetworkAclsInput) (*DescribeNetworkAclsOutput, error) {
20552	req, out := c.DescribeNetworkAclsRequest(input)
20553	return out, req.Send()
20554}
20555
20556// DescribeNetworkAclsWithContext is the same as DescribeNetworkAcls with the addition of
20557// the ability to pass a context and additional request options.
20558//
20559// See DescribeNetworkAcls for details on how to use this API operation.
20560//
20561// The context must be non-nil and will be used for request cancellation. If
20562// the context is nil a panic will occur. In the future the SDK may create
20563// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20564// for more information on using Contexts.
20565func (c *EC2) DescribeNetworkAclsWithContext(ctx aws.Context, input *DescribeNetworkAclsInput, opts ...request.Option) (*DescribeNetworkAclsOutput, error) {
20566	req, out := c.DescribeNetworkAclsRequest(input)
20567	req.SetContext(ctx)
20568	req.ApplyOptions(opts...)
20569	return out, req.Send()
20570}
20571
20572// DescribeNetworkAclsPages iterates over the pages of a DescribeNetworkAcls operation,
20573// calling the "fn" function with the response data for each page. To stop
20574// iterating, return false from the fn function.
20575//
20576// See DescribeNetworkAcls method for more information on how to use this operation.
20577//
20578// Note: This operation can generate multiple requests to a service.
20579//
20580//    // Example iterating over at most 3 pages of a DescribeNetworkAcls operation.
20581//    pageNum := 0
20582//    err := client.DescribeNetworkAclsPages(params,
20583//        func(page *ec2.DescribeNetworkAclsOutput, lastPage bool) bool {
20584//            pageNum++
20585//            fmt.Println(page)
20586//            return pageNum <= 3
20587//        })
20588//
20589func (c *EC2) DescribeNetworkAclsPages(input *DescribeNetworkAclsInput, fn func(*DescribeNetworkAclsOutput, bool) bool) error {
20590	return c.DescribeNetworkAclsPagesWithContext(aws.BackgroundContext(), input, fn)
20591}
20592
20593// DescribeNetworkAclsPagesWithContext same as DescribeNetworkAclsPages except
20594// it takes a Context and allows setting request options on the pages.
20595//
20596// The context must be non-nil and will be used for request cancellation. If
20597// the context is nil a panic will occur. In the future the SDK may create
20598// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20599// for more information on using Contexts.
20600func (c *EC2) DescribeNetworkAclsPagesWithContext(ctx aws.Context, input *DescribeNetworkAclsInput, fn func(*DescribeNetworkAclsOutput, bool) bool, opts ...request.Option) error {
20601	p := request.Pagination{
20602		NewRequest: func() (*request.Request, error) {
20603			var inCpy *DescribeNetworkAclsInput
20604			if input != nil {
20605				tmp := *input
20606				inCpy = &tmp
20607			}
20608			req, _ := c.DescribeNetworkAclsRequest(inCpy)
20609			req.SetContext(ctx)
20610			req.ApplyOptions(opts...)
20611			return req, nil
20612		},
20613	}
20614
20615	for p.Next() {
20616		if !fn(p.Page().(*DescribeNetworkAclsOutput), !p.HasNextPage()) {
20617			break
20618		}
20619	}
20620
20621	return p.Err()
20622}
20623
20624const opDescribeNetworkInsightsAnalyses = "DescribeNetworkInsightsAnalyses"
20625
20626// DescribeNetworkInsightsAnalysesRequest generates a "aws/request.Request" representing the
20627// client's request for the DescribeNetworkInsightsAnalyses operation. The "output" return
20628// value will be populated with the request's response once the request completes
20629// successfully.
20630//
20631// Use "Send" method on the returned Request to send the API call to the service.
20632// the "output" return value is not valid until after Send returns without error.
20633//
20634// See DescribeNetworkInsightsAnalyses for more information on using the DescribeNetworkInsightsAnalyses
20635// API call, and error handling.
20636//
20637// This method is useful when you want to inject custom logic or configuration
20638// into the SDK's request lifecycle. Such as custom headers, or retry logic.
20639//
20640//
20641//    // Example sending a request using the DescribeNetworkInsightsAnalysesRequest method.
20642//    req, resp := client.DescribeNetworkInsightsAnalysesRequest(params)
20643//
20644//    err := req.Send()
20645//    if err == nil { // resp is now filled
20646//        fmt.Println(resp)
20647//    }
20648//
20649// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInsightsAnalyses
20650func (c *EC2) DescribeNetworkInsightsAnalysesRequest(input *DescribeNetworkInsightsAnalysesInput) (req *request.Request, output *DescribeNetworkInsightsAnalysesOutput) {
20651	op := &request.Operation{
20652		Name:       opDescribeNetworkInsightsAnalyses,
20653		HTTPMethod: "POST",
20654		HTTPPath:   "/",
20655		Paginator: &request.Paginator{
20656			InputTokens:     []string{"NextToken"},
20657			OutputTokens:    []string{"NextToken"},
20658			LimitToken:      "MaxResults",
20659			TruncationToken: "",
20660		},
20661	}
20662
20663	if input == nil {
20664		input = &DescribeNetworkInsightsAnalysesInput{}
20665	}
20666
20667	output = &DescribeNetworkInsightsAnalysesOutput{}
20668	req = c.newRequest(op, input, output)
20669	return
20670}
20671
20672// DescribeNetworkInsightsAnalyses API operation for Amazon Elastic Compute Cloud.
20673//
20674// Describes one or more of your network insights analyses.
20675//
20676// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
20677// with awserr.Error's Code and Message methods to get detailed information about
20678// the error.
20679//
20680// See the AWS API reference guide for Amazon Elastic Compute Cloud's
20681// API operation DescribeNetworkInsightsAnalyses for usage and error information.
20682// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInsightsAnalyses
20683func (c *EC2) DescribeNetworkInsightsAnalyses(input *DescribeNetworkInsightsAnalysesInput) (*DescribeNetworkInsightsAnalysesOutput, error) {
20684	req, out := c.DescribeNetworkInsightsAnalysesRequest(input)
20685	return out, req.Send()
20686}
20687
20688// DescribeNetworkInsightsAnalysesWithContext is the same as DescribeNetworkInsightsAnalyses with the addition of
20689// the ability to pass a context and additional request options.
20690//
20691// See DescribeNetworkInsightsAnalyses for details on how to use this API operation.
20692//
20693// The context must be non-nil and will be used for request cancellation. If
20694// the context is nil a panic will occur. In the future the SDK may create
20695// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20696// for more information on using Contexts.
20697func (c *EC2) DescribeNetworkInsightsAnalysesWithContext(ctx aws.Context, input *DescribeNetworkInsightsAnalysesInput, opts ...request.Option) (*DescribeNetworkInsightsAnalysesOutput, error) {
20698	req, out := c.DescribeNetworkInsightsAnalysesRequest(input)
20699	req.SetContext(ctx)
20700	req.ApplyOptions(opts...)
20701	return out, req.Send()
20702}
20703
20704// DescribeNetworkInsightsAnalysesPages iterates over the pages of a DescribeNetworkInsightsAnalyses operation,
20705// calling the "fn" function with the response data for each page. To stop
20706// iterating, return false from the fn function.
20707//
20708// See DescribeNetworkInsightsAnalyses method for more information on how to use this operation.
20709//
20710// Note: This operation can generate multiple requests to a service.
20711//
20712//    // Example iterating over at most 3 pages of a DescribeNetworkInsightsAnalyses operation.
20713//    pageNum := 0
20714//    err := client.DescribeNetworkInsightsAnalysesPages(params,
20715//        func(page *ec2.DescribeNetworkInsightsAnalysesOutput, lastPage bool) bool {
20716//            pageNum++
20717//            fmt.Println(page)
20718//            return pageNum <= 3
20719//        })
20720//
20721func (c *EC2) DescribeNetworkInsightsAnalysesPages(input *DescribeNetworkInsightsAnalysesInput, fn func(*DescribeNetworkInsightsAnalysesOutput, bool) bool) error {
20722	return c.DescribeNetworkInsightsAnalysesPagesWithContext(aws.BackgroundContext(), input, fn)
20723}
20724
20725// DescribeNetworkInsightsAnalysesPagesWithContext same as DescribeNetworkInsightsAnalysesPages except
20726// it takes a Context and allows setting request options on the pages.
20727//
20728// The context must be non-nil and will be used for request cancellation. If
20729// the context is nil a panic will occur. In the future the SDK may create
20730// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20731// for more information on using Contexts.
20732func (c *EC2) DescribeNetworkInsightsAnalysesPagesWithContext(ctx aws.Context, input *DescribeNetworkInsightsAnalysesInput, fn func(*DescribeNetworkInsightsAnalysesOutput, bool) bool, opts ...request.Option) error {
20733	p := request.Pagination{
20734		NewRequest: func() (*request.Request, error) {
20735			var inCpy *DescribeNetworkInsightsAnalysesInput
20736			if input != nil {
20737				tmp := *input
20738				inCpy = &tmp
20739			}
20740			req, _ := c.DescribeNetworkInsightsAnalysesRequest(inCpy)
20741			req.SetContext(ctx)
20742			req.ApplyOptions(opts...)
20743			return req, nil
20744		},
20745	}
20746
20747	for p.Next() {
20748		if !fn(p.Page().(*DescribeNetworkInsightsAnalysesOutput), !p.HasNextPage()) {
20749			break
20750		}
20751	}
20752
20753	return p.Err()
20754}
20755
20756const opDescribeNetworkInsightsPaths = "DescribeNetworkInsightsPaths"
20757
20758// DescribeNetworkInsightsPathsRequest generates a "aws/request.Request" representing the
20759// client's request for the DescribeNetworkInsightsPaths operation. The "output" return
20760// value will be populated with the request's response once the request completes
20761// successfully.
20762//
20763// Use "Send" method on the returned Request to send the API call to the service.
20764// the "output" return value is not valid until after Send returns without error.
20765//
20766// See DescribeNetworkInsightsPaths for more information on using the DescribeNetworkInsightsPaths
20767// API call, and error handling.
20768//
20769// This method is useful when you want to inject custom logic or configuration
20770// into the SDK's request lifecycle. Such as custom headers, or retry logic.
20771//
20772//
20773//    // Example sending a request using the DescribeNetworkInsightsPathsRequest method.
20774//    req, resp := client.DescribeNetworkInsightsPathsRequest(params)
20775//
20776//    err := req.Send()
20777//    if err == nil { // resp is now filled
20778//        fmt.Println(resp)
20779//    }
20780//
20781// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInsightsPaths
20782func (c *EC2) DescribeNetworkInsightsPathsRequest(input *DescribeNetworkInsightsPathsInput) (req *request.Request, output *DescribeNetworkInsightsPathsOutput) {
20783	op := &request.Operation{
20784		Name:       opDescribeNetworkInsightsPaths,
20785		HTTPMethod: "POST",
20786		HTTPPath:   "/",
20787		Paginator: &request.Paginator{
20788			InputTokens:     []string{"NextToken"},
20789			OutputTokens:    []string{"NextToken"},
20790			LimitToken:      "MaxResults",
20791			TruncationToken: "",
20792		},
20793	}
20794
20795	if input == nil {
20796		input = &DescribeNetworkInsightsPathsInput{}
20797	}
20798
20799	output = &DescribeNetworkInsightsPathsOutput{}
20800	req = c.newRequest(op, input, output)
20801	return
20802}
20803
20804// DescribeNetworkInsightsPaths API operation for Amazon Elastic Compute Cloud.
20805//
20806// Describes one or more of your paths.
20807//
20808// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
20809// with awserr.Error's Code and Message methods to get detailed information about
20810// the error.
20811//
20812// See the AWS API reference guide for Amazon Elastic Compute Cloud's
20813// API operation DescribeNetworkInsightsPaths for usage and error information.
20814// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInsightsPaths
20815func (c *EC2) DescribeNetworkInsightsPaths(input *DescribeNetworkInsightsPathsInput) (*DescribeNetworkInsightsPathsOutput, error) {
20816	req, out := c.DescribeNetworkInsightsPathsRequest(input)
20817	return out, req.Send()
20818}
20819
20820// DescribeNetworkInsightsPathsWithContext is the same as DescribeNetworkInsightsPaths with the addition of
20821// the ability to pass a context and additional request options.
20822//
20823// See DescribeNetworkInsightsPaths for details on how to use this API operation.
20824//
20825// The context must be non-nil and will be used for request cancellation. If
20826// the context is nil a panic will occur. In the future the SDK may create
20827// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20828// for more information on using Contexts.
20829func (c *EC2) DescribeNetworkInsightsPathsWithContext(ctx aws.Context, input *DescribeNetworkInsightsPathsInput, opts ...request.Option) (*DescribeNetworkInsightsPathsOutput, error) {
20830	req, out := c.DescribeNetworkInsightsPathsRequest(input)
20831	req.SetContext(ctx)
20832	req.ApplyOptions(opts...)
20833	return out, req.Send()
20834}
20835
20836// DescribeNetworkInsightsPathsPages iterates over the pages of a DescribeNetworkInsightsPaths operation,
20837// calling the "fn" function with the response data for each page. To stop
20838// iterating, return false from the fn function.
20839//
20840// See DescribeNetworkInsightsPaths method for more information on how to use this operation.
20841//
20842// Note: This operation can generate multiple requests to a service.
20843//
20844//    // Example iterating over at most 3 pages of a DescribeNetworkInsightsPaths operation.
20845//    pageNum := 0
20846//    err := client.DescribeNetworkInsightsPathsPages(params,
20847//        func(page *ec2.DescribeNetworkInsightsPathsOutput, lastPage bool) bool {
20848//            pageNum++
20849//            fmt.Println(page)
20850//            return pageNum <= 3
20851//        })
20852//
20853func (c *EC2) DescribeNetworkInsightsPathsPages(input *DescribeNetworkInsightsPathsInput, fn func(*DescribeNetworkInsightsPathsOutput, bool) bool) error {
20854	return c.DescribeNetworkInsightsPathsPagesWithContext(aws.BackgroundContext(), input, fn)
20855}
20856
20857// DescribeNetworkInsightsPathsPagesWithContext same as DescribeNetworkInsightsPathsPages except
20858// it takes a Context and allows setting request options on the pages.
20859//
20860// The context must be non-nil and will be used for request cancellation. If
20861// the context is nil a panic will occur. In the future the SDK may create
20862// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20863// for more information on using Contexts.
20864func (c *EC2) DescribeNetworkInsightsPathsPagesWithContext(ctx aws.Context, input *DescribeNetworkInsightsPathsInput, fn func(*DescribeNetworkInsightsPathsOutput, bool) bool, opts ...request.Option) error {
20865	p := request.Pagination{
20866		NewRequest: func() (*request.Request, error) {
20867			var inCpy *DescribeNetworkInsightsPathsInput
20868			if input != nil {
20869				tmp := *input
20870				inCpy = &tmp
20871			}
20872			req, _ := c.DescribeNetworkInsightsPathsRequest(inCpy)
20873			req.SetContext(ctx)
20874			req.ApplyOptions(opts...)
20875			return req, nil
20876		},
20877	}
20878
20879	for p.Next() {
20880		if !fn(p.Page().(*DescribeNetworkInsightsPathsOutput), !p.HasNextPage()) {
20881			break
20882		}
20883	}
20884
20885	return p.Err()
20886}
20887
20888const opDescribeNetworkInterfaceAttribute = "DescribeNetworkInterfaceAttribute"
20889
20890// DescribeNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the
20891// client's request for the DescribeNetworkInterfaceAttribute operation. The "output" return
20892// value will be populated with the request's response once the request completes
20893// successfully.
20894//
20895// Use "Send" method on the returned Request to send the API call to the service.
20896// the "output" return value is not valid until after Send returns without error.
20897//
20898// See DescribeNetworkInterfaceAttribute for more information on using the DescribeNetworkInterfaceAttribute
20899// API call, and error handling.
20900//
20901// This method is useful when you want to inject custom logic or configuration
20902// into the SDK's request lifecycle. Such as custom headers, or retry logic.
20903//
20904//
20905//    // Example sending a request using the DescribeNetworkInterfaceAttributeRequest method.
20906//    req, resp := client.DescribeNetworkInterfaceAttributeRequest(params)
20907//
20908//    err := req.Send()
20909//    if err == nil { // resp is now filled
20910//        fmt.Println(resp)
20911//    }
20912//
20913// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaceAttribute
20914func (c *EC2) DescribeNetworkInterfaceAttributeRequest(input *DescribeNetworkInterfaceAttributeInput) (req *request.Request, output *DescribeNetworkInterfaceAttributeOutput) {
20915	op := &request.Operation{
20916		Name:       opDescribeNetworkInterfaceAttribute,
20917		HTTPMethod: "POST",
20918		HTTPPath:   "/",
20919	}
20920
20921	if input == nil {
20922		input = &DescribeNetworkInterfaceAttributeInput{}
20923	}
20924
20925	output = &DescribeNetworkInterfaceAttributeOutput{}
20926	req = c.newRequest(op, input, output)
20927	return
20928}
20929
20930// DescribeNetworkInterfaceAttribute API operation for Amazon Elastic Compute Cloud.
20931//
20932// Describes a network interface attribute. You can specify only one attribute
20933// at a time.
20934//
20935// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
20936// with awserr.Error's Code and Message methods to get detailed information about
20937// the error.
20938//
20939// See the AWS API reference guide for Amazon Elastic Compute Cloud's
20940// API operation DescribeNetworkInterfaceAttribute for usage and error information.
20941// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaceAttribute
20942func (c *EC2) DescribeNetworkInterfaceAttribute(input *DescribeNetworkInterfaceAttributeInput) (*DescribeNetworkInterfaceAttributeOutput, error) {
20943	req, out := c.DescribeNetworkInterfaceAttributeRequest(input)
20944	return out, req.Send()
20945}
20946
20947// DescribeNetworkInterfaceAttributeWithContext is the same as DescribeNetworkInterfaceAttribute with the addition of
20948// the ability to pass a context and additional request options.
20949//
20950// See DescribeNetworkInterfaceAttribute for details on how to use this API operation.
20951//
20952// The context must be non-nil and will be used for request cancellation. If
20953// the context is nil a panic will occur. In the future the SDK may create
20954// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20955// for more information on using Contexts.
20956func (c *EC2) DescribeNetworkInterfaceAttributeWithContext(ctx aws.Context, input *DescribeNetworkInterfaceAttributeInput, opts ...request.Option) (*DescribeNetworkInterfaceAttributeOutput, error) {
20957	req, out := c.DescribeNetworkInterfaceAttributeRequest(input)
20958	req.SetContext(ctx)
20959	req.ApplyOptions(opts...)
20960	return out, req.Send()
20961}
20962
20963const opDescribeNetworkInterfacePermissions = "DescribeNetworkInterfacePermissions"
20964
20965// DescribeNetworkInterfacePermissionsRequest generates a "aws/request.Request" representing the
20966// client's request for the DescribeNetworkInterfacePermissions operation. The "output" return
20967// value will be populated with the request's response once the request completes
20968// successfully.
20969//
20970// Use "Send" method on the returned Request to send the API call to the service.
20971// the "output" return value is not valid until after Send returns without error.
20972//
20973// See DescribeNetworkInterfacePermissions for more information on using the DescribeNetworkInterfacePermissions
20974// API call, and error handling.
20975//
20976// This method is useful when you want to inject custom logic or configuration
20977// into the SDK's request lifecycle. Such as custom headers, or retry logic.
20978//
20979//
20980//    // Example sending a request using the DescribeNetworkInterfacePermissionsRequest method.
20981//    req, resp := client.DescribeNetworkInterfacePermissionsRequest(params)
20982//
20983//    err := req.Send()
20984//    if err == nil { // resp is now filled
20985//        fmt.Println(resp)
20986//    }
20987//
20988// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfacePermissions
20989func (c *EC2) DescribeNetworkInterfacePermissionsRequest(input *DescribeNetworkInterfacePermissionsInput) (req *request.Request, output *DescribeNetworkInterfacePermissionsOutput) {
20990	op := &request.Operation{
20991		Name:       opDescribeNetworkInterfacePermissions,
20992		HTTPMethod: "POST",
20993		HTTPPath:   "/",
20994		Paginator: &request.Paginator{
20995			InputTokens:     []string{"NextToken"},
20996			OutputTokens:    []string{"NextToken"},
20997			LimitToken:      "MaxResults",
20998			TruncationToken: "",
20999		},
21000	}
21001
21002	if input == nil {
21003		input = &DescribeNetworkInterfacePermissionsInput{}
21004	}
21005
21006	output = &DescribeNetworkInterfacePermissionsOutput{}
21007	req = c.newRequest(op, input, output)
21008	return
21009}
21010
21011// DescribeNetworkInterfacePermissions API operation for Amazon Elastic Compute Cloud.
21012//
21013// Describes the permissions for your network interfaces.
21014//
21015// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
21016// with awserr.Error's Code and Message methods to get detailed information about
21017// the error.
21018//
21019// See the AWS API reference guide for Amazon Elastic Compute Cloud's
21020// API operation DescribeNetworkInterfacePermissions for usage and error information.
21021// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfacePermissions
21022func (c *EC2) DescribeNetworkInterfacePermissions(input *DescribeNetworkInterfacePermissionsInput) (*DescribeNetworkInterfacePermissionsOutput, error) {
21023	req, out := c.DescribeNetworkInterfacePermissionsRequest(input)
21024	return out, req.Send()
21025}
21026
21027// DescribeNetworkInterfacePermissionsWithContext is the same as DescribeNetworkInterfacePermissions with the addition of
21028// the ability to pass a context and additional request options.
21029//
21030// See DescribeNetworkInterfacePermissions for details on how to use this API operation.
21031//
21032// The context must be non-nil and will be used for request cancellation. If
21033// the context is nil a panic will occur. In the future the SDK may create
21034// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21035// for more information on using Contexts.
21036func (c *EC2) DescribeNetworkInterfacePermissionsWithContext(ctx aws.Context, input *DescribeNetworkInterfacePermissionsInput, opts ...request.Option) (*DescribeNetworkInterfacePermissionsOutput, error) {
21037	req, out := c.DescribeNetworkInterfacePermissionsRequest(input)
21038	req.SetContext(ctx)
21039	req.ApplyOptions(opts...)
21040	return out, req.Send()
21041}
21042
21043// DescribeNetworkInterfacePermissionsPages iterates over the pages of a DescribeNetworkInterfacePermissions operation,
21044// calling the "fn" function with the response data for each page. To stop
21045// iterating, return false from the fn function.
21046//
21047// See DescribeNetworkInterfacePermissions method for more information on how to use this operation.
21048//
21049// Note: This operation can generate multiple requests to a service.
21050//
21051//    // Example iterating over at most 3 pages of a DescribeNetworkInterfacePermissions operation.
21052//    pageNum := 0
21053//    err := client.DescribeNetworkInterfacePermissionsPages(params,
21054//        func(page *ec2.DescribeNetworkInterfacePermissionsOutput, lastPage bool) bool {
21055//            pageNum++
21056//            fmt.Println(page)
21057//            return pageNum <= 3
21058//        })
21059//
21060func (c *EC2) DescribeNetworkInterfacePermissionsPages(input *DescribeNetworkInterfacePermissionsInput, fn func(*DescribeNetworkInterfacePermissionsOutput, bool) bool) error {
21061	return c.DescribeNetworkInterfacePermissionsPagesWithContext(aws.BackgroundContext(), input, fn)
21062}
21063
21064// DescribeNetworkInterfacePermissionsPagesWithContext same as DescribeNetworkInterfacePermissionsPages except
21065// it takes a Context and allows setting request options on the pages.
21066//
21067// The context must be non-nil and will be used for request cancellation. If
21068// the context is nil a panic will occur. In the future the SDK may create
21069// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21070// for more information on using Contexts.
21071func (c *EC2) DescribeNetworkInterfacePermissionsPagesWithContext(ctx aws.Context, input *DescribeNetworkInterfacePermissionsInput, fn func(*DescribeNetworkInterfacePermissionsOutput, bool) bool, opts ...request.Option) error {
21072	p := request.Pagination{
21073		NewRequest: func() (*request.Request, error) {
21074			var inCpy *DescribeNetworkInterfacePermissionsInput
21075			if input != nil {
21076				tmp := *input
21077				inCpy = &tmp
21078			}
21079			req, _ := c.DescribeNetworkInterfacePermissionsRequest(inCpy)
21080			req.SetContext(ctx)
21081			req.ApplyOptions(opts...)
21082			return req, nil
21083		},
21084	}
21085
21086	for p.Next() {
21087		if !fn(p.Page().(*DescribeNetworkInterfacePermissionsOutput), !p.HasNextPage()) {
21088			break
21089		}
21090	}
21091
21092	return p.Err()
21093}
21094
21095const opDescribeNetworkInterfaces = "DescribeNetworkInterfaces"
21096
21097// DescribeNetworkInterfacesRequest generates a "aws/request.Request" representing the
21098// client's request for the DescribeNetworkInterfaces operation. The "output" return
21099// value will be populated with the request's response once the request completes
21100// successfully.
21101//
21102// Use "Send" method on the returned Request to send the API call to the service.
21103// the "output" return value is not valid until after Send returns without error.
21104//
21105// See DescribeNetworkInterfaces for more information on using the DescribeNetworkInterfaces
21106// API call, and error handling.
21107//
21108// This method is useful when you want to inject custom logic or configuration
21109// into the SDK's request lifecycle. Such as custom headers, or retry logic.
21110//
21111//
21112//    // Example sending a request using the DescribeNetworkInterfacesRequest method.
21113//    req, resp := client.DescribeNetworkInterfacesRequest(params)
21114//
21115//    err := req.Send()
21116//    if err == nil { // resp is now filled
21117//        fmt.Println(resp)
21118//    }
21119//
21120// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaces
21121func (c *EC2) DescribeNetworkInterfacesRequest(input *DescribeNetworkInterfacesInput) (req *request.Request, output *DescribeNetworkInterfacesOutput) {
21122	op := &request.Operation{
21123		Name:       opDescribeNetworkInterfaces,
21124		HTTPMethod: "POST",
21125		HTTPPath:   "/",
21126		Paginator: &request.Paginator{
21127			InputTokens:     []string{"NextToken"},
21128			OutputTokens:    []string{"NextToken"},
21129			LimitToken:      "MaxResults",
21130			TruncationToken: "",
21131		},
21132	}
21133
21134	if input == nil {
21135		input = &DescribeNetworkInterfacesInput{}
21136	}
21137
21138	output = &DescribeNetworkInterfacesOutput{}
21139	req = c.newRequest(op, input, output)
21140	return
21141}
21142
21143// DescribeNetworkInterfaces API operation for Amazon Elastic Compute Cloud.
21144//
21145// Describes one or more of your network interfaces.
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 DescribeNetworkInterfaces for usage and error information.
21153// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaces
21154func (c *EC2) DescribeNetworkInterfaces(input *DescribeNetworkInterfacesInput) (*DescribeNetworkInterfacesOutput, error) {
21155	req, out := c.DescribeNetworkInterfacesRequest(input)
21156	return out, req.Send()
21157}
21158
21159// DescribeNetworkInterfacesWithContext is the same as DescribeNetworkInterfaces with the addition of
21160// the ability to pass a context and additional request options.
21161//
21162// See DescribeNetworkInterfaces 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) DescribeNetworkInterfacesWithContext(ctx aws.Context, input *DescribeNetworkInterfacesInput, opts ...request.Option) (*DescribeNetworkInterfacesOutput, error) {
21169	req, out := c.DescribeNetworkInterfacesRequest(input)
21170	req.SetContext(ctx)
21171	req.ApplyOptions(opts...)
21172	return out, req.Send()
21173}
21174
21175// DescribeNetworkInterfacesPages iterates over the pages of a DescribeNetworkInterfaces operation,
21176// calling the "fn" function with the response data for each page. To stop
21177// iterating, return false from the fn function.
21178//
21179// See DescribeNetworkInterfaces method for more information on how to use this operation.
21180//
21181// Note: This operation can generate multiple requests to a service.
21182//
21183//    // Example iterating over at most 3 pages of a DescribeNetworkInterfaces operation.
21184//    pageNum := 0
21185//    err := client.DescribeNetworkInterfacesPages(params,
21186//        func(page *ec2.DescribeNetworkInterfacesOutput, lastPage bool) bool {
21187//            pageNum++
21188//            fmt.Println(page)
21189//            return pageNum <= 3
21190//        })
21191//
21192func (c *EC2) DescribeNetworkInterfacesPages(input *DescribeNetworkInterfacesInput, fn func(*DescribeNetworkInterfacesOutput, bool) bool) error {
21193	return c.DescribeNetworkInterfacesPagesWithContext(aws.BackgroundContext(), input, fn)
21194}
21195
21196// DescribeNetworkInterfacesPagesWithContext same as DescribeNetworkInterfacesPages except
21197// it takes a Context and allows setting request options on the pages.
21198//
21199// The context must be non-nil and will be used for request cancellation. If
21200// the context is nil a panic will occur. In the future the SDK may create
21201// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21202// for more information on using Contexts.
21203func (c *EC2) DescribeNetworkInterfacesPagesWithContext(ctx aws.Context, input *DescribeNetworkInterfacesInput, fn func(*DescribeNetworkInterfacesOutput, bool) bool, opts ...request.Option) error {
21204	p := request.Pagination{
21205		NewRequest: func() (*request.Request, error) {
21206			var inCpy *DescribeNetworkInterfacesInput
21207			if input != nil {
21208				tmp := *input
21209				inCpy = &tmp
21210			}
21211			req, _ := c.DescribeNetworkInterfacesRequest(inCpy)
21212			req.SetContext(ctx)
21213			req.ApplyOptions(opts...)
21214			return req, nil
21215		},
21216	}
21217
21218	for p.Next() {
21219		if !fn(p.Page().(*DescribeNetworkInterfacesOutput), !p.HasNextPage()) {
21220			break
21221		}
21222	}
21223
21224	return p.Err()
21225}
21226
21227const opDescribePlacementGroups = "DescribePlacementGroups"
21228
21229// DescribePlacementGroupsRequest generates a "aws/request.Request" representing the
21230// client's request for the DescribePlacementGroups operation. The "output" return
21231// value will be populated with the request's response once the request completes
21232// successfully.
21233//
21234// Use "Send" method on the returned Request to send the API call to the service.
21235// the "output" return value is not valid until after Send returns without error.
21236//
21237// See DescribePlacementGroups for more information on using the DescribePlacementGroups
21238// API call, and error handling.
21239//
21240// This method is useful when you want to inject custom logic or configuration
21241// into the SDK's request lifecycle. Such as custom headers, or retry logic.
21242//
21243//
21244//    // Example sending a request using the DescribePlacementGroupsRequest method.
21245//    req, resp := client.DescribePlacementGroupsRequest(params)
21246//
21247//    err := req.Send()
21248//    if err == nil { // resp is now filled
21249//        fmt.Println(resp)
21250//    }
21251//
21252// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePlacementGroups
21253func (c *EC2) DescribePlacementGroupsRequest(input *DescribePlacementGroupsInput) (req *request.Request, output *DescribePlacementGroupsOutput) {
21254	op := &request.Operation{
21255		Name:       opDescribePlacementGroups,
21256		HTTPMethod: "POST",
21257		HTTPPath:   "/",
21258	}
21259
21260	if input == nil {
21261		input = &DescribePlacementGroupsInput{}
21262	}
21263
21264	output = &DescribePlacementGroupsOutput{}
21265	req = c.newRequest(op, input, output)
21266	return
21267}
21268
21269// DescribePlacementGroups API operation for Amazon Elastic Compute Cloud.
21270//
21271// Describes the specified placement groups or all of your placement groups.
21272// For more information, see Placement groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html)
21273// in the Amazon EC2 User Guide.
21274//
21275// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
21276// with awserr.Error's Code and Message methods to get detailed information about
21277// the error.
21278//
21279// See the AWS API reference guide for Amazon Elastic Compute Cloud's
21280// API operation DescribePlacementGroups for usage and error information.
21281// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePlacementGroups
21282func (c *EC2) DescribePlacementGroups(input *DescribePlacementGroupsInput) (*DescribePlacementGroupsOutput, error) {
21283	req, out := c.DescribePlacementGroupsRequest(input)
21284	return out, req.Send()
21285}
21286
21287// DescribePlacementGroupsWithContext is the same as DescribePlacementGroups with the addition of
21288// the ability to pass a context and additional request options.
21289//
21290// See DescribePlacementGroups for details on how to use this API operation.
21291//
21292// The context must be non-nil and will be used for request cancellation. If
21293// the context is nil a panic will occur. In the future the SDK may create
21294// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21295// for more information on using Contexts.
21296func (c *EC2) DescribePlacementGroupsWithContext(ctx aws.Context, input *DescribePlacementGroupsInput, opts ...request.Option) (*DescribePlacementGroupsOutput, error) {
21297	req, out := c.DescribePlacementGroupsRequest(input)
21298	req.SetContext(ctx)
21299	req.ApplyOptions(opts...)
21300	return out, req.Send()
21301}
21302
21303const opDescribePrefixLists = "DescribePrefixLists"
21304
21305// DescribePrefixListsRequest generates a "aws/request.Request" representing the
21306// client's request for the DescribePrefixLists operation. The "output" return
21307// value will be populated with the request's response once the request completes
21308// successfully.
21309//
21310// Use "Send" method on the returned Request to send the API call to the service.
21311// the "output" return value is not valid until after Send returns without error.
21312//
21313// See DescribePrefixLists for more information on using the DescribePrefixLists
21314// API call, and error handling.
21315//
21316// This method is useful when you want to inject custom logic or configuration
21317// into the SDK's request lifecycle. Such as custom headers, or retry logic.
21318//
21319//
21320//    // Example sending a request using the DescribePrefixListsRequest method.
21321//    req, resp := client.DescribePrefixListsRequest(params)
21322//
21323//    err := req.Send()
21324//    if err == nil { // resp is now filled
21325//        fmt.Println(resp)
21326//    }
21327//
21328// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrefixLists
21329func (c *EC2) DescribePrefixListsRequest(input *DescribePrefixListsInput) (req *request.Request, output *DescribePrefixListsOutput) {
21330	op := &request.Operation{
21331		Name:       opDescribePrefixLists,
21332		HTTPMethod: "POST",
21333		HTTPPath:   "/",
21334		Paginator: &request.Paginator{
21335			InputTokens:     []string{"NextToken"},
21336			OutputTokens:    []string{"NextToken"},
21337			LimitToken:      "MaxResults",
21338			TruncationToken: "",
21339		},
21340	}
21341
21342	if input == nil {
21343		input = &DescribePrefixListsInput{}
21344	}
21345
21346	output = &DescribePrefixListsOutput{}
21347	req = c.newRequest(op, input, output)
21348	return
21349}
21350
21351// DescribePrefixLists API operation for Amazon Elastic Compute Cloud.
21352//
21353// Describes available AWS services in a prefix list format, which includes
21354// the prefix list name and prefix list ID of the service and the IP address
21355// range for the service.
21356//
21357// We recommend that you use DescribeManagedPrefixLists instead.
21358//
21359// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
21360// with awserr.Error's Code and Message methods to get detailed information about
21361// the error.
21362//
21363// See the AWS API reference guide for Amazon Elastic Compute Cloud's
21364// API operation DescribePrefixLists for usage and error information.
21365// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrefixLists
21366func (c *EC2) DescribePrefixLists(input *DescribePrefixListsInput) (*DescribePrefixListsOutput, error) {
21367	req, out := c.DescribePrefixListsRequest(input)
21368	return out, req.Send()
21369}
21370
21371// DescribePrefixListsWithContext is the same as DescribePrefixLists with the addition of
21372// the ability to pass a context and additional request options.
21373//
21374// See DescribePrefixLists for details on how to use this API operation.
21375//
21376// The context must be non-nil and will be used for request cancellation. If
21377// the context is nil a panic will occur. In the future the SDK may create
21378// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21379// for more information on using Contexts.
21380func (c *EC2) DescribePrefixListsWithContext(ctx aws.Context, input *DescribePrefixListsInput, opts ...request.Option) (*DescribePrefixListsOutput, error) {
21381	req, out := c.DescribePrefixListsRequest(input)
21382	req.SetContext(ctx)
21383	req.ApplyOptions(opts...)
21384	return out, req.Send()
21385}
21386
21387// DescribePrefixListsPages iterates over the pages of a DescribePrefixLists operation,
21388// calling the "fn" function with the response data for each page. To stop
21389// iterating, return false from the fn function.
21390//
21391// See DescribePrefixLists method for more information on how to use this operation.
21392//
21393// Note: This operation can generate multiple requests to a service.
21394//
21395//    // Example iterating over at most 3 pages of a DescribePrefixLists operation.
21396//    pageNum := 0
21397//    err := client.DescribePrefixListsPages(params,
21398//        func(page *ec2.DescribePrefixListsOutput, lastPage bool) bool {
21399//            pageNum++
21400//            fmt.Println(page)
21401//            return pageNum <= 3
21402//        })
21403//
21404func (c *EC2) DescribePrefixListsPages(input *DescribePrefixListsInput, fn func(*DescribePrefixListsOutput, bool) bool) error {
21405	return c.DescribePrefixListsPagesWithContext(aws.BackgroundContext(), input, fn)
21406}
21407
21408// DescribePrefixListsPagesWithContext same as DescribePrefixListsPages except
21409// it takes a Context and allows setting request options on the pages.
21410//
21411// The context must be non-nil and will be used for request cancellation. If
21412// the context is nil a panic will occur. In the future the SDK may create
21413// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21414// for more information on using Contexts.
21415func (c *EC2) DescribePrefixListsPagesWithContext(ctx aws.Context, input *DescribePrefixListsInput, fn func(*DescribePrefixListsOutput, bool) bool, opts ...request.Option) error {
21416	p := request.Pagination{
21417		NewRequest: func() (*request.Request, error) {
21418			var inCpy *DescribePrefixListsInput
21419			if input != nil {
21420				tmp := *input
21421				inCpy = &tmp
21422			}
21423			req, _ := c.DescribePrefixListsRequest(inCpy)
21424			req.SetContext(ctx)
21425			req.ApplyOptions(opts...)
21426			return req, nil
21427		},
21428	}
21429
21430	for p.Next() {
21431		if !fn(p.Page().(*DescribePrefixListsOutput), !p.HasNextPage()) {
21432			break
21433		}
21434	}
21435
21436	return p.Err()
21437}
21438
21439const opDescribePrincipalIdFormat = "DescribePrincipalIdFormat"
21440
21441// DescribePrincipalIdFormatRequest generates a "aws/request.Request" representing the
21442// client's request for the DescribePrincipalIdFormat operation. The "output" return
21443// value will be populated with the request's response once the request completes
21444// successfully.
21445//
21446// Use "Send" method on the returned Request to send the API call to the service.
21447// the "output" return value is not valid until after Send returns without error.
21448//
21449// See DescribePrincipalIdFormat for more information on using the DescribePrincipalIdFormat
21450// API call, and error handling.
21451//
21452// This method is useful when you want to inject custom logic or configuration
21453// into the SDK's request lifecycle. Such as custom headers, or retry logic.
21454//
21455//
21456//    // Example sending a request using the DescribePrincipalIdFormatRequest method.
21457//    req, resp := client.DescribePrincipalIdFormatRequest(params)
21458//
21459//    err := req.Send()
21460//    if err == nil { // resp is now filled
21461//        fmt.Println(resp)
21462//    }
21463//
21464// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrincipalIdFormat
21465func (c *EC2) DescribePrincipalIdFormatRequest(input *DescribePrincipalIdFormatInput) (req *request.Request, output *DescribePrincipalIdFormatOutput) {
21466	op := &request.Operation{
21467		Name:       opDescribePrincipalIdFormat,
21468		HTTPMethod: "POST",
21469		HTTPPath:   "/",
21470		Paginator: &request.Paginator{
21471			InputTokens:     []string{"NextToken"},
21472			OutputTokens:    []string{"NextToken"},
21473			LimitToken:      "MaxResults",
21474			TruncationToken: "",
21475		},
21476	}
21477
21478	if input == nil {
21479		input = &DescribePrincipalIdFormatInput{}
21480	}
21481
21482	output = &DescribePrincipalIdFormatOutput{}
21483	req = c.newRequest(op, input, output)
21484	return
21485}
21486
21487// DescribePrincipalIdFormat API operation for Amazon Elastic Compute Cloud.
21488//
21489// Describes the ID format settings for the root user and all IAM roles and
21490// IAM users that have explicitly specified a longer ID (17-character ID) preference.
21491//
21492// By default, all IAM roles and IAM users default to the same ID settings as
21493// the root user, unless they explicitly override the settings. This request
21494// is useful for identifying those IAM users and IAM roles that have overridden
21495// the default ID settings.
21496//
21497// The following resource types support longer IDs: bundle | conversion-task
21498// | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association
21499// | export-task | flow-log | image | import-task | instance | internet-gateway
21500// | network-acl | network-acl-association | network-interface | network-interface-attachment
21501// | prefix-list | reservation | route-table | route-table-association | security-group
21502// | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
21503// | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
21504//
21505// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
21506// with awserr.Error's Code and Message methods to get detailed information about
21507// the error.
21508//
21509// See the AWS API reference guide for Amazon Elastic Compute Cloud's
21510// API operation DescribePrincipalIdFormat for usage and error information.
21511// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrincipalIdFormat
21512func (c *EC2) DescribePrincipalIdFormat(input *DescribePrincipalIdFormatInput) (*DescribePrincipalIdFormatOutput, error) {
21513	req, out := c.DescribePrincipalIdFormatRequest(input)
21514	return out, req.Send()
21515}
21516
21517// DescribePrincipalIdFormatWithContext is the same as DescribePrincipalIdFormat with the addition of
21518// the ability to pass a context and additional request options.
21519//
21520// See DescribePrincipalIdFormat for details on how to use this API operation.
21521//
21522// The context must be non-nil and will be used for request cancellation. If
21523// the context is nil a panic will occur. In the future the SDK may create
21524// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21525// for more information on using Contexts.
21526func (c *EC2) DescribePrincipalIdFormatWithContext(ctx aws.Context, input *DescribePrincipalIdFormatInput, opts ...request.Option) (*DescribePrincipalIdFormatOutput, error) {
21527	req, out := c.DescribePrincipalIdFormatRequest(input)
21528	req.SetContext(ctx)
21529	req.ApplyOptions(opts...)
21530	return out, req.Send()
21531}
21532
21533// DescribePrincipalIdFormatPages iterates over the pages of a DescribePrincipalIdFormat operation,
21534// calling the "fn" function with the response data for each page. To stop
21535// iterating, return false from the fn function.
21536//
21537// See DescribePrincipalIdFormat method for more information on how to use this operation.
21538//
21539// Note: This operation can generate multiple requests to a service.
21540//
21541//    // Example iterating over at most 3 pages of a DescribePrincipalIdFormat operation.
21542//    pageNum := 0
21543//    err := client.DescribePrincipalIdFormatPages(params,
21544//        func(page *ec2.DescribePrincipalIdFormatOutput, lastPage bool) bool {
21545//            pageNum++
21546//            fmt.Println(page)
21547//            return pageNum <= 3
21548//        })
21549//
21550func (c *EC2) DescribePrincipalIdFormatPages(input *DescribePrincipalIdFormatInput, fn func(*DescribePrincipalIdFormatOutput, bool) bool) error {
21551	return c.DescribePrincipalIdFormatPagesWithContext(aws.BackgroundContext(), input, fn)
21552}
21553
21554// DescribePrincipalIdFormatPagesWithContext same as DescribePrincipalIdFormatPages except
21555// it takes a Context and allows setting request options on the pages.
21556//
21557// The context must be non-nil and will be used for request cancellation. If
21558// the context is nil a panic will occur. In the future the SDK may create
21559// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21560// for more information on using Contexts.
21561func (c *EC2) DescribePrincipalIdFormatPagesWithContext(ctx aws.Context, input *DescribePrincipalIdFormatInput, fn func(*DescribePrincipalIdFormatOutput, bool) bool, opts ...request.Option) error {
21562	p := request.Pagination{
21563		NewRequest: func() (*request.Request, error) {
21564			var inCpy *DescribePrincipalIdFormatInput
21565			if input != nil {
21566				tmp := *input
21567				inCpy = &tmp
21568			}
21569			req, _ := c.DescribePrincipalIdFormatRequest(inCpy)
21570			req.SetContext(ctx)
21571			req.ApplyOptions(opts...)
21572			return req, nil
21573		},
21574	}
21575
21576	for p.Next() {
21577		if !fn(p.Page().(*DescribePrincipalIdFormatOutput), !p.HasNextPage()) {
21578			break
21579		}
21580	}
21581
21582	return p.Err()
21583}
21584
21585const opDescribePublicIpv4Pools = "DescribePublicIpv4Pools"
21586
21587// DescribePublicIpv4PoolsRequest generates a "aws/request.Request" representing the
21588// client's request for the DescribePublicIpv4Pools operation. The "output" return
21589// value will be populated with the request's response once the request completes
21590// successfully.
21591//
21592// Use "Send" method on the returned Request to send the API call to the service.
21593// the "output" return value is not valid until after Send returns without error.
21594//
21595// See DescribePublicIpv4Pools for more information on using the DescribePublicIpv4Pools
21596// API call, and error handling.
21597//
21598// This method is useful when you want to inject custom logic or configuration
21599// into the SDK's request lifecycle. Such as custom headers, or retry logic.
21600//
21601//
21602//    // Example sending a request using the DescribePublicIpv4PoolsRequest method.
21603//    req, resp := client.DescribePublicIpv4PoolsRequest(params)
21604//
21605//    err := req.Send()
21606//    if err == nil { // resp is now filled
21607//        fmt.Println(resp)
21608//    }
21609//
21610// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePublicIpv4Pools
21611func (c *EC2) DescribePublicIpv4PoolsRequest(input *DescribePublicIpv4PoolsInput) (req *request.Request, output *DescribePublicIpv4PoolsOutput) {
21612	op := &request.Operation{
21613		Name:       opDescribePublicIpv4Pools,
21614		HTTPMethod: "POST",
21615		HTTPPath:   "/",
21616		Paginator: &request.Paginator{
21617			InputTokens:     []string{"NextToken"},
21618			OutputTokens:    []string{"NextToken"},
21619			LimitToken:      "MaxResults",
21620			TruncationToken: "",
21621		},
21622	}
21623
21624	if input == nil {
21625		input = &DescribePublicIpv4PoolsInput{}
21626	}
21627
21628	output = &DescribePublicIpv4PoolsOutput{}
21629	req = c.newRequest(op, input, output)
21630	return
21631}
21632
21633// DescribePublicIpv4Pools API operation for Amazon Elastic Compute Cloud.
21634//
21635// Describes the specified IPv4 address pools.
21636//
21637// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
21638// with awserr.Error's Code and Message methods to get detailed information about
21639// the error.
21640//
21641// See the AWS API reference guide for Amazon Elastic Compute Cloud's
21642// API operation DescribePublicIpv4Pools for usage and error information.
21643// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePublicIpv4Pools
21644func (c *EC2) DescribePublicIpv4Pools(input *DescribePublicIpv4PoolsInput) (*DescribePublicIpv4PoolsOutput, error) {
21645	req, out := c.DescribePublicIpv4PoolsRequest(input)
21646	return out, req.Send()
21647}
21648
21649// DescribePublicIpv4PoolsWithContext is the same as DescribePublicIpv4Pools with the addition of
21650// the ability to pass a context and additional request options.
21651//
21652// See DescribePublicIpv4Pools for details on how to use this API operation.
21653//
21654// The context must be non-nil and will be used for request cancellation. If
21655// the context is nil a panic will occur. In the future the SDK may create
21656// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21657// for more information on using Contexts.
21658func (c *EC2) DescribePublicIpv4PoolsWithContext(ctx aws.Context, input *DescribePublicIpv4PoolsInput, opts ...request.Option) (*DescribePublicIpv4PoolsOutput, error) {
21659	req, out := c.DescribePublicIpv4PoolsRequest(input)
21660	req.SetContext(ctx)
21661	req.ApplyOptions(opts...)
21662	return out, req.Send()
21663}
21664
21665// DescribePublicIpv4PoolsPages iterates over the pages of a DescribePublicIpv4Pools operation,
21666// calling the "fn" function with the response data for each page. To stop
21667// iterating, return false from the fn function.
21668//
21669// See DescribePublicIpv4Pools method for more information on how to use this operation.
21670//
21671// Note: This operation can generate multiple requests to a service.
21672//
21673//    // Example iterating over at most 3 pages of a DescribePublicIpv4Pools operation.
21674//    pageNum := 0
21675//    err := client.DescribePublicIpv4PoolsPages(params,
21676//        func(page *ec2.DescribePublicIpv4PoolsOutput, lastPage bool) bool {
21677//            pageNum++
21678//            fmt.Println(page)
21679//            return pageNum <= 3
21680//        })
21681//
21682func (c *EC2) DescribePublicIpv4PoolsPages(input *DescribePublicIpv4PoolsInput, fn func(*DescribePublicIpv4PoolsOutput, bool) bool) error {
21683	return c.DescribePublicIpv4PoolsPagesWithContext(aws.BackgroundContext(), input, fn)
21684}
21685
21686// DescribePublicIpv4PoolsPagesWithContext same as DescribePublicIpv4PoolsPages except
21687// it takes a Context and allows setting request options on the pages.
21688//
21689// The context must be non-nil and will be used for request cancellation. If
21690// the context is nil a panic will occur. In the future the SDK may create
21691// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21692// for more information on using Contexts.
21693func (c *EC2) DescribePublicIpv4PoolsPagesWithContext(ctx aws.Context, input *DescribePublicIpv4PoolsInput, fn func(*DescribePublicIpv4PoolsOutput, bool) bool, opts ...request.Option) error {
21694	p := request.Pagination{
21695		NewRequest: func() (*request.Request, error) {
21696			var inCpy *DescribePublicIpv4PoolsInput
21697			if input != nil {
21698				tmp := *input
21699				inCpy = &tmp
21700			}
21701			req, _ := c.DescribePublicIpv4PoolsRequest(inCpy)
21702			req.SetContext(ctx)
21703			req.ApplyOptions(opts...)
21704			return req, nil
21705		},
21706	}
21707
21708	for p.Next() {
21709		if !fn(p.Page().(*DescribePublicIpv4PoolsOutput), !p.HasNextPage()) {
21710			break
21711		}
21712	}
21713
21714	return p.Err()
21715}
21716
21717const opDescribeRegions = "DescribeRegions"
21718
21719// DescribeRegionsRequest generates a "aws/request.Request" representing the
21720// client's request for the DescribeRegions operation. The "output" return
21721// value will be populated with the request's response once the request completes
21722// successfully.
21723//
21724// Use "Send" method on the returned Request to send the API call to the service.
21725// the "output" return value is not valid until after Send returns without error.
21726//
21727// See DescribeRegions for more information on using the DescribeRegions
21728// API call, and error handling.
21729//
21730// This method is useful when you want to inject custom logic or configuration
21731// into the SDK's request lifecycle. Such as custom headers, or retry logic.
21732//
21733//
21734//    // Example sending a request using the DescribeRegionsRequest method.
21735//    req, resp := client.DescribeRegionsRequest(params)
21736//
21737//    err := req.Send()
21738//    if err == nil { // resp is now filled
21739//        fmt.Println(resp)
21740//    }
21741//
21742// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRegions
21743func (c *EC2) DescribeRegionsRequest(input *DescribeRegionsInput) (req *request.Request, output *DescribeRegionsOutput) {
21744	op := &request.Operation{
21745		Name:       opDescribeRegions,
21746		HTTPMethod: "POST",
21747		HTTPPath:   "/",
21748	}
21749
21750	if input == nil {
21751		input = &DescribeRegionsInput{}
21752	}
21753
21754	output = &DescribeRegionsOutput{}
21755	req = c.newRequest(op, input, output)
21756	return
21757}
21758
21759// DescribeRegions API operation for Amazon Elastic Compute Cloud.
21760//
21761// Describes the Regions that are enabled for your account, or all Regions.
21762//
21763// For a list of the Regions supported by Amazon EC2, see Regions and Endpoints
21764// (https://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region).
21765//
21766// For information about enabling and disabling Regions for your account, see
21767// Managing AWS Regions (https://docs.aws.amazon.com/general/latest/gr/rande-manage.html)
21768// in the AWS General Reference.
21769//
21770// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
21771// with awserr.Error's Code and Message methods to get detailed information about
21772// the error.
21773//
21774// See the AWS API reference guide for Amazon Elastic Compute Cloud's
21775// API operation DescribeRegions for usage and error information.
21776// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRegions
21777func (c *EC2) DescribeRegions(input *DescribeRegionsInput) (*DescribeRegionsOutput, error) {
21778	req, out := c.DescribeRegionsRequest(input)
21779	return out, req.Send()
21780}
21781
21782// DescribeRegionsWithContext is the same as DescribeRegions with the addition of
21783// the ability to pass a context and additional request options.
21784//
21785// See DescribeRegions for details on how to use this API operation.
21786//
21787// The context must be non-nil and will be used for request cancellation. If
21788// the context is nil a panic will occur. In the future the SDK may create
21789// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21790// for more information on using Contexts.
21791func (c *EC2) DescribeRegionsWithContext(ctx aws.Context, input *DescribeRegionsInput, opts ...request.Option) (*DescribeRegionsOutput, error) {
21792	req, out := c.DescribeRegionsRequest(input)
21793	req.SetContext(ctx)
21794	req.ApplyOptions(opts...)
21795	return out, req.Send()
21796}
21797
21798const opDescribeReplaceRootVolumeTasks = "DescribeReplaceRootVolumeTasks"
21799
21800// DescribeReplaceRootVolumeTasksRequest generates a "aws/request.Request" representing the
21801// client's request for the DescribeReplaceRootVolumeTasks operation. The "output" return
21802// value will be populated with the request's response once the request completes
21803// successfully.
21804//
21805// Use "Send" method on the returned Request to send the API call to the service.
21806// the "output" return value is not valid until after Send returns without error.
21807//
21808// See DescribeReplaceRootVolumeTasks for more information on using the DescribeReplaceRootVolumeTasks
21809// API call, and error handling.
21810//
21811// This method is useful when you want to inject custom logic or configuration
21812// into the SDK's request lifecycle. Such as custom headers, or retry logic.
21813//
21814//
21815//    // Example sending a request using the DescribeReplaceRootVolumeTasksRequest method.
21816//    req, resp := client.DescribeReplaceRootVolumeTasksRequest(params)
21817//
21818//    err := req.Send()
21819//    if err == nil { // resp is now filled
21820//        fmt.Println(resp)
21821//    }
21822//
21823// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReplaceRootVolumeTasks
21824func (c *EC2) DescribeReplaceRootVolumeTasksRequest(input *DescribeReplaceRootVolumeTasksInput) (req *request.Request, output *DescribeReplaceRootVolumeTasksOutput) {
21825	op := &request.Operation{
21826		Name:       opDescribeReplaceRootVolumeTasks,
21827		HTTPMethod: "POST",
21828		HTTPPath:   "/",
21829		Paginator: &request.Paginator{
21830			InputTokens:     []string{"NextToken"},
21831			OutputTokens:    []string{"NextToken"},
21832			LimitToken:      "MaxResults",
21833			TruncationToken: "",
21834		},
21835	}
21836
21837	if input == nil {
21838		input = &DescribeReplaceRootVolumeTasksInput{}
21839	}
21840
21841	output = &DescribeReplaceRootVolumeTasksOutput{}
21842	req = c.newRequest(op, input, output)
21843	return
21844}
21845
21846// DescribeReplaceRootVolumeTasks API operation for Amazon Elastic Compute Cloud.
21847//
21848// Describes a root volume replacement task. For more information, see Replace
21849// a root volume (https://docs.aws.amazon.com/) in the Amazon Elastic Compute
21850// Cloud User Guide.
21851//
21852// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
21853// with awserr.Error's Code and Message methods to get detailed information about
21854// the error.
21855//
21856// See the AWS API reference guide for Amazon Elastic Compute Cloud's
21857// API operation DescribeReplaceRootVolumeTasks for usage and error information.
21858// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReplaceRootVolumeTasks
21859func (c *EC2) DescribeReplaceRootVolumeTasks(input *DescribeReplaceRootVolumeTasksInput) (*DescribeReplaceRootVolumeTasksOutput, error) {
21860	req, out := c.DescribeReplaceRootVolumeTasksRequest(input)
21861	return out, req.Send()
21862}
21863
21864// DescribeReplaceRootVolumeTasksWithContext is the same as DescribeReplaceRootVolumeTasks with the addition of
21865// the ability to pass a context and additional request options.
21866//
21867// See DescribeReplaceRootVolumeTasks for details on how to use this API operation.
21868//
21869// The context must be non-nil and will be used for request cancellation. If
21870// the context is nil a panic will occur. In the future the SDK may create
21871// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21872// for more information on using Contexts.
21873func (c *EC2) DescribeReplaceRootVolumeTasksWithContext(ctx aws.Context, input *DescribeReplaceRootVolumeTasksInput, opts ...request.Option) (*DescribeReplaceRootVolumeTasksOutput, error) {
21874	req, out := c.DescribeReplaceRootVolumeTasksRequest(input)
21875	req.SetContext(ctx)
21876	req.ApplyOptions(opts...)
21877	return out, req.Send()
21878}
21879
21880// DescribeReplaceRootVolumeTasksPages iterates over the pages of a DescribeReplaceRootVolumeTasks operation,
21881// calling the "fn" function with the response data for each page. To stop
21882// iterating, return false from the fn function.
21883//
21884// See DescribeReplaceRootVolumeTasks method for more information on how to use this operation.
21885//
21886// Note: This operation can generate multiple requests to a service.
21887//
21888//    // Example iterating over at most 3 pages of a DescribeReplaceRootVolumeTasks operation.
21889//    pageNum := 0
21890//    err := client.DescribeReplaceRootVolumeTasksPages(params,
21891//        func(page *ec2.DescribeReplaceRootVolumeTasksOutput, lastPage bool) bool {
21892//            pageNum++
21893//            fmt.Println(page)
21894//            return pageNum <= 3
21895//        })
21896//
21897func (c *EC2) DescribeReplaceRootVolumeTasksPages(input *DescribeReplaceRootVolumeTasksInput, fn func(*DescribeReplaceRootVolumeTasksOutput, bool) bool) error {
21898	return c.DescribeReplaceRootVolumeTasksPagesWithContext(aws.BackgroundContext(), input, fn)
21899}
21900
21901// DescribeReplaceRootVolumeTasksPagesWithContext same as DescribeReplaceRootVolumeTasksPages except
21902// it takes a Context and allows setting request options on the pages.
21903//
21904// The context must be non-nil and will be used for request cancellation. If
21905// the context is nil a panic will occur. In the future the SDK may create
21906// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21907// for more information on using Contexts.
21908func (c *EC2) DescribeReplaceRootVolumeTasksPagesWithContext(ctx aws.Context, input *DescribeReplaceRootVolumeTasksInput, fn func(*DescribeReplaceRootVolumeTasksOutput, bool) bool, opts ...request.Option) error {
21909	p := request.Pagination{
21910		NewRequest: func() (*request.Request, error) {
21911			var inCpy *DescribeReplaceRootVolumeTasksInput
21912			if input != nil {
21913				tmp := *input
21914				inCpy = &tmp
21915			}
21916			req, _ := c.DescribeReplaceRootVolumeTasksRequest(inCpy)
21917			req.SetContext(ctx)
21918			req.ApplyOptions(opts...)
21919			return req, nil
21920		},
21921	}
21922
21923	for p.Next() {
21924		if !fn(p.Page().(*DescribeReplaceRootVolumeTasksOutput), !p.HasNextPage()) {
21925			break
21926		}
21927	}
21928
21929	return p.Err()
21930}
21931
21932const opDescribeReservedInstances = "DescribeReservedInstances"
21933
21934// DescribeReservedInstancesRequest generates a "aws/request.Request" representing the
21935// client's request for the DescribeReservedInstances operation. The "output" return
21936// value will be populated with the request's response once the request completes
21937// successfully.
21938//
21939// Use "Send" method on the returned Request to send the API call to the service.
21940// the "output" return value is not valid until after Send returns without error.
21941//
21942// See DescribeReservedInstances for more information on using the DescribeReservedInstances
21943// API call, and error handling.
21944//
21945// This method is useful when you want to inject custom logic or configuration
21946// into the SDK's request lifecycle. Such as custom headers, or retry logic.
21947//
21948//
21949//    // Example sending a request using the DescribeReservedInstancesRequest method.
21950//    req, resp := client.DescribeReservedInstancesRequest(params)
21951//
21952//    err := req.Send()
21953//    if err == nil { // resp is now filled
21954//        fmt.Println(resp)
21955//    }
21956//
21957// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstances
21958func (c *EC2) DescribeReservedInstancesRequest(input *DescribeReservedInstancesInput) (req *request.Request, output *DescribeReservedInstancesOutput) {
21959	op := &request.Operation{
21960		Name:       opDescribeReservedInstances,
21961		HTTPMethod: "POST",
21962		HTTPPath:   "/",
21963	}
21964
21965	if input == nil {
21966		input = &DescribeReservedInstancesInput{}
21967	}
21968
21969	output = &DescribeReservedInstancesOutput{}
21970	req = c.newRequest(op, input, output)
21971	return
21972}
21973
21974// DescribeReservedInstances API operation for Amazon Elastic Compute Cloud.
21975//
21976// Describes one or more of the Reserved Instances that you purchased.
21977//
21978// For more information about Reserved Instances, see Reserved Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html)
21979// in the Amazon EC2 User Guide.
21980//
21981// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
21982// with awserr.Error's Code and Message methods to get detailed information about
21983// the error.
21984//
21985// See the AWS API reference guide for Amazon Elastic Compute Cloud's
21986// API operation DescribeReservedInstances for usage and error information.
21987// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstances
21988func (c *EC2) DescribeReservedInstances(input *DescribeReservedInstancesInput) (*DescribeReservedInstancesOutput, error) {
21989	req, out := c.DescribeReservedInstancesRequest(input)
21990	return out, req.Send()
21991}
21992
21993// DescribeReservedInstancesWithContext is the same as DescribeReservedInstances with the addition of
21994// the ability to pass a context and additional request options.
21995//
21996// See DescribeReservedInstances for details on how to use this API operation.
21997//
21998// The context must be non-nil and will be used for request cancellation. If
21999// the context is nil a panic will occur. In the future the SDK may create
22000// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22001// for more information on using Contexts.
22002func (c *EC2) DescribeReservedInstancesWithContext(ctx aws.Context, input *DescribeReservedInstancesInput, opts ...request.Option) (*DescribeReservedInstancesOutput, error) {
22003	req, out := c.DescribeReservedInstancesRequest(input)
22004	req.SetContext(ctx)
22005	req.ApplyOptions(opts...)
22006	return out, req.Send()
22007}
22008
22009const opDescribeReservedInstancesListings = "DescribeReservedInstancesListings"
22010
22011// DescribeReservedInstancesListingsRequest generates a "aws/request.Request" representing the
22012// client's request for the DescribeReservedInstancesListings operation. The "output" return
22013// value will be populated with the request's response once the request completes
22014// successfully.
22015//
22016// Use "Send" method on the returned Request to send the API call to the service.
22017// the "output" return value is not valid until after Send returns without error.
22018//
22019// See DescribeReservedInstancesListings for more information on using the DescribeReservedInstancesListings
22020// API call, and error handling.
22021//
22022// This method is useful when you want to inject custom logic or configuration
22023// into the SDK's request lifecycle. Such as custom headers, or retry logic.
22024//
22025//
22026//    // Example sending a request using the DescribeReservedInstancesListingsRequest method.
22027//    req, resp := client.DescribeReservedInstancesListingsRequest(params)
22028//
22029//    err := req.Send()
22030//    if err == nil { // resp is now filled
22031//        fmt.Println(resp)
22032//    }
22033//
22034// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesListings
22035func (c *EC2) DescribeReservedInstancesListingsRequest(input *DescribeReservedInstancesListingsInput) (req *request.Request, output *DescribeReservedInstancesListingsOutput) {
22036	op := &request.Operation{
22037		Name:       opDescribeReservedInstancesListings,
22038		HTTPMethod: "POST",
22039		HTTPPath:   "/",
22040	}
22041
22042	if input == nil {
22043		input = &DescribeReservedInstancesListingsInput{}
22044	}
22045
22046	output = &DescribeReservedInstancesListingsOutput{}
22047	req = c.newRequest(op, input, output)
22048	return
22049}
22050
22051// DescribeReservedInstancesListings API operation for Amazon Elastic Compute Cloud.
22052//
22053// Describes your account's Reserved Instance listings in the Reserved Instance
22054// Marketplace.
22055//
22056// The Reserved Instance Marketplace matches sellers who want to resell Reserved
22057// Instance capacity that they no longer need with buyers who want to purchase
22058// additional capacity. Reserved Instances bought and sold through the Reserved
22059// Instance Marketplace work like any other Reserved Instances.
22060//
22061// As a seller, you choose to list some or all of your Reserved Instances, and
22062// you specify the upfront price to receive for them. Your Reserved Instances
22063// are then listed in the Reserved Instance Marketplace and are available for
22064// purchase.
22065//
22066// As a buyer, you specify the configuration of the Reserved Instance to purchase,
22067// and the Marketplace matches what you're searching for with what's available.
22068// The Marketplace first sells the lowest priced Reserved Instances to you,
22069// and continues to sell available Reserved Instance listings to you until your
22070// demand is met. You are charged based on the total price of all of the listings
22071// that you purchase.
22072//
22073// For more information, see Reserved Instance Marketplace (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
22074// in the Amazon EC2 User Guide.
22075//
22076// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
22077// with awserr.Error's Code and Message methods to get detailed information about
22078// the error.
22079//
22080// See the AWS API reference guide for Amazon Elastic Compute Cloud's
22081// API operation DescribeReservedInstancesListings for usage and error information.
22082// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesListings
22083func (c *EC2) DescribeReservedInstancesListings(input *DescribeReservedInstancesListingsInput) (*DescribeReservedInstancesListingsOutput, error) {
22084	req, out := c.DescribeReservedInstancesListingsRequest(input)
22085	return out, req.Send()
22086}
22087
22088// DescribeReservedInstancesListingsWithContext is the same as DescribeReservedInstancesListings with the addition of
22089// the ability to pass a context and additional request options.
22090//
22091// See DescribeReservedInstancesListings for details on how to use this API operation.
22092//
22093// The context must be non-nil and will be used for request cancellation. If
22094// the context is nil a panic will occur. In the future the SDK may create
22095// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22096// for more information on using Contexts.
22097func (c *EC2) DescribeReservedInstancesListingsWithContext(ctx aws.Context, input *DescribeReservedInstancesListingsInput, opts ...request.Option) (*DescribeReservedInstancesListingsOutput, error) {
22098	req, out := c.DescribeReservedInstancesListingsRequest(input)
22099	req.SetContext(ctx)
22100	req.ApplyOptions(opts...)
22101	return out, req.Send()
22102}
22103
22104const opDescribeReservedInstancesModifications = "DescribeReservedInstancesModifications"
22105
22106// DescribeReservedInstancesModificationsRequest generates a "aws/request.Request" representing the
22107// client's request for the DescribeReservedInstancesModifications operation. The "output" return
22108// value will be populated with the request's response once the request completes
22109// successfully.
22110//
22111// Use "Send" method on the returned Request to send the API call to the service.
22112// the "output" return value is not valid until after Send returns without error.
22113//
22114// See DescribeReservedInstancesModifications for more information on using the DescribeReservedInstancesModifications
22115// API call, and error handling.
22116//
22117// This method is useful when you want to inject custom logic or configuration
22118// into the SDK's request lifecycle. Such as custom headers, or retry logic.
22119//
22120//
22121//    // Example sending a request using the DescribeReservedInstancesModificationsRequest method.
22122//    req, resp := client.DescribeReservedInstancesModificationsRequest(params)
22123//
22124//    err := req.Send()
22125//    if err == nil { // resp is now filled
22126//        fmt.Println(resp)
22127//    }
22128//
22129// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesModifications
22130func (c *EC2) DescribeReservedInstancesModificationsRequest(input *DescribeReservedInstancesModificationsInput) (req *request.Request, output *DescribeReservedInstancesModificationsOutput) {
22131	op := &request.Operation{
22132		Name:       opDescribeReservedInstancesModifications,
22133		HTTPMethod: "POST",
22134		HTTPPath:   "/",
22135		Paginator: &request.Paginator{
22136			InputTokens:     []string{"NextToken"},
22137			OutputTokens:    []string{"NextToken"},
22138			LimitToken:      "",
22139			TruncationToken: "",
22140		},
22141	}
22142
22143	if input == nil {
22144		input = &DescribeReservedInstancesModificationsInput{}
22145	}
22146
22147	output = &DescribeReservedInstancesModificationsOutput{}
22148	req = c.newRequest(op, input, output)
22149	return
22150}
22151
22152// DescribeReservedInstancesModifications API operation for Amazon Elastic Compute Cloud.
22153//
22154// Describes the modifications made to your Reserved Instances. If no parameter
22155// is specified, information about all your Reserved Instances modification
22156// requests is returned. If a modification ID is specified, only information
22157// about the specific modification is returned.
22158//
22159// For more information, see Modifying Reserved Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html)
22160// in the Amazon EC2 User Guide.
22161//
22162// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
22163// with awserr.Error's Code and Message methods to get detailed information about
22164// the error.
22165//
22166// See the AWS API reference guide for Amazon Elastic Compute Cloud's
22167// API operation DescribeReservedInstancesModifications for usage and error information.
22168// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesModifications
22169func (c *EC2) DescribeReservedInstancesModifications(input *DescribeReservedInstancesModificationsInput) (*DescribeReservedInstancesModificationsOutput, error) {
22170	req, out := c.DescribeReservedInstancesModificationsRequest(input)
22171	return out, req.Send()
22172}
22173
22174// DescribeReservedInstancesModificationsWithContext is the same as DescribeReservedInstancesModifications with the addition of
22175// the ability to pass a context and additional request options.
22176//
22177// See DescribeReservedInstancesModifications for details on how to use this API operation.
22178//
22179// The context must be non-nil and will be used for request cancellation. If
22180// the context is nil a panic will occur. In the future the SDK may create
22181// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22182// for more information on using Contexts.
22183func (c *EC2) DescribeReservedInstancesModificationsWithContext(ctx aws.Context, input *DescribeReservedInstancesModificationsInput, opts ...request.Option) (*DescribeReservedInstancesModificationsOutput, error) {
22184	req, out := c.DescribeReservedInstancesModificationsRequest(input)
22185	req.SetContext(ctx)
22186	req.ApplyOptions(opts...)
22187	return out, req.Send()
22188}
22189
22190// DescribeReservedInstancesModificationsPages iterates over the pages of a DescribeReservedInstancesModifications operation,
22191// calling the "fn" function with the response data for each page. To stop
22192// iterating, return false from the fn function.
22193//
22194// See DescribeReservedInstancesModifications method for more information on how to use this operation.
22195//
22196// Note: This operation can generate multiple requests to a service.
22197//
22198//    // Example iterating over at most 3 pages of a DescribeReservedInstancesModifications operation.
22199//    pageNum := 0
22200//    err := client.DescribeReservedInstancesModificationsPages(params,
22201//        func(page *ec2.DescribeReservedInstancesModificationsOutput, lastPage bool) bool {
22202//            pageNum++
22203//            fmt.Println(page)
22204//            return pageNum <= 3
22205//        })
22206//
22207func (c *EC2) DescribeReservedInstancesModificationsPages(input *DescribeReservedInstancesModificationsInput, fn func(*DescribeReservedInstancesModificationsOutput, bool) bool) error {
22208	return c.DescribeReservedInstancesModificationsPagesWithContext(aws.BackgroundContext(), input, fn)
22209}
22210
22211// DescribeReservedInstancesModificationsPagesWithContext same as DescribeReservedInstancesModificationsPages except
22212// it takes a Context and allows setting request options on the pages.
22213//
22214// The context must be non-nil and will be used for request cancellation. If
22215// the context is nil a panic will occur. In the future the SDK may create
22216// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22217// for more information on using Contexts.
22218func (c *EC2) DescribeReservedInstancesModificationsPagesWithContext(ctx aws.Context, input *DescribeReservedInstancesModificationsInput, fn func(*DescribeReservedInstancesModificationsOutput, bool) bool, opts ...request.Option) error {
22219	p := request.Pagination{
22220		NewRequest: func() (*request.Request, error) {
22221			var inCpy *DescribeReservedInstancesModificationsInput
22222			if input != nil {
22223				tmp := *input
22224				inCpy = &tmp
22225			}
22226			req, _ := c.DescribeReservedInstancesModificationsRequest(inCpy)
22227			req.SetContext(ctx)
22228			req.ApplyOptions(opts...)
22229			return req, nil
22230		},
22231	}
22232
22233	for p.Next() {
22234		if !fn(p.Page().(*DescribeReservedInstancesModificationsOutput), !p.HasNextPage()) {
22235			break
22236		}
22237	}
22238
22239	return p.Err()
22240}
22241
22242const opDescribeReservedInstancesOfferings = "DescribeReservedInstancesOfferings"
22243
22244// DescribeReservedInstancesOfferingsRequest generates a "aws/request.Request" representing the
22245// client's request for the DescribeReservedInstancesOfferings operation. The "output" return
22246// value will be populated with the request's response once the request completes
22247// successfully.
22248//
22249// Use "Send" method on the returned Request to send the API call to the service.
22250// the "output" return value is not valid until after Send returns without error.
22251//
22252// See DescribeReservedInstancesOfferings for more information on using the DescribeReservedInstancesOfferings
22253// API call, and error handling.
22254//
22255// This method is useful when you want to inject custom logic or configuration
22256// into the SDK's request lifecycle. Such as custom headers, or retry logic.
22257//
22258//
22259//    // Example sending a request using the DescribeReservedInstancesOfferingsRequest method.
22260//    req, resp := client.DescribeReservedInstancesOfferingsRequest(params)
22261//
22262//    err := req.Send()
22263//    if err == nil { // resp is now filled
22264//        fmt.Println(resp)
22265//    }
22266//
22267// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesOfferings
22268func (c *EC2) DescribeReservedInstancesOfferingsRequest(input *DescribeReservedInstancesOfferingsInput) (req *request.Request, output *DescribeReservedInstancesOfferingsOutput) {
22269	op := &request.Operation{
22270		Name:       opDescribeReservedInstancesOfferings,
22271		HTTPMethod: "POST",
22272		HTTPPath:   "/",
22273		Paginator: &request.Paginator{
22274			InputTokens:     []string{"NextToken"},
22275			OutputTokens:    []string{"NextToken"},
22276			LimitToken:      "MaxResults",
22277			TruncationToken: "",
22278		},
22279	}
22280
22281	if input == nil {
22282		input = &DescribeReservedInstancesOfferingsInput{}
22283	}
22284
22285	output = &DescribeReservedInstancesOfferingsOutput{}
22286	req = c.newRequest(op, input, output)
22287	return
22288}
22289
22290// DescribeReservedInstancesOfferings API operation for Amazon Elastic Compute Cloud.
22291//
22292// Describes Reserved Instance offerings that are available for purchase. With
22293// Reserved Instances, you purchase the right to launch instances for a period
22294// of time. During that time period, you do not receive insufficient capacity
22295// errors, and you pay a lower usage rate than the rate charged for On-Demand
22296// instances for the actual time used.
22297//
22298// If you have listed your own Reserved Instances for sale in the Reserved Instance
22299// Marketplace, they will be excluded from these results. This is to ensure
22300// that you do not purchase your own Reserved Instances.
22301//
22302// For more information, see Reserved Instance Marketplace (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
22303// in the Amazon EC2 User Guide.
22304//
22305// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
22306// with awserr.Error's Code and Message methods to get detailed information about
22307// the error.
22308//
22309// See the AWS API reference guide for Amazon Elastic Compute Cloud's
22310// API operation DescribeReservedInstancesOfferings for usage and error information.
22311// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesOfferings
22312func (c *EC2) DescribeReservedInstancesOfferings(input *DescribeReservedInstancesOfferingsInput) (*DescribeReservedInstancesOfferingsOutput, error) {
22313	req, out := c.DescribeReservedInstancesOfferingsRequest(input)
22314	return out, req.Send()
22315}
22316
22317// DescribeReservedInstancesOfferingsWithContext is the same as DescribeReservedInstancesOfferings with the addition of
22318// the ability to pass a context and additional request options.
22319//
22320// See DescribeReservedInstancesOfferings for details on how to use this API operation.
22321//
22322// The context must be non-nil and will be used for request cancellation. If
22323// the context is nil a panic will occur. In the future the SDK may create
22324// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22325// for more information on using Contexts.
22326func (c *EC2) DescribeReservedInstancesOfferingsWithContext(ctx aws.Context, input *DescribeReservedInstancesOfferingsInput, opts ...request.Option) (*DescribeReservedInstancesOfferingsOutput, error) {
22327	req, out := c.DescribeReservedInstancesOfferingsRequest(input)
22328	req.SetContext(ctx)
22329	req.ApplyOptions(opts...)
22330	return out, req.Send()
22331}
22332
22333// DescribeReservedInstancesOfferingsPages iterates over the pages of a DescribeReservedInstancesOfferings operation,
22334// calling the "fn" function with the response data for each page. To stop
22335// iterating, return false from the fn function.
22336//
22337// See DescribeReservedInstancesOfferings method for more information on how to use this operation.
22338//
22339// Note: This operation can generate multiple requests to a service.
22340//
22341//    // Example iterating over at most 3 pages of a DescribeReservedInstancesOfferings operation.
22342//    pageNum := 0
22343//    err := client.DescribeReservedInstancesOfferingsPages(params,
22344//        func(page *ec2.DescribeReservedInstancesOfferingsOutput, lastPage bool) bool {
22345//            pageNum++
22346//            fmt.Println(page)
22347//            return pageNum <= 3
22348//        })
22349//
22350func (c *EC2) DescribeReservedInstancesOfferingsPages(input *DescribeReservedInstancesOfferingsInput, fn func(*DescribeReservedInstancesOfferingsOutput, bool) bool) error {
22351	return c.DescribeReservedInstancesOfferingsPagesWithContext(aws.BackgroundContext(), input, fn)
22352}
22353
22354// DescribeReservedInstancesOfferingsPagesWithContext same as DescribeReservedInstancesOfferingsPages except
22355// it takes a Context and allows setting request options on the pages.
22356//
22357// The context must be non-nil and will be used for request cancellation. If
22358// the context is nil a panic will occur. In the future the SDK may create
22359// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22360// for more information on using Contexts.
22361func (c *EC2) DescribeReservedInstancesOfferingsPagesWithContext(ctx aws.Context, input *DescribeReservedInstancesOfferingsInput, fn func(*DescribeReservedInstancesOfferingsOutput, bool) bool, opts ...request.Option) error {
22362	p := request.Pagination{
22363		NewRequest: func() (*request.Request, error) {
22364			var inCpy *DescribeReservedInstancesOfferingsInput
22365			if input != nil {
22366				tmp := *input
22367				inCpy = &tmp
22368			}
22369			req, _ := c.DescribeReservedInstancesOfferingsRequest(inCpy)
22370			req.SetContext(ctx)
22371			req.ApplyOptions(opts...)
22372			return req, nil
22373		},
22374	}
22375
22376	for p.Next() {
22377		if !fn(p.Page().(*DescribeReservedInstancesOfferingsOutput), !p.HasNextPage()) {
22378			break
22379		}
22380	}
22381
22382	return p.Err()
22383}
22384
22385const opDescribeRouteTables = "DescribeRouteTables"
22386
22387// DescribeRouteTablesRequest generates a "aws/request.Request" representing the
22388// client's request for the DescribeRouteTables operation. The "output" return
22389// value will be populated with the request's response once the request completes
22390// successfully.
22391//
22392// Use "Send" method on the returned Request to send the API call to the service.
22393// the "output" return value is not valid until after Send returns without error.
22394//
22395// See DescribeRouteTables for more information on using the DescribeRouteTables
22396// API call, and error handling.
22397//
22398// This method is useful when you want to inject custom logic or configuration
22399// into the SDK's request lifecycle. Such as custom headers, or retry logic.
22400//
22401//
22402//    // Example sending a request using the DescribeRouteTablesRequest method.
22403//    req, resp := client.DescribeRouteTablesRequest(params)
22404//
22405//    err := req.Send()
22406//    if err == nil { // resp is now filled
22407//        fmt.Println(resp)
22408//    }
22409//
22410// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRouteTables
22411func (c *EC2) DescribeRouteTablesRequest(input *DescribeRouteTablesInput) (req *request.Request, output *DescribeRouteTablesOutput) {
22412	op := &request.Operation{
22413		Name:       opDescribeRouteTables,
22414		HTTPMethod: "POST",
22415		HTTPPath:   "/",
22416		Paginator: &request.Paginator{
22417			InputTokens:     []string{"NextToken"},
22418			OutputTokens:    []string{"NextToken"},
22419			LimitToken:      "MaxResults",
22420			TruncationToken: "",
22421		},
22422	}
22423
22424	if input == nil {
22425		input = &DescribeRouteTablesInput{}
22426	}
22427
22428	output = &DescribeRouteTablesOutput{}
22429	req = c.newRequest(op, input, output)
22430	return
22431}
22432
22433// DescribeRouteTables API operation for Amazon Elastic Compute Cloud.
22434//
22435// Describes one or more of your route tables.
22436//
22437// Each subnet in your VPC must be associated with a route table. If a subnet
22438// is not explicitly associated with any route table, it is implicitly associated
22439// with the main route table. This command does not return the subnet ID for
22440// implicit associations.
22441//
22442// For more information, see Route Tables (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html)
22443// in the Amazon Virtual Private Cloud User Guide.
22444//
22445// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
22446// with awserr.Error's Code and Message methods to get detailed information about
22447// the error.
22448//
22449// See the AWS API reference guide for Amazon Elastic Compute Cloud's
22450// API operation DescribeRouteTables for usage and error information.
22451// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRouteTables
22452func (c *EC2) DescribeRouteTables(input *DescribeRouteTablesInput) (*DescribeRouteTablesOutput, error) {
22453	req, out := c.DescribeRouteTablesRequest(input)
22454	return out, req.Send()
22455}
22456
22457// DescribeRouteTablesWithContext is the same as DescribeRouteTables with the addition of
22458// the ability to pass a context and additional request options.
22459//
22460// See DescribeRouteTables for details on how to use this API operation.
22461//
22462// The context must be non-nil and will be used for request cancellation. If
22463// the context is nil a panic will occur. In the future the SDK may create
22464// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22465// for more information on using Contexts.
22466func (c *EC2) DescribeRouteTablesWithContext(ctx aws.Context, input *DescribeRouteTablesInput, opts ...request.Option) (*DescribeRouteTablesOutput, error) {
22467	req, out := c.DescribeRouteTablesRequest(input)
22468	req.SetContext(ctx)
22469	req.ApplyOptions(opts...)
22470	return out, req.Send()
22471}
22472
22473// DescribeRouteTablesPages iterates over the pages of a DescribeRouteTables operation,
22474// calling the "fn" function with the response data for each page. To stop
22475// iterating, return false from the fn function.
22476//
22477// See DescribeRouteTables method for more information on how to use this operation.
22478//
22479// Note: This operation can generate multiple requests to a service.
22480//
22481//    // Example iterating over at most 3 pages of a DescribeRouteTables operation.
22482//    pageNum := 0
22483//    err := client.DescribeRouteTablesPages(params,
22484//        func(page *ec2.DescribeRouteTablesOutput, lastPage bool) bool {
22485//            pageNum++
22486//            fmt.Println(page)
22487//            return pageNum <= 3
22488//        })
22489//
22490func (c *EC2) DescribeRouteTablesPages(input *DescribeRouteTablesInput, fn func(*DescribeRouteTablesOutput, bool) bool) error {
22491	return c.DescribeRouteTablesPagesWithContext(aws.BackgroundContext(), input, fn)
22492}
22493
22494// DescribeRouteTablesPagesWithContext same as DescribeRouteTablesPages except
22495// it takes a Context and allows setting request options on the pages.
22496//
22497// The context must be non-nil and will be used for request cancellation. If
22498// the context is nil a panic will occur. In the future the SDK may create
22499// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22500// for more information on using Contexts.
22501func (c *EC2) DescribeRouteTablesPagesWithContext(ctx aws.Context, input *DescribeRouteTablesInput, fn func(*DescribeRouteTablesOutput, bool) bool, opts ...request.Option) error {
22502	p := request.Pagination{
22503		NewRequest: func() (*request.Request, error) {
22504			var inCpy *DescribeRouteTablesInput
22505			if input != nil {
22506				tmp := *input
22507				inCpy = &tmp
22508			}
22509			req, _ := c.DescribeRouteTablesRequest(inCpy)
22510			req.SetContext(ctx)
22511			req.ApplyOptions(opts...)
22512			return req, nil
22513		},
22514	}
22515
22516	for p.Next() {
22517		if !fn(p.Page().(*DescribeRouteTablesOutput), !p.HasNextPage()) {
22518			break
22519		}
22520	}
22521
22522	return p.Err()
22523}
22524
22525const opDescribeScheduledInstanceAvailability = "DescribeScheduledInstanceAvailability"
22526
22527// DescribeScheduledInstanceAvailabilityRequest generates a "aws/request.Request" representing the
22528// client's request for the DescribeScheduledInstanceAvailability operation. The "output" return
22529// value will be populated with the request's response once the request completes
22530// successfully.
22531//
22532// Use "Send" method on the returned Request to send the API call to the service.
22533// the "output" return value is not valid until after Send returns without error.
22534//
22535// See DescribeScheduledInstanceAvailability for more information on using the DescribeScheduledInstanceAvailability
22536// API call, and error handling.
22537//
22538// This method is useful when you want to inject custom logic or configuration
22539// into the SDK's request lifecycle. Such as custom headers, or retry logic.
22540//
22541//
22542//    // Example sending a request using the DescribeScheduledInstanceAvailabilityRequest method.
22543//    req, resp := client.DescribeScheduledInstanceAvailabilityRequest(params)
22544//
22545//    err := req.Send()
22546//    if err == nil { // resp is now filled
22547//        fmt.Println(resp)
22548//    }
22549//
22550// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstanceAvailability
22551func (c *EC2) DescribeScheduledInstanceAvailabilityRequest(input *DescribeScheduledInstanceAvailabilityInput) (req *request.Request, output *DescribeScheduledInstanceAvailabilityOutput) {
22552	op := &request.Operation{
22553		Name:       opDescribeScheduledInstanceAvailability,
22554		HTTPMethod: "POST",
22555		HTTPPath:   "/",
22556		Paginator: &request.Paginator{
22557			InputTokens:     []string{"NextToken"},
22558			OutputTokens:    []string{"NextToken"},
22559			LimitToken:      "MaxResults",
22560			TruncationToken: "",
22561		},
22562	}
22563
22564	if input == nil {
22565		input = &DescribeScheduledInstanceAvailabilityInput{}
22566	}
22567
22568	output = &DescribeScheduledInstanceAvailabilityOutput{}
22569	req = c.newRequest(op, input, output)
22570	return
22571}
22572
22573// DescribeScheduledInstanceAvailability API operation for Amazon Elastic Compute Cloud.
22574//
22575// Finds available schedules that meet the specified criteria.
22576//
22577// You can search for an available schedule no more than 3 months in advance.
22578// You must meet the minimum required duration of 1,200 hours per year. For
22579// example, the minimum daily schedule is 4 hours, the minimum weekly schedule
22580// is 24 hours, and the minimum monthly schedule is 100 hours.
22581//
22582// After you find a schedule that meets your needs, call PurchaseScheduledInstances
22583// to purchase Scheduled Instances with that schedule.
22584//
22585// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
22586// with awserr.Error's Code and Message methods to get detailed information about
22587// the error.
22588//
22589// See the AWS API reference guide for Amazon Elastic Compute Cloud's
22590// API operation DescribeScheduledInstanceAvailability for usage and error information.
22591// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstanceAvailability
22592func (c *EC2) DescribeScheduledInstanceAvailability(input *DescribeScheduledInstanceAvailabilityInput) (*DescribeScheduledInstanceAvailabilityOutput, error) {
22593	req, out := c.DescribeScheduledInstanceAvailabilityRequest(input)
22594	return out, req.Send()
22595}
22596
22597// DescribeScheduledInstanceAvailabilityWithContext is the same as DescribeScheduledInstanceAvailability with the addition of
22598// the ability to pass a context and additional request options.
22599//
22600// See DescribeScheduledInstanceAvailability for details on how to use this API operation.
22601//
22602// The context must be non-nil and will be used for request cancellation. If
22603// the context is nil a panic will occur. In the future the SDK may create
22604// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22605// for more information on using Contexts.
22606func (c *EC2) DescribeScheduledInstanceAvailabilityWithContext(ctx aws.Context, input *DescribeScheduledInstanceAvailabilityInput, opts ...request.Option) (*DescribeScheduledInstanceAvailabilityOutput, error) {
22607	req, out := c.DescribeScheduledInstanceAvailabilityRequest(input)
22608	req.SetContext(ctx)
22609	req.ApplyOptions(opts...)
22610	return out, req.Send()
22611}
22612
22613// DescribeScheduledInstanceAvailabilityPages iterates over the pages of a DescribeScheduledInstanceAvailability operation,
22614// calling the "fn" function with the response data for each page. To stop
22615// iterating, return false from the fn function.
22616//
22617// See DescribeScheduledInstanceAvailability method for more information on how to use this operation.
22618//
22619// Note: This operation can generate multiple requests to a service.
22620//
22621//    // Example iterating over at most 3 pages of a DescribeScheduledInstanceAvailability operation.
22622//    pageNum := 0
22623//    err := client.DescribeScheduledInstanceAvailabilityPages(params,
22624//        func(page *ec2.DescribeScheduledInstanceAvailabilityOutput, lastPage bool) bool {
22625//            pageNum++
22626//            fmt.Println(page)
22627//            return pageNum <= 3
22628//        })
22629//
22630func (c *EC2) DescribeScheduledInstanceAvailabilityPages(input *DescribeScheduledInstanceAvailabilityInput, fn func(*DescribeScheduledInstanceAvailabilityOutput, bool) bool) error {
22631	return c.DescribeScheduledInstanceAvailabilityPagesWithContext(aws.BackgroundContext(), input, fn)
22632}
22633
22634// DescribeScheduledInstanceAvailabilityPagesWithContext same as DescribeScheduledInstanceAvailabilityPages except
22635// it takes a Context and allows setting request options on the pages.
22636//
22637// The context must be non-nil and will be used for request cancellation. If
22638// the context is nil a panic will occur. In the future the SDK may create
22639// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22640// for more information on using Contexts.
22641func (c *EC2) DescribeScheduledInstanceAvailabilityPagesWithContext(ctx aws.Context, input *DescribeScheduledInstanceAvailabilityInput, fn func(*DescribeScheduledInstanceAvailabilityOutput, bool) bool, opts ...request.Option) error {
22642	p := request.Pagination{
22643		NewRequest: func() (*request.Request, error) {
22644			var inCpy *DescribeScheduledInstanceAvailabilityInput
22645			if input != nil {
22646				tmp := *input
22647				inCpy = &tmp
22648			}
22649			req, _ := c.DescribeScheduledInstanceAvailabilityRequest(inCpy)
22650			req.SetContext(ctx)
22651			req.ApplyOptions(opts...)
22652			return req, nil
22653		},
22654	}
22655
22656	for p.Next() {
22657		if !fn(p.Page().(*DescribeScheduledInstanceAvailabilityOutput), !p.HasNextPage()) {
22658			break
22659		}
22660	}
22661
22662	return p.Err()
22663}
22664
22665const opDescribeScheduledInstances = "DescribeScheduledInstances"
22666
22667// DescribeScheduledInstancesRequest generates a "aws/request.Request" representing the
22668// client's request for the DescribeScheduledInstances operation. The "output" return
22669// value will be populated with the request's response once the request completes
22670// successfully.
22671//
22672// Use "Send" method on the returned Request to send the API call to the service.
22673// the "output" return value is not valid until after Send returns without error.
22674//
22675// See DescribeScheduledInstances for more information on using the DescribeScheduledInstances
22676// API call, and error handling.
22677//
22678// This method is useful when you want to inject custom logic or configuration
22679// into the SDK's request lifecycle. Such as custom headers, or retry logic.
22680//
22681//
22682//    // Example sending a request using the DescribeScheduledInstancesRequest method.
22683//    req, resp := client.DescribeScheduledInstancesRequest(params)
22684//
22685//    err := req.Send()
22686//    if err == nil { // resp is now filled
22687//        fmt.Println(resp)
22688//    }
22689//
22690// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstances
22691func (c *EC2) DescribeScheduledInstancesRequest(input *DescribeScheduledInstancesInput) (req *request.Request, output *DescribeScheduledInstancesOutput) {
22692	op := &request.Operation{
22693		Name:       opDescribeScheduledInstances,
22694		HTTPMethod: "POST",
22695		HTTPPath:   "/",
22696		Paginator: &request.Paginator{
22697			InputTokens:     []string{"NextToken"},
22698			OutputTokens:    []string{"NextToken"},
22699			LimitToken:      "MaxResults",
22700			TruncationToken: "",
22701		},
22702	}
22703
22704	if input == nil {
22705		input = &DescribeScheduledInstancesInput{}
22706	}
22707
22708	output = &DescribeScheduledInstancesOutput{}
22709	req = c.newRequest(op, input, output)
22710	return
22711}
22712
22713// DescribeScheduledInstances API operation for Amazon Elastic Compute Cloud.
22714//
22715// Describes the specified Scheduled Instances or all your Scheduled Instances.
22716//
22717// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
22718// with awserr.Error's Code and Message methods to get detailed information about
22719// the error.
22720//
22721// See the AWS API reference guide for Amazon Elastic Compute Cloud's
22722// API operation DescribeScheduledInstances for usage and error information.
22723// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstances
22724func (c *EC2) DescribeScheduledInstances(input *DescribeScheduledInstancesInput) (*DescribeScheduledInstancesOutput, error) {
22725	req, out := c.DescribeScheduledInstancesRequest(input)
22726	return out, req.Send()
22727}
22728
22729// DescribeScheduledInstancesWithContext is the same as DescribeScheduledInstances with the addition of
22730// the ability to pass a context and additional request options.
22731//
22732// See DescribeScheduledInstances for details on how to use this API operation.
22733//
22734// The context must be non-nil and will be used for request cancellation. If
22735// the context is nil a panic will occur. In the future the SDK may create
22736// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22737// for more information on using Contexts.
22738func (c *EC2) DescribeScheduledInstancesWithContext(ctx aws.Context, input *DescribeScheduledInstancesInput, opts ...request.Option) (*DescribeScheduledInstancesOutput, error) {
22739	req, out := c.DescribeScheduledInstancesRequest(input)
22740	req.SetContext(ctx)
22741	req.ApplyOptions(opts...)
22742	return out, req.Send()
22743}
22744
22745// DescribeScheduledInstancesPages iterates over the pages of a DescribeScheduledInstances operation,
22746// calling the "fn" function with the response data for each page. To stop
22747// iterating, return false from the fn function.
22748//
22749// See DescribeScheduledInstances method for more information on how to use this operation.
22750//
22751// Note: This operation can generate multiple requests to a service.
22752//
22753//    // Example iterating over at most 3 pages of a DescribeScheduledInstances operation.
22754//    pageNum := 0
22755//    err := client.DescribeScheduledInstancesPages(params,
22756//        func(page *ec2.DescribeScheduledInstancesOutput, lastPage bool) bool {
22757//            pageNum++
22758//            fmt.Println(page)
22759//            return pageNum <= 3
22760//        })
22761//
22762func (c *EC2) DescribeScheduledInstancesPages(input *DescribeScheduledInstancesInput, fn func(*DescribeScheduledInstancesOutput, bool) bool) error {
22763	return c.DescribeScheduledInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
22764}
22765
22766// DescribeScheduledInstancesPagesWithContext same as DescribeScheduledInstancesPages except
22767// it takes a Context and allows setting request options on the pages.
22768//
22769// The context must be non-nil and will be used for request cancellation. If
22770// the context is nil a panic will occur. In the future the SDK may create
22771// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22772// for more information on using Contexts.
22773func (c *EC2) DescribeScheduledInstancesPagesWithContext(ctx aws.Context, input *DescribeScheduledInstancesInput, fn func(*DescribeScheduledInstancesOutput, bool) bool, opts ...request.Option) error {
22774	p := request.Pagination{
22775		NewRequest: func() (*request.Request, error) {
22776			var inCpy *DescribeScheduledInstancesInput
22777			if input != nil {
22778				tmp := *input
22779				inCpy = &tmp
22780			}
22781			req, _ := c.DescribeScheduledInstancesRequest(inCpy)
22782			req.SetContext(ctx)
22783			req.ApplyOptions(opts...)
22784			return req, nil
22785		},
22786	}
22787
22788	for p.Next() {
22789		if !fn(p.Page().(*DescribeScheduledInstancesOutput), !p.HasNextPage()) {
22790			break
22791		}
22792	}
22793
22794	return p.Err()
22795}
22796
22797const opDescribeSecurityGroupReferences = "DescribeSecurityGroupReferences"
22798
22799// DescribeSecurityGroupReferencesRequest generates a "aws/request.Request" representing the
22800// client's request for the DescribeSecurityGroupReferences operation. The "output" return
22801// value will be populated with the request's response once the request completes
22802// successfully.
22803//
22804// Use "Send" method on the returned Request to send the API call to the service.
22805// the "output" return value is not valid until after Send returns without error.
22806//
22807// See DescribeSecurityGroupReferences for more information on using the DescribeSecurityGroupReferences
22808// API call, and error handling.
22809//
22810// This method is useful when you want to inject custom logic or configuration
22811// into the SDK's request lifecycle. Such as custom headers, or retry logic.
22812//
22813//
22814//    // Example sending a request using the DescribeSecurityGroupReferencesRequest method.
22815//    req, resp := client.DescribeSecurityGroupReferencesRequest(params)
22816//
22817//    err := req.Send()
22818//    if err == nil { // resp is now filled
22819//        fmt.Println(resp)
22820//    }
22821//
22822// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroupReferences
22823func (c *EC2) DescribeSecurityGroupReferencesRequest(input *DescribeSecurityGroupReferencesInput) (req *request.Request, output *DescribeSecurityGroupReferencesOutput) {
22824	op := &request.Operation{
22825		Name:       opDescribeSecurityGroupReferences,
22826		HTTPMethod: "POST",
22827		HTTPPath:   "/",
22828	}
22829
22830	if input == nil {
22831		input = &DescribeSecurityGroupReferencesInput{}
22832	}
22833
22834	output = &DescribeSecurityGroupReferencesOutput{}
22835	req = c.newRequest(op, input, output)
22836	return
22837}
22838
22839// DescribeSecurityGroupReferences API operation for Amazon Elastic Compute Cloud.
22840//
22841// [VPC only] Describes the VPCs on the other side of a VPC peering connection
22842// that are referencing the security groups you've specified in this request.
22843//
22844// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
22845// with awserr.Error's Code and Message methods to get detailed information about
22846// the error.
22847//
22848// See the AWS API reference guide for Amazon Elastic Compute Cloud's
22849// API operation DescribeSecurityGroupReferences for usage and error information.
22850// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroupReferences
22851func (c *EC2) DescribeSecurityGroupReferences(input *DescribeSecurityGroupReferencesInput) (*DescribeSecurityGroupReferencesOutput, error) {
22852	req, out := c.DescribeSecurityGroupReferencesRequest(input)
22853	return out, req.Send()
22854}
22855
22856// DescribeSecurityGroupReferencesWithContext is the same as DescribeSecurityGroupReferences with the addition of
22857// the ability to pass a context and additional request options.
22858//
22859// See DescribeSecurityGroupReferences for details on how to use this API operation.
22860//
22861// The context must be non-nil and will be used for request cancellation. If
22862// the context is nil a panic will occur. In the future the SDK may create
22863// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22864// for more information on using Contexts.
22865func (c *EC2) DescribeSecurityGroupReferencesWithContext(ctx aws.Context, input *DescribeSecurityGroupReferencesInput, opts ...request.Option) (*DescribeSecurityGroupReferencesOutput, error) {
22866	req, out := c.DescribeSecurityGroupReferencesRequest(input)
22867	req.SetContext(ctx)
22868	req.ApplyOptions(opts...)
22869	return out, req.Send()
22870}
22871
22872const opDescribeSecurityGroups = "DescribeSecurityGroups"
22873
22874// DescribeSecurityGroupsRequest generates a "aws/request.Request" representing the
22875// client's request for the DescribeSecurityGroups operation. The "output" return
22876// value will be populated with the request's response once the request completes
22877// successfully.
22878//
22879// Use "Send" method on the returned Request to send the API call to the service.
22880// the "output" return value is not valid until after Send returns without error.
22881//
22882// See DescribeSecurityGroups for more information on using the DescribeSecurityGroups
22883// API call, and error handling.
22884//
22885// This method is useful when you want to inject custom logic or configuration
22886// into the SDK's request lifecycle. Such as custom headers, or retry logic.
22887//
22888//
22889//    // Example sending a request using the DescribeSecurityGroupsRequest method.
22890//    req, resp := client.DescribeSecurityGroupsRequest(params)
22891//
22892//    err := req.Send()
22893//    if err == nil { // resp is now filled
22894//        fmt.Println(resp)
22895//    }
22896//
22897// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroups
22898func (c *EC2) DescribeSecurityGroupsRequest(input *DescribeSecurityGroupsInput) (req *request.Request, output *DescribeSecurityGroupsOutput) {
22899	op := &request.Operation{
22900		Name:       opDescribeSecurityGroups,
22901		HTTPMethod: "POST",
22902		HTTPPath:   "/",
22903		Paginator: &request.Paginator{
22904			InputTokens:     []string{"NextToken"},
22905			OutputTokens:    []string{"NextToken"},
22906			LimitToken:      "MaxResults",
22907			TruncationToken: "",
22908		},
22909	}
22910
22911	if input == nil {
22912		input = &DescribeSecurityGroupsInput{}
22913	}
22914
22915	output = &DescribeSecurityGroupsOutput{}
22916	req = c.newRequest(op, input, output)
22917	return
22918}
22919
22920// DescribeSecurityGroups API operation for Amazon Elastic Compute Cloud.
22921//
22922// Describes the specified security groups or all of your security groups.
22923//
22924// A security group is for use with instances either in the EC2-Classic platform
22925// or in a specific VPC. For more information, see Amazon EC2 Security Groups
22926// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html)
22927// in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your
22928// VPC (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)
22929// in the Amazon Virtual Private Cloud User Guide.
22930//
22931// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
22932// with awserr.Error's Code and Message methods to get detailed information about
22933// the error.
22934//
22935// See the AWS API reference guide for Amazon Elastic Compute Cloud's
22936// API operation DescribeSecurityGroups for usage and error information.
22937// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroups
22938func (c *EC2) DescribeSecurityGroups(input *DescribeSecurityGroupsInput) (*DescribeSecurityGroupsOutput, error) {
22939	req, out := c.DescribeSecurityGroupsRequest(input)
22940	return out, req.Send()
22941}
22942
22943// DescribeSecurityGroupsWithContext is the same as DescribeSecurityGroups with the addition of
22944// the ability to pass a context and additional request options.
22945//
22946// See DescribeSecurityGroups for details on how to use this API operation.
22947//
22948// The context must be non-nil and will be used for request cancellation. If
22949// the context is nil a panic will occur. In the future the SDK may create
22950// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22951// for more information on using Contexts.
22952func (c *EC2) DescribeSecurityGroupsWithContext(ctx aws.Context, input *DescribeSecurityGroupsInput, opts ...request.Option) (*DescribeSecurityGroupsOutput, error) {
22953	req, out := c.DescribeSecurityGroupsRequest(input)
22954	req.SetContext(ctx)
22955	req.ApplyOptions(opts...)
22956	return out, req.Send()
22957}
22958
22959// DescribeSecurityGroupsPages iterates over the pages of a DescribeSecurityGroups operation,
22960// calling the "fn" function with the response data for each page. To stop
22961// iterating, return false from the fn function.
22962//
22963// See DescribeSecurityGroups method for more information on how to use this operation.
22964//
22965// Note: This operation can generate multiple requests to a service.
22966//
22967//    // Example iterating over at most 3 pages of a DescribeSecurityGroups operation.
22968//    pageNum := 0
22969//    err := client.DescribeSecurityGroupsPages(params,
22970//        func(page *ec2.DescribeSecurityGroupsOutput, lastPage bool) bool {
22971//            pageNum++
22972//            fmt.Println(page)
22973//            return pageNum <= 3
22974//        })
22975//
22976func (c *EC2) DescribeSecurityGroupsPages(input *DescribeSecurityGroupsInput, fn func(*DescribeSecurityGroupsOutput, bool) bool) error {
22977	return c.DescribeSecurityGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
22978}
22979
22980// DescribeSecurityGroupsPagesWithContext same as DescribeSecurityGroupsPages except
22981// it takes a Context and allows setting request options on the pages.
22982//
22983// The context must be non-nil and will be used for request cancellation. If
22984// the context is nil a panic will occur. In the future the SDK may create
22985// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22986// for more information on using Contexts.
22987func (c *EC2) DescribeSecurityGroupsPagesWithContext(ctx aws.Context, input *DescribeSecurityGroupsInput, fn func(*DescribeSecurityGroupsOutput, bool) bool, opts ...request.Option) error {
22988	p := request.Pagination{
22989		NewRequest: func() (*request.Request, error) {
22990			var inCpy *DescribeSecurityGroupsInput
22991			if input != nil {
22992				tmp := *input
22993				inCpy = &tmp
22994			}
22995			req, _ := c.DescribeSecurityGroupsRequest(inCpy)
22996			req.SetContext(ctx)
22997			req.ApplyOptions(opts...)
22998			return req, nil
22999		},
23000	}
23001
23002	for p.Next() {
23003		if !fn(p.Page().(*DescribeSecurityGroupsOutput), !p.HasNextPage()) {
23004			break
23005		}
23006	}
23007
23008	return p.Err()
23009}
23010
23011const opDescribeSnapshotAttribute = "DescribeSnapshotAttribute"
23012
23013// DescribeSnapshotAttributeRequest generates a "aws/request.Request" representing the
23014// client's request for the DescribeSnapshotAttribute operation. The "output" return
23015// value will be populated with the request's response once the request completes
23016// successfully.
23017//
23018// Use "Send" method on the returned Request to send the API call to the service.
23019// the "output" return value is not valid until after Send returns without error.
23020//
23021// See DescribeSnapshotAttribute for more information on using the DescribeSnapshotAttribute
23022// API call, and error handling.
23023//
23024// This method is useful when you want to inject custom logic or configuration
23025// into the SDK's request lifecycle. Such as custom headers, or retry logic.
23026//
23027//
23028//    // Example sending a request using the DescribeSnapshotAttributeRequest method.
23029//    req, resp := client.DescribeSnapshotAttributeRequest(params)
23030//
23031//    err := req.Send()
23032//    if err == nil { // resp is now filled
23033//        fmt.Println(resp)
23034//    }
23035//
23036// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshotAttribute
23037func (c *EC2) DescribeSnapshotAttributeRequest(input *DescribeSnapshotAttributeInput) (req *request.Request, output *DescribeSnapshotAttributeOutput) {
23038	op := &request.Operation{
23039		Name:       opDescribeSnapshotAttribute,
23040		HTTPMethod: "POST",
23041		HTTPPath:   "/",
23042	}
23043
23044	if input == nil {
23045		input = &DescribeSnapshotAttributeInput{}
23046	}
23047
23048	output = &DescribeSnapshotAttributeOutput{}
23049	req = c.newRequest(op, input, output)
23050	return
23051}
23052
23053// DescribeSnapshotAttribute API operation for Amazon Elastic Compute Cloud.
23054//
23055// Describes the specified attribute of the specified snapshot. You can specify
23056// only one attribute at a time.
23057//
23058// For more information about EBS snapshots, see Amazon EBS snapshots (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html)
23059// in the Amazon Elastic Compute Cloud User Guide.
23060//
23061// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
23062// with awserr.Error's Code and Message methods to get detailed information about
23063// the error.
23064//
23065// See the AWS API reference guide for Amazon Elastic Compute Cloud's
23066// API operation DescribeSnapshotAttribute for usage and error information.
23067// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshotAttribute
23068func (c *EC2) DescribeSnapshotAttribute(input *DescribeSnapshotAttributeInput) (*DescribeSnapshotAttributeOutput, error) {
23069	req, out := c.DescribeSnapshotAttributeRequest(input)
23070	return out, req.Send()
23071}
23072
23073// DescribeSnapshotAttributeWithContext is the same as DescribeSnapshotAttribute with the addition of
23074// the ability to pass a context and additional request options.
23075//
23076// See DescribeSnapshotAttribute for details on how to use this API operation.
23077//
23078// The context must be non-nil and will be used for request cancellation. If
23079// the context is nil a panic will occur. In the future the SDK may create
23080// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23081// for more information on using Contexts.
23082func (c *EC2) DescribeSnapshotAttributeWithContext(ctx aws.Context, input *DescribeSnapshotAttributeInput, opts ...request.Option) (*DescribeSnapshotAttributeOutput, error) {
23083	req, out := c.DescribeSnapshotAttributeRequest(input)
23084	req.SetContext(ctx)
23085	req.ApplyOptions(opts...)
23086	return out, req.Send()
23087}
23088
23089const opDescribeSnapshots = "DescribeSnapshots"
23090
23091// DescribeSnapshotsRequest generates a "aws/request.Request" representing the
23092// client's request for the DescribeSnapshots operation. The "output" return
23093// value will be populated with the request's response once the request completes
23094// successfully.
23095//
23096// Use "Send" method on the returned Request to send the API call to the service.
23097// the "output" return value is not valid until after Send returns without error.
23098//
23099// See DescribeSnapshots for more information on using the DescribeSnapshots
23100// API call, and error handling.
23101//
23102// This method is useful when you want to inject custom logic or configuration
23103// into the SDK's request lifecycle. Such as custom headers, or retry logic.
23104//
23105//
23106//    // Example sending a request using the DescribeSnapshotsRequest method.
23107//    req, resp := client.DescribeSnapshotsRequest(params)
23108//
23109//    err := req.Send()
23110//    if err == nil { // resp is now filled
23111//        fmt.Println(resp)
23112//    }
23113//
23114// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshots
23115func (c *EC2) DescribeSnapshotsRequest(input *DescribeSnapshotsInput) (req *request.Request, output *DescribeSnapshotsOutput) {
23116	op := &request.Operation{
23117		Name:       opDescribeSnapshots,
23118		HTTPMethod: "POST",
23119		HTTPPath:   "/",
23120		Paginator: &request.Paginator{
23121			InputTokens:     []string{"NextToken"},
23122			OutputTokens:    []string{"NextToken"},
23123			LimitToken:      "MaxResults",
23124			TruncationToken: "",
23125		},
23126	}
23127
23128	if input == nil {
23129		input = &DescribeSnapshotsInput{}
23130	}
23131
23132	output = &DescribeSnapshotsOutput{}
23133	req = c.newRequest(op, input, output)
23134	return
23135}
23136
23137// DescribeSnapshots API operation for Amazon Elastic Compute Cloud.
23138//
23139// Describes the specified EBS snapshots available to you or all of the EBS
23140// snapshots available to you.
23141//
23142// The snapshots available to you include public snapshots, private snapshots
23143// that you own, and private snapshots owned by other AWS accounts for which
23144// you have explicit create volume permissions.
23145//
23146// The create volume permissions fall into the following categories:
23147//
23148//    * public: The owner of the snapshot granted create volume permissions
23149//    for the snapshot to the all group. All AWS accounts have create volume
23150//    permissions for these snapshots.
23151//
23152//    * explicit: The owner of the snapshot granted create volume permissions
23153//    to a specific AWS account.
23154//
23155//    * implicit: An AWS account has implicit create volume permissions for
23156//    all snapshots it owns.
23157//
23158// The list of snapshots returned can be filtered by specifying snapshot IDs,
23159// snapshot owners, or AWS accounts with create volume permissions. If no options
23160// are specified, Amazon EC2 returns all snapshots for which you have create
23161// volume permissions.
23162//
23163// If you specify one or more snapshot IDs, only snapshots that have the specified
23164// IDs are returned. If you specify an invalid snapshot ID, an error is returned.
23165// If you specify a snapshot ID for which you do not have access, it is not
23166// included in the returned results.
23167//
23168// If you specify one or more snapshot owners using the OwnerIds option, only
23169// snapshots from the specified owners and for which you have access are returned.
23170// The results can include the AWS account IDs of the specified owners, amazon
23171// for snapshots owned by Amazon, or self for snapshots that you own.
23172//
23173// If you specify a list of restorable users, only snapshots with create snapshot
23174// permissions for those users are returned. You can specify AWS account IDs
23175// (if you own the snapshots), self for snapshots for which you own or have
23176// explicit permissions, or all for public snapshots.
23177//
23178// If you are describing a long list of snapshots, we recommend that you paginate
23179// the output to make the list more manageable. The MaxResults parameter sets
23180// the maximum number of results returned in a single page. If the list of results
23181// exceeds your MaxResults value, then that number of results is returned along
23182// with a NextToken value that can be passed to a subsequent DescribeSnapshots
23183// request to retrieve the remaining results.
23184//
23185// To get the state of fast snapshot restores for a snapshot, use DescribeFastSnapshotRestores.
23186//
23187// For more information about EBS snapshots, see Amazon EBS snapshots (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html)
23188// in the Amazon Elastic Compute Cloud User Guide.
23189//
23190// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
23191// with awserr.Error's Code and Message methods to get detailed information about
23192// the error.
23193//
23194// See the AWS API reference guide for Amazon Elastic Compute Cloud's
23195// API operation DescribeSnapshots for usage and error information.
23196// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshots
23197func (c *EC2) DescribeSnapshots(input *DescribeSnapshotsInput) (*DescribeSnapshotsOutput, error) {
23198	req, out := c.DescribeSnapshotsRequest(input)
23199	return out, req.Send()
23200}
23201
23202// DescribeSnapshotsWithContext is the same as DescribeSnapshots with the addition of
23203// the ability to pass a context and additional request options.
23204//
23205// See DescribeSnapshots for details on how to use this API operation.
23206//
23207// The context must be non-nil and will be used for request cancellation. If
23208// the context is nil a panic will occur. In the future the SDK may create
23209// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23210// for more information on using Contexts.
23211func (c *EC2) DescribeSnapshotsWithContext(ctx aws.Context, input *DescribeSnapshotsInput, opts ...request.Option) (*DescribeSnapshotsOutput, error) {
23212	req, out := c.DescribeSnapshotsRequest(input)
23213	req.SetContext(ctx)
23214	req.ApplyOptions(opts...)
23215	return out, req.Send()
23216}
23217
23218// DescribeSnapshotsPages iterates over the pages of a DescribeSnapshots operation,
23219// calling the "fn" function with the response data for each page. To stop
23220// iterating, return false from the fn function.
23221//
23222// See DescribeSnapshots method for more information on how to use this operation.
23223//
23224// Note: This operation can generate multiple requests to a service.
23225//
23226//    // Example iterating over at most 3 pages of a DescribeSnapshots operation.
23227//    pageNum := 0
23228//    err := client.DescribeSnapshotsPages(params,
23229//        func(page *ec2.DescribeSnapshotsOutput, lastPage bool) bool {
23230//            pageNum++
23231//            fmt.Println(page)
23232//            return pageNum <= 3
23233//        })
23234//
23235func (c *EC2) DescribeSnapshotsPages(input *DescribeSnapshotsInput, fn func(*DescribeSnapshotsOutput, bool) bool) error {
23236	return c.DescribeSnapshotsPagesWithContext(aws.BackgroundContext(), input, fn)
23237}
23238
23239// DescribeSnapshotsPagesWithContext same as DescribeSnapshotsPages except
23240// it takes a Context and allows setting request options on the pages.
23241//
23242// The context must be non-nil and will be used for request cancellation. If
23243// the context is nil a panic will occur. In the future the SDK may create
23244// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23245// for more information on using Contexts.
23246func (c *EC2) DescribeSnapshotsPagesWithContext(ctx aws.Context, input *DescribeSnapshotsInput, fn func(*DescribeSnapshotsOutput, bool) bool, opts ...request.Option) error {
23247	p := request.Pagination{
23248		NewRequest: func() (*request.Request, error) {
23249			var inCpy *DescribeSnapshotsInput
23250			if input != nil {
23251				tmp := *input
23252				inCpy = &tmp
23253			}
23254			req, _ := c.DescribeSnapshotsRequest(inCpy)
23255			req.SetContext(ctx)
23256			req.ApplyOptions(opts...)
23257			return req, nil
23258		},
23259	}
23260
23261	for p.Next() {
23262		if !fn(p.Page().(*DescribeSnapshotsOutput), !p.HasNextPage()) {
23263			break
23264		}
23265	}
23266
23267	return p.Err()
23268}
23269
23270const opDescribeSpotDatafeedSubscription = "DescribeSpotDatafeedSubscription"
23271
23272// DescribeSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the
23273// client's request for the DescribeSpotDatafeedSubscription operation. The "output" return
23274// value will be populated with the request's response once the request completes
23275// successfully.
23276//
23277// Use "Send" method on the returned Request to send the API call to the service.
23278// the "output" return value is not valid until after Send returns without error.
23279//
23280// See DescribeSpotDatafeedSubscription for more information on using the DescribeSpotDatafeedSubscription
23281// API call, and error handling.
23282//
23283// This method is useful when you want to inject custom logic or configuration
23284// into the SDK's request lifecycle. Such as custom headers, or retry logic.
23285//
23286//
23287//    // Example sending a request using the DescribeSpotDatafeedSubscriptionRequest method.
23288//    req, resp := client.DescribeSpotDatafeedSubscriptionRequest(params)
23289//
23290//    err := req.Send()
23291//    if err == nil { // resp is now filled
23292//        fmt.Println(resp)
23293//    }
23294//
23295// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotDatafeedSubscription
23296func (c *EC2) DescribeSpotDatafeedSubscriptionRequest(input *DescribeSpotDatafeedSubscriptionInput) (req *request.Request, output *DescribeSpotDatafeedSubscriptionOutput) {
23297	op := &request.Operation{
23298		Name:       opDescribeSpotDatafeedSubscription,
23299		HTTPMethod: "POST",
23300		HTTPPath:   "/",
23301	}
23302
23303	if input == nil {
23304		input = &DescribeSpotDatafeedSubscriptionInput{}
23305	}
23306
23307	output = &DescribeSpotDatafeedSubscriptionOutput{}
23308	req = c.newRequest(op, input, output)
23309	return
23310}
23311
23312// DescribeSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud.
23313//
23314// Describes the data feed for Spot Instances. For more information, see Spot
23315// Instance data feed (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html)
23316// in the Amazon EC2 User Guide for Linux Instances.
23317//
23318// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
23319// with awserr.Error's Code and Message methods to get detailed information about
23320// the error.
23321//
23322// See the AWS API reference guide for Amazon Elastic Compute Cloud's
23323// API operation DescribeSpotDatafeedSubscription for usage and error information.
23324// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotDatafeedSubscription
23325func (c *EC2) DescribeSpotDatafeedSubscription(input *DescribeSpotDatafeedSubscriptionInput) (*DescribeSpotDatafeedSubscriptionOutput, error) {
23326	req, out := c.DescribeSpotDatafeedSubscriptionRequest(input)
23327	return out, req.Send()
23328}
23329
23330// DescribeSpotDatafeedSubscriptionWithContext is the same as DescribeSpotDatafeedSubscription with the addition of
23331// the ability to pass a context and additional request options.
23332//
23333// See DescribeSpotDatafeedSubscription for details on how to use this API operation.
23334//
23335// The context must be non-nil and will be used for request cancellation. If
23336// the context is nil a panic will occur. In the future the SDK may create
23337// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23338// for more information on using Contexts.
23339func (c *EC2) DescribeSpotDatafeedSubscriptionWithContext(ctx aws.Context, input *DescribeSpotDatafeedSubscriptionInput, opts ...request.Option) (*DescribeSpotDatafeedSubscriptionOutput, error) {
23340	req, out := c.DescribeSpotDatafeedSubscriptionRequest(input)
23341	req.SetContext(ctx)
23342	req.ApplyOptions(opts...)
23343	return out, req.Send()
23344}
23345
23346const opDescribeSpotFleetInstances = "DescribeSpotFleetInstances"
23347
23348// DescribeSpotFleetInstancesRequest generates a "aws/request.Request" representing the
23349// client's request for the DescribeSpotFleetInstances operation. The "output" return
23350// value will be populated with the request's response once the request completes
23351// successfully.
23352//
23353// Use "Send" method on the returned Request to send the API call to the service.
23354// the "output" return value is not valid until after Send returns without error.
23355//
23356// See DescribeSpotFleetInstances for more information on using the DescribeSpotFleetInstances
23357// API call, and error handling.
23358//
23359// This method is useful when you want to inject custom logic or configuration
23360// into the SDK's request lifecycle. Such as custom headers, or retry logic.
23361//
23362//
23363//    // Example sending a request using the DescribeSpotFleetInstancesRequest method.
23364//    req, resp := client.DescribeSpotFleetInstancesRequest(params)
23365//
23366//    err := req.Send()
23367//    if err == nil { // resp is now filled
23368//        fmt.Println(resp)
23369//    }
23370//
23371// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetInstances
23372func (c *EC2) DescribeSpotFleetInstancesRequest(input *DescribeSpotFleetInstancesInput) (req *request.Request, output *DescribeSpotFleetInstancesOutput) {
23373	op := &request.Operation{
23374		Name:       opDescribeSpotFleetInstances,
23375		HTTPMethod: "POST",
23376		HTTPPath:   "/",
23377	}
23378
23379	if input == nil {
23380		input = &DescribeSpotFleetInstancesInput{}
23381	}
23382
23383	output = &DescribeSpotFleetInstancesOutput{}
23384	req = c.newRequest(op, input, output)
23385	return
23386}
23387
23388// DescribeSpotFleetInstances API operation for Amazon Elastic Compute Cloud.
23389//
23390// Describes the running instances for the specified Spot Fleet.
23391//
23392// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
23393// with awserr.Error's Code and Message methods to get detailed information about
23394// the error.
23395//
23396// See the AWS API reference guide for Amazon Elastic Compute Cloud's
23397// API operation DescribeSpotFleetInstances for usage and error information.
23398// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetInstances
23399func (c *EC2) DescribeSpotFleetInstances(input *DescribeSpotFleetInstancesInput) (*DescribeSpotFleetInstancesOutput, error) {
23400	req, out := c.DescribeSpotFleetInstancesRequest(input)
23401	return out, req.Send()
23402}
23403
23404// DescribeSpotFleetInstancesWithContext is the same as DescribeSpotFleetInstances with the addition of
23405// the ability to pass a context and additional request options.
23406//
23407// See DescribeSpotFleetInstances for details on how to use this API operation.
23408//
23409// The context must be non-nil and will be used for request cancellation. If
23410// the context is nil a panic will occur. In the future the SDK may create
23411// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23412// for more information on using Contexts.
23413func (c *EC2) DescribeSpotFleetInstancesWithContext(ctx aws.Context, input *DescribeSpotFleetInstancesInput, opts ...request.Option) (*DescribeSpotFleetInstancesOutput, error) {
23414	req, out := c.DescribeSpotFleetInstancesRequest(input)
23415	req.SetContext(ctx)
23416	req.ApplyOptions(opts...)
23417	return out, req.Send()
23418}
23419
23420const opDescribeSpotFleetRequestHistory = "DescribeSpotFleetRequestHistory"
23421
23422// DescribeSpotFleetRequestHistoryRequest generates a "aws/request.Request" representing the
23423// client's request for the DescribeSpotFleetRequestHistory operation. The "output" return
23424// value will be populated with the request's response once the request completes
23425// successfully.
23426//
23427// Use "Send" method on the returned Request to send the API call to the service.
23428// the "output" return value is not valid until after Send returns without error.
23429//
23430// See DescribeSpotFleetRequestHistory for more information on using the DescribeSpotFleetRequestHistory
23431// API call, and error handling.
23432//
23433// This method is useful when you want to inject custom logic or configuration
23434// into the SDK's request lifecycle. Such as custom headers, or retry logic.
23435//
23436//
23437//    // Example sending a request using the DescribeSpotFleetRequestHistoryRequest method.
23438//    req, resp := client.DescribeSpotFleetRequestHistoryRequest(params)
23439//
23440//    err := req.Send()
23441//    if err == nil { // resp is now filled
23442//        fmt.Println(resp)
23443//    }
23444//
23445// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequestHistory
23446func (c *EC2) DescribeSpotFleetRequestHistoryRequest(input *DescribeSpotFleetRequestHistoryInput) (req *request.Request, output *DescribeSpotFleetRequestHistoryOutput) {
23447	op := &request.Operation{
23448		Name:       opDescribeSpotFleetRequestHistory,
23449		HTTPMethod: "POST",
23450		HTTPPath:   "/",
23451	}
23452
23453	if input == nil {
23454		input = &DescribeSpotFleetRequestHistoryInput{}
23455	}
23456
23457	output = &DescribeSpotFleetRequestHistoryOutput{}
23458	req = c.newRequest(op, input, output)
23459	return
23460}
23461
23462// DescribeSpotFleetRequestHistory API operation for Amazon Elastic Compute Cloud.
23463//
23464// Describes the events for the specified Spot Fleet request during the specified
23465// time.
23466//
23467// Spot Fleet events are delayed by up to 30 seconds before they can be described.
23468// This ensures that you can query by the last evaluated time and not miss a
23469// recorded event. Spot Fleet events are available for 48 hours.
23470//
23471// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
23472// with awserr.Error's Code and Message methods to get detailed information about
23473// the error.
23474//
23475// See the AWS API reference guide for Amazon Elastic Compute Cloud's
23476// API operation DescribeSpotFleetRequestHistory for usage and error information.
23477// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequestHistory
23478func (c *EC2) DescribeSpotFleetRequestHistory(input *DescribeSpotFleetRequestHistoryInput) (*DescribeSpotFleetRequestHistoryOutput, error) {
23479	req, out := c.DescribeSpotFleetRequestHistoryRequest(input)
23480	return out, req.Send()
23481}
23482
23483// DescribeSpotFleetRequestHistoryWithContext is the same as DescribeSpotFleetRequestHistory with the addition of
23484// the ability to pass a context and additional request options.
23485//
23486// See DescribeSpotFleetRequestHistory for details on how to use this API operation.
23487//
23488// The context must be non-nil and will be used for request cancellation. If
23489// the context is nil a panic will occur. In the future the SDK may create
23490// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23491// for more information on using Contexts.
23492func (c *EC2) DescribeSpotFleetRequestHistoryWithContext(ctx aws.Context, input *DescribeSpotFleetRequestHistoryInput, opts ...request.Option) (*DescribeSpotFleetRequestHistoryOutput, error) {
23493	req, out := c.DescribeSpotFleetRequestHistoryRequest(input)
23494	req.SetContext(ctx)
23495	req.ApplyOptions(opts...)
23496	return out, req.Send()
23497}
23498
23499const opDescribeSpotFleetRequests = "DescribeSpotFleetRequests"
23500
23501// DescribeSpotFleetRequestsRequest generates a "aws/request.Request" representing the
23502// client's request for the DescribeSpotFleetRequests operation. The "output" return
23503// value will be populated with the request's response once the request completes
23504// successfully.
23505//
23506// Use "Send" method on the returned Request to send the API call to the service.
23507// the "output" return value is not valid until after Send returns without error.
23508//
23509// See DescribeSpotFleetRequests for more information on using the DescribeSpotFleetRequests
23510// API call, and error handling.
23511//
23512// This method is useful when you want to inject custom logic or configuration
23513// into the SDK's request lifecycle. Such as custom headers, or retry logic.
23514//
23515//
23516//    // Example sending a request using the DescribeSpotFleetRequestsRequest method.
23517//    req, resp := client.DescribeSpotFleetRequestsRequest(params)
23518//
23519//    err := req.Send()
23520//    if err == nil { // resp is now filled
23521//        fmt.Println(resp)
23522//    }
23523//
23524// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequests
23525func (c *EC2) DescribeSpotFleetRequestsRequest(input *DescribeSpotFleetRequestsInput) (req *request.Request, output *DescribeSpotFleetRequestsOutput) {
23526	op := &request.Operation{
23527		Name:       opDescribeSpotFleetRequests,
23528		HTTPMethod: "POST",
23529		HTTPPath:   "/",
23530		Paginator: &request.Paginator{
23531			InputTokens:     []string{"NextToken"},
23532			OutputTokens:    []string{"NextToken"},
23533			LimitToken:      "MaxResults",
23534			TruncationToken: "",
23535		},
23536	}
23537
23538	if input == nil {
23539		input = &DescribeSpotFleetRequestsInput{}
23540	}
23541
23542	output = &DescribeSpotFleetRequestsOutput{}
23543	req = c.newRequest(op, input, output)
23544	return
23545}
23546
23547// DescribeSpotFleetRequests API operation for Amazon Elastic Compute Cloud.
23548//
23549// Describes your Spot Fleet requests.
23550//
23551// Spot Fleet requests are deleted 48 hours after they are canceled and their
23552// instances are terminated.
23553//
23554// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
23555// with awserr.Error's Code and Message methods to get detailed information about
23556// the error.
23557//
23558// See the AWS API reference guide for Amazon Elastic Compute Cloud's
23559// API operation DescribeSpotFleetRequests for usage and error information.
23560// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequests
23561func (c *EC2) DescribeSpotFleetRequests(input *DescribeSpotFleetRequestsInput) (*DescribeSpotFleetRequestsOutput, error) {
23562	req, out := c.DescribeSpotFleetRequestsRequest(input)
23563	return out, req.Send()
23564}
23565
23566// DescribeSpotFleetRequestsWithContext is the same as DescribeSpotFleetRequests with the addition of
23567// the ability to pass a context and additional request options.
23568//
23569// See DescribeSpotFleetRequests for details on how to use this API operation.
23570//
23571// The context must be non-nil and will be used for request cancellation. If
23572// the context is nil a panic will occur. In the future the SDK may create
23573// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23574// for more information on using Contexts.
23575func (c *EC2) DescribeSpotFleetRequestsWithContext(ctx aws.Context, input *DescribeSpotFleetRequestsInput, opts ...request.Option) (*DescribeSpotFleetRequestsOutput, error) {
23576	req, out := c.DescribeSpotFleetRequestsRequest(input)
23577	req.SetContext(ctx)
23578	req.ApplyOptions(opts...)
23579	return out, req.Send()
23580}
23581
23582// DescribeSpotFleetRequestsPages iterates over the pages of a DescribeSpotFleetRequests operation,
23583// calling the "fn" function with the response data for each page. To stop
23584// iterating, return false from the fn function.
23585//
23586// See DescribeSpotFleetRequests method for more information on how to use this operation.
23587//
23588// Note: This operation can generate multiple requests to a service.
23589//
23590//    // Example iterating over at most 3 pages of a DescribeSpotFleetRequests operation.
23591//    pageNum := 0
23592//    err := client.DescribeSpotFleetRequestsPages(params,
23593//        func(page *ec2.DescribeSpotFleetRequestsOutput, lastPage bool) bool {
23594//            pageNum++
23595//            fmt.Println(page)
23596//            return pageNum <= 3
23597//        })
23598//
23599func (c *EC2) DescribeSpotFleetRequestsPages(input *DescribeSpotFleetRequestsInput, fn func(*DescribeSpotFleetRequestsOutput, bool) bool) error {
23600	return c.DescribeSpotFleetRequestsPagesWithContext(aws.BackgroundContext(), input, fn)
23601}
23602
23603// DescribeSpotFleetRequestsPagesWithContext same as DescribeSpotFleetRequestsPages except
23604// it takes a Context and allows setting request options on the pages.
23605//
23606// The context must be non-nil and will be used for request cancellation. If
23607// the context is nil a panic will occur. In the future the SDK may create
23608// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23609// for more information on using Contexts.
23610func (c *EC2) DescribeSpotFleetRequestsPagesWithContext(ctx aws.Context, input *DescribeSpotFleetRequestsInput, fn func(*DescribeSpotFleetRequestsOutput, bool) bool, opts ...request.Option) error {
23611	p := request.Pagination{
23612		NewRequest: func() (*request.Request, error) {
23613			var inCpy *DescribeSpotFleetRequestsInput
23614			if input != nil {
23615				tmp := *input
23616				inCpy = &tmp
23617			}
23618			req, _ := c.DescribeSpotFleetRequestsRequest(inCpy)
23619			req.SetContext(ctx)
23620			req.ApplyOptions(opts...)
23621			return req, nil
23622		},
23623	}
23624
23625	for p.Next() {
23626		if !fn(p.Page().(*DescribeSpotFleetRequestsOutput), !p.HasNextPage()) {
23627			break
23628		}
23629	}
23630
23631	return p.Err()
23632}
23633
23634const opDescribeSpotInstanceRequests = "DescribeSpotInstanceRequests"
23635
23636// DescribeSpotInstanceRequestsRequest generates a "aws/request.Request" representing the
23637// client's request for the DescribeSpotInstanceRequests operation. The "output" return
23638// value will be populated with the request's response once the request completes
23639// successfully.
23640//
23641// Use "Send" method on the returned Request to send the API call to the service.
23642// the "output" return value is not valid until after Send returns without error.
23643//
23644// See DescribeSpotInstanceRequests for more information on using the DescribeSpotInstanceRequests
23645// API call, and error handling.
23646//
23647// This method is useful when you want to inject custom logic or configuration
23648// into the SDK's request lifecycle. Such as custom headers, or retry logic.
23649//
23650//
23651//    // Example sending a request using the DescribeSpotInstanceRequestsRequest method.
23652//    req, resp := client.DescribeSpotInstanceRequestsRequest(params)
23653//
23654//    err := req.Send()
23655//    if err == nil { // resp is now filled
23656//        fmt.Println(resp)
23657//    }
23658//
23659// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotInstanceRequests
23660func (c *EC2) DescribeSpotInstanceRequestsRequest(input *DescribeSpotInstanceRequestsInput) (req *request.Request, output *DescribeSpotInstanceRequestsOutput) {
23661	op := &request.Operation{
23662		Name:       opDescribeSpotInstanceRequests,
23663		HTTPMethod: "POST",
23664		HTTPPath:   "/",
23665		Paginator: &request.Paginator{
23666			InputTokens:     []string{"NextToken"},
23667			OutputTokens:    []string{"NextToken"},
23668			LimitToken:      "MaxResults",
23669			TruncationToken: "",
23670		},
23671	}
23672
23673	if input == nil {
23674		input = &DescribeSpotInstanceRequestsInput{}
23675	}
23676
23677	output = &DescribeSpotInstanceRequestsOutput{}
23678	req = c.newRequest(op, input, output)
23679	return
23680}
23681
23682// DescribeSpotInstanceRequests API operation for Amazon Elastic Compute Cloud.
23683//
23684// Describes the specified Spot Instance requests.
23685//
23686// You can use DescribeSpotInstanceRequests to find a running Spot Instance
23687// by examining the response. If the status of the Spot Instance is fulfilled,
23688// the instance ID appears in the response and contains the identifier of the
23689// instance. Alternatively, you can use DescribeInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances)
23690// with a filter to look for instances where the instance lifecycle is spot.
23691//
23692// We recommend that you set MaxResults to a value between 5 and 1000 to limit
23693// the number of results returned. This paginates the output, which makes the
23694// list more manageable and returns the results faster. If the list of results
23695// exceeds your MaxResults value, then that number of results is returned along
23696// with a NextToken value that can be passed to a subsequent DescribeSpotInstanceRequests
23697// request to retrieve the remaining results.
23698//
23699// Spot Instance requests are deleted four hours after they are canceled and
23700// their instances are terminated.
23701//
23702// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
23703// with awserr.Error's Code and Message methods to get detailed information about
23704// the error.
23705//
23706// See the AWS API reference guide for Amazon Elastic Compute Cloud's
23707// API operation DescribeSpotInstanceRequests for usage and error information.
23708// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotInstanceRequests
23709func (c *EC2) DescribeSpotInstanceRequests(input *DescribeSpotInstanceRequestsInput) (*DescribeSpotInstanceRequestsOutput, error) {
23710	req, out := c.DescribeSpotInstanceRequestsRequest(input)
23711	return out, req.Send()
23712}
23713
23714// DescribeSpotInstanceRequestsWithContext is the same as DescribeSpotInstanceRequests with the addition of
23715// the ability to pass a context and additional request options.
23716//
23717// See DescribeSpotInstanceRequests for details on how to use this API operation.
23718//
23719// The context must be non-nil and will be used for request cancellation. If
23720// the context is nil a panic will occur. In the future the SDK may create
23721// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23722// for more information on using Contexts.
23723func (c *EC2) DescribeSpotInstanceRequestsWithContext(ctx aws.Context, input *DescribeSpotInstanceRequestsInput, opts ...request.Option) (*DescribeSpotInstanceRequestsOutput, error) {
23724	req, out := c.DescribeSpotInstanceRequestsRequest(input)
23725	req.SetContext(ctx)
23726	req.ApplyOptions(opts...)
23727	return out, req.Send()
23728}
23729
23730// DescribeSpotInstanceRequestsPages iterates over the pages of a DescribeSpotInstanceRequests operation,
23731// calling the "fn" function with the response data for each page. To stop
23732// iterating, return false from the fn function.
23733//
23734// See DescribeSpotInstanceRequests method for more information on how to use this operation.
23735//
23736// Note: This operation can generate multiple requests to a service.
23737//
23738//    // Example iterating over at most 3 pages of a DescribeSpotInstanceRequests operation.
23739//    pageNum := 0
23740//    err := client.DescribeSpotInstanceRequestsPages(params,
23741//        func(page *ec2.DescribeSpotInstanceRequestsOutput, lastPage bool) bool {
23742//            pageNum++
23743//            fmt.Println(page)
23744//            return pageNum <= 3
23745//        })
23746//
23747func (c *EC2) DescribeSpotInstanceRequestsPages(input *DescribeSpotInstanceRequestsInput, fn func(*DescribeSpotInstanceRequestsOutput, bool) bool) error {
23748	return c.DescribeSpotInstanceRequestsPagesWithContext(aws.BackgroundContext(), input, fn)
23749}
23750
23751// DescribeSpotInstanceRequestsPagesWithContext same as DescribeSpotInstanceRequestsPages except
23752// it takes a Context and allows setting request options on the pages.
23753//
23754// The context must be non-nil and will be used for request cancellation. If
23755// the context is nil a panic will occur. In the future the SDK may create
23756// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23757// for more information on using Contexts.
23758func (c *EC2) DescribeSpotInstanceRequestsPagesWithContext(ctx aws.Context, input *DescribeSpotInstanceRequestsInput, fn func(*DescribeSpotInstanceRequestsOutput, bool) bool, opts ...request.Option) error {
23759	p := request.Pagination{
23760		NewRequest: func() (*request.Request, error) {
23761			var inCpy *DescribeSpotInstanceRequestsInput
23762			if input != nil {
23763				tmp := *input
23764				inCpy = &tmp
23765			}
23766			req, _ := c.DescribeSpotInstanceRequestsRequest(inCpy)
23767			req.SetContext(ctx)
23768			req.ApplyOptions(opts...)
23769			return req, nil
23770		},
23771	}
23772
23773	for p.Next() {
23774		if !fn(p.Page().(*DescribeSpotInstanceRequestsOutput), !p.HasNextPage()) {
23775			break
23776		}
23777	}
23778
23779	return p.Err()
23780}
23781
23782const opDescribeSpotPriceHistory = "DescribeSpotPriceHistory"
23783
23784// DescribeSpotPriceHistoryRequest generates a "aws/request.Request" representing the
23785// client's request for the DescribeSpotPriceHistory operation. The "output" return
23786// value will be populated with the request's response once the request completes
23787// successfully.
23788//
23789// Use "Send" method on the returned Request to send the API call to the service.
23790// the "output" return value is not valid until after Send returns without error.
23791//
23792// See DescribeSpotPriceHistory for more information on using the DescribeSpotPriceHistory
23793// API call, and error handling.
23794//
23795// This method is useful when you want to inject custom logic or configuration
23796// into the SDK's request lifecycle. Such as custom headers, or retry logic.
23797//
23798//
23799//    // Example sending a request using the DescribeSpotPriceHistoryRequest method.
23800//    req, resp := client.DescribeSpotPriceHistoryRequest(params)
23801//
23802//    err := req.Send()
23803//    if err == nil { // resp is now filled
23804//        fmt.Println(resp)
23805//    }
23806//
23807// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotPriceHistory
23808func (c *EC2) DescribeSpotPriceHistoryRequest(input *DescribeSpotPriceHistoryInput) (req *request.Request, output *DescribeSpotPriceHistoryOutput) {
23809	op := &request.Operation{
23810		Name:       opDescribeSpotPriceHistory,
23811		HTTPMethod: "POST",
23812		HTTPPath:   "/",
23813		Paginator: &request.Paginator{
23814			InputTokens:     []string{"NextToken"},
23815			OutputTokens:    []string{"NextToken"},
23816			LimitToken:      "MaxResults",
23817			TruncationToken: "",
23818		},
23819	}
23820
23821	if input == nil {
23822		input = &DescribeSpotPriceHistoryInput{}
23823	}
23824
23825	output = &DescribeSpotPriceHistoryOutput{}
23826	req = c.newRequest(op, input, output)
23827	return
23828}
23829
23830// DescribeSpotPriceHistory API operation for Amazon Elastic Compute Cloud.
23831//
23832// Describes the Spot price history. For more information, see Spot Instance
23833// pricing history (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances-history.html)
23834// in the Amazon EC2 User Guide for Linux Instances.
23835//
23836// When you specify a start and end time, the operation returns the prices of
23837// the instance types within that time range. It also returns the last price
23838// change before the start time, which is the effective price as of the start
23839// time.
23840//
23841// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
23842// with awserr.Error's Code and Message methods to get detailed information about
23843// the error.
23844//
23845// See the AWS API reference guide for Amazon Elastic Compute Cloud's
23846// API operation DescribeSpotPriceHistory for usage and error information.
23847// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotPriceHistory
23848func (c *EC2) DescribeSpotPriceHistory(input *DescribeSpotPriceHistoryInput) (*DescribeSpotPriceHistoryOutput, error) {
23849	req, out := c.DescribeSpotPriceHistoryRequest(input)
23850	return out, req.Send()
23851}
23852
23853// DescribeSpotPriceHistoryWithContext is the same as DescribeSpotPriceHistory with the addition of
23854// the ability to pass a context and additional request options.
23855//
23856// See DescribeSpotPriceHistory for details on how to use this API operation.
23857//
23858// The context must be non-nil and will be used for request cancellation. If
23859// the context is nil a panic will occur. In the future the SDK may create
23860// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23861// for more information on using Contexts.
23862func (c *EC2) DescribeSpotPriceHistoryWithContext(ctx aws.Context, input *DescribeSpotPriceHistoryInput, opts ...request.Option) (*DescribeSpotPriceHistoryOutput, error) {
23863	req, out := c.DescribeSpotPriceHistoryRequest(input)
23864	req.SetContext(ctx)
23865	req.ApplyOptions(opts...)
23866	return out, req.Send()
23867}
23868
23869// DescribeSpotPriceHistoryPages iterates over the pages of a DescribeSpotPriceHistory operation,
23870// calling the "fn" function with the response data for each page. To stop
23871// iterating, return false from the fn function.
23872//
23873// See DescribeSpotPriceHistory method for more information on how to use this operation.
23874//
23875// Note: This operation can generate multiple requests to a service.
23876//
23877//    // Example iterating over at most 3 pages of a DescribeSpotPriceHistory operation.
23878//    pageNum := 0
23879//    err := client.DescribeSpotPriceHistoryPages(params,
23880//        func(page *ec2.DescribeSpotPriceHistoryOutput, lastPage bool) bool {
23881//            pageNum++
23882//            fmt.Println(page)
23883//            return pageNum <= 3
23884//        })
23885//
23886func (c *EC2) DescribeSpotPriceHistoryPages(input *DescribeSpotPriceHistoryInput, fn func(*DescribeSpotPriceHistoryOutput, bool) bool) error {
23887	return c.DescribeSpotPriceHistoryPagesWithContext(aws.BackgroundContext(), input, fn)
23888}
23889
23890// DescribeSpotPriceHistoryPagesWithContext same as DescribeSpotPriceHistoryPages except
23891// it takes a Context and allows setting request options on the pages.
23892//
23893// The context must be non-nil and will be used for request cancellation. If
23894// the context is nil a panic will occur. In the future the SDK may create
23895// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23896// for more information on using Contexts.
23897func (c *EC2) DescribeSpotPriceHistoryPagesWithContext(ctx aws.Context, input *DescribeSpotPriceHistoryInput, fn func(*DescribeSpotPriceHistoryOutput, bool) bool, opts ...request.Option) error {
23898	p := request.Pagination{
23899		NewRequest: func() (*request.Request, error) {
23900			var inCpy *DescribeSpotPriceHistoryInput
23901			if input != nil {
23902				tmp := *input
23903				inCpy = &tmp
23904			}
23905			req, _ := c.DescribeSpotPriceHistoryRequest(inCpy)
23906			req.SetContext(ctx)
23907			req.ApplyOptions(opts...)
23908			return req, nil
23909		},
23910	}
23911
23912	for p.Next() {
23913		if !fn(p.Page().(*DescribeSpotPriceHistoryOutput), !p.HasNextPage()) {
23914			break
23915		}
23916	}
23917
23918	return p.Err()
23919}
23920
23921const opDescribeStaleSecurityGroups = "DescribeStaleSecurityGroups"
23922
23923// DescribeStaleSecurityGroupsRequest generates a "aws/request.Request" representing the
23924// client's request for the DescribeStaleSecurityGroups operation. The "output" return
23925// value will be populated with the request's response once the request completes
23926// successfully.
23927//
23928// Use "Send" method on the returned Request to send the API call to the service.
23929// the "output" return value is not valid until after Send returns without error.
23930//
23931// See DescribeStaleSecurityGroups for more information on using the DescribeStaleSecurityGroups
23932// API call, and error handling.
23933//
23934// This method is useful when you want to inject custom logic or configuration
23935// into the SDK's request lifecycle. Such as custom headers, or retry logic.
23936//
23937//
23938//    // Example sending a request using the DescribeStaleSecurityGroupsRequest method.
23939//    req, resp := client.DescribeStaleSecurityGroupsRequest(params)
23940//
23941//    err := req.Send()
23942//    if err == nil { // resp is now filled
23943//        fmt.Println(resp)
23944//    }
23945//
23946// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeStaleSecurityGroups
23947func (c *EC2) DescribeStaleSecurityGroupsRequest(input *DescribeStaleSecurityGroupsInput) (req *request.Request, output *DescribeStaleSecurityGroupsOutput) {
23948	op := &request.Operation{
23949		Name:       opDescribeStaleSecurityGroups,
23950		HTTPMethod: "POST",
23951		HTTPPath:   "/",
23952		Paginator: &request.Paginator{
23953			InputTokens:     []string{"NextToken"},
23954			OutputTokens:    []string{"NextToken"},
23955			LimitToken:      "MaxResults",
23956			TruncationToken: "",
23957		},
23958	}
23959
23960	if input == nil {
23961		input = &DescribeStaleSecurityGroupsInput{}
23962	}
23963
23964	output = &DescribeStaleSecurityGroupsOutput{}
23965	req = c.newRequest(op, input, output)
23966	return
23967}
23968
23969// DescribeStaleSecurityGroups API operation for Amazon Elastic Compute Cloud.
23970//
23971// [VPC only] Describes the stale security group rules for security groups in
23972// a specified VPC. Rules are stale when they reference a deleted security group
23973// in a peer VPC, or a security group in a peer VPC for which the VPC peering
23974// connection has been deleted.
23975//
23976// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
23977// with awserr.Error's Code and Message methods to get detailed information about
23978// the error.
23979//
23980// See the AWS API reference guide for Amazon Elastic Compute Cloud's
23981// API operation DescribeStaleSecurityGroups for usage and error information.
23982// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeStaleSecurityGroups
23983func (c *EC2) DescribeStaleSecurityGroups(input *DescribeStaleSecurityGroupsInput) (*DescribeStaleSecurityGroupsOutput, error) {
23984	req, out := c.DescribeStaleSecurityGroupsRequest(input)
23985	return out, req.Send()
23986}
23987
23988// DescribeStaleSecurityGroupsWithContext is the same as DescribeStaleSecurityGroups with the addition of
23989// the ability to pass a context and additional request options.
23990//
23991// See DescribeStaleSecurityGroups for details on how to use this API operation.
23992//
23993// The context must be non-nil and will be used for request cancellation. If
23994// the context is nil a panic will occur. In the future the SDK may create
23995// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23996// for more information on using Contexts.
23997func (c *EC2) DescribeStaleSecurityGroupsWithContext(ctx aws.Context, input *DescribeStaleSecurityGroupsInput, opts ...request.Option) (*DescribeStaleSecurityGroupsOutput, error) {
23998	req, out := c.DescribeStaleSecurityGroupsRequest(input)
23999	req.SetContext(ctx)
24000	req.ApplyOptions(opts...)
24001	return out, req.Send()
24002}
24003
24004// DescribeStaleSecurityGroupsPages iterates over the pages of a DescribeStaleSecurityGroups operation,
24005// calling the "fn" function with the response data for each page. To stop
24006// iterating, return false from the fn function.
24007//
24008// See DescribeStaleSecurityGroups method for more information on how to use this operation.
24009//
24010// Note: This operation can generate multiple requests to a service.
24011//
24012//    // Example iterating over at most 3 pages of a DescribeStaleSecurityGroups operation.
24013//    pageNum := 0
24014//    err := client.DescribeStaleSecurityGroupsPages(params,
24015//        func(page *ec2.DescribeStaleSecurityGroupsOutput, lastPage bool) bool {
24016//            pageNum++
24017//            fmt.Println(page)
24018//            return pageNum <= 3
24019//        })
24020//
24021func (c *EC2) DescribeStaleSecurityGroupsPages(input *DescribeStaleSecurityGroupsInput, fn func(*DescribeStaleSecurityGroupsOutput, bool) bool) error {
24022	return c.DescribeStaleSecurityGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
24023}
24024
24025// DescribeStaleSecurityGroupsPagesWithContext same as DescribeStaleSecurityGroupsPages except
24026// it takes a Context and allows setting request options on the pages.
24027//
24028// The context must be non-nil and will be used for request cancellation. If
24029// the context is nil a panic will occur. In the future the SDK may create
24030// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24031// for more information on using Contexts.
24032func (c *EC2) DescribeStaleSecurityGroupsPagesWithContext(ctx aws.Context, input *DescribeStaleSecurityGroupsInput, fn func(*DescribeStaleSecurityGroupsOutput, bool) bool, opts ...request.Option) error {
24033	p := request.Pagination{
24034		NewRequest: func() (*request.Request, error) {
24035			var inCpy *DescribeStaleSecurityGroupsInput
24036			if input != nil {
24037				tmp := *input
24038				inCpy = &tmp
24039			}
24040			req, _ := c.DescribeStaleSecurityGroupsRequest(inCpy)
24041			req.SetContext(ctx)
24042			req.ApplyOptions(opts...)
24043			return req, nil
24044		},
24045	}
24046
24047	for p.Next() {
24048		if !fn(p.Page().(*DescribeStaleSecurityGroupsOutput), !p.HasNextPage()) {
24049			break
24050		}
24051	}
24052
24053	return p.Err()
24054}
24055
24056const opDescribeStoreImageTasks = "DescribeStoreImageTasks"
24057
24058// DescribeStoreImageTasksRequest generates a "aws/request.Request" representing the
24059// client's request for the DescribeStoreImageTasks operation. The "output" return
24060// value will be populated with the request's response once the request completes
24061// successfully.
24062//
24063// Use "Send" method on the returned Request to send the API call to the service.
24064// the "output" return value is not valid until after Send returns without error.
24065//
24066// See DescribeStoreImageTasks for more information on using the DescribeStoreImageTasks
24067// API call, and error handling.
24068//
24069// This method is useful when you want to inject custom logic or configuration
24070// into the SDK's request lifecycle. Such as custom headers, or retry logic.
24071//
24072//
24073//    // Example sending a request using the DescribeStoreImageTasksRequest method.
24074//    req, resp := client.DescribeStoreImageTasksRequest(params)
24075//
24076//    err := req.Send()
24077//    if err == nil { // resp is now filled
24078//        fmt.Println(resp)
24079//    }
24080//
24081// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeStoreImageTasks
24082func (c *EC2) DescribeStoreImageTasksRequest(input *DescribeStoreImageTasksInput) (req *request.Request, output *DescribeStoreImageTasksOutput) {
24083	op := &request.Operation{
24084		Name:       opDescribeStoreImageTasks,
24085		HTTPMethod: "POST",
24086		HTTPPath:   "/",
24087		Paginator: &request.Paginator{
24088			InputTokens:     []string{"NextToken"},
24089			OutputTokens:    []string{"NextToken"},
24090			LimitToken:      "MaxResults",
24091			TruncationToken: "",
24092		},
24093	}
24094
24095	if input == nil {
24096		input = &DescribeStoreImageTasksInput{}
24097	}
24098
24099	output = &DescribeStoreImageTasksOutput{}
24100	req = c.newRequest(op, input, output)
24101	return
24102}
24103
24104// DescribeStoreImageTasks API operation for Amazon Elastic Compute Cloud.
24105//
24106// Describes the progress of the AMI store tasks. You can describe the store
24107// tasks for specified AMIs. If you don't specify the AMIs, you get a paginated
24108// list of store tasks from the last 31 days.
24109//
24110// For each AMI task, the response indicates if the task is InProgress, Completed,
24111// or Failed. For tasks InProgress, the response shows the estimated progress
24112// as a percentage.
24113//
24114// Tasks are listed in reverse chronological order. Currently, only tasks from
24115// the past 31 days can be viewed.
24116//
24117// To use this API, you must have the required permissions. For more information,
24118// see Permissions for storing and restoring AMIs using S3 (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-store-restore.html#ami-s3-permissions)
24119// in the Amazon Elastic Compute Cloud User Guide.
24120//
24121// For more information, see Store and restore an AMI using S3 (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-store-restore.html)
24122// in the Amazon Elastic Compute Cloud User Guide.
24123//
24124// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
24125// with awserr.Error's Code and Message methods to get detailed information about
24126// the error.
24127//
24128// See the AWS API reference guide for Amazon Elastic Compute Cloud's
24129// API operation DescribeStoreImageTasks for usage and error information.
24130// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeStoreImageTasks
24131func (c *EC2) DescribeStoreImageTasks(input *DescribeStoreImageTasksInput) (*DescribeStoreImageTasksOutput, error) {
24132	req, out := c.DescribeStoreImageTasksRequest(input)
24133	return out, req.Send()
24134}
24135
24136// DescribeStoreImageTasksWithContext is the same as DescribeStoreImageTasks with the addition of
24137// the ability to pass a context and additional request options.
24138//
24139// See DescribeStoreImageTasks for details on how to use this API operation.
24140//
24141// The context must be non-nil and will be used for request cancellation. If
24142// the context is nil a panic will occur. In the future the SDK may create
24143// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24144// for more information on using Contexts.
24145func (c *EC2) DescribeStoreImageTasksWithContext(ctx aws.Context, input *DescribeStoreImageTasksInput, opts ...request.Option) (*DescribeStoreImageTasksOutput, error) {
24146	req, out := c.DescribeStoreImageTasksRequest(input)
24147	req.SetContext(ctx)
24148	req.ApplyOptions(opts...)
24149	return out, req.Send()
24150}
24151
24152// DescribeStoreImageTasksPages iterates over the pages of a DescribeStoreImageTasks operation,
24153// calling the "fn" function with the response data for each page. To stop
24154// iterating, return false from the fn function.
24155//
24156// See DescribeStoreImageTasks method for more information on how to use this operation.
24157//
24158// Note: This operation can generate multiple requests to a service.
24159//
24160//    // Example iterating over at most 3 pages of a DescribeStoreImageTasks operation.
24161//    pageNum := 0
24162//    err := client.DescribeStoreImageTasksPages(params,
24163//        func(page *ec2.DescribeStoreImageTasksOutput, lastPage bool) bool {
24164//            pageNum++
24165//            fmt.Println(page)
24166//            return pageNum <= 3
24167//        })
24168//
24169func (c *EC2) DescribeStoreImageTasksPages(input *DescribeStoreImageTasksInput, fn func(*DescribeStoreImageTasksOutput, bool) bool) error {
24170	return c.DescribeStoreImageTasksPagesWithContext(aws.BackgroundContext(), input, fn)
24171}
24172
24173// DescribeStoreImageTasksPagesWithContext same as DescribeStoreImageTasksPages except
24174// it takes a Context and allows setting request options on the pages.
24175//
24176// The context must be non-nil and will be used for request cancellation. If
24177// the context is nil a panic will occur. In the future the SDK may create
24178// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24179// for more information on using Contexts.
24180func (c *EC2) DescribeStoreImageTasksPagesWithContext(ctx aws.Context, input *DescribeStoreImageTasksInput, fn func(*DescribeStoreImageTasksOutput, bool) bool, opts ...request.Option) error {
24181	p := request.Pagination{
24182		NewRequest: func() (*request.Request, error) {
24183			var inCpy *DescribeStoreImageTasksInput
24184			if input != nil {
24185				tmp := *input
24186				inCpy = &tmp
24187			}
24188			req, _ := c.DescribeStoreImageTasksRequest(inCpy)
24189			req.SetContext(ctx)
24190			req.ApplyOptions(opts...)
24191			return req, nil
24192		},
24193	}
24194
24195	for p.Next() {
24196		if !fn(p.Page().(*DescribeStoreImageTasksOutput), !p.HasNextPage()) {
24197			break
24198		}
24199	}
24200
24201	return p.Err()
24202}
24203
24204const opDescribeSubnets = "DescribeSubnets"
24205
24206// DescribeSubnetsRequest generates a "aws/request.Request" representing the
24207// client's request for the DescribeSubnets operation. The "output" return
24208// value will be populated with the request's response once the request completes
24209// successfully.
24210//
24211// Use "Send" method on the returned Request to send the API call to the service.
24212// the "output" return value is not valid until after Send returns without error.
24213//
24214// See DescribeSubnets for more information on using the DescribeSubnets
24215// API call, and error handling.
24216//
24217// This method is useful when you want to inject custom logic or configuration
24218// into the SDK's request lifecycle. Such as custom headers, or retry logic.
24219//
24220//
24221//    // Example sending a request using the DescribeSubnetsRequest method.
24222//    req, resp := client.DescribeSubnetsRequest(params)
24223//
24224//    err := req.Send()
24225//    if err == nil { // resp is now filled
24226//        fmt.Println(resp)
24227//    }
24228//
24229// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSubnets
24230func (c *EC2) DescribeSubnetsRequest(input *DescribeSubnetsInput) (req *request.Request, output *DescribeSubnetsOutput) {
24231	op := &request.Operation{
24232		Name:       opDescribeSubnets,
24233		HTTPMethod: "POST",
24234		HTTPPath:   "/",
24235		Paginator: &request.Paginator{
24236			InputTokens:     []string{"NextToken"},
24237			OutputTokens:    []string{"NextToken"},
24238			LimitToken:      "MaxResults",
24239			TruncationToken: "",
24240		},
24241	}
24242
24243	if input == nil {
24244		input = &DescribeSubnetsInput{}
24245	}
24246
24247	output = &DescribeSubnetsOutput{}
24248	req = c.newRequest(op, input, output)
24249	return
24250}
24251
24252// DescribeSubnets API operation for Amazon Elastic Compute Cloud.
24253//
24254// Describes one or more of your subnets.
24255//
24256// For more information, see Your VPC and Subnets (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html)
24257// in the Amazon Virtual Private Cloud User Guide.
24258//
24259// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
24260// with awserr.Error's Code and Message methods to get detailed information about
24261// the error.
24262//
24263// See the AWS API reference guide for Amazon Elastic Compute Cloud's
24264// API operation DescribeSubnets for usage and error information.
24265// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSubnets
24266func (c *EC2) DescribeSubnets(input *DescribeSubnetsInput) (*DescribeSubnetsOutput, error) {
24267	req, out := c.DescribeSubnetsRequest(input)
24268	return out, req.Send()
24269}
24270
24271// DescribeSubnetsWithContext is the same as DescribeSubnets with the addition of
24272// the ability to pass a context and additional request options.
24273//
24274// See DescribeSubnets for details on how to use this API operation.
24275//
24276// The context must be non-nil and will be used for request cancellation. If
24277// the context is nil a panic will occur. In the future the SDK may create
24278// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24279// for more information on using Contexts.
24280func (c *EC2) DescribeSubnetsWithContext(ctx aws.Context, input *DescribeSubnetsInput, opts ...request.Option) (*DescribeSubnetsOutput, error) {
24281	req, out := c.DescribeSubnetsRequest(input)
24282	req.SetContext(ctx)
24283	req.ApplyOptions(opts...)
24284	return out, req.Send()
24285}
24286
24287// DescribeSubnetsPages iterates over the pages of a DescribeSubnets operation,
24288// calling the "fn" function with the response data for each page. To stop
24289// iterating, return false from the fn function.
24290//
24291// See DescribeSubnets method for more information on how to use this operation.
24292//
24293// Note: This operation can generate multiple requests to a service.
24294//
24295//    // Example iterating over at most 3 pages of a DescribeSubnets operation.
24296//    pageNum := 0
24297//    err := client.DescribeSubnetsPages(params,
24298//        func(page *ec2.DescribeSubnetsOutput, lastPage bool) bool {
24299//            pageNum++
24300//            fmt.Println(page)
24301//            return pageNum <= 3
24302//        })
24303//
24304func (c *EC2) DescribeSubnetsPages(input *DescribeSubnetsInput, fn func(*DescribeSubnetsOutput, bool) bool) error {
24305	return c.DescribeSubnetsPagesWithContext(aws.BackgroundContext(), input, fn)
24306}
24307
24308// DescribeSubnetsPagesWithContext same as DescribeSubnetsPages except
24309// it takes a Context and allows setting request options on the pages.
24310//
24311// The context must be non-nil and will be used for request cancellation. If
24312// the context is nil a panic will occur. In the future the SDK may create
24313// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24314// for more information on using Contexts.
24315func (c *EC2) DescribeSubnetsPagesWithContext(ctx aws.Context, input *DescribeSubnetsInput, fn func(*DescribeSubnetsOutput, bool) bool, opts ...request.Option) error {
24316	p := request.Pagination{
24317		NewRequest: func() (*request.Request, error) {
24318			var inCpy *DescribeSubnetsInput
24319			if input != nil {
24320				tmp := *input
24321				inCpy = &tmp
24322			}
24323			req, _ := c.DescribeSubnetsRequest(inCpy)
24324			req.SetContext(ctx)
24325			req.ApplyOptions(opts...)
24326			return req, nil
24327		},
24328	}
24329
24330	for p.Next() {
24331		if !fn(p.Page().(*DescribeSubnetsOutput), !p.HasNextPage()) {
24332			break
24333		}
24334	}
24335
24336	return p.Err()
24337}
24338
24339const opDescribeTags = "DescribeTags"
24340
24341// DescribeTagsRequest generates a "aws/request.Request" representing the
24342// client's request for the DescribeTags operation. The "output" return
24343// value will be populated with the request's response once the request completes
24344// successfully.
24345//
24346// Use "Send" method on the returned Request to send the API call to the service.
24347// the "output" return value is not valid until after Send returns without error.
24348//
24349// See DescribeTags for more information on using the DescribeTags
24350// API call, and error handling.
24351//
24352// This method is useful when you want to inject custom logic or configuration
24353// into the SDK's request lifecycle. Such as custom headers, or retry logic.
24354//
24355//
24356//    // Example sending a request using the DescribeTagsRequest method.
24357//    req, resp := client.DescribeTagsRequest(params)
24358//
24359//    err := req.Send()
24360//    if err == nil { // resp is now filled
24361//        fmt.Println(resp)
24362//    }
24363//
24364// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTags
24365func (c *EC2) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Request, output *DescribeTagsOutput) {
24366	op := &request.Operation{
24367		Name:       opDescribeTags,
24368		HTTPMethod: "POST",
24369		HTTPPath:   "/",
24370		Paginator: &request.Paginator{
24371			InputTokens:     []string{"NextToken"},
24372			OutputTokens:    []string{"NextToken"},
24373			LimitToken:      "MaxResults",
24374			TruncationToken: "",
24375		},
24376	}
24377
24378	if input == nil {
24379		input = &DescribeTagsInput{}
24380	}
24381
24382	output = &DescribeTagsOutput{}
24383	req = c.newRequest(op, input, output)
24384	return
24385}
24386
24387// DescribeTags API operation for Amazon Elastic Compute Cloud.
24388//
24389// Describes the specified tags for your EC2 resources.
24390//
24391// For more information about tags, see Tagging Your Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
24392// in the Amazon Elastic Compute Cloud User Guide.
24393//
24394// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
24395// with awserr.Error's Code and Message methods to get detailed information about
24396// the error.
24397//
24398// See the AWS API reference guide for Amazon Elastic Compute Cloud's
24399// API operation DescribeTags for usage and error information.
24400// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTags
24401func (c *EC2) DescribeTags(input *DescribeTagsInput) (*DescribeTagsOutput, error) {
24402	req, out := c.DescribeTagsRequest(input)
24403	return out, req.Send()
24404}
24405
24406// DescribeTagsWithContext is the same as DescribeTags with the addition of
24407// the ability to pass a context and additional request options.
24408//
24409// See DescribeTags for details on how to use this API operation.
24410//
24411// The context must be non-nil and will be used for request cancellation. If
24412// the context is nil a panic will occur. In the future the SDK may create
24413// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24414// for more information on using Contexts.
24415func (c *EC2) DescribeTagsWithContext(ctx aws.Context, input *DescribeTagsInput, opts ...request.Option) (*DescribeTagsOutput, error) {
24416	req, out := c.DescribeTagsRequest(input)
24417	req.SetContext(ctx)
24418	req.ApplyOptions(opts...)
24419	return out, req.Send()
24420}
24421
24422// DescribeTagsPages iterates over the pages of a DescribeTags operation,
24423// calling the "fn" function with the response data for each page. To stop
24424// iterating, return false from the fn function.
24425//
24426// See DescribeTags method for more information on how to use this operation.
24427//
24428// Note: This operation can generate multiple requests to a service.
24429//
24430//    // Example iterating over at most 3 pages of a DescribeTags operation.
24431//    pageNum := 0
24432//    err := client.DescribeTagsPages(params,
24433//        func(page *ec2.DescribeTagsOutput, lastPage bool) bool {
24434//            pageNum++
24435//            fmt.Println(page)
24436//            return pageNum <= 3
24437//        })
24438//
24439func (c *EC2) DescribeTagsPages(input *DescribeTagsInput, fn func(*DescribeTagsOutput, bool) bool) error {
24440	return c.DescribeTagsPagesWithContext(aws.BackgroundContext(), input, fn)
24441}
24442
24443// DescribeTagsPagesWithContext same as DescribeTagsPages except
24444// it takes a Context and allows setting request options on the pages.
24445//
24446// The context must be non-nil and will be used for request cancellation. If
24447// the context is nil a panic will occur. In the future the SDK may create
24448// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24449// for more information on using Contexts.
24450func (c *EC2) DescribeTagsPagesWithContext(ctx aws.Context, input *DescribeTagsInput, fn func(*DescribeTagsOutput, bool) bool, opts ...request.Option) error {
24451	p := request.Pagination{
24452		NewRequest: func() (*request.Request, error) {
24453			var inCpy *DescribeTagsInput
24454			if input != nil {
24455				tmp := *input
24456				inCpy = &tmp
24457			}
24458			req, _ := c.DescribeTagsRequest(inCpy)
24459			req.SetContext(ctx)
24460			req.ApplyOptions(opts...)
24461			return req, nil
24462		},
24463	}
24464
24465	for p.Next() {
24466		if !fn(p.Page().(*DescribeTagsOutput), !p.HasNextPage()) {
24467			break
24468		}
24469	}
24470
24471	return p.Err()
24472}
24473
24474const opDescribeTrafficMirrorFilters = "DescribeTrafficMirrorFilters"
24475
24476// DescribeTrafficMirrorFiltersRequest generates a "aws/request.Request" representing the
24477// client's request for the DescribeTrafficMirrorFilters operation. The "output" return
24478// value will be populated with the request's response once the request completes
24479// successfully.
24480//
24481// Use "Send" method on the returned Request to send the API call to the service.
24482// the "output" return value is not valid until after Send returns without error.
24483//
24484// See DescribeTrafficMirrorFilters for more information on using the DescribeTrafficMirrorFilters
24485// API call, and error handling.
24486//
24487// This method is useful when you want to inject custom logic or configuration
24488// into the SDK's request lifecycle. Such as custom headers, or retry logic.
24489//
24490//
24491//    // Example sending a request using the DescribeTrafficMirrorFiltersRequest method.
24492//    req, resp := client.DescribeTrafficMirrorFiltersRequest(params)
24493//
24494//    err := req.Send()
24495//    if err == nil { // resp is now filled
24496//        fmt.Println(resp)
24497//    }
24498//
24499// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTrafficMirrorFilters
24500func (c *EC2) DescribeTrafficMirrorFiltersRequest(input *DescribeTrafficMirrorFiltersInput) (req *request.Request, output *DescribeTrafficMirrorFiltersOutput) {
24501	op := &request.Operation{
24502		Name:       opDescribeTrafficMirrorFilters,
24503		HTTPMethod: "POST",
24504		HTTPPath:   "/",
24505		Paginator: &request.Paginator{
24506			InputTokens:     []string{"NextToken"},
24507			OutputTokens:    []string{"NextToken"},
24508			LimitToken:      "MaxResults",
24509			TruncationToken: "",
24510		},
24511	}
24512
24513	if input == nil {
24514		input = &DescribeTrafficMirrorFiltersInput{}
24515	}
24516
24517	output = &DescribeTrafficMirrorFiltersOutput{}
24518	req = c.newRequest(op, input, output)
24519	return
24520}
24521
24522// DescribeTrafficMirrorFilters API operation for Amazon Elastic Compute Cloud.
24523//
24524// Describes one or more Traffic Mirror filters.
24525//
24526// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
24527// with awserr.Error's Code and Message methods to get detailed information about
24528// the error.
24529//
24530// See the AWS API reference guide for Amazon Elastic Compute Cloud's
24531// API operation DescribeTrafficMirrorFilters for usage and error information.
24532// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTrafficMirrorFilters
24533func (c *EC2) DescribeTrafficMirrorFilters(input *DescribeTrafficMirrorFiltersInput) (*DescribeTrafficMirrorFiltersOutput, error) {
24534	req, out := c.DescribeTrafficMirrorFiltersRequest(input)
24535	return out, req.Send()
24536}
24537
24538// DescribeTrafficMirrorFiltersWithContext is the same as DescribeTrafficMirrorFilters with the addition of
24539// the ability to pass a context and additional request options.
24540//
24541// See DescribeTrafficMirrorFilters for details on how to use this API operation.
24542//
24543// The context must be non-nil and will be used for request cancellation. If
24544// the context is nil a panic will occur. In the future the SDK may create
24545// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24546// for more information on using Contexts.
24547func (c *EC2) DescribeTrafficMirrorFiltersWithContext(ctx aws.Context, input *DescribeTrafficMirrorFiltersInput, opts ...request.Option) (*DescribeTrafficMirrorFiltersOutput, error) {
24548	req, out := c.DescribeTrafficMirrorFiltersRequest(input)
24549	req.SetContext(ctx)
24550	req.ApplyOptions(opts...)
24551	return out, req.Send()
24552}
24553
24554// DescribeTrafficMirrorFiltersPages iterates over the pages of a DescribeTrafficMirrorFilters operation,
24555// calling the "fn" function with the response data for each page. To stop
24556// iterating, return false from the fn function.
24557//
24558// See DescribeTrafficMirrorFilters method for more information on how to use this operation.
24559//
24560// Note: This operation can generate multiple requests to a service.
24561//
24562//    // Example iterating over at most 3 pages of a DescribeTrafficMirrorFilters operation.
24563//    pageNum := 0
24564//    err := client.DescribeTrafficMirrorFiltersPages(params,
24565//        func(page *ec2.DescribeTrafficMirrorFiltersOutput, lastPage bool) bool {
24566//            pageNum++
24567//            fmt.Println(page)
24568//            return pageNum <= 3
24569//        })
24570//
24571func (c *EC2) DescribeTrafficMirrorFiltersPages(input *DescribeTrafficMirrorFiltersInput, fn func(*DescribeTrafficMirrorFiltersOutput, bool) bool) error {
24572	return c.DescribeTrafficMirrorFiltersPagesWithContext(aws.BackgroundContext(), input, fn)
24573}
24574
24575// DescribeTrafficMirrorFiltersPagesWithContext same as DescribeTrafficMirrorFiltersPages except
24576// it takes a Context and allows setting request options on the pages.
24577//
24578// The context must be non-nil and will be used for request cancellation. If
24579// the context is nil a panic will occur. In the future the SDK may create
24580// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24581// for more information on using Contexts.
24582func (c *EC2) DescribeTrafficMirrorFiltersPagesWithContext(ctx aws.Context, input *DescribeTrafficMirrorFiltersInput, fn func(*DescribeTrafficMirrorFiltersOutput, bool) bool, opts ...request.Option) error {
24583	p := request.Pagination{
24584		NewRequest: func() (*request.Request, error) {
24585			var inCpy *DescribeTrafficMirrorFiltersInput
24586			if input != nil {
24587				tmp := *input
24588				inCpy = &tmp
24589			}
24590			req, _ := c.DescribeTrafficMirrorFiltersRequest(inCpy)
24591			req.SetContext(ctx)
24592			req.ApplyOptions(opts...)
24593			return req, nil
24594		},
24595	}
24596
24597	for p.Next() {
24598		if !fn(p.Page().(*DescribeTrafficMirrorFiltersOutput), !p.HasNextPage()) {
24599			break
24600		}
24601	}
24602
24603	return p.Err()
24604}
24605
24606const opDescribeTrafficMirrorSessions = "DescribeTrafficMirrorSessions"
24607
24608// DescribeTrafficMirrorSessionsRequest generates a "aws/request.Request" representing the
24609// client's request for the DescribeTrafficMirrorSessions operation. The "output" return
24610// value will be populated with the request's response once the request completes
24611// successfully.
24612//
24613// Use "Send" method on the returned Request to send the API call to the service.
24614// the "output" return value is not valid until after Send returns without error.
24615//
24616// See DescribeTrafficMirrorSessions for more information on using the DescribeTrafficMirrorSessions
24617// API call, and error handling.
24618//
24619// This method is useful when you want to inject custom logic or configuration
24620// into the SDK's request lifecycle. Such as custom headers, or retry logic.
24621//
24622//
24623//    // Example sending a request using the DescribeTrafficMirrorSessionsRequest method.
24624//    req, resp := client.DescribeTrafficMirrorSessionsRequest(params)
24625//
24626//    err := req.Send()
24627//    if err == nil { // resp is now filled
24628//        fmt.Println(resp)
24629//    }
24630//
24631// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTrafficMirrorSessions
24632func (c *EC2) DescribeTrafficMirrorSessionsRequest(input *DescribeTrafficMirrorSessionsInput) (req *request.Request, output *DescribeTrafficMirrorSessionsOutput) {
24633	op := &request.Operation{
24634		Name:       opDescribeTrafficMirrorSessions,
24635		HTTPMethod: "POST",
24636		HTTPPath:   "/",
24637		Paginator: &request.Paginator{
24638			InputTokens:     []string{"NextToken"},
24639			OutputTokens:    []string{"NextToken"},
24640			LimitToken:      "MaxResults",
24641			TruncationToken: "",
24642		},
24643	}
24644
24645	if input == nil {
24646		input = &DescribeTrafficMirrorSessionsInput{}
24647	}
24648
24649	output = &DescribeTrafficMirrorSessionsOutput{}
24650	req = c.newRequest(op, input, output)
24651	return
24652}
24653
24654// DescribeTrafficMirrorSessions API operation for Amazon Elastic Compute Cloud.
24655//
24656// Describes one or more Traffic Mirror sessions. By default, all Traffic Mirror
24657// sessions are described. Alternatively, you can filter the results.
24658//
24659// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
24660// with awserr.Error's Code and Message methods to get detailed information about
24661// the error.
24662//
24663// See the AWS API reference guide for Amazon Elastic Compute Cloud's
24664// API operation DescribeTrafficMirrorSessions for usage and error information.
24665// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTrafficMirrorSessions
24666func (c *EC2) DescribeTrafficMirrorSessions(input *DescribeTrafficMirrorSessionsInput) (*DescribeTrafficMirrorSessionsOutput, error) {
24667	req, out := c.DescribeTrafficMirrorSessionsRequest(input)
24668	return out, req.Send()
24669}
24670
24671// DescribeTrafficMirrorSessionsWithContext is the same as DescribeTrafficMirrorSessions with the addition of
24672// the ability to pass a context and additional request options.
24673//
24674// See DescribeTrafficMirrorSessions for details on how to use this API operation.
24675//
24676// The context must be non-nil and will be used for request cancellation. If
24677// the context is nil a panic will occur. In the future the SDK may create
24678// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24679// for more information on using Contexts.
24680func (c *EC2) DescribeTrafficMirrorSessionsWithContext(ctx aws.Context, input *DescribeTrafficMirrorSessionsInput, opts ...request.Option) (*DescribeTrafficMirrorSessionsOutput, error) {
24681	req, out := c.DescribeTrafficMirrorSessionsRequest(input)
24682	req.SetContext(ctx)
24683	req.ApplyOptions(opts...)
24684	return out, req.Send()
24685}
24686
24687// DescribeTrafficMirrorSessionsPages iterates over the pages of a DescribeTrafficMirrorSessions operation,
24688// calling the "fn" function with the response data for each page. To stop
24689// iterating, return false from the fn function.
24690//
24691// See DescribeTrafficMirrorSessions method for more information on how to use this operation.
24692//
24693// Note: This operation can generate multiple requests to a service.
24694//
24695//    // Example iterating over at most 3 pages of a DescribeTrafficMirrorSessions operation.
24696//    pageNum := 0
24697//    err := client.DescribeTrafficMirrorSessionsPages(params,
24698//        func(page *ec2.DescribeTrafficMirrorSessionsOutput, lastPage bool) bool {
24699//            pageNum++
24700//            fmt.Println(page)
24701//            return pageNum <= 3
24702//        })
24703//
24704func (c *EC2) DescribeTrafficMirrorSessionsPages(input *DescribeTrafficMirrorSessionsInput, fn func(*DescribeTrafficMirrorSessionsOutput, bool) bool) error {
24705	return c.DescribeTrafficMirrorSessionsPagesWithContext(aws.BackgroundContext(), input, fn)
24706}
24707
24708// DescribeTrafficMirrorSessionsPagesWithContext same as DescribeTrafficMirrorSessionsPages except
24709// it takes a Context and allows setting request options on the pages.
24710//
24711// The context must be non-nil and will be used for request cancellation. If
24712// the context is nil a panic will occur. In the future the SDK may create
24713// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24714// for more information on using Contexts.
24715func (c *EC2) DescribeTrafficMirrorSessionsPagesWithContext(ctx aws.Context, input *DescribeTrafficMirrorSessionsInput, fn func(*DescribeTrafficMirrorSessionsOutput, bool) bool, opts ...request.Option) error {
24716	p := request.Pagination{
24717		NewRequest: func() (*request.Request, error) {
24718			var inCpy *DescribeTrafficMirrorSessionsInput
24719			if input != nil {
24720				tmp := *input
24721				inCpy = &tmp
24722			}
24723			req, _ := c.DescribeTrafficMirrorSessionsRequest(inCpy)
24724			req.SetContext(ctx)
24725			req.ApplyOptions(opts...)
24726			return req, nil
24727		},
24728	}
24729
24730	for p.Next() {
24731		if !fn(p.Page().(*DescribeTrafficMirrorSessionsOutput), !p.HasNextPage()) {
24732			break
24733		}
24734	}
24735
24736	return p.Err()
24737}
24738
24739const opDescribeTrafficMirrorTargets = "DescribeTrafficMirrorTargets"
24740
24741// DescribeTrafficMirrorTargetsRequest generates a "aws/request.Request" representing the
24742// client's request for the DescribeTrafficMirrorTargets operation. The "output" return
24743// value will be populated with the request's response once the request completes
24744// successfully.
24745//
24746// Use "Send" method on the returned Request to send the API call to the service.
24747// the "output" return value is not valid until after Send returns without error.
24748//
24749// See DescribeTrafficMirrorTargets for more information on using the DescribeTrafficMirrorTargets
24750// API call, and error handling.
24751//
24752// This method is useful when you want to inject custom logic or configuration
24753// into the SDK's request lifecycle. Such as custom headers, or retry logic.
24754//
24755//
24756//    // Example sending a request using the DescribeTrafficMirrorTargetsRequest method.
24757//    req, resp := client.DescribeTrafficMirrorTargetsRequest(params)
24758//
24759//    err := req.Send()
24760//    if err == nil { // resp is now filled
24761//        fmt.Println(resp)
24762//    }
24763//
24764// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTrafficMirrorTargets
24765func (c *EC2) DescribeTrafficMirrorTargetsRequest(input *DescribeTrafficMirrorTargetsInput) (req *request.Request, output *DescribeTrafficMirrorTargetsOutput) {
24766	op := &request.Operation{
24767		Name:       opDescribeTrafficMirrorTargets,
24768		HTTPMethod: "POST",
24769		HTTPPath:   "/",
24770		Paginator: &request.Paginator{
24771			InputTokens:     []string{"NextToken"},
24772			OutputTokens:    []string{"NextToken"},
24773			LimitToken:      "MaxResults",
24774			TruncationToken: "",
24775		},
24776	}
24777
24778	if input == nil {
24779		input = &DescribeTrafficMirrorTargetsInput{}
24780	}
24781
24782	output = &DescribeTrafficMirrorTargetsOutput{}
24783	req = c.newRequest(op, input, output)
24784	return
24785}
24786
24787// DescribeTrafficMirrorTargets API operation for Amazon Elastic Compute Cloud.
24788//
24789// Information about one or more Traffic Mirror targets.
24790//
24791// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
24792// with awserr.Error's Code and Message methods to get detailed information about
24793// the error.
24794//
24795// See the AWS API reference guide for Amazon Elastic Compute Cloud's
24796// API operation DescribeTrafficMirrorTargets for usage and error information.
24797// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTrafficMirrorTargets
24798func (c *EC2) DescribeTrafficMirrorTargets(input *DescribeTrafficMirrorTargetsInput) (*DescribeTrafficMirrorTargetsOutput, error) {
24799	req, out := c.DescribeTrafficMirrorTargetsRequest(input)
24800	return out, req.Send()
24801}
24802
24803// DescribeTrafficMirrorTargetsWithContext is the same as DescribeTrafficMirrorTargets with the addition of
24804// the ability to pass a context and additional request options.
24805//
24806// See DescribeTrafficMirrorTargets for details on how to use this API operation.
24807//
24808// The context must be non-nil and will be used for request cancellation. If
24809// the context is nil a panic will occur. In the future the SDK may create
24810// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24811// for more information on using Contexts.
24812func (c *EC2) DescribeTrafficMirrorTargetsWithContext(ctx aws.Context, input *DescribeTrafficMirrorTargetsInput, opts ...request.Option) (*DescribeTrafficMirrorTargetsOutput, error) {
24813	req, out := c.DescribeTrafficMirrorTargetsRequest(input)
24814	req.SetContext(ctx)
24815	req.ApplyOptions(opts...)
24816	return out, req.Send()
24817}
24818
24819// DescribeTrafficMirrorTargetsPages iterates over the pages of a DescribeTrafficMirrorTargets operation,
24820// calling the "fn" function with the response data for each page. To stop
24821// iterating, return false from the fn function.
24822//
24823// See DescribeTrafficMirrorTargets method for more information on how to use this operation.
24824//
24825// Note: This operation can generate multiple requests to a service.
24826//
24827//    // Example iterating over at most 3 pages of a DescribeTrafficMirrorTargets operation.
24828//    pageNum := 0
24829//    err := client.DescribeTrafficMirrorTargetsPages(params,
24830//        func(page *ec2.DescribeTrafficMirrorTargetsOutput, lastPage bool) bool {
24831//            pageNum++
24832//            fmt.Println(page)
24833//            return pageNum <= 3
24834//        })
24835//
24836func (c *EC2) DescribeTrafficMirrorTargetsPages(input *DescribeTrafficMirrorTargetsInput, fn func(*DescribeTrafficMirrorTargetsOutput, bool) bool) error {
24837	return c.DescribeTrafficMirrorTargetsPagesWithContext(aws.BackgroundContext(), input, fn)
24838}
24839
24840// DescribeTrafficMirrorTargetsPagesWithContext same as DescribeTrafficMirrorTargetsPages except
24841// it takes a Context and allows setting request options on the pages.
24842//
24843// The context must be non-nil and will be used for request cancellation. If
24844// the context is nil a panic will occur. In the future the SDK may create
24845// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24846// for more information on using Contexts.
24847func (c *EC2) DescribeTrafficMirrorTargetsPagesWithContext(ctx aws.Context, input *DescribeTrafficMirrorTargetsInput, fn func(*DescribeTrafficMirrorTargetsOutput, bool) bool, opts ...request.Option) error {
24848	p := request.Pagination{
24849		NewRequest: func() (*request.Request, error) {
24850			var inCpy *DescribeTrafficMirrorTargetsInput
24851			if input != nil {
24852				tmp := *input
24853				inCpy = &tmp
24854			}
24855			req, _ := c.DescribeTrafficMirrorTargetsRequest(inCpy)
24856			req.SetContext(ctx)
24857			req.ApplyOptions(opts...)
24858			return req, nil
24859		},
24860	}
24861
24862	for p.Next() {
24863		if !fn(p.Page().(*DescribeTrafficMirrorTargetsOutput), !p.HasNextPage()) {
24864			break
24865		}
24866	}
24867
24868	return p.Err()
24869}
24870
24871const opDescribeTransitGatewayAttachments = "DescribeTransitGatewayAttachments"
24872
24873// DescribeTransitGatewayAttachmentsRequest generates a "aws/request.Request" representing the
24874// client's request for the DescribeTransitGatewayAttachments operation. The "output" return
24875// value will be populated with the request's response once the request completes
24876// successfully.
24877//
24878// Use "Send" method on the returned Request to send the API call to the service.
24879// the "output" return value is not valid until after Send returns without error.
24880//
24881// See DescribeTransitGatewayAttachments for more information on using the DescribeTransitGatewayAttachments
24882// API call, and error handling.
24883//
24884// This method is useful when you want to inject custom logic or configuration
24885// into the SDK's request lifecycle. Such as custom headers, or retry logic.
24886//
24887//
24888//    // Example sending a request using the DescribeTransitGatewayAttachmentsRequest method.
24889//    req, resp := client.DescribeTransitGatewayAttachmentsRequest(params)
24890//
24891//    err := req.Send()
24892//    if err == nil { // resp is now filled
24893//        fmt.Println(resp)
24894//    }
24895//
24896// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayAttachments
24897func (c *EC2) DescribeTransitGatewayAttachmentsRequest(input *DescribeTransitGatewayAttachmentsInput) (req *request.Request, output *DescribeTransitGatewayAttachmentsOutput) {
24898	op := &request.Operation{
24899		Name:       opDescribeTransitGatewayAttachments,
24900		HTTPMethod: "POST",
24901		HTTPPath:   "/",
24902		Paginator: &request.Paginator{
24903			InputTokens:     []string{"NextToken"},
24904			OutputTokens:    []string{"NextToken"},
24905			LimitToken:      "MaxResults",
24906			TruncationToken: "",
24907		},
24908	}
24909
24910	if input == nil {
24911		input = &DescribeTransitGatewayAttachmentsInput{}
24912	}
24913
24914	output = &DescribeTransitGatewayAttachmentsOutput{}
24915	req = c.newRequest(op, input, output)
24916	return
24917}
24918
24919// DescribeTransitGatewayAttachments API operation for Amazon Elastic Compute Cloud.
24920//
24921// Describes one or more attachments between resources and transit gateways.
24922// By default, all attachments are described. Alternatively, you can filter
24923// the results by attachment ID, attachment state, resource ID, or resource
24924// owner.
24925//
24926// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
24927// with awserr.Error's Code and Message methods to get detailed information about
24928// the error.
24929//
24930// See the AWS API reference guide for Amazon Elastic Compute Cloud's
24931// API operation DescribeTransitGatewayAttachments for usage and error information.
24932// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayAttachments
24933func (c *EC2) DescribeTransitGatewayAttachments(input *DescribeTransitGatewayAttachmentsInput) (*DescribeTransitGatewayAttachmentsOutput, error) {
24934	req, out := c.DescribeTransitGatewayAttachmentsRequest(input)
24935	return out, req.Send()
24936}
24937
24938// DescribeTransitGatewayAttachmentsWithContext is the same as DescribeTransitGatewayAttachments with the addition of
24939// the ability to pass a context and additional request options.
24940//
24941// See DescribeTransitGatewayAttachments for details on how to use this API operation.
24942//
24943// The context must be non-nil and will be used for request cancellation. If
24944// the context is nil a panic will occur. In the future the SDK may create
24945// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24946// for more information on using Contexts.
24947func (c *EC2) DescribeTransitGatewayAttachmentsWithContext(ctx aws.Context, input *DescribeTransitGatewayAttachmentsInput, opts ...request.Option) (*DescribeTransitGatewayAttachmentsOutput, error) {
24948	req, out := c.DescribeTransitGatewayAttachmentsRequest(input)
24949	req.SetContext(ctx)
24950	req.ApplyOptions(opts...)
24951	return out, req.Send()
24952}
24953
24954// DescribeTransitGatewayAttachmentsPages iterates over the pages of a DescribeTransitGatewayAttachments operation,
24955// calling the "fn" function with the response data for each page. To stop
24956// iterating, return false from the fn function.
24957//
24958// See DescribeTransitGatewayAttachments method for more information on how to use this operation.
24959//
24960// Note: This operation can generate multiple requests to a service.
24961//
24962//    // Example iterating over at most 3 pages of a DescribeTransitGatewayAttachments operation.
24963//    pageNum := 0
24964//    err := client.DescribeTransitGatewayAttachmentsPages(params,
24965//        func(page *ec2.DescribeTransitGatewayAttachmentsOutput, lastPage bool) bool {
24966//            pageNum++
24967//            fmt.Println(page)
24968//            return pageNum <= 3
24969//        })
24970//
24971func (c *EC2) DescribeTransitGatewayAttachmentsPages(input *DescribeTransitGatewayAttachmentsInput, fn func(*DescribeTransitGatewayAttachmentsOutput, bool) bool) error {
24972	return c.DescribeTransitGatewayAttachmentsPagesWithContext(aws.BackgroundContext(), input, fn)
24973}
24974
24975// DescribeTransitGatewayAttachmentsPagesWithContext same as DescribeTransitGatewayAttachmentsPages except
24976// it takes a Context and allows setting request options on the pages.
24977//
24978// The context must be non-nil and will be used for request cancellation. If
24979// the context is nil a panic will occur. In the future the SDK may create
24980// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24981// for more information on using Contexts.
24982func (c *EC2) DescribeTransitGatewayAttachmentsPagesWithContext(ctx aws.Context, input *DescribeTransitGatewayAttachmentsInput, fn func(*DescribeTransitGatewayAttachmentsOutput, bool) bool, opts ...request.Option) error {
24983	p := request.Pagination{
24984		NewRequest: func() (*request.Request, error) {
24985			var inCpy *DescribeTransitGatewayAttachmentsInput
24986			if input != nil {
24987				tmp := *input
24988				inCpy = &tmp
24989			}
24990			req, _ := c.DescribeTransitGatewayAttachmentsRequest(inCpy)
24991			req.SetContext(ctx)
24992			req.ApplyOptions(opts...)
24993			return req, nil
24994		},
24995	}
24996
24997	for p.Next() {
24998		if !fn(p.Page().(*DescribeTransitGatewayAttachmentsOutput), !p.HasNextPage()) {
24999			break
25000		}
25001	}
25002
25003	return p.Err()
25004}
25005
25006const opDescribeTransitGatewayConnectPeers = "DescribeTransitGatewayConnectPeers"
25007
25008// DescribeTransitGatewayConnectPeersRequest generates a "aws/request.Request" representing the
25009// client's request for the DescribeTransitGatewayConnectPeers operation. The "output" return
25010// value will be populated with the request's response once the request completes
25011// successfully.
25012//
25013// Use "Send" method on the returned Request to send the API call to the service.
25014// the "output" return value is not valid until after Send returns without error.
25015//
25016// See DescribeTransitGatewayConnectPeers for more information on using the DescribeTransitGatewayConnectPeers
25017// API call, and error handling.
25018//
25019// This method is useful when you want to inject custom logic or configuration
25020// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25021//
25022//
25023//    // Example sending a request using the DescribeTransitGatewayConnectPeersRequest method.
25024//    req, resp := client.DescribeTransitGatewayConnectPeersRequest(params)
25025//
25026//    err := req.Send()
25027//    if err == nil { // resp is now filled
25028//        fmt.Println(resp)
25029//    }
25030//
25031// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayConnectPeers
25032func (c *EC2) DescribeTransitGatewayConnectPeersRequest(input *DescribeTransitGatewayConnectPeersInput) (req *request.Request, output *DescribeTransitGatewayConnectPeersOutput) {
25033	op := &request.Operation{
25034		Name:       opDescribeTransitGatewayConnectPeers,
25035		HTTPMethod: "POST",
25036		HTTPPath:   "/",
25037		Paginator: &request.Paginator{
25038			InputTokens:     []string{"NextToken"},
25039			OutputTokens:    []string{"NextToken"},
25040			LimitToken:      "MaxResults",
25041			TruncationToken: "",
25042		},
25043	}
25044
25045	if input == nil {
25046		input = &DescribeTransitGatewayConnectPeersInput{}
25047	}
25048
25049	output = &DescribeTransitGatewayConnectPeersOutput{}
25050	req = c.newRequest(op, input, output)
25051	return
25052}
25053
25054// DescribeTransitGatewayConnectPeers API operation for Amazon Elastic Compute Cloud.
25055//
25056// Describes one or more Connect peers.
25057//
25058// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25059// with awserr.Error's Code and Message methods to get detailed information about
25060// the error.
25061//
25062// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25063// API operation DescribeTransitGatewayConnectPeers for usage and error information.
25064// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayConnectPeers
25065func (c *EC2) DescribeTransitGatewayConnectPeers(input *DescribeTransitGatewayConnectPeersInput) (*DescribeTransitGatewayConnectPeersOutput, error) {
25066	req, out := c.DescribeTransitGatewayConnectPeersRequest(input)
25067	return out, req.Send()
25068}
25069
25070// DescribeTransitGatewayConnectPeersWithContext is the same as DescribeTransitGatewayConnectPeers with the addition of
25071// the ability to pass a context and additional request options.
25072//
25073// See DescribeTransitGatewayConnectPeers for details on how to use this API operation.
25074//
25075// The context must be non-nil and will be used for request cancellation. If
25076// the context is nil a panic will occur. In the future the SDK may create
25077// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25078// for more information on using Contexts.
25079func (c *EC2) DescribeTransitGatewayConnectPeersWithContext(ctx aws.Context, input *DescribeTransitGatewayConnectPeersInput, opts ...request.Option) (*DescribeTransitGatewayConnectPeersOutput, error) {
25080	req, out := c.DescribeTransitGatewayConnectPeersRequest(input)
25081	req.SetContext(ctx)
25082	req.ApplyOptions(opts...)
25083	return out, req.Send()
25084}
25085
25086// DescribeTransitGatewayConnectPeersPages iterates over the pages of a DescribeTransitGatewayConnectPeers operation,
25087// calling the "fn" function with the response data for each page. To stop
25088// iterating, return false from the fn function.
25089//
25090// See DescribeTransitGatewayConnectPeers method for more information on how to use this operation.
25091//
25092// Note: This operation can generate multiple requests to a service.
25093//
25094//    // Example iterating over at most 3 pages of a DescribeTransitGatewayConnectPeers operation.
25095//    pageNum := 0
25096//    err := client.DescribeTransitGatewayConnectPeersPages(params,
25097//        func(page *ec2.DescribeTransitGatewayConnectPeersOutput, lastPage bool) bool {
25098//            pageNum++
25099//            fmt.Println(page)
25100//            return pageNum <= 3
25101//        })
25102//
25103func (c *EC2) DescribeTransitGatewayConnectPeersPages(input *DescribeTransitGatewayConnectPeersInput, fn func(*DescribeTransitGatewayConnectPeersOutput, bool) bool) error {
25104	return c.DescribeTransitGatewayConnectPeersPagesWithContext(aws.BackgroundContext(), input, fn)
25105}
25106
25107// DescribeTransitGatewayConnectPeersPagesWithContext same as DescribeTransitGatewayConnectPeersPages except
25108// it takes a Context and allows setting request options on the pages.
25109//
25110// The context must be non-nil and will be used for request cancellation. If
25111// the context is nil a panic will occur. In the future the SDK may create
25112// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25113// for more information on using Contexts.
25114func (c *EC2) DescribeTransitGatewayConnectPeersPagesWithContext(ctx aws.Context, input *DescribeTransitGatewayConnectPeersInput, fn func(*DescribeTransitGatewayConnectPeersOutput, bool) bool, opts ...request.Option) error {
25115	p := request.Pagination{
25116		NewRequest: func() (*request.Request, error) {
25117			var inCpy *DescribeTransitGatewayConnectPeersInput
25118			if input != nil {
25119				tmp := *input
25120				inCpy = &tmp
25121			}
25122			req, _ := c.DescribeTransitGatewayConnectPeersRequest(inCpy)
25123			req.SetContext(ctx)
25124			req.ApplyOptions(opts...)
25125			return req, nil
25126		},
25127	}
25128
25129	for p.Next() {
25130		if !fn(p.Page().(*DescribeTransitGatewayConnectPeersOutput), !p.HasNextPage()) {
25131			break
25132		}
25133	}
25134
25135	return p.Err()
25136}
25137
25138const opDescribeTransitGatewayConnects = "DescribeTransitGatewayConnects"
25139
25140// DescribeTransitGatewayConnectsRequest generates a "aws/request.Request" representing the
25141// client's request for the DescribeTransitGatewayConnects operation. The "output" return
25142// value will be populated with the request's response once the request completes
25143// successfully.
25144//
25145// Use "Send" method on the returned Request to send the API call to the service.
25146// the "output" return value is not valid until after Send returns without error.
25147//
25148// See DescribeTransitGatewayConnects for more information on using the DescribeTransitGatewayConnects
25149// API call, and error handling.
25150//
25151// This method is useful when you want to inject custom logic or configuration
25152// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25153//
25154//
25155//    // Example sending a request using the DescribeTransitGatewayConnectsRequest method.
25156//    req, resp := client.DescribeTransitGatewayConnectsRequest(params)
25157//
25158//    err := req.Send()
25159//    if err == nil { // resp is now filled
25160//        fmt.Println(resp)
25161//    }
25162//
25163// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayConnects
25164func (c *EC2) DescribeTransitGatewayConnectsRequest(input *DescribeTransitGatewayConnectsInput) (req *request.Request, output *DescribeTransitGatewayConnectsOutput) {
25165	op := &request.Operation{
25166		Name:       opDescribeTransitGatewayConnects,
25167		HTTPMethod: "POST",
25168		HTTPPath:   "/",
25169		Paginator: &request.Paginator{
25170			InputTokens:     []string{"NextToken"},
25171			OutputTokens:    []string{"NextToken"},
25172			LimitToken:      "MaxResults",
25173			TruncationToken: "",
25174		},
25175	}
25176
25177	if input == nil {
25178		input = &DescribeTransitGatewayConnectsInput{}
25179	}
25180
25181	output = &DescribeTransitGatewayConnectsOutput{}
25182	req = c.newRequest(op, input, output)
25183	return
25184}
25185
25186// DescribeTransitGatewayConnects API operation for Amazon Elastic Compute Cloud.
25187//
25188// Describes one or more Connect attachments.
25189//
25190// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25191// with awserr.Error's Code and Message methods to get detailed information about
25192// the error.
25193//
25194// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25195// API operation DescribeTransitGatewayConnects for usage and error information.
25196// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayConnects
25197func (c *EC2) DescribeTransitGatewayConnects(input *DescribeTransitGatewayConnectsInput) (*DescribeTransitGatewayConnectsOutput, error) {
25198	req, out := c.DescribeTransitGatewayConnectsRequest(input)
25199	return out, req.Send()
25200}
25201
25202// DescribeTransitGatewayConnectsWithContext is the same as DescribeTransitGatewayConnects with the addition of
25203// the ability to pass a context and additional request options.
25204//
25205// See DescribeTransitGatewayConnects for details on how to use this API operation.
25206//
25207// The context must be non-nil and will be used for request cancellation. If
25208// the context is nil a panic will occur. In the future the SDK may create
25209// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25210// for more information on using Contexts.
25211func (c *EC2) DescribeTransitGatewayConnectsWithContext(ctx aws.Context, input *DescribeTransitGatewayConnectsInput, opts ...request.Option) (*DescribeTransitGatewayConnectsOutput, error) {
25212	req, out := c.DescribeTransitGatewayConnectsRequest(input)
25213	req.SetContext(ctx)
25214	req.ApplyOptions(opts...)
25215	return out, req.Send()
25216}
25217
25218// DescribeTransitGatewayConnectsPages iterates over the pages of a DescribeTransitGatewayConnects operation,
25219// calling the "fn" function with the response data for each page. To stop
25220// iterating, return false from the fn function.
25221//
25222// See DescribeTransitGatewayConnects method for more information on how to use this operation.
25223//
25224// Note: This operation can generate multiple requests to a service.
25225//
25226//    // Example iterating over at most 3 pages of a DescribeTransitGatewayConnects operation.
25227//    pageNum := 0
25228//    err := client.DescribeTransitGatewayConnectsPages(params,
25229//        func(page *ec2.DescribeTransitGatewayConnectsOutput, lastPage bool) bool {
25230//            pageNum++
25231//            fmt.Println(page)
25232//            return pageNum <= 3
25233//        })
25234//
25235func (c *EC2) DescribeTransitGatewayConnectsPages(input *DescribeTransitGatewayConnectsInput, fn func(*DescribeTransitGatewayConnectsOutput, bool) bool) error {
25236	return c.DescribeTransitGatewayConnectsPagesWithContext(aws.BackgroundContext(), input, fn)
25237}
25238
25239// DescribeTransitGatewayConnectsPagesWithContext same as DescribeTransitGatewayConnectsPages except
25240// it takes a Context and allows setting request options on the pages.
25241//
25242// The context must be non-nil and will be used for request cancellation. If
25243// the context is nil a panic will occur. In the future the SDK may create
25244// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25245// for more information on using Contexts.
25246func (c *EC2) DescribeTransitGatewayConnectsPagesWithContext(ctx aws.Context, input *DescribeTransitGatewayConnectsInput, fn func(*DescribeTransitGatewayConnectsOutput, bool) bool, opts ...request.Option) error {
25247	p := request.Pagination{
25248		NewRequest: func() (*request.Request, error) {
25249			var inCpy *DescribeTransitGatewayConnectsInput
25250			if input != nil {
25251				tmp := *input
25252				inCpy = &tmp
25253			}
25254			req, _ := c.DescribeTransitGatewayConnectsRequest(inCpy)
25255			req.SetContext(ctx)
25256			req.ApplyOptions(opts...)
25257			return req, nil
25258		},
25259	}
25260
25261	for p.Next() {
25262		if !fn(p.Page().(*DescribeTransitGatewayConnectsOutput), !p.HasNextPage()) {
25263			break
25264		}
25265	}
25266
25267	return p.Err()
25268}
25269
25270const opDescribeTransitGatewayMulticastDomains = "DescribeTransitGatewayMulticastDomains"
25271
25272// DescribeTransitGatewayMulticastDomainsRequest generates a "aws/request.Request" representing the
25273// client's request for the DescribeTransitGatewayMulticastDomains operation. The "output" return
25274// value will be populated with the request's response once the request completes
25275// successfully.
25276//
25277// Use "Send" method on the returned Request to send the API call to the service.
25278// the "output" return value is not valid until after Send returns without error.
25279//
25280// See DescribeTransitGatewayMulticastDomains for more information on using the DescribeTransitGatewayMulticastDomains
25281// API call, and error handling.
25282//
25283// This method is useful when you want to inject custom logic or configuration
25284// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25285//
25286//
25287//    // Example sending a request using the DescribeTransitGatewayMulticastDomainsRequest method.
25288//    req, resp := client.DescribeTransitGatewayMulticastDomainsRequest(params)
25289//
25290//    err := req.Send()
25291//    if err == nil { // resp is now filled
25292//        fmt.Println(resp)
25293//    }
25294//
25295// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayMulticastDomains
25296func (c *EC2) DescribeTransitGatewayMulticastDomainsRequest(input *DescribeTransitGatewayMulticastDomainsInput) (req *request.Request, output *DescribeTransitGatewayMulticastDomainsOutput) {
25297	op := &request.Operation{
25298		Name:       opDescribeTransitGatewayMulticastDomains,
25299		HTTPMethod: "POST",
25300		HTTPPath:   "/",
25301		Paginator: &request.Paginator{
25302			InputTokens:     []string{"NextToken"},
25303			OutputTokens:    []string{"NextToken"},
25304			LimitToken:      "MaxResults",
25305			TruncationToken: "",
25306		},
25307	}
25308
25309	if input == nil {
25310		input = &DescribeTransitGatewayMulticastDomainsInput{}
25311	}
25312
25313	output = &DescribeTransitGatewayMulticastDomainsOutput{}
25314	req = c.newRequest(op, input, output)
25315	return
25316}
25317
25318// DescribeTransitGatewayMulticastDomains API operation for Amazon Elastic Compute Cloud.
25319//
25320// Describes one or more transit gateway multicast domains.
25321//
25322// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25323// with awserr.Error's Code and Message methods to get detailed information about
25324// the error.
25325//
25326// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25327// API operation DescribeTransitGatewayMulticastDomains for usage and error information.
25328// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayMulticastDomains
25329func (c *EC2) DescribeTransitGatewayMulticastDomains(input *DescribeTransitGatewayMulticastDomainsInput) (*DescribeTransitGatewayMulticastDomainsOutput, error) {
25330	req, out := c.DescribeTransitGatewayMulticastDomainsRequest(input)
25331	return out, req.Send()
25332}
25333
25334// DescribeTransitGatewayMulticastDomainsWithContext is the same as DescribeTransitGatewayMulticastDomains with the addition of
25335// the ability to pass a context and additional request options.
25336//
25337// See DescribeTransitGatewayMulticastDomains for details on how to use this API operation.
25338//
25339// The context must be non-nil and will be used for request cancellation. If
25340// the context is nil a panic will occur. In the future the SDK may create
25341// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25342// for more information on using Contexts.
25343func (c *EC2) DescribeTransitGatewayMulticastDomainsWithContext(ctx aws.Context, input *DescribeTransitGatewayMulticastDomainsInput, opts ...request.Option) (*DescribeTransitGatewayMulticastDomainsOutput, error) {
25344	req, out := c.DescribeTransitGatewayMulticastDomainsRequest(input)
25345	req.SetContext(ctx)
25346	req.ApplyOptions(opts...)
25347	return out, req.Send()
25348}
25349
25350// DescribeTransitGatewayMulticastDomainsPages iterates over the pages of a DescribeTransitGatewayMulticastDomains operation,
25351// calling the "fn" function with the response data for each page. To stop
25352// iterating, return false from the fn function.
25353//
25354// See DescribeTransitGatewayMulticastDomains method for more information on how to use this operation.
25355//
25356// Note: This operation can generate multiple requests to a service.
25357//
25358//    // Example iterating over at most 3 pages of a DescribeTransitGatewayMulticastDomains operation.
25359//    pageNum := 0
25360//    err := client.DescribeTransitGatewayMulticastDomainsPages(params,
25361//        func(page *ec2.DescribeTransitGatewayMulticastDomainsOutput, lastPage bool) bool {
25362//            pageNum++
25363//            fmt.Println(page)
25364//            return pageNum <= 3
25365//        })
25366//
25367func (c *EC2) DescribeTransitGatewayMulticastDomainsPages(input *DescribeTransitGatewayMulticastDomainsInput, fn func(*DescribeTransitGatewayMulticastDomainsOutput, bool) bool) error {
25368	return c.DescribeTransitGatewayMulticastDomainsPagesWithContext(aws.BackgroundContext(), input, fn)
25369}
25370
25371// DescribeTransitGatewayMulticastDomainsPagesWithContext same as DescribeTransitGatewayMulticastDomainsPages except
25372// it takes a Context and allows setting request options on the pages.
25373//
25374// The context must be non-nil and will be used for request cancellation. If
25375// the context is nil a panic will occur. In the future the SDK may create
25376// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25377// for more information on using Contexts.
25378func (c *EC2) DescribeTransitGatewayMulticastDomainsPagesWithContext(ctx aws.Context, input *DescribeTransitGatewayMulticastDomainsInput, fn func(*DescribeTransitGatewayMulticastDomainsOutput, bool) bool, opts ...request.Option) error {
25379	p := request.Pagination{
25380		NewRequest: func() (*request.Request, error) {
25381			var inCpy *DescribeTransitGatewayMulticastDomainsInput
25382			if input != nil {
25383				tmp := *input
25384				inCpy = &tmp
25385			}
25386			req, _ := c.DescribeTransitGatewayMulticastDomainsRequest(inCpy)
25387			req.SetContext(ctx)
25388			req.ApplyOptions(opts...)
25389			return req, nil
25390		},
25391	}
25392
25393	for p.Next() {
25394		if !fn(p.Page().(*DescribeTransitGatewayMulticastDomainsOutput), !p.HasNextPage()) {
25395			break
25396		}
25397	}
25398
25399	return p.Err()
25400}
25401
25402const opDescribeTransitGatewayPeeringAttachments = "DescribeTransitGatewayPeeringAttachments"
25403
25404// DescribeTransitGatewayPeeringAttachmentsRequest generates a "aws/request.Request" representing the
25405// client's request for the DescribeTransitGatewayPeeringAttachments operation. The "output" return
25406// value will be populated with the request's response once the request completes
25407// successfully.
25408//
25409// Use "Send" method on the returned Request to send the API call to the service.
25410// the "output" return value is not valid until after Send returns without error.
25411//
25412// See DescribeTransitGatewayPeeringAttachments for more information on using the DescribeTransitGatewayPeeringAttachments
25413// API call, and error handling.
25414//
25415// This method is useful when you want to inject custom logic or configuration
25416// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25417//
25418//
25419//    // Example sending a request using the DescribeTransitGatewayPeeringAttachmentsRequest method.
25420//    req, resp := client.DescribeTransitGatewayPeeringAttachmentsRequest(params)
25421//
25422//    err := req.Send()
25423//    if err == nil { // resp is now filled
25424//        fmt.Println(resp)
25425//    }
25426//
25427// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayPeeringAttachments
25428func (c *EC2) DescribeTransitGatewayPeeringAttachmentsRequest(input *DescribeTransitGatewayPeeringAttachmentsInput) (req *request.Request, output *DescribeTransitGatewayPeeringAttachmentsOutput) {
25429	op := &request.Operation{
25430		Name:       opDescribeTransitGatewayPeeringAttachments,
25431		HTTPMethod: "POST",
25432		HTTPPath:   "/",
25433		Paginator: &request.Paginator{
25434			InputTokens:     []string{"NextToken"},
25435			OutputTokens:    []string{"NextToken"},
25436			LimitToken:      "MaxResults",
25437			TruncationToken: "",
25438		},
25439	}
25440
25441	if input == nil {
25442		input = &DescribeTransitGatewayPeeringAttachmentsInput{}
25443	}
25444
25445	output = &DescribeTransitGatewayPeeringAttachmentsOutput{}
25446	req = c.newRequest(op, input, output)
25447	return
25448}
25449
25450// DescribeTransitGatewayPeeringAttachments API operation for Amazon Elastic Compute Cloud.
25451//
25452// Describes your transit gateway peering attachments.
25453//
25454// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25455// with awserr.Error's Code and Message methods to get detailed information about
25456// the error.
25457//
25458// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25459// API operation DescribeTransitGatewayPeeringAttachments for usage and error information.
25460// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayPeeringAttachments
25461func (c *EC2) DescribeTransitGatewayPeeringAttachments(input *DescribeTransitGatewayPeeringAttachmentsInput) (*DescribeTransitGatewayPeeringAttachmentsOutput, error) {
25462	req, out := c.DescribeTransitGatewayPeeringAttachmentsRequest(input)
25463	return out, req.Send()
25464}
25465
25466// DescribeTransitGatewayPeeringAttachmentsWithContext is the same as DescribeTransitGatewayPeeringAttachments with the addition of
25467// the ability to pass a context and additional request options.
25468//
25469// See DescribeTransitGatewayPeeringAttachments for details on how to use this API operation.
25470//
25471// The context must be non-nil and will be used for request cancellation. If
25472// the context is nil a panic will occur. In the future the SDK may create
25473// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25474// for more information on using Contexts.
25475func (c *EC2) DescribeTransitGatewayPeeringAttachmentsWithContext(ctx aws.Context, input *DescribeTransitGatewayPeeringAttachmentsInput, opts ...request.Option) (*DescribeTransitGatewayPeeringAttachmentsOutput, error) {
25476	req, out := c.DescribeTransitGatewayPeeringAttachmentsRequest(input)
25477	req.SetContext(ctx)
25478	req.ApplyOptions(opts...)
25479	return out, req.Send()
25480}
25481
25482// DescribeTransitGatewayPeeringAttachmentsPages iterates over the pages of a DescribeTransitGatewayPeeringAttachments operation,
25483// calling the "fn" function with the response data for each page. To stop
25484// iterating, return false from the fn function.
25485//
25486// See DescribeTransitGatewayPeeringAttachments method for more information on how to use this operation.
25487//
25488// Note: This operation can generate multiple requests to a service.
25489//
25490//    // Example iterating over at most 3 pages of a DescribeTransitGatewayPeeringAttachments operation.
25491//    pageNum := 0
25492//    err := client.DescribeTransitGatewayPeeringAttachmentsPages(params,
25493//        func(page *ec2.DescribeTransitGatewayPeeringAttachmentsOutput, lastPage bool) bool {
25494//            pageNum++
25495//            fmt.Println(page)
25496//            return pageNum <= 3
25497//        })
25498//
25499func (c *EC2) DescribeTransitGatewayPeeringAttachmentsPages(input *DescribeTransitGatewayPeeringAttachmentsInput, fn func(*DescribeTransitGatewayPeeringAttachmentsOutput, bool) bool) error {
25500	return c.DescribeTransitGatewayPeeringAttachmentsPagesWithContext(aws.BackgroundContext(), input, fn)
25501}
25502
25503// DescribeTransitGatewayPeeringAttachmentsPagesWithContext same as DescribeTransitGatewayPeeringAttachmentsPages except
25504// it takes a Context and allows setting request options on the pages.
25505//
25506// The context must be non-nil and will be used for request cancellation. If
25507// the context is nil a panic will occur. In the future the SDK may create
25508// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25509// for more information on using Contexts.
25510func (c *EC2) DescribeTransitGatewayPeeringAttachmentsPagesWithContext(ctx aws.Context, input *DescribeTransitGatewayPeeringAttachmentsInput, fn func(*DescribeTransitGatewayPeeringAttachmentsOutput, bool) bool, opts ...request.Option) error {
25511	p := request.Pagination{
25512		NewRequest: func() (*request.Request, error) {
25513			var inCpy *DescribeTransitGatewayPeeringAttachmentsInput
25514			if input != nil {
25515				tmp := *input
25516				inCpy = &tmp
25517			}
25518			req, _ := c.DescribeTransitGatewayPeeringAttachmentsRequest(inCpy)
25519			req.SetContext(ctx)
25520			req.ApplyOptions(opts...)
25521			return req, nil
25522		},
25523	}
25524
25525	for p.Next() {
25526		if !fn(p.Page().(*DescribeTransitGatewayPeeringAttachmentsOutput), !p.HasNextPage()) {
25527			break
25528		}
25529	}
25530
25531	return p.Err()
25532}
25533
25534const opDescribeTransitGatewayRouteTables = "DescribeTransitGatewayRouteTables"
25535
25536// DescribeTransitGatewayRouteTablesRequest generates a "aws/request.Request" representing the
25537// client's request for the DescribeTransitGatewayRouteTables operation. The "output" return
25538// value will be populated with the request's response once the request completes
25539// successfully.
25540//
25541// Use "Send" method on the returned Request to send the API call to the service.
25542// the "output" return value is not valid until after Send returns without error.
25543//
25544// See DescribeTransitGatewayRouteTables for more information on using the DescribeTransitGatewayRouteTables
25545// API call, and error handling.
25546//
25547// This method is useful when you want to inject custom logic or configuration
25548// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25549//
25550//
25551//    // Example sending a request using the DescribeTransitGatewayRouteTablesRequest method.
25552//    req, resp := client.DescribeTransitGatewayRouteTablesRequest(params)
25553//
25554//    err := req.Send()
25555//    if err == nil { // resp is now filled
25556//        fmt.Println(resp)
25557//    }
25558//
25559// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayRouteTables
25560func (c *EC2) DescribeTransitGatewayRouteTablesRequest(input *DescribeTransitGatewayRouteTablesInput) (req *request.Request, output *DescribeTransitGatewayRouteTablesOutput) {
25561	op := &request.Operation{
25562		Name:       opDescribeTransitGatewayRouteTables,
25563		HTTPMethod: "POST",
25564		HTTPPath:   "/",
25565		Paginator: &request.Paginator{
25566			InputTokens:     []string{"NextToken"},
25567			OutputTokens:    []string{"NextToken"},
25568			LimitToken:      "MaxResults",
25569			TruncationToken: "",
25570		},
25571	}
25572
25573	if input == nil {
25574		input = &DescribeTransitGatewayRouteTablesInput{}
25575	}
25576
25577	output = &DescribeTransitGatewayRouteTablesOutput{}
25578	req = c.newRequest(op, input, output)
25579	return
25580}
25581
25582// DescribeTransitGatewayRouteTables API operation for Amazon Elastic Compute Cloud.
25583//
25584// Describes one or more transit gateway route tables. By default, all transit
25585// gateway route tables are described. Alternatively, you can filter the results.
25586//
25587// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25588// with awserr.Error's Code and Message methods to get detailed information about
25589// the error.
25590//
25591// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25592// API operation DescribeTransitGatewayRouteTables for usage and error information.
25593// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayRouteTables
25594func (c *EC2) DescribeTransitGatewayRouteTables(input *DescribeTransitGatewayRouteTablesInput) (*DescribeTransitGatewayRouteTablesOutput, error) {
25595	req, out := c.DescribeTransitGatewayRouteTablesRequest(input)
25596	return out, req.Send()
25597}
25598
25599// DescribeTransitGatewayRouteTablesWithContext is the same as DescribeTransitGatewayRouteTables with the addition of
25600// the ability to pass a context and additional request options.
25601//
25602// See DescribeTransitGatewayRouteTables for details on how to use this API operation.
25603//
25604// The context must be non-nil and will be used for request cancellation. If
25605// the context is nil a panic will occur. In the future the SDK may create
25606// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25607// for more information on using Contexts.
25608func (c *EC2) DescribeTransitGatewayRouteTablesWithContext(ctx aws.Context, input *DescribeTransitGatewayRouteTablesInput, opts ...request.Option) (*DescribeTransitGatewayRouteTablesOutput, error) {
25609	req, out := c.DescribeTransitGatewayRouteTablesRequest(input)
25610	req.SetContext(ctx)
25611	req.ApplyOptions(opts...)
25612	return out, req.Send()
25613}
25614
25615// DescribeTransitGatewayRouteTablesPages iterates over the pages of a DescribeTransitGatewayRouteTables operation,
25616// calling the "fn" function with the response data for each page. To stop
25617// iterating, return false from the fn function.
25618//
25619// See DescribeTransitGatewayRouteTables method for more information on how to use this operation.
25620//
25621// Note: This operation can generate multiple requests to a service.
25622//
25623//    // Example iterating over at most 3 pages of a DescribeTransitGatewayRouteTables operation.
25624//    pageNum := 0
25625//    err := client.DescribeTransitGatewayRouteTablesPages(params,
25626//        func(page *ec2.DescribeTransitGatewayRouteTablesOutput, lastPage bool) bool {
25627//            pageNum++
25628//            fmt.Println(page)
25629//            return pageNum <= 3
25630//        })
25631//
25632func (c *EC2) DescribeTransitGatewayRouteTablesPages(input *DescribeTransitGatewayRouteTablesInput, fn func(*DescribeTransitGatewayRouteTablesOutput, bool) bool) error {
25633	return c.DescribeTransitGatewayRouteTablesPagesWithContext(aws.BackgroundContext(), input, fn)
25634}
25635
25636// DescribeTransitGatewayRouteTablesPagesWithContext same as DescribeTransitGatewayRouteTablesPages except
25637// it takes a Context and allows setting request options on the pages.
25638//
25639// The context must be non-nil and will be used for request cancellation. If
25640// the context is nil a panic will occur. In the future the SDK may create
25641// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25642// for more information on using Contexts.
25643func (c *EC2) DescribeTransitGatewayRouteTablesPagesWithContext(ctx aws.Context, input *DescribeTransitGatewayRouteTablesInput, fn func(*DescribeTransitGatewayRouteTablesOutput, bool) bool, opts ...request.Option) error {
25644	p := request.Pagination{
25645		NewRequest: func() (*request.Request, error) {
25646			var inCpy *DescribeTransitGatewayRouteTablesInput
25647			if input != nil {
25648				tmp := *input
25649				inCpy = &tmp
25650			}
25651			req, _ := c.DescribeTransitGatewayRouteTablesRequest(inCpy)
25652			req.SetContext(ctx)
25653			req.ApplyOptions(opts...)
25654			return req, nil
25655		},
25656	}
25657
25658	for p.Next() {
25659		if !fn(p.Page().(*DescribeTransitGatewayRouteTablesOutput), !p.HasNextPage()) {
25660			break
25661		}
25662	}
25663
25664	return p.Err()
25665}
25666
25667const opDescribeTransitGatewayVpcAttachments = "DescribeTransitGatewayVpcAttachments"
25668
25669// DescribeTransitGatewayVpcAttachmentsRequest generates a "aws/request.Request" representing the
25670// client's request for the DescribeTransitGatewayVpcAttachments operation. The "output" return
25671// value will be populated with the request's response once the request completes
25672// successfully.
25673//
25674// Use "Send" method on the returned Request to send the API call to the service.
25675// the "output" return value is not valid until after Send returns without error.
25676//
25677// See DescribeTransitGatewayVpcAttachments for more information on using the DescribeTransitGatewayVpcAttachments
25678// API call, and error handling.
25679//
25680// This method is useful when you want to inject custom logic or configuration
25681// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25682//
25683//
25684//    // Example sending a request using the DescribeTransitGatewayVpcAttachmentsRequest method.
25685//    req, resp := client.DescribeTransitGatewayVpcAttachmentsRequest(params)
25686//
25687//    err := req.Send()
25688//    if err == nil { // resp is now filled
25689//        fmt.Println(resp)
25690//    }
25691//
25692// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayVpcAttachments
25693func (c *EC2) DescribeTransitGatewayVpcAttachmentsRequest(input *DescribeTransitGatewayVpcAttachmentsInput) (req *request.Request, output *DescribeTransitGatewayVpcAttachmentsOutput) {
25694	op := &request.Operation{
25695		Name:       opDescribeTransitGatewayVpcAttachments,
25696		HTTPMethod: "POST",
25697		HTTPPath:   "/",
25698		Paginator: &request.Paginator{
25699			InputTokens:     []string{"NextToken"},
25700			OutputTokens:    []string{"NextToken"},
25701			LimitToken:      "MaxResults",
25702			TruncationToken: "",
25703		},
25704	}
25705
25706	if input == nil {
25707		input = &DescribeTransitGatewayVpcAttachmentsInput{}
25708	}
25709
25710	output = &DescribeTransitGatewayVpcAttachmentsOutput{}
25711	req = c.newRequest(op, input, output)
25712	return
25713}
25714
25715// DescribeTransitGatewayVpcAttachments API operation for Amazon Elastic Compute Cloud.
25716//
25717// Describes one or more VPC attachments. By default, all VPC attachments are
25718// described. Alternatively, you can filter the results.
25719//
25720// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25721// with awserr.Error's Code and Message methods to get detailed information about
25722// the error.
25723//
25724// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25725// API operation DescribeTransitGatewayVpcAttachments for usage and error information.
25726// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayVpcAttachments
25727func (c *EC2) DescribeTransitGatewayVpcAttachments(input *DescribeTransitGatewayVpcAttachmentsInput) (*DescribeTransitGatewayVpcAttachmentsOutput, error) {
25728	req, out := c.DescribeTransitGatewayVpcAttachmentsRequest(input)
25729	return out, req.Send()
25730}
25731
25732// DescribeTransitGatewayVpcAttachmentsWithContext is the same as DescribeTransitGatewayVpcAttachments with the addition of
25733// the ability to pass a context and additional request options.
25734//
25735// See DescribeTransitGatewayVpcAttachments for details on how to use this API operation.
25736//
25737// The context must be non-nil and will be used for request cancellation. If
25738// the context is nil a panic will occur. In the future the SDK may create
25739// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25740// for more information on using Contexts.
25741func (c *EC2) DescribeTransitGatewayVpcAttachmentsWithContext(ctx aws.Context, input *DescribeTransitGatewayVpcAttachmentsInput, opts ...request.Option) (*DescribeTransitGatewayVpcAttachmentsOutput, error) {
25742	req, out := c.DescribeTransitGatewayVpcAttachmentsRequest(input)
25743	req.SetContext(ctx)
25744	req.ApplyOptions(opts...)
25745	return out, req.Send()
25746}
25747
25748// DescribeTransitGatewayVpcAttachmentsPages iterates over the pages of a DescribeTransitGatewayVpcAttachments operation,
25749// calling the "fn" function with the response data for each page. To stop
25750// iterating, return false from the fn function.
25751//
25752// See DescribeTransitGatewayVpcAttachments method for more information on how to use this operation.
25753//
25754// Note: This operation can generate multiple requests to a service.
25755//
25756//    // Example iterating over at most 3 pages of a DescribeTransitGatewayVpcAttachments operation.
25757//    pageNum := 0
25758//    err := client.DescribeTransitGatewayVpcAttachmentsPages(params,
25759//        func(page *ec2.DescribeTransitGatewayVpcAttachmentsOutput, lastPage bool) bool {
25760//            pageNum++
25761//            fmt.Println(page)
25762//            return pageNum <= 3
25763//        })
25764//
25765func (c *EC2) DescribeTransitGatewayVpcAttachmentsPages(input *DescribeTransitGatewayVpcAttachmentsInput, fn func(*DescribeTransitGatewayVpcAttachmentsOutput, bool) bool) error {
25766	return c.DescribeTransitGatewayVpcAttachmentsPagesWithContext(aws.BackgroundContext(), input, fn)
25767}
25768
25769// DescribeTransitGatewayVpcAttachmentsPagesWithContext same as DescribeTransitGatewayVpcAttachmentsPages except
25770// it takes a Context and allows setting request options on the pages.
25771//
25772// The context must be non-nil and will be used for request cancellation. If
25773// the context is nil a panic will occur. In the future the SDK may create
25774// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25775// for more information on using Contexts.
25776func (c *EC2) DescribeTransitGatewayVpcAttachmentsPagesWithContext(ctx aws.Context, input *DescribeTransitGatewayVpcAttachmentsInput, fn func(*DescribeTransitGatewayVpcAttachmentsOutput, bool) bool, opts ...request.Option) error {
25777	p := request.Pagination{
25778		NewRequest: func() (*request.Request, error) {
25779			var inCpy *DescribeTransitGatewayVpcAttachmentsInput
25780			if input != nil {
25781				tmp := *input
25782				inCpy = &tmp
25783			}
25784			req, _ := c.DescribeTransitGatewayVpcAttachmentsRequest(inCpy)
25785			req.SetContext(ctx)
25786			req.ApplyOptions(opts...)
25787			return req, nil
25788		},
25789	}
25790
25791	for p.Next() {
25792		if !fn(p.Page().(*DescribeTransitGatewayVpcAttachmentsOutput), !p.HasNextPage()) {
25793			break
25794		}
25795	}
25796
25797	return p.Err()
25798}
25799
25800const opDescribeTransitGateways = "DescribeTransitGateways"
25801
25802// DescribeTransitGatewaysRequest generates a "aws/request.Request" representing the
25803// client's request for the DescribeTransitGateways operation. The "output" return
25804// value will be populated with the request's response once the request completes
25805// successfully.
25806//
25807// Use "Send" method on the returned Request to send the API call to the service.
25808// the "output" return value is not valid until after Send returns without error.
25809//
25810// See DescribeTransitGateways for more information on using the DescribeTransitGateways
25811// API call, and error handling.
25812//
25813// This method is useful when you want to inject custom logic or configuration
25814// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25815//
25816//
25817//    // Example sending a request using the DescribeTransitGatewaysRequest method.
25818//    req, resp := client.DescribeTransitGatewaysRequest(params)
25819//
25820//    err := req.Send()
25821//    if err == nil { // resp is now filled
25822//        fmt.Println(resp)
25823//    }
25824//
25825// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGateways
25826func (c *EC2) DescribeTransitGatewaysRequest(input *DescribeTransitGatewaysInput) (req *request.Request, output *DescribeTransitGatewaysOutput) {
25827	op := &request.Operation{
25828		Name:       opDescribeTransitGateways,
25829		HTTPMethod: "POST",
25830		HTTPPath:   "/",
25831		Paginator: &request.Paginator{
25832			InputTokens:     []string{"NextToken"},
25833			OutputTokens:    []string{"NextToken"},
25834			LimitToken:      "MaxResults",
25835			TruncationToken: "",
25836		},
25837	}
25838
25839	if input == nil {
25840		input = &DescribeTransitGatewaysInput{}
25841	}
25842
25843	output = &DescribeTransitGatewaysOutput{}
25844	req = c.newRequest(op, input, output)
25845	return
25846}
25847
25848// DescribeTransitGateways API operation for Amazon Elastic Compute Cloud.
25849//
25850// Describes one or more transit gateways. By default, all transit gateways
25851// are described. Alternatively, you can filter the results.
25852//
25853// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25854// with awserr.Error's Code and Message methods to get detailed information about
25855// the error.
25856//
25857// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25858// API operation DescribeTransitGateways for usage and error information.
25859// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGateways
25860func (c *EC2) DescribeTransitGateways(input *DescribeTransitGatewaysInput) (*DescribeTransitGatewaysOutput, error) {
25861	req, out := c.DescribeTransitGatewaysRequest(input)
25862	return out, req.Send()
25863}
25864
25865// DescribeTransitGatewaysWithContext is the same as DescribeTransitGateways with the addition of
25866// the ability to pass a context and additional request options.
25867//
25868// See DescribeTransitGateways for details on how to use this API operation.
25869//
25870// The context must be non-nil and will be used for request cancellation. If
25871// the context is nil a panic will occur. In the future the SDK may create
25872// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25873// for more information on using Contexts.
25874func (c *EC2) DescribeTransitGatewaysWithContext(ctx aws.Context, input *DescribeTransitGatewaysInput, opts ...request.Option) (*DescribeTransitGatewaysOutput, error) {
25875	req, out := c.DescribeTransitGatewaysRequest(input)
25876	req.SetContext(ctx)
25877	req.ApplyOptions(opts...)
25878	return out, req.Send()
25879}
25880
25881// DescribeTransitGatewaysPages iterates over the pages of a DescribeTransitGateways operation,
25882// calling the "fn" function with the response data for each page. To stop
25883// iterating, return false from the fn function.
25884//
25885// See DescribeTransitGateways method for more information on how to use this operation.
25886//
25887// Note: This operation can generate multiple requests to a service.
25888//
25889//    // Example iterating over at most 3 pages of a DescribeTransitGateways operation.
25890//    pageNum := 0
25891//    err := client.DescribeTransitGatewaysPages(params,
25892//        func(page *ec2.DescribeTransitGatewaysOutput, lastPage bool) bool {
25893//            pageNum++
25894//            fmt.Println(page)
25895//            return pageNum <= 3
25896//        })
25897//
25898func (c *EC2) DescribeTransitGatewaysPages(input *DescribeTransitGatewaysInput, fn func(*DescribeTransitGatewaysOutput, bool) bool) error {
25899	return c.DescribeTransitGatewaysPagesWithContext(aws.BackgroundContext(), input, fn)
25900}
25901
25902// DescribeTransitGatewaysPagesWithContext same as DescribeTransitGatewaysPages except
25903// it takes a Context and allows setting request options on the pages.
25904//
25905// The context must be non-nil and will be used for request cancellation. If
25906// the context is nil a panic will occur. In the future the SDK may create
25907// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25908// for more information on using Contexts.
25909func (c *EC2) DescribeTransitGatewaysPagesWithContext(ctx aws.Context, input *DescribeTransitGatewaysInput, fn func(*DescribeTransitGatewaysOutput, bool) bool, opts ...request.Option) error {
25910	p := request.Pagination{
25911		NewRequest: func() (*request.Request, error) {
25912			var inCpy *DescribeTransitGatewaysInput
25913			if input != nil {
25914				tmp := *input
25915				inCpy = &tmp
25916			}
25917			req, _ := c.DescribeTransitGatewaysRequest(inCpy)
25918			req.SetContext(ctx)
25919			req.ApplyOptions(opts...)
25920			return req, nil
25921		},
25922	}
25923
25924	for p.Next() {
25925		if !fn(p.Page().(*DescribeTransitGatewaysOutput), !p.HasNextPage()) {
25926			break
25927		}
25928	}
25929
25930	return p.Err()
25931}
25932
25933const opDescribeVolumeAttribute = "DescribeVolumeAttribute"
25934
25935// DescribeVolumeAttributeRequest generates a "aws/request.Request" representing the
25936// client's request for the DescribeVolumeAttribute operation. The "output" return
25937// value will be populated with the request's response once the request completes
25938// successfully.
25939//
25940// Use "Send" method on the returned Request to send the API call to the service.
25941// the "output" return value is not valid until after Send returns without error.
25942//
25943// See DescribeVolumeAttribute for more information on using the DescribeVolumeAttribute
25944// API call, and error handling.
25945//
25946// This method is useful when you want to inject custom logic or configuration
25947// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25948//
25949//
25950//    // Example sending a request using the DescribeVolumeAttributeRequest method.
25951//    req, resp := client.DescribeVolumeAttributeRequest(params)
25952//
25953//    err := req.Send()
25954//    if err == nil { // resp is now filled
25955//        fmt.Println(resp)
25956//    }
25957//
25958// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeAttribute
25959func (c *EC2) DescribeVolumeAttributeRequest(input *DescribeVolumeAttributeInput) (req *request.Request, output *DescribeVolumeAttributeOutput) {
25960	op := &request.Operation{
25961		Name:       opDescribeVolumeAttribute,
25962		HTTPMethod: "POST",
25963		HTTPPath:   "/",
25964	}
25965
25966	if input == nil {
25967		input = &DescribeVolumeAttributeInput{}
25968	}
25969
25970	output = &DescribeVolumeAttributeOutput{}
25971	req = c.newRequest(op, input, output)
25972	return
25973}
25974
25975// DescribeVolumeAttribute API operation for Amazon Elastic Compute Cloud.
25976//
25977// Describes the specified attribute of the specified volume. You can specify
25978// only one attribute at a time.
25979//
25980// For more information about EBS volumes, see Amazon EBS volumes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumes.html)
25981// in the Amazon Elastic Compute Cloud User Guide.
25982//
25983// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25984// with awserr.Error's Code and Message methods to get detailed information about
25985// the error.
25986//
25987// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25988// API operation DescribeVolumeAttribute for usage and error information.
25989// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeAttribute
25990func (c *EC2) DescribeVolumeAttribute(input *DescribeVolumeAttributeInput) (*DescribeVolumeAttributeOutput, error) {
25991	req, out := c.DescribeVolumeAttributeRequest(input)
25992	return out, req.Send()
25993}
25994
25995// DescribeVolumeAttributeWithContext is the same as DescribeVolumeAttribute with the addition of
25996// the ability to pass a context and additional request options.
25997//
25998// See DescribeVolumeAttribute for details on how to use this API operation.
25999//
26000// The context must be non-nil and will be used for request cancellation. If
26001// the context is nil a panic will occur. In the future the SDK may create
26002// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26003// for more information on using Contexts.
26004func (c *EC2) DescribeVolumeAttributeWithContext(ctx aws.Context, input *DescribeVolumeAttributeInput, opts ...request.Option) (*DescribeVolumeAttributeOutput, error) {
26005	req, out := c.DescribeVolumeAttributeRequest(input)
26006	req.SetContext(ctx)
26007	req.ApplyOptions(opts...)
26008	return out, req.Send()
26009}
26010
26011const opDescribeVolumeStatus = "DescribeVolumeStatus"
26012
26013// DescribeVolumeStatusRequest generates a "aws/request.Request" representing the
26014// client's request for the DescribeVolumeStatus operation. The "output" return
26015// value will be populated with the request's response once the request completes
26016// successfully.
26017//
26018// Use "Send" method on the returned Request to send the API call to the service.
26019// the "output" return value is not valid until after Send returns without error.
26020//
26021// See DescribeVolumeStatus for more information on using the DescribeVolumeStatus
26022// API call, and error handling.
26023//
26024// This method is useful when you want to inject custom logic or configuration
26025// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26026//
26027//
26028//    // Example sending a request using the DescribeVolumeStatusRequest method.
26029//    req, resp := client.DescribeVolumeStatusRequest(params)
26030//
26031//    err := req.Send()
26032//    if err == nil { // resp is now filled
26033//        fmt.Println(resp)
26034//    }
26035//
26036// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeStatus
26037func (c *EC2) DescribeVolumeStatusRequest(input *DescribeVolumeStatusInput) (req *request.Request, output *DescribeVolumeStatusOutput) {
26038	op := &request.Operation{
26039		Name:       opDescribeVolumeStatus,
26040		HTTPMethod: "POST",
26041		HTTPPath:   "/",
26042		Paginator: &request.Paginator{
26043			InputTokens:     []string{"NextToken"},
26044			OutputTokens:    []string{"NextToken"},
26045			LimitToken:      "MaxResults",
26046			TruncationToken: "",
26047		},
26048	}
26049
26050	if input == nil {
26051		input = &DescribeVolumeStatusInput{}
26052	}
26053
26054	output = &DescribeVolumeStatusOutput{}
26055	req = c.newRequest(op, input, output)
26056	return
26057}
26058
26059// DescribeVolumeStatus API operation for Amazon Elastic Compute Cloud.
26060//
26061// Describes the status of the specified volumes. Volume status provides the
26062// result of the checks performed on your volumes to determine events that can
26063// impair the performance of your volumes. The performance of a volume can be
26064// affected if an issue occurs on the volume's underlying host. If the volume's
26065// underlying host experiences a power outage or system issue, after the system
26066// is restored, there could be data inconsistencies on the volume. Volume events
26067// notify you if this occurs. Volume actions notify you if any action needs
26068// to be taken in response to the event.
26069//
26070// The DescribeVolumeStatus operation provides the following information about
26071// the specified volumes:
26072//
26073// Status: Reflects the current status of the volume. The possible values are
26074// ok, impaired , warning, or insufficient-data. If all checks pass, the overall
26075// status of the volume is ok. If the check fails, the overall status is impaired.
26076// If the status is insufficient-data, then the checks might still be taking
26077// place on your volume at the time. We recommend that you retry the request.
26078// For more information about volume status, see Monitoring the status of your
26079// volumes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-volume-status.html)
26080// in the Amazon Elastic Compute Cloud User Guide.
26081//
26082// Events: Reflect the cause of a volume status and might require you to take
26083// action. For example, if your volume returns an impaired status, then the
26084// volume event might be potential-data-inconsistency. This means that your
26085// volume has been affected by an issue with the underlying host, has all I/O
26086// operations disabled, and might have inconsistent data.
26087//
26088// Actions: Reflect the actions you might have to take in response to an event.
26089// For example, if the status of the volume is impaired and the volume event
26090// shows potential-data-inconsistency, then the action shows enable-volume-io.
26091// This means that you may want to enable the I/O operations for the volume
26092// by calling the EnableVolumeIO action and then check the volume for data consistency.
26093//
26094// Volume status is based on the volume status checks, and does not reflect
26095// the volume state. Therefore, volume status does not indicate volumes in the
26096// error state (for example, when a volume is incapable of accepting I/O.)
26097//
26098// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
26099// with awserr.Error's Code and Message methods to get detailed information about
26100// the error.
26101//
26102// See the AWS API reference guide for Amazon Elastic Compute Cloud's
26103// API operation DescribeVolumeStatus for usage and error information.
26104// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeStatus
26105func (c *EC2) DescribeVolumeStatus(input *DescribeVolumeStatusInput) (*DescribeVolumeStatusOutput, error) {
26106	req, out := c.DescribeVolumeStatusRequest(input)
26107	return out, req.Send()
26108}
26109
26110// DescribeVolumeStatusWithContext is the same as DescribeVolumeStatus with the addition of
26111// the ability to pass a context and additional request options.
26112//
26113// See DescribeVolumeStatus for details on how to use this API operation.
26114//
26115// The context must be non-nil and will be used for request cancellation. If
26116// the context is nil a panic will occur. In the future the SDK may create
26117// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26118// for more information on using Contexts.
26119func (c *EC2) DescribeVolumeStatusWithContext(ctx aws.Context, input *DescribeVolumeStatusInput, opts ...request.Option) (*DescribeVolumeStatusOutput, error) {
26120	req, out := c.DescribeVolumeStatusRequest(input)
26121	req.SetContext(ctx)
26122	req.ApplyOptions(opts...)
26123	return out, req.Send()
26124}
26125
26126// DescribeVolumeStatusPages iterates over the pages of a DescribeVolumeStatus operation,
26127// calling the "fn" function with the response data for each page. To stop
26128// iterating, return false from the fn function.
26129//
26130// See DescribeVolumeStatus method for more information on how to use this operation.
26131//
26132// Note: This operation can generate multiple requests to a service.
26133//
26134//    // Example iterating over at most 3 pages of a DescribeVolumeStatus operation.
26135//    pageNum := 0
26136//    err := client.DescribeVolumeStatusPages(params,
26137//        func(page *ec2.DescribeVolumeStatusOutput, lastPage bool) bool {
26138//            pageNum++
26139//            fmt.Println(page)
26140//            return pageNum <= 3
26141//        })
26142//
26143func (c *EC2) DescribeVolumeStatusPages(input *DescribeVolumeStatusInput, fn func(*DescribeVolumeStatusOutput, bool) bool) error {
26144	return c.DescribeVolumeStatusPagesWithContext(aws.BackgroundContext(), input, fn)
26145}
26146
26147// DescribeVolumeStatusPagesWithContext same as DescribeVolumeStatusPages except
26148// it takes a Context and allows setting request options on the pages.
26149//
26150// The context must be non-nil and will be used for request cancellation. If
26151// the context is nil a panic will occur. In the future the SDK may create
26152// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26153// for more information on using Contexts.
26154func (c *EC2) DescribeVolumeStatusPagesWithContext(ctx aws.Context, input *DescribeVolumeStatusInput, fn func(*DescribeVolumeStatusOutput, bool) bool, opts ...request.Option) error {
26155	p := request.Pagination{
26156		NewRequest: func() (*request.Request, error) {
26157			var inCpy *DescribeVolumeStatusInput
26158			if input != nil {
26159				tmp := *input
26160				inCpy = &tmp
26161			}
26162			req, _ := c.DescribeVolumeStatusRequest(inCpy)
26163			req.SetContext(ctx)
26164			req.ApplyOptions(opts...)
26165			return req, nil
26166		},
26167	}
26168
26169	for p.Next() {
26170		if !fn(p.Page().(*DescribeVolumeStatusOutput), !p.HasNextPage()) {
26171			break
26172		}
26173	}
26174
26175	return p.Err()
26176}
26177
26178const opDescribeVolumes = "DescribeVolumes"
26179
26180// DescribeVolumesRequest generates a "aws/request.Request" representing the
26181// client's request for the DescribeVolumes operation. The "output" return
26182// value will be populated with the request's response once the request completes
26183// successfully.
26184//
26185// Use "Send" method on the returned Request to send the API call to the service.
26186// the "output" return value is not valid until after Send returns without error.
26187//
26188// See DescribeVolumes for more information on using the DescribeVolumes
26189// API call, and error handling.
26190//
26191// This method is useful when you want to inject custom logic or configuration
26192// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26193//
26194//
26195//    // Example sending a request using the DescribeVolumesRequest method.
26196//    req, resp := client.DescribeVolumesRequest(params)
26197//
26198//    err := req.Send()
26199//    if err == nil { // resp is now filled
26200//        fmt.Println(resp)
26201//    }
26202//
26203// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumes
26204func (c *EC2) DescribeVolumesRequest(input *DescribeVolumesInput) (req *request.Request, output *DescribeVolumesOutput) {
26205	op := &request.Operation{
26206		Name:       opDescribeVolumes,
26207		HTTPMethod: "POST",
26208		HTTPPath:   "/",
26209		Paginator: &request.Paginator{
26210			InputTokens:     []string{"NextToken"},
26211			OutputTokens:    []string{"NextToken"},
26212			LimitToken:      "MaxResults",
26213			TruncationToken: "",
26214		},
26215	}
26216
26217	if input == nil {
26218		input = &DescribeVolumesInput{}
26219	}
26220
26221	output = &DescribeVolumesOutput{}
26222	req = c.newRequest(op, input, output)
26223	return
26224}
26225
26226// DescribeVolumes API operation for Amazon Elastic Compute Cloud.
26227//
26228// Describes the specified EBS volumes or all of your EBS volumes.
26229//
26230// If you are describing a long list of volumes, we recommend that you paginate
26231// the output to make the list more manageable. The MaxResults parameter sets
26232// the maximum number of results returned in a single page. If the list of results
26233// exceeds your MaxResults value, then that number of results is returned along
26234// with a NextToken value that can be passed to a subsequent DescribeVolumes
26235// request to retrieve the remaining results.
26236//
26237// For more information about EBS volumes, see Amazon EBS volumes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumes.html)
26238// in the Amazon Elastic Compute Cloud User Guide.
26239//
26240// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
26241// with awserr.Error's Code and Message methods to get detailed information about
26242// the error.
26243//
26244// See the AWS API reference guide for Amazon Elastic Compute Cloud's
26245// API operation DescribeVolumes for usage and error information.
26246// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumes
26247func (c *EC2) DescribeVolumes(input *DescribeVolumesInput) (*DescribeVolumesOutput, error) {
26248	req, out := c.DescribeVolumesRequest(input)
26249	return out, req.Send()
26250}
26251
26252// DescribeVolumesWithContext is the same as DescribeVolumes with the addition of
26253// the ability to pass a context and additional request options.
26254//
26255// See DescribeVolumes for details on how to use this API operation.
26256//
26257// The context must be non-nil and will be used for request cancellation. If
26258// the context is nil a panic will occur. In the future the SDK may create
26259// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26260// for more information on using Contexts.
26261func (c *EC2) DescribeVolumesWithContext(ctx aws.Context, input *DescribeVolumesInput, opts ...request.Option) (*DescribeVolumesOutput, error) {
26262	req, out := c.DescribeVolumesRequest(input)
26263	req.SetContext(ctx)
26264	req.ApplyOptions(opts...)
26265	return out, req.Send()
26266}
26267
26268// DescribeVolumesPages iterates over the pages of a DescribeVolumes operation,
26269// calling the "fn" function with the response data for each page. To stop
26270// iterating, return false from the fn function.
26271//
26272// See DescribeVolumes method for more information on how to use this operation.
26273//
26274// Note: This operation can generate multiple requests to a service.
26275//
26276//    // Example iterating over at most 3 pages of a DescribeVolumes operation.
26277//    pageNum := 0
26278//    err := client.DescribeVolumesPages(params,
26279//        func(page *ec2.DescribeVolumesOutput, lastPage bool) bool {
26280//            pageNum++
26281//            fmt.Println(page)
26282//            return pageNum <= 3
26283//        })
26284//
26285func (c *EC2) DescribeVolumesPages(input *DescribeVolumesInput, fn func(*DescribeVolumesOutput, bool) bool) error {
26286	return c.DescribeVolumesPagesWithContext(aws.BackgroundContext(), input, fn)
26287}
26288
26289// DescribeVolumesPagesWithContext same as DescribeVolumesPages except
26290// it takes a Context and allows setting request options on the pages.
26291//
26292// The context must be non-nil and will be used for request cancellation. If
26293// the context is nil a panic will occur. In the future the SDK may create
26294// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26295// for more information on using Contexts.
26296func (c *EC2) DescribeVolumesPagesWithContext(ctx aws.Context, input *DescribeVolumesInput, fn func(*DescribeVolumesOutput, bool) bool, opts ...request.Option) error {
26297	p := request.Pagination{
26298		NewRequest: func() (*request.Request, error) {
26299			var inCpy *DescribeVolumesInput
26300			if input != nil {
26301				tmp := *input
26302				inCpy = &tmp
26303			}
26304			req, _ := c.DescribeVolumesRequest(inCpy)
26305			req.SetContext(ctx)
26306			req.ApplyOptions(opts...)
26307			return req, nil
26308		},
26309	}
26310
26311	for p.Next() {
26312		if !fn(p.Page().(*DescribeVolumesOutput), !p.HasNextPage()) {
26313			break
26314		}
26315	}
26316
26317	return p.Err()
26318}
26319
26320const opDescribeVolumesModifications = "DescribeVolumesModifications"
26321
26322// DescribeVolumesModificationsRequest generates a "aws/request.Request" representing the
26323// client's request for the DescribeVolumesModifications operation. The "output" return
26324// value will be populated with the request's response once the request completes
26325// successfully.
26326//
26327// Use "Send" method on the returned Request to send the API call to the service.
26328// the "output" return value is not valid until after Send returns without error.
26329//
26330// See DescribeVolumesModifications for more information on using the DescribeVolumesModifications
26331// API call, and error handling.
26332//
26333// This method is useful when you want to inject custom logic or configuration
26334// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26335//
26336//
26337//    // Example sending a request using the DescribeVolumesModificationsRequest method.
26338//    req, resp := client.DescribeVolumesModificationsRequest(params)
26339//
26340//    err := req.Send()
26341//    if err == nil { // resp is now filled
26342//        fmt.Println(resp)
26343//    }
26344//
26345// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumesModifications
26346func (c *EC2) DescribeVolumesModificationsRequest(input *DescribeVolumesModificationsInput) (req *request.Request, output *DescribeVolumesModificationsOutput) {
26347	op := &request.Operation{
26348		Name:       opDescribeVolumesModifications,
26349		HTTPMethod: "POST",
26350		HTTPPath:   "/",
26351		Paginator: &request.Paginator{
26352			InputTokens:     []string{"NextToken"},
26353			OutputTokens:    []string{"NextToken"},
26354			LimitToken:      "MaxResults",
26355			TruncationToken: "",
26356		},
26357	}
26358
26359	if input == nil {
26360		input = &DescribeVolumesModificationsInput{}
26361	}
26362
26363	output = &DescribeVolumesModificationsOutput{}
26364	req = c.newRequest(op, input, output)
26365	return
26366}
26367
26368// DescribeVolumesModifications API operation for Amazon Elastic Compute Cloud.
26369//
26370// Describes the most recent volume modification request for the specified EBS
26371// volumes.
26372//
26373// If a volume has never been modified, some information in the output will
26374// be null. If a volume has been modified more than once, the output includes
26375// only the most recent modification request.
26376//
26377// You can also use CloudWatch Events to check the status of a modification
26378// to an EBS volume. For information about CloudWatch Events, see the Amazon
26379// CloudWatch Events User Guide (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/).
26380// For more information, see Monitoring volume modifications (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#monitoring_mods)
26381// in the Amazon Elastic Compute Cloud User Guide.
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 DescribeVolumesModifications for usage and error information.
26389// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumesModifications
26390func (c *EC2) DescribeVolumesModifications(input *DescribeVolumesModificationsInput) (*DescribeVolumesModificationsOutput, error) {
26391	req, out := c.DescribeVolumesModificationsRequest(input)
26392	return out, req.Send()
26393}
26394
26395// DescribeVolumesModificationsWithContext is the same as DescribeVolumesModifications with the addition of
26396// the ability to pass a context and additional request options.
26397//
26398// See DescribeVolumesModifications 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) DescribeVolumesModificationsWithContext(ctx aws.Context, input *DescribeVolumesModificationsInput, opts ...request.Option) (*DescribeVolumesModificationsOutput, error) {
26405	req, out := c.DescribeVolumesModificationsRequest(input)
26406	req.SetContext(ctx)
26407	req.ApplyOptions(opts...)
26408	return out, req.Send()
26409}
26410
26411// DescribeVolumesModificationsPages iterates over the pages of a DescribeVolumesModifications operation,
26412// calling the "fn" function with the response data for each page. To stop
26413// iterating, return false from the fn function.
26414//
26415// See DescribeVolumesModifications method for more information on how to use this operation.
26416//
26417// Note: This operation can generate multiple requests to a service.
26418//
26419//    // Example iterating over at most 3 pages of a DescribeVolumesModifications operation.
26420//    pageNum := 0
26421//    err := client.DescribeVolumesModificationsPages(params,
26422//        func(page *ec2.DescribeVolumesModificationsOutput, lastPage bool) bool {
26423//            pageNum++
26424//            fmt.Println(page)
26425//            return pageNum <= 3
26426//        })
26427//
26428func (c *EC2) DescribeVolumesModificationsPages(input *DescribeVolumesModificationsInput, fn func(*DescribeVolumesModificationsOutput, bool) bool) error {
26429	return c.DescribeVolumesModificationsPagesWithContext(aws.BackgroundContext(), input, fn)
26430}
26431
26432// DescribeVolumesModificationsPagesWithContext same as DescribeVolumesModificationsPages except
26433// it takes a Context and allows setting request options on the pages.
26434//
26435// The context must be non-nil and will be used for request cancellation. If
26436// the context is nil a panic will occur. In the future the SDK may create
26437// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26438// for more information on using Contexts.
26439func (c *EC2) DescribeVolumesModificationsPagesWithContext(ctx aws.Context, input *DescribeVolumesModificationsInput, fn func(*DescribeVolumesModificationsOutput, bool) bool, opts ...request.Option) error {
26440	p := request.Pagination{
26441		NewRequest: func() (*request.Request, error) {
26442			var inCpy *DescribeVolumesModificationsInput
26443			if input != nil {
26444				tmp := *input
26445				inCpy = &tmp
26446			}
26447			req, _ := c.DescribeVolumesModificationsRequest(inCpy)
26448			req.SetContext(ctx)
26449			req.ApplyOptions(opts...)
26450			return req, nil
26451		},
26452	}
26453
26454	for p.Next() {
26455		if !fn(p.Page().(*DescribeVolumesModificationsOutput), !p.HasNextPage()) {
26456			break
26457		}
26458	}
26459
26460	return p.Err()
26461}
26462
26463const opDescribeVpcAttribute = "DescribeVpcAttribute"
26464
26465// DescribeVpcAttributeRequest generates a "aws/request.Request" representing the
26466// client's request for the DescribeVpcAttribute operation. The "output" return
26467// value will be populated with the request's response once the request completes
26468// successfully.
26469//
26470// Use "Send" method on the returned Request to send the API call to the service.
26471// the "output" return value is not valid until after Send returns without error.
26472//
26473// See DescribeVpcAttribute for more information on using the DescribeVpcAttribute
26474// API call, and error handling.
26475//
26476// This method is useful when you want to inject custom logic or configuration
26477// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26478//
26479//
26480//    // Example sending a request using the DescribeVpcAttributeRequest method.
26481//    req, resp := client.DescribeVpcAttributeRequest(params)
26482//
26483//    err := req.Send()
26484//    if err == nil { // resp is now filled
26485//        fmt.Println(resp)
26486//    }
26487//
26488// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcAttribute
26489func (c *EC2) DescribeVpcAttributeRequest(input *DescribeVpcAttributeInput) (req *request.Request, output *DescribeVpcAttributeOutput) {
26490	op := &request.Operation{
26491		Name:       opDescribeVpcAttribute,
26492		HTTPMethod: "POST",
26493		HTTPPath:   "/",
26494	}
26495
26496	if input == nil {
26497		input = &DescribeVpcAttributeInput{}
26498	}
26499
26500	output = &DescribeVpcAttributeOutput{}
26501	req = c.newRequest(op, input, output)
26502	return
26503}
26504
26505// DescribeVpcAttribute API operation for Amazon Elastic Compute Cloud.
26506//
26507// Describes the specified attribute of the specified VPC. You can specify only
26508// one attribute at a time.
26509//
26510// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
26511// with awserr.Error's Code and Message methods to get detailed information about
26512// the error.
26513//
26514// See the AWS API reference guide for Amazon Elastic Compute Cloud's
26515// API operation DescribeVpcAttribute for usage and error information.
26516// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcAttribute
26517func (c *EC2) DescribeVpcAttribute(input *DescribeVpcAttributeInput) (*DescribeVpcAttributeOutput, error) {
26518	req, out := c.DescribeVpcAttributeRequest(input)
26519	return out, req.Send()
26520}
26521
26522// DescribeVpcAttributeWithContext is the same as DescribeVpcAttribute with the addition of
26523// the ability to pass a context and additional request options.
26524//
26525// See DescribeVpcAttribute for details on how to use this API operation.
26526//
26527// The context must be non-nil and will be used for request cancellation. If
26528// the context is nil a panic will occur. In the future the SDK may create
26529// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26530// for more information on using Contexts.
26531func (c *EC2) DescribeVpcAttributeWithContext(ctx aws.Context, input *DescribeVpcAttributeInput, opts ...request.Option) (*DescribeVpcAttributeOutput, error) {
26532	req, out := c.DescribeVpcAttributeRequest(input)
26533	req.SetContext(ctx)
26534	req.ApplyOptions(opts...)
26535	return out, req.Send()
26536}
26537
26538const opDescribeVpcClassicLink = "DescribeVpcClassicLink"
26539
26540// DescribeVpcClassicLinkRequest generates a "aws/request.Request" representing the
26541// client's request for the DescribeVpcClassicLink operation. The "output" return
26542// value will be populated with the request's response once the request completes
26543// successfully.
26544//
26545// Use "Send" method on the returned Request to send the API call to the service.
26546// the "output" return value is not valid until after Send returns without error.
26547//
26548// See DescribeVpcClassicLink for more information on using the DescribeVpcClassicLink
26549// API call, and error handling.
26550//
26551// This method is useful when you want to inject custom logic or configuration
26552// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26553//
26554//
26555//    // Example sending a request using the DescribeVpcClassicLinkRequest method.
26556//    req, resp := client.DescribeVpcClassicLinkRequest(params)
26557//
26558//    err := req.Send()
26559//    if err == nil { // resp is now filled
26560//        fmt.Println(resp)
26561//    }
26562//
26563// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLink
26564func (c *EC2) DescribeVpcClassicLinkRequest(input *DescribeVpcClassicLinkInput) (req *request.Request, output *DescribeVpcClassicLinkOutput) {
26565	op := &request.Operation{
26566		Name:       opDescribeVpcClassicLink,
26567		HTTPMethod: "POST",
26568		HTTPPath:   "/",
26569	}
26570
26571	if input == nil {
26572		input = &DescribeVpcClassicLinkInput{}
26573	}
26574
26575	output = &DescribeVpcClassicLinkOutput{}
26576	req = c.newRequest(op, input, output)
26577	return
26578}
26579
26580// DescribeVpcClassicLink API operation for Amazon Elastic Compute Cloud.
26581//
26582// Describes the ClassicLink status of one or more VPCs.
26583//
26584// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
26585// with awserr.Error's Code and Message methods to get detailed information about
26586// the error.
26587//
26588// See the AWS API reference guide for Amazon Elastic Compute Cloud's
26589// API operation DescribeVpcClassicLink for usage and error information.
26590// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLink
26591func (c *EC2) DescribeVpcClassicLink(input *DescribeVpcClassicLinkInput) (*DescribeVpcClassicLinkOutput, error) {
26592	req, out := c.DescribeVpcClassicLinkRequest(input)
26593	return out, req.Send()
26594}
26595
26596// DescribeVpcClassicLinkWithContext is the same as DescribeVpcClassicLink with the addition of
26597// the ability to pass a context and additional request options.
26598//
26599// See DescribeVpcClassicLink for details on how to use this API operation.
26600//
26601// The context must be non-nil and will be used for request cancellation. If
26602// the context is nil a panic will occur. In the future the SDK may create
26603// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26604// for more information on using Contexts.
26605func (c *EC2) DescribeVpcClassicLinkWithContext(ctx aws.Context, input *DescribeVpcClassicLinkInput, opts ...request.Option) (*DescribeVpcClassicLinkOutput, error) {
26606	req, out := c.DescribeVpcClassicLinkRequest(input)
26607	req.SetContext(ctx)
26608	req.ApplyOptions(opts...)
26609	return out, req.Send()
26610}
26611
26612const opDescribeVpcClassicLinkDnsSupport = "DescribeVpcClassicLinkDnsSupport"
26613
26614// DescribeVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the
26615// client's request for the DescribeVpcClassicLinkDnsSupport operation. The "output" return
26616// value will be populated with the request's response once the request completes
26617// successfully.
26618//
26619// Use "Send" method on the returned Request to send the API call to the service.
26620// the "output" return value is not valid until after Send returns without error.
26621//
26622// See DescribeVpcClassicLinkDnsSupport for more information on using the DescribeVpcClassicLinkDnsSupport
26623// API call, and error handling.
26624//
26625// This method is useful when you want to inject custom logic or configuration
26626// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26627//
26628//
26629//    // Example sending a request using the DescribeVpcClassicLinkDnsSupportRequest method.
26630//    req, resp := client.DescribeVpcClassicLinkDnsSupportRequest(params)
26631//
26632//    err := req.Send()
26633//    if err == nil { // resp is now filled
26634//        fmt.Println(resp)
26635//    }
26636//
26637// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLinkDnsSupport
26638func (c *EC2) DescribeVpcClassicLinkDnsSupportRequest(input *DescribeVpcClassicLinkDnsSupportInput) (req *request.Request, output *DescribeVpcClassicLinkDnsSupportOutput) {
26639	op := &request.Operation{
26640		Name:       opDescribeVpcClassicLinkDnsSupport,
26641		HTTPMethod: "POST",
26642		HTTPPath:   "/",
26643		Paginator: &request.Paginator{
26644			InputTokens:     []string{"NextToken"},
26645			OutputTokens:    []string{"NextToken"},
26646			LimitToken:      "MaxResults",
26647			TruncationToken: "",
26648		},
26649	}
26650
26651	if input == nil {
26652		input = &DescribeVpcClassicLinkDnsSupportInput{}
26653	}
26654
26655	output = &DescribeVpcClassicLinkDnsSupportOutput{}
26656	req = c.newRequest(op, input, output)
26657	return
26658}
26659
26660// DescribeVpcClassicLinkDnsSupport API operation for Amazon Elastic Compute Cloud.
26661//
26662// Describes the ClassicLink DNS support status of one or more VPCs. If enabled,
26663// the DNS hostname of a linked EC2-Classic instance resolves to its private
26664// IP address when addressed from an instance in the VPC to which it's linked.
26665// Similarly, the DNS hostname of an instance in a VPC resolves to its private
26666// IP address when addressed from a linked EC2-Classic instance. For more information,
26667// see ClassicLink (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
26668// in the Amazon Elastic Compute Cloud User Guide.
26669//
26670// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
26671// with awserr.Error's Code and Message methods to get detailed information about
26672// the error.
26673//
26674// See the AWS API reference guide for Amazon Elastic Compute Cloud's
26675// API operation DescribeVpcClassicLinkDnsSupport for usage and error information.
26676// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLinkDnsSupport
26677func (c *EC2) DescribeVpcClassicLinkDnsSupport(input *DescribeVpcClassicLinkDnsSupportInput) (*DescribeVpcClassicLinkDnsSupportOutput, error) {
26678	req, out := c.DescribeVpcClassicLinkDnsSupportRequest(input)
26679	return out, req.Send()
26680}
26681
26682// DescribeVpcClassicLinkDnsSupportWithContext is the same as DescribeVpcClassicLinkDnsSupport with the addition of
26683// the ability to pass a context and additional request options.
26684//
26685// See DescribeVpcClassicLinkDnsSupport for details on how to use this API operation.
26686//
26687// The context must be non-nil and will be used for request cancellation. If
26688// the context is nil a panic will occur. In the future the SDK may create
26689// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26690// for more information on using Contexts.
26691func (c *EC2) DescribeVpcClassicLinkDnsSupportWithContext(ctx aws.Context, input *DescribeVpcClassicLinkDnsSupportInput, opts ...request.Option) (*DescribeVpcClassicLinkDnsSupportOutput, error) {
26692	req, out := c.DescribeVpcClassicLinkDnsSupportRequest(input)
26693	req.SetContext(ctx)
26694	req.ApplyOptions(opts...)
26695	return out, req.Send()
26696}
26697
26698// DescribeVpcClassicLinkDnsSupportPages iterates over the pages of a DescribeVpcClassicLinkDnsSupport operation,
26699// calling the "fn" function with the response data for each page. To stop
26700// iterating, return false from the fn function.
26701//
26702// See DescribeVpcClassicLinkDnsSupport method for more information on how to use this operation.
26703//
26704// Note: This operation can generate multiple requests to a service.
26705//
26706//    // Example iterating over at most 3 pages of a DescribeVpcClassicLinkDnsSupport operation.
26707//    pageNum := 0
26708//    err := client.DescribeVpcClassicLinkDnsSupportPages(params,
26709//        func(page *ec2.DescribeVpcClassicLinkDnsSupportOutput, lastPage bool) bool {
26710//            pageNum++
26711//            fmt.Println(page)
26712//            return pageNum <= 3
26713//        })
26714//
26715func (c *EC2) DescribeVpcClassicLinkDnsSupportPages(input *DescribeVpcClassicLinkDnsSupportInput, fn func(*DescribeVpcClassicLinkDnsSupportOutput, bool) bool) error {
26716	return c.DescribeVpcClassicLinkDnsSupportPagesWithContext(aws.BackgroundContext(), input, fn)
26717}
26718
26719// DescribeVpcClassicLinkDnsSupportPagesWithContext same as DescribeVpcClassicLinkDnsSupportPages except
26720// it takes a Context and allows setting request options on the pages.
26721//
26722// The context must be non-nil and will be used for request cancellation. If
26723// the context is nil a panic will occur. In the future the SDK may create
26724// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26725// for more information on using Contexts.
26726func (c *EC2) DescribeVpcClassicLinkDnsSupportPagesWithContext(ctx aws.Context, input *DescribeVpcClassicLinkDnsSupportInput, fn func(*DescribeVpcClassicLinkDnsSupportOutput, bool) bool, opts ...request.Option) error {
26727	p := request.Pagination{
26728		NewRequest: func() (*request.Request, error) {
26729			var inCpy *DescribeVpcClassicLinkDnsSupportInput
26730			if input != nil {
26731				tmp := *input
26732				inCpy = &tmp
26733			}
26734			req, _ := c.DescribeVpcClassicLinkDnsSupportRequest(inCpy)
26735			req.SetContext(ctx)
26736			req.ApplyOptions(opts...)
26737			return req, nil
26738		},
26739	}
26740
26741	for p.Next() {
26742		if !fn(p.Page().(*DescribeVpcClassicLinkDnsSupportOutput), !p.HasNextPage()) {
26743			break
26744		}
26745	}
26746
26747	return p.Err()
26748}
26749
26750const opDescribeVpcEndpointConnectionNotifications = "DescribeVpcEndpointConnectionNotifications"
26751
26752// DescribeVpcEndpointConnectionNotificationsRequest generates a "aws/request.Request" representing the
26753// client's request for the DescribeVpcEndpointConnectionNotifications operation. The "output" return
26754// value will be populated with the request's response once the request completes
26755// successfully.
26756//
26757// Use "Send" method on the returned Request to send the API call to the service.
26758// the "output" return value is not valid until after Send returns without error.
26759//
26760// See DescribeVpcEndpointConnectionNotifications for more information on using the DescribeVpcEndpointConnectionNotifications
26761// API call, and error handling.
26762//
26763// This method is useful when you want to inject custom logic or configuration
26764// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26765//
26766//
26767//    // Example sending a request using the DescribeVpcEndpointConnectionNotificationsRequest method.
26768//    req, resp := client.DescribeVpcEndpointConnectionNotificationsRequest(params)
26769//
26770//    err := req.Send()
26771//    if err == nil { // resp is now filled
26772//        fmt.Println(resp)
26773//    }
26774//
26775// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointConnectionNotifications
26776func (c *EC2) DescribeVpcEndpointConnectionNotificationsRequest(input *DescribeVpcEndpointConnectionNotificationsInput) (req *request.Request, output *DescribeVpcEndpointConnectionNotificationsOutput) {
26777	op := &request.Operation{
26778		Name:       opDescribeVpcEndpointConnectionNotifications,
26779		HTTPMethod: "POST",
26780		HTTPPath:   "/",
26781		Paginator: &request.Paginator{
26782			InputTokens:     []string{"NextToken"},
26783			OutputTokens:    []string{"NextToken"},
26784			LimitToken:      "MaxResults",
26785			TruncationToken: "",
26786		},
26787	}
26788
26789	if input == nil {
26790		input = &DescribeVpcEndpointConnectionNotificationsInput{}
26791	}
26792
26793	output = &DescribeVpcEndpointConnectionNotificationsOutput{}
26794	req = c.newRequest(op, input, output)
26795	return
26796}
26797
26798// DescribeVpcEndpointConnectionNotifications API operation for Amazon Elastic Compute Cloud.
26799//
26800// Describes the connection notifications for VPC endpoints and VPC endpoint
26801// services.
26802//
26803// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
26804// with awserr.Error's Code and Message methods to get detailed information about
26805// the error.
26806//
26807// See the AWS API reference guide for Amazon Elastic Compute Cloud's
26808// API operation DescribeVpcEndpointConnectionNotifications for usage and error information.
26809// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointConnectionNotifications
26810func (c *EC2) DescribeVpcEndpointConnectionNotifications(input *DescribeVpcEndpointConnectionNotificationsInput) (*DescribeVpcEndpointConnectionNotificationsOutput, error) {
26811	req, out := c.DescribeVpcEndpointConnectionNotificationsRequest(input)
26812	return out, req.Send()
26813}
26814
26815// DescribeVpcEndpointConnectionNotificationsWithContext is the same as DescribeVpcEndpointConnectionNotifications with the addition of
26816// the ability to pass a context and additional request options.
26817//
26818// See DescribeVpcEndpointConnectionNotifications for details on how to use this API operation.
26819//
26820// The context must be non-nil and will be used for request cancellation. If
26821// the context is nil a panic will occur. In the future the SDK may create
26822// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26823// for more information on using Contexts.
26824func (c *EC2) DescribeVpcEndpointConnectionNotificationsWithContext(ctx aws.Context, input *DescribeVpcEndpointConnectionNotificationsInput, opts ...request.Option) (*DescribeVpcEndpointConnectionNotificationsOutput, error) {
26825	req, out := c.DescribeVpcEndpointConnectionNotificationsRequest(input)
26826	req.SetContext(ctx)
26827	req.ApplyOptions(opts...)
26828	return out, req.Send()
26829}
26830
26831// DescribeVpcEndpointConnectionNotificationsPages iterates over the pages of a DescribeVpcEndpointConnectionNotifications operation,
26832// calling the "fn" function with the response data for each page. To stop
26833// iterating, return false from the fn function.
26834//
26835// See DescribeVpcEndpointConnectionNotifications method for more information on how to use this operation.
26836//
26837// Note: This operation can generate multiple requests to a service.
26838//
26839//    // Example iterating over at most 3 pages of a DescribeVpcEndpointConnectionNotifications operation.
26840//    pageNum := 0
26841//    err := client.DescribeVpcEndpointConnectionNotificationsPages(params,
26842//        func(page *ec2.DescribeVpcEndpointConnectionNotificationsOutput, lastPage bool) bool {
26843//            pageNum++
26844//            fmt.Println(page)
26845//            return pageNum <= 3
26846//        })
26847//
26848func (c *EC2) DescribeVpcEndpointConnectionNotificationsPages(input *DescribeVpcEndpointConnectionNotificationsInput, fn func(*DescribeVpcEndpointConnectionNotificationsOutput, bool) bool) error {
26849	return c.DescribeVpcEndpointConnectionNotificationsPagesWithContext(aws.BackgroundContext(), input, fn)
26850}
26851
26852// DescribeVpcEndpointConnectionNotificationsPagesWithContext same as DescribeVpcEndpointConnectionNotificationsPages except
26853// it takes a Context and allows setting request options on the pages.
26854//
26855// The context must be non-nil and will be used for request cancellation. If
26856// the context is nil a panic will occur. In the future the SDK may create
26857// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26858// for more information on using Contexts.
26859func (c *EC2) DescribeVpcEndpointConnectionNotificationsPagesWithContext(ctx aws.Context, input *DescribeVpcEndpointConnectionNotificationsInput, fn func(*DescribeVpcEndpointConnectionNotificationsOutput, bool) bool, opts ...request.Option) error {
26860	p := request.Pagination{
26861		NewRequest: func() (*request.Request, error) {
26862			var inCpy *DescribeVpcEndpointConnectionNotificationsInput
26863			if input != nil {
26864				tmp := *input
26865				inCpy = &tmp
26866			}
26867			req, _ := c.DescribeVpcEndpointConnectionNotificationsRequest(inCpy)
26868			req.SetContext(ctx)
26869			req.ApplyOptions(opts...)
26870			return req, nil
26871		},
26872	}
26873
26874	for p.Next() {
26875		if !fn(p.Page().(*DescribeVpcEndpointConnectionNotificationsOutput), !p.HasNextPage()) {
26876			break
26877		}
26878	}
26879
26880	return p.Err()
26881}
26882
26883const opDescribeVpcEndpointConnections = "DescribeVpcEndpointConnections"
26884
26885// DescribeVpcEndpointConnectionsRequest generates a "aws/request.Request" representing the
26886// client's request for the DescribeVpcEndpointConnections operation. The "output" return
26887// value will be populated with the request's response once the request completes
26888// successfully.
26889//
26890// Use "Send" method on the returned Request to send the API call to the service.
26891// the "output" return value is not valid until after Send returns without error.
26892//
26893// See DescribeVpcEndpointConnections for more information on using the DescribeVpcEndpointConnections
26894// API call, and error handling.
26895//
26896// This method is useful when you want to inject custom logic or configuration
26897// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26898//
26899//
26900//    // Example sending a request using the DescribeVpcEndpointConnectionsRequest method.
26901//    req, resp := client.DescribeVpcEndpointConnectionsRequest(params)
26902//
26903//    err := req.Send()
26904//    if err == nil { // resp is now filled
26905//        fmt.Println(resp)
26906//    }
26907//
26908// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointConnections
26909func (c *EC2) DescribeVpcEndpointConnectionsRequest(input *DescribeVpcEndpointConnectionsInput) (req *request.Request, output *DescribeVpcEndpointConnectionsOutput) {
26910	op := &request.Operation{
26911		Name:       opDescribeVpcEndpointConnections,
26912		HTTPMethod: "POST",
26913		HTTPPath:   "/",
26914		Paginator: &request.Paginator{
26915			InputTokens:     []string{"NextToken"},
26916			OutputTokens:    []string{"NextToken"},
26917			LimitToken:      "MaxResults",
26918			TruncationToken: "",
26919		},
26920	}
26921
26922	if input == nil {
26923		input = &DescribeVpcEndpointConnectionsInput{}
26924	}
26925
26926	output = &DescribeVpcEndpointConnectionsOutput{}
26927	req = c.newRequest(op, input, output)
26928	return
26929}
26930
26931// DescribeVpcEndpointConnections API operation for Amazon Elastic Compute Cloud.
26932//
26933// Describes the VPC endpoint connections to your VPC endpoint services, including
26934// any endpoints that are pending your acceptance.
26935//
26936// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
26937// with awserr.Error's Code and Message methods to get detailed information about
26938// the error.
26939//
26940// See the AWS API reference guide for Amazon Elastic Compute Cloud's
26941// API operation DescribeVpcEndpointConnections for usage and error information.
26942// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointConnections
26943func (c *EC2) DescribeVpcEndpointConnections(input *DescribeVpcEndpointConnectionsInput) (*DescribeVpcEndpointConnectionsOutput, error) {
26944	req, out := c.DescribeVpcEndpointConnectionsRequest(input)
26945	return out, req.Send()
26946}
26947
26948// DescribeVpcEndpointConnectionsWithContext is the same as DescribeVpcEndpointConnections with the addition of
26949// the ability to pass a context and additional request options.
26950//
26951// See DescribeVpcEndpointConnections for details on how to use this API operation.
26952//
26953// The context must be non-nil and will be used for request cancellation. If
26954// the context is nil a panic will occur. In the future the SDK may create
26955// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26956// for more information on using Contexts.
26957func (c *EC2) DescribeVpcEndpointConnectionsWithContext(ctx aws.Context, input *DescribeVpcEndpointConnectionsInput, opts ...request.Option) (*DescribeVpcEndpointConnectionsOutput, error) {
26958	req, out := c.DescribeVpcEndpointConnectionsRequest(input)
26959	req.SetContext(ctx)
26960	req.ApplyOptions(opts...)
26961	return out, req.Send()
26962}
26963
26964// DescribeVpcEndpointConnectionsPages iterates over the pages of a DescribeVpcEndpointConnections operation,
26965// calling the "fn" function with the response data for each page. To stop
26966// iterating, return false from the fn function.
26967//
26968// See DescribeVpcEndpointConnections method for more information on how to use this operation.
26969//
26970// Note: This operation can generate multiple requests to a service.
26971//
26972//    // Example iterating over at most 3 pages of a DescribeVpcEndpointConnections operation.
26973//    pageNum := 0
26974//    err := client.DescribeVpcEndpointConnectionsPages(params,
26975//        func(page *ec2.DescribeVpcEndpointConnectionsOutput, lastPage bool) bool {
26976//            pageNum++
26977//            fmt.Println(page)
26978//            return pageNum <= 3
26979//        })
26980//
26981func (c *EC2) DescribeVpcEndpointConnectionsPages(input *DescribeVpcEndpointConnectionsInput, fn func(*DescribeVpcEndpointConnectionsOutput, bool) bool) error {
26982	return c.DescribeVpcEndpointConnectionsPagesWithContext(aws.BackgroundContext(), input, fn)
26983}
26984
26985// DescribeVpcEndpointConnectionsPagesWithContext same as DescribeVpcEndpointConnectionsPages except
26986// it takes a Context and allows setting request options on the pages.
26987//
26988// The context must be non-nil and will be used for request cancellation. If
26989// the context is nil a panic will occur. In the future the SDK may create
26990// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26991// for more information on using Contexts.
26992func (c *EC2) DescribeVpcEndpointConnectionsPagesWithContext(ctx aws.Context, input *DescribeVpcEndpointConnectionsInput, fn func(*DescribeVpcEndpointConnectionsOutput, bool) bool, opts ...request.Option) error {
26993	p := request.Pagination{
26994		NewRequest: func() (*request.Request, error) {
26995			var inCpy *DescribeVpcEndpointConnectionsInput
26996			if input != nil {
26997				tmp := *input
26998				inCpy = &tmp
26999			}
27000			req, _ := c.DescribeVpcEndpointConnectionsRequest(inCpy)
27001			req.SetContext(ctx)
27002			req.ApplyOptions(opts...)
27003			return req, nil
27004		},
27005	}
27006
27007	for p.Next() {
27008		if !fn(p.Page().(*DescribeVpcEndpointConnectionsOutput), !p.HasNextPage()) {
27009			break
27010		}
27011	}
27012
27013	return p.Err()
27014}
27015
27016const opDescribeVpcEndpointServiceConfigurations = "DescribeVpcEndpointServiceConfigurations"
27017
27018// DescribeVpcEndpointServiceConfigurationsRequest generates a "aws/request.Request" representing the
27019// client's request for the DescribeVpcEndpointServiceConfigurations operation. The "output" return
27020// value will be populated with the request's response once the request completes
27021// successfully.
27022//
27023// Use "Send" method on the returned Request to send the API call to the service.
27024// the "output" return value is not valid until after Send returns without error.
27025//
27026// See DescribeVpcEndpointServiceConfigurations for more information on using the DescribeVpcEndpointServiceConfigurations
27027// API call, and error handling.
27028//
27029// This method is useful when you want to inject custom logic or configuration
27030// into the SDK's request lifecycle. Such as custom headers, or retry logic.
27031//
27032//
27033//    // Example sending a request using the DescribeVpcEndpointServiceConfigurationsRequest method.
27034//    req, resp := client.DescribeVpcEndpointServiceConfigurationsRequest(params)
27035//
27036//    err := req.Send()
27037//    if err == nil { // resp is now filled
27038//        fmt.Println(resp)
27039//    }
27040//
27041// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServiceConfigurations
27042func (c *EC2) DescribeVpcEndpointServiceConfigurationsRequest(input *DescribeVpcEndpointServiceConfigurationsInput) (req *request.Request, output *DescribeVpcEndpointServiceConfigurationsOutput) {
27043	op := &request.Operation{
27044		Name:       opDescribeVpcEndpointServiceConfigurations,
27045		HTTPMethod: "POST",
27046		HTTPPath:   "/",
27047		Paginator: &request.Paginator{
27048			InputTokens:     []string{"NextToken"},
27049			OutputTokens:    []string{"NextToken"},
27050			LimitToken:      "MaxResults",
27051			TruncationToken: "",
27052		},
27053	}
27054
27055	if input == nil {
27056		input = &DescribeVpcEndpointServiceConfigurationsInput{}
27057	}
27058
27059	output = &DescribeVpcEndpointServiceConfigurationsOutput{}
27060	req = c.newRequest(op, input, output)
27061	return
27062}
27063
27064// DescribeVpcEndpointServiceConfigurations API operation for Amazon Elastic Compute Cloud.
27065//
27066// Describes the VPC endpoint service configurations in your account (your services).
27067//
27068// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27069// with awserr.Error's Code and Message methods to get detailed information about
27070// the error.
27071//
27072// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27073// API operation DescribeVpcEndpointServiceConfigurations for usage and error information.
27074// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServiceConfigurations
27075func (c *EC2) DescribeVpcEndpointServiceConfigurations(input *DescribeVpcEndpointServiceConfigurationsInput) (*DescribeVpcEndpointServiceConfigurationsOutput, error) {
27076	req, out := c.DescribeVpcEndpointServiceConfigurationsRequest(input)
27077	return out, req.Send()
27078}
27079
27080// DescribeVpcEndpointServiceConfigurationsWithContext is the same as DescribeVpcEndpointServiceConfigurations with the addition of
27081// the ability to pass a context and additional request options.
27082//
27083// See DescribeVpcEndpointServiceConfigurations for details on how to use this API operation.
27084//
27085// The context must be non-nil and will be used for request cancellation. If
27086// the context is nil a panic will occur. In the future the SDK may create
27087// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27088// for more information on using Contexts.
27089func (c *EC2) DescribeVpcEndpointServiceConfigurationsWithContext(ctx aws.Context, input *DescribeVpcEndpointServiceConfigurationsInput, opts ...request.Option) (*DescribeVpcEndpointServiceConfigurationsOutput, error) {
27090	req, out := c.DescribeVpcEndpointServiceConfigurationsRequest(input)
27091	req.SetContext(ctx)
27092	req.ApplyOptions(opts...)
27093	return out, req.Send()
27094}
27095
27096// DescribeVpcEndpointServiceConfigurationsPages iterates over the pages of a DescribeVpcEndpointServiceConfigurations operation,
27097// calling the "fn" function with the response data for each page. To stop
27098// iterating, return false from the fn function.
27099//
27100// See DescribeVpcEndpointServiceConfigurations method for more information on how to use this operation.
27101//
27102// Note: This operation can generate multiple requests to a service.
27103//
27104//    // Example iterating over at most 3 pages of a DescribeVpcEndpointServiceConfigurations operation.
27105//    pageNum := 0
27106//    err := client.DescribeVpcEndpointServiceConfigurationsPages(params,
27107//        func(page *ec2.DescribeVpcEndpointServiceConfigurationsOutput, lastPage bool) bool {
27108//            pageNum++
27109//            fmt.Println(page)
27110//            return pageNum <= 3
27111//        })
27112//
27113func (c *EC2) DescribeVpcEndpointServiceConfigurationsPages(input *DescribeVpcEndpointServiceConfigurationsInput, fn func(*DescribeVpcEndpointServiceConfigurationsOutput, bool) bool) error {
27114	return c.DescribeVpcEndpointServiceConfigurationsPagesWithContext(aws.BackgroundContext(), input, fn)
27115}
27116
27117// DescribeVpcEndpointServiceConfigurationsPagesWithContext same as DescribeVpcEndpointServiceConfigurationsPages except
27118// it takes a Context and allows setting request options on the pages.
27119//
27120// The context must be non-nil and will be used for request cancellation. If
27121// the context is nil a panic will occur. In the future the SDK may create
27122// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27123// for more information on using Contexts.
27124func (c *EC2) DescribeVpcEndpointServiceConfigurationsPagesWithContext(ctx aws.Context, input *DescribeVpcEndpointServiceConfigurationsInput, fn func(*DescribeVpcEndpointServiceConfigurationsOutput, bool) bool, opts ...request.Option) error {
27125	p := request.Pagination{
27126		NewRequest: func() (*request.Request, error) {
27127			var inCpy *DescribeVpcEndpointServiceConfigurationsInput
27128			if input != nil {
27129				tmp := *input
27130				inCpy = &tmp
27131			}
27132			req, _ := c.DescribeVpcEndpointServiceConfigurationsRequest(inCpy)
27133			req.SetContext(ctx)
27134			req.ApplyOptions(opts...)
27135			return req, nil
27136		},
27137	}
27138
27139	for p.Next() {
27140		if !fn(p.Page().(*DescribeVpcEndpointServiceConfigurationsOutput), !p.HasNextPage()) {
27141			break
27142		}
27143	}
27144
27145	return p.Err()
27146}
27147
27148const opDescribeVpcEndpointServicePermissions = "DescribeVpcEndpointServicePermissions"
27149
27150// DescribeVpcEndpointServicePermissionsRequest generates a "aws/request.Request" representing the
27151// client's request for the DescribeVpcEndpointServicePermissions operation. The "output" return
27152// value will be populated with the request's response once the request completes
27153// successfully.
27154//
27155// Use "Send" method on the returned Request to send the API call to the service.
27156// the "output" return value is not valid until after Send returns without error.
27157//
27158// See DescribeVpcEndpointServicePermissions for more information on using the DescribeVpcEndpointServicePermissions
27159// API call, and error handling.
27160//
27161// This method is useful when you want to inject custom logic or configuration
27162// into the SDK's request lifecycle. Such as custom headers, or retry logic.
27163//
27164//
27165//    // Example sending a request using the DescribeVpcEndpointServicePermissionsRequest method.
27166//    req, resp := client.DescribeVpcEndpointServicePermissionsRequest(params)
27167//
27168//    err := req.Send()
27169//    if err == nil { // resp is now filled
27170//        fmt.Println(resp)
27171//    }
27172//
27173// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServicePermissions
27174func (c *EC2) DescribeVpcEndpointServicePermissionsRequest(input *DescribeVpcEndpointServicePermissionsInput) (req *request.Request, output *DescribeVpcEndpointServicePermissionsOutput) {
27175	op := &request.Operation{
27176		Name:       opDescribeVpcEndpointServicePermissions,
27177		HTTPMethod: "POST",
27178		HTTPPath:   "/",
27179		Paginator: &request.Paginator{
27180			InputTokens:     []string{"NextToken"},
27181			OutputTokens:    []string{"NextToken"},
27182			LimitToken:      "MaxResults",
27183			TruncationToken: "",
27184		},
27185	}
27186
27187	if input == nil {
27188		input = &DescribeVpcEndpointServicePermissionsInput{}
27189	}
27190
27191	output = &DescribeVpcEndpointServicePermissionsOutput{}
27192	req = c.newRequest(op, input, output)
27193	return
27194}
27195
27196// DescribeVpcEndpointServicePermissions API operation for Amazon Elastic Compute Cloud.
27197//
27198// Describes the principals (service consumers) that are permitted to discover
27199// your VPC endpoint service.
27200//
27201// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27202// with awserr.Error's Code and Message methods to get detailed information about
27203// the error.
27204//
27205// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27206// API operation DescribeVpcEndpointServicePermissions for usage and error information.
27207// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServicePermissions
27208func (c *EC2) DescribeVpcEndpointServicePermissions(input *DescribeVpcEndpointServicePermissionsInput) (*DescribeVpcEndpointServicePermissionsOutput, error) {
27209	req, out := c.DescribeVpcEndpointServicePermissionsRequest(input)
27210	return out, req.Send()
27211}
27212
27213// DescribeVpcEndpointServicePermissionsWithContext is the same as DescribeVpcEndpointServicePermissions with the addition of
27214// the ability to pass a context and additional request options.
27215//
27216// See DescribeVpcEndpointServicePermissions for details on how to use this API operation.
27217//
27218// The context must be non-nil and will be used for request cancellation. If
27219// the context is nil a panic will occur. In the future the SDK may create
27220// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27221// for more information on using Contexts.
27222func (c *EC2) DescribeVpcEndpointServicePermissionsWithContext(ctx aws.Context, input *DescribeVpcEndpointServicePermissionsInput, opts ...request.Option) (*DescribeVpcEndpointServicePermissionsOutput, error) {
27223	req, out := c.DescribeVpcEndpointServicePermissionsRequest(input)
27224	req.SetContext(ctx)
27225	req.ApplyOptions(opts...)
27226	return out, req.Send()
27227}
27228
27229// DescribeVpcEndpointServicePermissionsPages iterates over the pages of a DescribeVpcEndpointServicePermissions operation,
27230// calling the "fn" function with the response data for each page. To stop
27231// iterating, return false from the fn function.
27232//
27233// See DescribeVpcEndpointServicePermissions method for more information on how to use this operation.
27234//
27235// Note: This operation can generate multiple requests to a service.
27236//
27237//    // Example iterating over at most 3 pages of a DescribeVpcEndpointServicePermissions operation.
27238//    pageNum := 0
27239//    err := client.DescribeVpcEndpointServicePermissionsPages(params,
27240//        func(page *ec2.DescribeVpcEndpointServicePermissionsOutput, lastPage bool) bool {
27241//            pageNum++
27242//            fmt.Println(page)
27243//            return pageNum <= 3
27244//        })
27245//
27246func (c *EC2) DescribeVpcEndpointServicePermissionsPages(input *DescribeVpcEndpointServicePermissionsInput, fn func(*DescribeVpcEndpointServicePermissionsOutput, bool) bool) error {
27247	return c.DescribeVpcEndpointServicePermissionsPagesWithContext(aws.BackgroundContext(), input, fn)
27248}
27249
27250// DescribeVpcEndpointServicePermissionsPagesWithContext same as DescribeVpcEndpointServicePermissionsPages except
27251// it takes a Context and allows setting request options on the pages.
27252//
27253// The context must be non-nil and will be used for request cancellation. If
27254// the context is nil a panic will occur. In the future the SDK may create
27255// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27256// for more information on using Contexts.
27257func (c *EC2) DescribeVpcEndpointServicePermissionsPagesWithContext(ctx aws.Context, input *DescribeVpcEndpointServicePermissionsInput, fn func(*DescribeVpcEndpointServicePermissionsOutput, bool) bool, opts ...request.Option) error {
27258	p := request.Pagination{
27259		NewRequest: func() (*request.Request, error) {
27260			var inCpy *DescribeVpcEndpointServicePermissionsInput
27261			if input != nil {
27262				tmp := *input
27263				inCpy = &tmp
27264			}
27265			req, _ := c.DescribeVpcEndpointServicePermissionsRequest(inCpy)
27266			req.SetContext(ctx)
27267			req.ApplyOptions(opts...)
27268			return req, nil
27269		},
27270	}
27271
27272	for p.Next() {
27273		if !fn(p.Page().(*DescribeVpcEndpointServicePermissionsOutput), !p.HasNextPage()) {
27274			break
27275		}
27276	}
27277
27278	return p.Err()
27279}
27280
27281const opDescribeVpcEndpointServices = "DescribeVpcEndpointServices"
27282
27283// DescribeVpcEndpointServicesRequest generates a "aws/request.Request" representing the
27284// client's request for the DescribeVpcEndpointServices operation. The "output" return
27285// value will be populated with the request's response once the request completes
27286// successfully.
27287//
27288// Use "Send" method on the returned Request to send the API call to the service.
27289// the "output" return value is not valid until after Send returns without error.
27290//
27291// See DescribeVpcEndpointServices for more information on using the DescribeVpcEndpointServices
27292// API call, and error handling.
27293//
27294// This method is useful when you want to inject custom logic or configuration
27295// into the SDK's request lifecycle. Such as custom headers, or retry logic.
27296//
27297//
27298//    // Example sending a request using the DescribeVpcEndpointServicesRequest method.
27299//    req, resp := client.DescribeVpcEndpointServicesRequest(params)
27300//
27301//    err := req.Send()
27302//    if err == nil { // resp is now filled
27303//        fmt.Println(resp)
27304//    }
27305//
27306// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServices
27307func (c *EC2) DescribeVpcEndpointServicesRequest(input *DescribeVpcEndpointServicesInput) (req *request.Request, output *DescribeVpcEndpointServicesOutput) {
27308	op := &request.Operation{
27309		Name:       opDescribeVpcEndpointServices,
27310		HTTPMethod: "POST",
27311		HTTPPath:   "/",
27312	}
27313
27314	if input == nil {
27315		input = &DescribeVpcEndpointServicesInput{}
27316	}
27317
27318	output = &DescribeVpcEndpointServicesOutput{}
27319	req = c.newRequest(op, input, output)
27320	return
27321}
27322
27323// DescribeVpcEndpointServices API operation for Amazon Elastic Compute Cloud.
27324//
27325// Describes available services to which you can create a VPC endpoint.
27326//
27327// When the service provider and the consumer have different accounts in multiple
27328// Availability Zones, and the consumer views the VPC endpoint service information,
27329// the response only includes the common Availability Zones. For example, when
27330// the service provider account uses us-east-1a and us-east-1c and the consumer
27331// uses us-east-1a and us-east-1b, the response includes the VPC endpoint services
27332// in the common Availability Zone, us-east-1a.
27333//
27334// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27335// with awserr.Error's Code and Message methods to get detailed information about
27336// the error.
27337//
27338// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27339// API operation DescribeVpcEndpointServices for usage and error information.
27340// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServices
27341func (c *EC2) DescribeVpcEndpointServices(input *DescribeVpcEndpointServicesInput) (*DescribeVpcEndpointServicesOutput, error) {
27342	req, out := c.DescribeVpcEndpointServicesRequest(input)
27343	return out, req.Send()
27344}
27345
27346// DescribeVpcEndpointServicesWithContext is the same as DescribeVpcEndpointServices with the addition of
27347// the ability to pass a context and additional request options.
27348//
27349// See DescribeVpcEndpointServices for details on how to use this API operation.
27350//
27351// The context must be non-nil and will be used for request cancellation. If
27352// the context is nil a panic will occur. In the future the SDK may create
27353// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27354// for more information on using Contexts.
27355func (c *EC2) DescribeVpcEndpointServicesWithContext(ctx aws.Context, input *DescribeVpcEndpointServicesInput, opts ...request.Option) (*DescribeVpcEndpointServicesOutput, error) {
27356	req, out := c.DescribeVpcEndpointServicesRequest(input)
27357	req.SetContext(ctx)
27358	req.ApplyOptions(opts...)
27359	return out, req.Send()
27360}
27361
27362const opDescribeVpcEndpoints = "DescribeVpcEndpoints"
27363
27364// DescribeVpcEndpointsRequest generates a "aws/request.Request" representing the
27365// client's request for the DescribeVpcEndpoints operation. The "output" return
27366// value will be populated with the request's response once the request completes
27367// successfully.
27368//
27369// Use "Send" method on the returned Request to send the API call to the service.
27370// the "output" return value is not valid until after Send returns without error.
27371//
27372// See DescribeVpcEndpoints for more information on using the DescribeVpcEndpoints
27373// API call, and error handling.
27374//
27375// This method is useful when you want to inject custom logic or configuration
27376// into the SDK's request lifecycle. Such as custom headers, or retry logic.
27377//
27378//
27379//    // Example sending a request using the DescribeVpcEndpointsRequest method.
27380//    req, resp := client.DescribeVpcEndpointsRequest(params)
27381//
27382//    err := req.Send()
27383//    if err == nil { // resp is now filled
27384//        fmt.Println(resp)
27385//    }
27386//
27387// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpoints
27388func (c *EC2) DescribeVpcEndpointsRequest(input *DescribeVpcEndpointsInput) (req *request.Request, output *DescribeVpcEndpointsOutput) {
27389	op := &request.Operation{
27390		Name:       opDescribeVpcEndpoints,
27391		HTTPMethod: "POST",
27392		HTTPPath:   "/",
27393		Paginator: &request.Paginator{
27394			InputTokens:     []string{"NextToken"},
27395			OutputTokens:    []string{"NextToken"},
27396			LimitToken:      "MaxResults",
27397			TruncationToken: "",
27398		},
27399	}
27400
27401	if input == nil {
27402		input = &DescribeVpcEndpointsInput{}
27403	}
27404
27405	output = &DescribeVpcEndpointsOutput{}
27406	req = c.newRequest(op, input, output)
27407	return
27408}
27409
27410// DescribeVpcEndpoints API operation for Amazon Elastic Compute Cloud.
27411//
27412// Describes one or more of your VPC endpoints.
27413//
27414// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27415// with awserr.Error's Code and Message methods to get detailed information about
27416// the error.
27417//
27418// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27419// API operation DescribeVpcEndpoints for usage and error information.
27420// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpoints
27421func (c *EC2) DescribeVpcEndpoints(input *DescribeVpcEndpointsInput) (*DescribeVpcEndpointsOutput, error) {
27422	req, out := c.DescribeVpcEndpointsRequest(input)
27423	return out, req.Send()
27424}
27425
27426// DescribeVpcEndpointsWithContext is the same as DescribeVpcEndpoints with the addition of
27427// the ability to pass a context and additional request options.
27428//
27429// See DescribeVpcEndpoints for details on how to use this API operation.
27430//
27431// The context must be non-nil and will be used for request cancellation. If
27432// the context is nil a panic will occur. In the future the SDK may create
27433// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27434// for more information on using Contexts.
27435func (c *EC2) DescribeVpcEndpointsWithContext(ctx aws.Context, input *DescribeVpcEndpointsInput, opts ...request.Option) (*DescribeVpcEndpointsOutput, error) {
27436	req, out := c.DescribeVpcEndpointsRequest(input)
27437	req.SetContext(ctx)
27438	req.ApplyOptions(opts...)
27439	return out, req.Send()
27440}
27441
27442// DescribeVpcEndpointsPages iterates over the pages of a DescribeVpcEndpoints operation,
27443// calling the "fn" function with the response data for each page. To stop
27444// iterating, return false from the fn function.
27445//
27446// See DescribeVpcEndpoints method for more information on how to use this operation.
27447//
27448// Note: This operation can generate multiple requests to a service.
27449//
27450//    // Example iterating over at most 3 pages of a DescribeVpcEndpoints operation.
27451//    pageNum := 0
27452//    err := client.DescribeVpcEndpointsPages(params,
27453//        func(page *ec2.DescribeVpcEndpointsOutput, lastPage bool) bool {
27454//            pageNum++
27455//            fmt.Println(page)
27456//            return pageNum <= 3
27457//        })
27458//
27459func (c *EC2) DescribeVpcEndpointsPages(input *DescribeVpcEndpointsInput, fn func(*DescribeVpcEndpointsOutput, bool) bool) error {
27460	return c.DescribeVpcEndpointsPagesWithContext(aws.BackgroundContext(), input, fn)
27461}
27462
27463// DescribeVpcEndpointsPagesWithContext same as DescribeVpcEndpointsPages except
27464// it takes a Context and allows setting request options on the pages.
27465//
27466// The context must be non-nil and will be used for request cancellation. If
27467// the context is nil a panic will occur. In the future the SDK may create
27468// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27469// for more information on using Contexts.
27470func (c *EC2) DescribeVpcEndpointsPagesWithContext(ctx aws.Context, input *DescribeVpcEndpointsInput, fn func(*DescribeVpcEndpointsOutput, bool) bool, opts ...request.Option) error {
27471	p := request.Pagination{
27472		NewRequest: func() (*request.Request, error) {
27473			var inCpy *DescribeVpcEndpointsInput
27474			if input != nil {
27475				tmp := *input
27476				inCpy = &tmp
27477			}
27478			req, _ := c.DescribeVpcEndpointsRequest(inCpy)
27479			req.SetContext(ctx)
27480			req.ApplyOptions(opts...)
27481			return req, nil
27482		},
27483	}
27484
27485	for p.Next() {
27486		if !fn(p.Page().(*DescribeVpcEndpointsOutput), !p.HasNextPage()) {
27487			break
27488		}
27489	}
27490
27491	return p.Err()
27492}
27493
27494const opDescribeVpcPeeringConnections = "DescribeVpcPeeringConnections"
27495
27496// DescribeVpcPeeringConnectionsRequest generates a "aws/request.Request" representing the
27497// client's request for the DescribeVpcPeeringConnections operation. The "output" return
27498// value will be populated with the request's response once the request completes
27499// successfully.
27500//
27501// Use "Send" method on the returned Request to send the API call to the service.
27502// the "output" return value is not valid until after Send returns without error.
27503//
27504// See DescribeVpcPeeringConnections for more information on using the DescribeVpcPeeringConnections
27505// API call, and error handling.
27506//
27507// This method is useful when you want to inject custom logic or configuration
27508// into the SDK's request lifecycle. Such as custom headers, or retry logic.
27509//
27510//
27511//    // Example sending a request using the DescribeVpcPeeringConnectionsRequest method.
27512//    req, resp := client.DescribeVpcPeeringConnectionsRequest(params)
27513//
27514//    err := req.Send()
27515//    if err == nil { // resp is now filled
27516//        fmt.Println(resp)
27517//    }
27518//
27519// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcPeeringConnections
27520func (c *EC2) DescribeVpcPeeringConnectionsRequest(input *DescribeVpcPeeringConnectionsInput) (req *request.Request, output *DescribeVpcPeeringConnectionsOutput) {
27521	op := &request.Operation{
27522		Name:       opDescribeVpcPeeringConnections,
27523		HTTPMethod: "POST",
27524		HTTPPath:   "/",
27525		Paginator: &request.Paginator{
27526			InputTokens:     []string{"NextToken"},
27527			OutputTokens:    []string{"NextToken"},
27528			LimitToken:      "MaxResults",
27529			TruncationToken: "",
27530		},
27531	}
27532
27533	if input == nil {
27534		input = &DescribeVpcPeeringConnectionsInput{}
27535	}
27536
27537	output = &DescribeVpcPeeringConnectionsOutput{}
27538	req = c.newRequest(op, input, output)
27539	return
27540}
27541
27542// DescribeVpcPeeringConnections API operation for Amazon Elastic Compute Cloud.
27543//
27544// Describes one or more of your VPC peering connections.
27545//
27546// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27547// with awserr.Error's Code and Message methods to get detailed information about
27548// the error.
27549//
27550// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27551// API operation DescribeVpcPeeringConnections for usage and error information.
27552// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcPeeringConnections
27553func (c *EC2) DescribeVpcPeeringConnections(input *DescribeVpcPeeringConnectionsInput) (*DescribeVpcPeeringConnectionsOutput, error) {
27554	req, out := c.DescribeVpcPeeringConnectionsRequest(input)
27555	return out, req.Send()
27556}
27557
27558// DescribeVpcPeeringConnectionsWithContext is the same as DescribeVpcPeeringConnections with the addition of
27559// the ability to pass a context and additional request options.
27560//
27561// See DescribeVpcPeeringConnections for details on how to use this API operation.
27562//
27563// The context must be non-nil and will be used for request cancellation. If
27564// the context is nil a panic will occur. In the future the SDK may create
27565// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27566// for more information on using Contexts.
27567func (c *EC2) DescribeVpcPeeringConnectionsWithContext(ctx aws.Context, input *DescribeVpcPeeringConnectionsInput, opts ...request.Option) (*DescribeVpcPeeringConnectionsOutput, error) {
27568	req, out := c.DescribeVpcPeeringConnectionsRequest(input)
27569	req.SetContext(ctx)
27570	req.ApplyOptions(opts...)
27571	return out, req.Send()
27572}
27573
27574// DescribeVpcPeeringConnectionsPages iterates over the pages of a DescribeVpcPeeringConnections operation,
27575// calling the "fn" function with the response data for each page. To stop
27576// iterating, return false from the fn function.
27577//
27578// See DescribeVpcPeeringConnections method for more information on how to use this operation.
27579//
27580// Note: This operation can generate multiple requests to a service.
27581//
27582//    // Example iterating over at most 3 pages of a DescribeVpcPeeringConnections operation.
27583//    pageNum := 0
27584//    err := client.DescribeVpcPeeringConnectionsPages(params,
27585//        func(page *ec2.DescribeVpcPeeringConnectionsOutput, lastPage bool) bool {
27586//            pageNum++
27587//            fmt.Println(page)
27588//            return pageNum <= 3
27589//        })
27590//
27591func (c *EC2) DescribeVpcPeeringConnectionsPages(input *DescribeVpcPeeringConnectionsInput, fn func(*DescribeVpcPeeringConnectionsOutput, bool) bool) error {
27592	return c.DescribeVpcPeeringConnectionsPagesWithContext(aws.BackgroundContext(), input, fn)
27593}
27594
27595// DescribeVpcPeeringConnectionsPagesWithContext same as DescribeVpcPeeringConnectionsPages except
27596// it takes a Context and allows setting request options on the pages.
27597//
27598// The context must be non-nil and will be used for request cancellation. If
27599// the context is nil a panic will occur. In the future the SDK may create
27600// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27601// for more information on using Contexts.
27602func (c *EC2) DescribeVpcPeeringConnectionsPagesWithContext(ctx aws.Context, input *DescribeVpcPeeringConnectionsInput, fn func(*DescribeVpcPeeringConnectionsOutput, bool) bool, opts ...request.Option) error {
27603	p := request.Pagination{
27604		NewRequest: func() (*request.Request, error) {
27605			var inCpy *DescribeVpcPeeringConnectionsInput
27606			if input != nil {
27607				tmp := *input
27608				inCpy = &tmp
27609			}
27610			req, _ := c.DescribeVpcPeeringConnectionsRequest(inCpy)
27611			req.SetContext(ctx)
27612			req.ApplyOptions(opts...)
27613			return req, nil
27614		},
27615	}
27616
27617	for p.Next() {
27618		if !fn(p.Page().(*DescribeVpcPeeringConnectionsOutput), !p.HasNextPage()) {
27619			break
27620		}
27621	}
27622
27623	return p.Err()
27624}
27625
27626const opDescribeVpcs = "DescribeVpcs"
27627
27628// DescribeVpcsRequest generates a "aws/request.Request" representing the
27629// client's request for the DescribeVpcs operation. The "output" return
27630// value will be populated with the request's response once the request completes
27631// successfully.
27632//
27633// Use "Send" method on the returned Request to send the API call to the service.
27634// the "output" return value is not valid until after Send returns without error.
27635//
27636// See DescribeVpcs for more information on using the DescribeVpcs
27637// API call, and error handling.
27638//
27639// This method is useful when you want to inject custom logic or configuration
27640// into the SDK's request lifecycle. Such as custom headers, or retry logic.
27641//
27642//
27643//    // Example sending a request using the DescribeVpcsRequest method.
27644//    req, resp := client.DescribeVpcsRequest(params)
27645//
27646//    err := req.Send()
27647//    if err == nil { // resp is now filled
27648//        fmt.Println(resp)
27649//    }
27650//
27651// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcs
27652func (c *EC2) DescribeVpcsRequest(input *DescribeVpcsInput) (req *request.Request, output *DescribeVpcsOutput) {
27653	op := &request.Operation{
27654		Name:       opDescribeVpcs,
27655		HTTPMethod: "POST",
27656		HTTPPath:   "/",
27657		Paginator: &request.Paginator{
27658			InputTokens:     []string{"NextToken"},
27659			OutputTokens:    []string{"NextToken"},
27660			LimitToken:      "MaxResults",
27661			TruncationToken: "",
27662		},
27663	}
27664
27665	if input == nil {
27666		input = &DescribeVpcsInput{}
27667	}
27668
27669	output = &DescribeVpcsOutput{}
27670	req = c.newRequest(op, input, output)
27671	return
27672}
27673
27674// DescribeVpcs API operation for Amazon Elastic Compute Cloud.
27675//
27676// Describes one or more of your VPCs.
27677//
27678// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27679// with awserr.Error's Code and Message methods to get detailed information about
27680// the error.
27681//
27682// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27683// API operation DescribeVpcs for usage and error information.
27684// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcs
27685func (c *EC2) DescribeVpcs(input *DescribeVpcsInput) (*DescribeVpcsOutput, error) {
27686	req, out := c.DescribeVpcsRequest(input)
27687	return out, req.Send()
27688}
27689
27690// DescribeVpcsWithContext is the same as DescribeVpcs with the addition of
27691// the ability to pass a context and additional request options.
27692//
27693// See DescribeVpcs for details on how to use this API operation.
27694//
27695// The context must be non-nil and will be used for request cancellation. If
27696// the context is nil a panic will occur. In the future the SDK may create
27697// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27698// for more information on using Contexts.
27699func (c *EC2) DescribeVpcsWithContext(ctx aws.Context, input *DescribeVpcsInput, opts ...request.Option) (*DescribeVpcsOutput, error) {
27700	req, out := c.DescribeVpcsRequest(input)
27701	req.SetContext(ctx)
27702	req.ApplyOptions(opts...)
27703	return out, req.Send()
27704}
27705
27706// DescribeVpcsPages iterates over the pages of a DescribeVpcs operation,
27707// calling the "fn" function with the response data for each page. To stop
27708// iterating, return false from the fn function.
27709//
27710// See DescribeVpcs method for more information on how to use this operation.
27711//
27712// Note: This operation can generate multiple requests to a service.
27713//
27714//    // Example iterating over at most 3 pages of a DescribeVpcs operation.
27715//    pageNum := 0
27716//    err := client.DescribeVpcsPages(params,
27717//        func(page *ec2.DescribeVpcsOutput, lastPage bool) bool {
27718//            pageNum++
27719//            fmt.Println(page)
27720//            return pageNum <= 3
27721//        })
27722//
27723func (c *EC2) DescribeVpcsPages(input *DescribeVpcsInput, fn func(*DescribeVpcsOutput, bool) bool) error {
27724	return c.DescribeVpcsPagesWithContext(aws.BackgroundContext(), input, fn)
27725}
27726
27727// DescribeVpcsPagesWithContext same as DescribeVpcsPages except
27728// it takes a Context and allows setting request options on the pages.
27729//
27730// The context must be non-nil and will be used for request cancellation. If
27731// the context is nil a panic will occur. In the future the SDK may create
27732// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27733// for more information on using Contexts.
27734func (c *EC2) DescribeVpcsPagesWithContext(ctx aws.Context, input *DescribeVpcsInput, fn func(*DescribeVpcsOutput, bool) bool, opts ...request.Option) error {
27735	p := request.Pagination{
27736		NewRequest: func() (*request.Request, error) {
27737			var inCpy *DescribeVpcsInput
27738			if input != nil {
27739				tmp := *input
27740				inCpy = &tmp
27741			}
27742			req, _ := c.DescribeVpcsRequest(inCpy)
27743			req.SetContext(ctx)
27744			req.ApplyOptions(opts...)
27745			return req, nil
27746		},
27747	}
27748
27749	for p.Next() {
27750		if !fn(p.Page().(*DescribeVpcsOutput), !p.HasNextPage()) {
27751			break
27752		}
27753	}
27754
27755	return p.Err()
27756}
27757
27758const opDescribeVpnConnections = "DescribeVpnConnections"
27759
27760// DescribeVpnConnectionsRequest generates a "aws/request.Request" representing the
27761// client's request for the DescribeVpnConnections operation. The "output" return
27762// value will be populated with the request's response once the request completes
27763// successfully.
27764//
27765// Use "Send" method on the returned Request to send the API call to the service.
27766// the "output" return value is not valid until after Send returns without error.
27767//
27768// See DescribeVpnConnections for more information on using the DescribeVpnConnections
27769// API call, and error handling.
27770//
27771// This method is useful when you want to inject custom logic or configuration
27772// into the SDK's request lifecycle. Such as custom headers, or retry logic.
27773//
27774//
27775//    // Example sending a request using the DescribeVpnConnectionsRequest method.
27776//    req, resp := client.DescribeVpnConnectionsRequest(params)
27777//
27778//    err := req.Send()
27779//    if err == nil { // resp is now filled
27780//        fmt.Println(resp)
27781//    }
27782//
27783// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnConnections
27784func (c *EC2) DescribeVpnConnectionsRequest(input *DescribeVpnConnectionsInput) (req *request.Request, output *DescribeVpnConnectionsOutput) {
27785	op := &request.Operation{
27786		Name:       opDescribeVpnConnections,
27787		HTTPMethod: "POST",
27788		HTTPPath:   "/",
27789	}
27790
27791	if input == nil {
27792		input = &DescribeVpnConnectionsInput{}
27793	}
27794
27795	output = &DescribeVpnConnectionsOutput{}
27796	req = c.newRequest(op, input, output)
27797	return
27798}
27799
27800// DescribeVpnConnections API operation for Amazon Elastic Compute Cloud.
27801//
27802// Describes one or more of your VPN connections.
27803//
27804// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
27805// in the AWS Site-to-Site VPN User Guide.
27806//
27807// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27808// with awserr.Error's Code and Message methods to get detailed information about
27809// the error.
27810//
27811// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27812// API operation DescribeVpnConnections for usage and error information.
27813// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnConnections
27814func (c *EC2) DescribeVpnConnections(input *DescribeVpnConnectionsInput) (*DescribeVpnConnectionsOutput, error) {
27815	req, out := c.DescribeVpnConnectionsRequest(input)
27816	return out, req.Send()
27817}
27818
27819// DescribeVpnConnectionsWithContext is the same as DescribeVpnConnections with the addition of
27820// the ability to pass a context and additional request options.
27821//
27822// See DescribeVpnConnections for details on how to use this API operation.
27823//
27824// The context must be non-nil and will be used for request cancellation. If
27825// the context is nil a panic will occur. In the future the SDK may create
27826// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27827// for more information on using Contexts.
27828func (c *EC2) DescribeVpnConnectionsWithContext(ctx aws.Context, input *DescribeVpnConnectionsInput, opts ...request.Option) (*DescribeVpnConnectionsOutput, error) {
27829	req, out := c.DescribeVpnConnectionsRequest(input)
27830	req.SetContext(ctx)
27831	req.ApplyOptions(opts...)
27832	return out, req.Send()
27833}
27834
27835const opDescribeVpnGateways = "DescribeVpnGateways"
27836
27837// DescribeVpnGatewaysRequest generates a "aws/request.Request" representing the
27838// client's request for the DescribeVpnGateways operation. The "output" return
27839// value will be populated with the request's response once the request completes
27840// successfully.
27841//
27842// Use "Send" method on the returned Request to send the API call to the service.
27843// the "output" return value is not valid until after Send returns without error.
27844//
27845// See DescribeVpnGateways for more information on using the DescribeVpnGateways
27846// API call, and error handling.
27847//
27848// This method is useful when you want to inject custom logic or configuration
27849// into the SDK's request lifecycle. Such as custom headers, or retry logic.
27850//
27851//
27852//    // Example sending a request using the DescribeVpnGatewaysRequest method.
27853//    req, resp := client.DescribeVpnGatewaysRequest(params)
27854//
27855//    err := req.Send()
27856//    if err == nil { // resp is now filled
27857//        fmt.Println(resp)
27858//    }
27859//
27860// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnGateways
27861func (c *EC2) DescribeVpnGatewaysRequest(input *DescribeVpnGatewaysInput) (req *request.Request, output *DescribeVpnGatewaysOutput) {
27862	op := &request.Operation{
27863		Name:       opDescribeVpnGateways,
27864		HTTPMethod: "POST",
27865		HTTPPath:   "/",
27866	}
27867
27868	if input == nil {
27869		input = &DescribeVpnGatewaysInput{}
27870	}
27871
27872	output = &DescribeVpnGatewaysOutput{}
27873	req = c.newRequest(op, input, output)
27874	return
27875}
27876
27877// DescribeVpnGateways API operation for Amazon Elastic Compute Cloud.
27878//
27879// Describes one or more of your virtual private gateways.
27880//
27881// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
27882// in the AWS Site-to-Site VPN User Guide.
27883//
27884// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27885// with awserr.Error's Code and Message methods to get detailed information about
27886// the error.
27887//
27888// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27889// API operation DescribeVpnGateways for usage and error information.
27890// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnGateways
27891func (c *EC2) DescribeVpnGateways(input *DescribeVpnGatewaysInput) (*DescribeVpnGatewaysOutput, error) {
27892	req, out := c.DescribeVpnGatewaysRequest(input)
27893	return out, req.Send()
27894}
27895
27896// DescribeVpnGatewaysWithContext is the same as DescribeVpnGateways with the addition of
27897// the ability to pass a context and additional request options.
27898//
27899// See DescribeVpnGateways for details on how to use this API operation.
27900//
27901// The context must be non-nil and will be used for request cancellation. If
27902// the context is nil a panic will occur. In the future the SDK may create
27903// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27904// for more information on using Contexts.
27905func (c *EC2) DescribeVpnGatewaysWithContext(ctx aws.Context, input *DescribeVpnGatewaysInput, opts ...request.Option) (*DescribeVpnGatewaysOutput, error) {
27906	req, out := c.DescribeVpnGatewaysRequest(input)
27907	req.SetContext(ctx)
27908	req.ApplyOptions(opts...)
27909	return out, req.Send()
27910}
27911
27912const opDetachClassicLinkVpc = "DetachClassicLinkVpc"
27913
27914// DetachClassicLinkVpcRequest generates a "aws/request.Request" representing the
27915// client's request for the DetachClassicLinkVpc operation. The "output" return
27916// value will be populated with the request's response once the request completes
27917// successfully.
27918//
27919// Use "Send" method on the returned Request to send the API call to the service.
27920// the "output" return value is not valid until after Send returns without error.
27921//
27922// See DetachClassicLinkVpc for more information on using the DetachClassicLinkVpc
27923// API call, and error handling.
27924//
27925// This method is useful when you want to inject custom logic or configuration
27926// into the SDK's request lifecycle. Such as custom headers, or retry logic.
27927//
27928//
27929//    // Example sending a request using the DetachClassicLinkVpcRequest method.
27930//    req, resp := client.DetachClassicLinkVpcRequest(params)
27931//
27932//    err := req.Send()
27933//    if err == nil { // resp is now filled
27934//        fmt.Println(resp)
27935//    }
27936//
27937// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachClassicLinkVpc
27938func (c *EC2) DetachClassicLinkVpcRequest(input *DetachClassicLinkVpcInput) (req *request.Request, output *DetachClassicLinkVpcOutput) {
27939	op := &request.Operation{
27940		Name:       opDetachClassicLinkVpc,
27941		HTTPMethod: "POST",
27942		HTTPPath:   "/",
27943	}
27944
27945	if input == nil {
27946		input = &DetachClassicLinkVpcInput{}
27947	}
27948
27949	output = &DetachClassicLinkVpcOutput{}
27950	req = c.newRequest(op, input, output)
27951	return
27952}
27953
27954// DetachClassicLinkVpc API operation for Amazon Elastic Compute Cloud.
27955//
27956// Unlinks (detaches) a linked EC2-Classic instance from a VPC. After the instance
27957// has been unlinked, the VPC security groups are no longer associated with
27958// it. An instance is automatically unlinked from a VPC when it's stopped.
27959//
27960// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27961// with awserr.Error's Code and Message methods to get detailed information about
27962// the error.
27963//
27964// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27965// API operation DetachClassicLinkVpc for usage and error information.
27966// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachClassicLinkVpc
27967func (c *EC2) DetachClassicLinkVpc(input *DetachClassicLinkVpcInput) (*DetachClassicLinkVpcOutput, error) {
27968	req, out := c.DetachClassicLinkVpcRequest(input)
27969	return out, req.Send()
27970}
27971
27972// DetachClassicLinkVpcWithContext is the same as DetachClassicLinkVpc with the addition of
27973// the ability to pass a context and additional request options.
27974//
27975// See DetachClassicLinkVpc for details on how to use this API operation.
27976//
27977// The context must be non-nil and will be used for request cancellation. If
27978// the context is nil a panic will occur. In the future the SDK may create
27979// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27980// for more information on using Contexts.
27981func (c *EC2) DetachClassicLinkVpcWithContext(ctx aws.Context, input *DetachClassicLinkVpcInput, opts ...request.Option) (*DetachClassicLinkVpcOutput, error) {
27982	req, out := c.DetachClassicLinkVpcRequest(input)
27983	req.SetContext(ctx)
27984	req.ApplyOptions(opts...)
27985	return out, req.Send()
27986}
27987
27988const opDetachInternetGateway = "DetachInternetGateway"
27989
27990// DetachInternetGatewayRequest generates a "aws/request.Request" representing the
27991// client's request for the DetachInternetGateway operation. The "output" return
27992// value will be populated with the request's response once the request completes
27993// successfully.
27994//
27995// Use "Send" method on the returned Request to send the API call to the service.
27996// the "output" return value is not valid until after Send returns without error.
27997//
27998// See DetachInternetGateway for more information on using the DetachInternetGateway
27999// API call, and error handling.
28000//
28001// This method is useful when you want to inject custom logic or configuration
28002// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28003//
28004//
28005//    // Example sending a request using the DetachInternetGatewayRequest method.
28006//    req, resp := client.DetachInternetGatewayRequest(params)
28007//
28008//    err := req.Send()
28009//    if err == nil { // resp is now filled
28010//        fmt.Println(resp)
28011//    }
28012//
28013// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachInternetGateway
28014func (c *EC2) DetachInternetGatewayRequest(input *DetachInternetGatewayInput) (req *request.Request, output *DetachInternetGatewayOutput) {
28015	op := &request.Operation{
28016		Name:       opDetachInternetGateway,
28017		HTTPMethod: "POST",
28018		HTTPPath:   "/",
28019	}
28020
28021	if input == nil {
28022		input = &DetachInternetGatewayInput{}
28023	}
28024
28025	output = &DetachInternetGatewayOutput{}
28026	req = c.newRequest(op, input, output)
28027	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
28028	return
28029}
28030
28031// DetachInternetGateway API operation for Amazon Elastic Compute Cloud.
28032//
28033// Detaches an internet gateway from a VPC, disabling connectivity between the
28034// internet and the VPC. The VPC must not contain any running instances with
28035// Elastic IP addresses or public IPv4 addresses.
28036//
28037// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28038// with awserr.Error's Code and Message methods to get detailed information about
28039// the error.
28040//
28041// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28042// API operation DetachInternetGateway for usage and error information.
28043// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachInternetGateway
28044func (c *EC2) DetachInternetGateway(input *DetachInternetGatewayInput) (*DetachInternetGatewayOutput, error) {
28045	req, out := c.DetachInternetGatewayRequest(input)
28046	return out, req.Send()
28047}
28048
28049// DetachInternetGatewayWithContext is the same as DetachInternetGateway with the addition of
28050// the ability to pass a context and additional request options.
28051//
28052// See DetachInternetGateway for details on how to use this API operation.
28053//
28054// The context must be non-nil and will be used for request cancellation. If
28055// the context is nil a panic will occur. In the future the SDK may create
28056// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28057// for more information on using Contexts.
28058func (c *EC2) DetachInternetGatewayWithContext(ctx aws.Context, input *DetachInternetGatewayInput, opts ...request.Option) (*DetachInternetGatewayOutput, error) {
28059	req, out := c.DetachInternetGatewayRequest(input)
28060	req.SetContext(ctx)
28061	req.ApplyOptions(opts...)
28062	return out, req.Send()
28063}
28064
28065const opDetachNetworkInterface = "DetachNetworkInterface"
28066
28067// DetachNetworkInterfaceRequest generates a "aws/request.Request" representing the
28068// client's request for the DetachNetworkInterface operation. The "output" return
28069// value will be populated with the request's response once the request completes
28070// successfully.
28071//
28072// Use "Send" method on the returned Request to send the API call to the service.
28073// the "output" return value is not valid until after Send returns without error.
28074//
28075// See DetachNetworkInterface for more information on using the DetachNetworkInterface
28076// API call, and error handling.
28077//
28078// This method is useful when you want to inject custom logic or configuration
28079// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28080//
28081//
28082//    // Example sending a request using the DetachNetworkInterfaceRequest method.
28083//    req, resp := client.DetachNetworkInterfaceRequest(params)
28084//
28085//    err := req.Send()
28086//    if err == nil { // resp is now filled
28087//        fmt.Println(resp)
28088//    }
28089//
28090// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachNetworkInterface
28091func (c *EC2) DetachNetworkInterfaceRequest(input *DetachNetworkInterfaceInput) (req *request.Request, output *DetachNetworkInterfaceOutput) {
28092	op := &request.Operation{
28093		Name:       opDetachNetworkInterface,
28094		HTTPMethod: "POST",
28095		HTTPPath:   "/",
28096	}
28097
28098	if input == nil {
28099		input = &DetachNetworkInterfaceInput{}
28100	}
28101
28102	output = &DetachNetworkInterfaceOutput{}
28103	req = c.newRequest(op, input, output)
28104	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
28105	return
28106}
28107
28108// DetachNetworkInterface API operation for Amazon Elastic Compute Cloud.
28109//
28110// Detaches a network interface from an instance.
28111//
28112// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28113// with awserr.Error's Code and Message methods to get detailed information about
28114// the error.
28115//
28116// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28117// API operation DetachNetworkInterface for usage and error information.
28118// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachNetworkInterface
28119func (c *EC2) DetachNetworkInterface(input *DetachNetworkInterfaceInput) (*DetachNetworkInterfaceOutput, error) {
28120	req, out := c.DetachNetworkInterfaceRequest(input)
28121	return out, req.Send()
28122}
28123
28124// DetachNetworkInterfaceWithContext is the same as DetachNetworkInterface with the addition of
28125// the ability to pass a context and additional request options.
28126//
28127// See DetachNetworkInterface for details on how to use this API operation.
28128//
28129// The context must be non-nil and will be used for request cancellation. If
28130// the context is nil a panic will occur. In the future the SDK may create
28131// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28132// for more information on using Contexts.
28133func (c *EC2) DetachNetworkInterfaceWithContext(ctx aws.Context, input *DetachNetworkInterfaceInput, opts ...request.Option) (*DetachNetworkInterfaceOutput, error) {
28134	req, out := c.DetachNetworkInterfaceRequest(input)
28135	req.SetContext(ctx)
28136	req.ApplyOptions(opts...)
28137	return out, req.Send()
28138}
28139
28140const opDetachVolume = "DetachVolume"
28141
28142// DetachVolumeRequest generates a "aws/request.Request" representing the
28143// client's request for the DetachVolume operation. The "output" return
28144// value will be populated with the request's response once the request completes
28145// successfully.
28146//
28147// Use "Send" method on the returned Request to send the API call to the service.
28148// the "output" return value is not valid until after Send returns without error.
28149//
28150// See DetachVolume for more information on using the DetachVolume
28151// API call, and error handling.
28152//
28153// This method is useful when you want to inject custom logic or configuration
28154// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28155//
28156//
28157//    // Example sending a request using the DetachVolumeRequest method.
28158//    req, resp := client.DetachVolumeRequest(params)
28159//
28160//    err := req.Send()
28161//    if err == nil { // resp is now filled
28162//        fmt.Println(resp)
28163//    }
28164//
28165// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVolume
28166func (c *EC2) DetachVolumeRequest(input *DetachVolumeInput) (req *request.Request, output *VolumeAttachment) {
28167	op := &request.Operation{
28168		Name:       opDetachVolume,
28169		HTTPMethod: "POST",
28170		HTTPPath:   "/",
28171	}
28172
28173	if input == nil {
28174		input = &DetachVolumeInput{}
28175	}
28176
28177	output = &VolumeAttachment{}
28178	req = c.newRequest(op, input, output)
28179	return
28180}
28181
28182// DetachVolume API operation for Amazon Elastic Compute Cloud.
28183//
28184// Detaches an EBS volume from an instance. Make sure to unmount any file systems
28185// on the device within your operating system before detaching the volume. Failure
28186// to do so can result in the volume becoming stuck in the busy state while
28187// detaching. If this happens, detachment can be delayed indefinitely until
28188// you unmount the volume, force detachment, reboot the instance, or all three.
28189// If an EBS volume is the root device of an instance, it can't be detached
28190// while the instance is running. To detach the root volume, stop the instance
28191// first.
28192//
28193// When a volume with an AWS Marketplace product code is detached from an instance,
28194// the product code is no longer associated with the instance.
28195//
28196// For more information, see Detaching an Amazon EBS volume (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-detaching-volume.html)
28197// in the Amazon Elastic Compute Cloud User Guide.
28198//
28199// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28200// with awserr.Error's Code and Message methods to get detailed information about
28201// the error.
28202//
28203// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28204// API operation DetachVolume for usage and error information.
28205// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVolume
28206func (c *EC2) DetachVolume(input *DetachVolumeInput) (*VolumeAttachment, error) {
28207	req, out := c.DetachVolumeRequest(input)
28208	return out, req.Send()
28209}
28210
28211// DetachVolumeWithContext is the same as DetachVolume with the addition of
28212// the ability to pass a context and additional request options.
28213//
28214// See DetachVolume for details on how to use this API operation.
28215//
28216// The context must be non-nil and will be used for request cancellation. If
28217// the context is nil a panic will occur. In the future the SDK may create
28218// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28219// for more information on using Contexts.
28220func (c *EC2) DetachVolumeWithContext(ctx aws.Context, input *DetachVolumeInput, opts ...request.Option) (*VolumeAttachment, error) {
28221	req, out := c.DetachVolumeRequest(input)
28222	req.SetContext(ctx)
28223	req.ApplyOptions(opts...)
28224	return out, req.Send()
28225}
28226
28227const opDetachVpnGateway = "DetachVpnGateway"
28228
28229// DetachVpnGatewayRequest generates a "aws/request.Request" representing the
28230// client's request for the DetachVpnGateway operation. The "output" return
28231// value will be populated with the request's response once the request completes
28232// successfully.
28233//
28234// Use "Send" method on the returned Request to send the API call to the service.
28235// the "output" return value is not valid until after Send returns without error.
28236//
28237// See DetachVpnGateway for more information on using the DetachVpnGateway
28238// API call, and error handling.
28239//
28240// This method is useful when you want to inject custom logic or configuration
28241// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28242//
28243//
28244//    // Example sending a request using the DetachVpnGatewayRequest method.
28245//    req, resp := client.DetachVpnGatewayRequest(params)
28246//
28247//    err := req.Send()
28248//    if err == nil { // resp is now filled
28249//        fmt.Println(resp)
28250//    }
28251//
28252// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVpnGateway
28253func (c *EC2) DetachVpnGatewayRequest(input *DetachVpnGatewayInput) (req *request.Request, output *DetachVpnGatewayOutput) {
28254	op := &request.Operation{
28255		Name:       opDetachVpnGateway,
28256		HTTPMethod: "POST",
28257		HTTPPath:   "/",
28258	}
28259
28260	if input == nil {
28261		input = &DetachVpnGatewayInput{}
28262	}
28263
28264	output = &DetachVpnGatewayOutput{}
28265	req = c.newRequest(op, input, output)
28266	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
28267	return
28268}
28269
28270// DetachVpnGateway API operation for Amazon Elastic Compute Cloud.
28271//
28272// Detaches a virtual private gateway from a VPC. You do this if you're planning
28273// to turn off the VPC and not use it anymore. You can confirm a virtual private
28274// gateway has been completely detached from a VPC by describing the virtual
28275// private gateway (any attachments to the virtual private gateway are also
28276// described).
28277//
28278// You must wait for the attachment's state to switch to detached before you
28279// can delete the VPC or attach a different VPC to the virtual private gateway.
28280//
28281// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28282// with awserr.Error's Code and Message methods to get detailed information about
28283// the error.
28284//
28285// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28286// API operation DetachVpnGateway for usage and error information.
28287// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVpnGateway
28288func (c *EC2) DetachVpnGateway(input *DetachVpnGatewayInput) (*DetachVpnGatewayOutput, error) {
28289	req, out := c.DetachVpnGatewayRequest(input)
28290	return out, req.Send()
28291}
28292
28293// DetachVpnGatewayWithContext is the same as DetachVpnGateway with the addition of
28294// the ability to pass a context and additional request options.
28295//
28296// See DetachVpnGateway for details on how to use this API operation.
28297//
28298// The context must be non-nil and will be used for request cancellation. If
28299// the context is nil a panic will occur. In the future the SDK may create
28300// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28301// for more information on using Contexts.
28302func (c *EC2) DetachVpnGatewayWithContext(ctx aws.Context, input *DetachVpnGatewayInput, opts ...request.Option) (*DetachVpnGatewayOutput, error) {
28303	req, out := c.DetachVpnGatewayRequest(input)
28304	req.SetContext(ctx)
28305	req.ApplyOptions(opts...)
28306	return out, req.Send()
28307}
28308
28309const opDisableEbsEncryptionByDefault = "DisableEbsEncryptionByDefault"
28310
28311// DisableEbsEncryptionByDefaultRequest generates a "aws/request.Request" representing the
28312// client's request for the DisableEbsEncryptionByDefault operation. The "output" return
28313// value will be populated with the request's response once the request completes
28314// successfully.
28315//
28316// Use "Send" method on the returned Request to send the API call to the service.
28317// the "output" return value is not valid until after Send returns without error.
28318//
28319// See DisableEbsEncryptionByDefault for more information on using the DisableEbsEncryptionByDefault
28320// API call, and error handling.
28321//
28322// This method is useful when you want to inject custom logic or configuration
28323// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28324//
28325//
28326//    // Example sending a request using the DisableEbsEncryptionByDefaultRequest method.
28327//    req, resp := client.DisableEbsEncryptionByDefaultRequest(params)
28328//
28329//    err := req.Send()
28330//    if err == nil { // resp is now filled
28331//        fmt.Println(resp)
28332//    }
28333//
28334// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableEbsEncryptionByDefault
28335func (c *EC2) DisableEbsEncryptionByDefaultRequest(input *DisableEbsEncryptionByDefaultInput) (req *request.Request, output *DisableEbsEncryptionByDefaultOutput) {
28336	op := &request.Operation{
28337		Name:       opDisableEbsEncryptionByDefault,
28338		HTTPMethod: "POST",
28339		HTTPPath:   "/",
28340	}
28341
28342	if input == nil {
28343		input = &DisableEbsEncryptionByDefaultInput{}
28344	}
28345
28346	output = &DisableEbsEncryptionByDefaultOutput{}
28347	req = c.newRequest(op, input, output)
28348	return
28349}
28350
28351// DisableEbsEncryptionByDefault API operation for Amazon Elastic Compute Cloud.
28352//
28353// Disables EBS encryption by default for your account in the current Region.
28354//
28355// After you disable encryption by default, you can still create encrypted volumes
28356// by enabling encryption when you create each volume.
28357//
28358// Disabling encryption by default does not change the encryption status of
28359// your existing volumes.
28360//
28361// For more information, see Amazon EBS encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
28362// in the Amazon Elastic Compute Cloud User Guide.
28363//
28364// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28365// with awserr.Error's Code and Message methods to get detailed information about
28366// the error.
28367//
28368// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28369// API operation DisableEbsEncryptionByDefault for usage and error information.
28370// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableEbsEncryptionByDefault
28371func (c *EC2) DisableEbsEncryptionByDefault(input *DisableEbsEncryptionByDefaultInput) (*DisableEbsEncryptionByDefaultOutput, error) {
28372	req, out := c.DisableEbsEncryptionByDefaultRequest(input)
28373	return out, req.Send()
28374}
28375
28376// DisableEbsEncryptionByDefaultWithContext is the same as DisableEbsEncryptionByDefault with the addition of
28377// the ability to pass a context and additional request options.
28378//
28379// See DisableEbsEncryptionByDefault for details on how to use this API operation.
28380//
28381// The context must be non-nil and will be used for request cancellation. If
28382// the context is nil a panic will occur. In the future the SDK may create
28383// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28384// for more information on using Contexts.
28385func (c *EC2) DisableEbsEncryptionByDefaultWithContext(ctx aws.Context, input *DisableEbsEncryptionByDefaultInput, opts ...request.Option) (*DisableEbsEncryptionByDefaultOutput, error) {
28386	req, out := c.DisableEbsEncryptionByDefaultRequest(input)
28387	req.SetContext(ctx)
28388	req.ApplyOptions(opts...)
28389	return out, req.Send()
28390}
28391
28392const opDisableFastSnapshotRestores = "DisableFastSnapshotRestores"
28393
28394// DisableFastSnapshotRestoresRequest generates a "aws/request.Request" representing the
28395// client's request for the DisableFastSnapshotRestores operation. The "output" return
28396// value will be populated with the request's response once the request completes
28397// successfully.
28398//
28399// Use "Send" method on the returned Request to send the API call to the service.
28400// the "output" return value is not valid until after Send returns without error.
28401//
28402// See DisableFastSnapshotRestores for more information on using the DisableFastSnapshotRestores
28403// API call, and error handling.
28404//
28405// This method is useful when you want to inject custom logic or configuration
28406// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28407//
28408//
28409//    // Example sending a request using the DisableFastSnapshotRestoresRequest method.
28410//    req, resp := client.DisableFastSnapshotRestoresRequest(params)
28411//
28412//    err := req.Send()
28413//    if err == nil { // resp is now filled
28414//        fmt.Println(resp)
28415//    }
28416//
28417// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableFastSnapshotRestores
28418func (c *EC2) DisableFastSnapshotRestoresRequest(input *DisableFastSnapshotRestoresInput) (req *request.Request, output *DisableFastSnapshotRestoresOutput) {
28419	op := &request.Operation{
28420		Name:       opDisableFastSnapshotRestores,
28421		HTTPMethod: "POST",
28422		HTTPPath:   "/",
28423	}
28424
28425	if input == nil {
28426		input = &DisableFastSnapshotRestoresInput{}
28427	}
28428
28429	output = &DisableFastSnapshotRestoresOutput{}
28430	req = c.newRequest(op, input, output)
28431	return
28432}
28433
28434// DisableFastSnapshotRestores API operation for Amazon Elastic Compute Cloud.
28435//
28436// Disables fast snapshot restores for the specified snapshots in the specified
28437// Availability Zones.
28438//
28439// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28440// with awserr.Error's Code and Message methods to get detailed information about
28441// the error.
28442//
28443// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28444// API operation DisableFastSnapshotRestores for usage and error information.
28445// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableFastSnapshotRestores
28446func (c *EC2) DisableFastSnapshotRestores(input *DisableFastSnapshotRestoresInput) (*DisableFastSnapshotRestoresOutput, error) {
28447	req, out := c.DisableFastSnapshotRestoresRequest(input)
28448	return out, req.Send()
28449}
28450
28451// DisableFastSnapshotRestoresWithContext is the same as DisableFastSnapshotRestores with the addition of
28452// the ability to pass a context and additional request options.
28453//
28454// See DisableFastSnapshotRestores for details on how to use this API operation.
28455//
28456// The context must be non-nil and will be used for request cancellation. If
28457// the context is nil a panic will occur. In the future the SDK may create
28458// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28459// for more information on using Contexts.
28460func (c *EC2) DisableFastSnapshotRestoresWithContext(ctx aws.Context, input *DisableFastSnapshotRestoresInput, opts ...request.Option) (*DisableFastSnapshotRestoresOutput, error) {
28461	req, out := c.DisableFastSnapshotRestoresRequest(input)
28462	req.SetContext(ctx)
28463	req.ApplyOptions(opts...)
28464	return out, req.Send()
28465}
28466
28467const opDisableSerialConsoleAccess = "DisableSerialConsoleAccess"
28468
28469// DisableSerialConsoleAccessRequest generates a "aws/request.Request" representing the
28470// client's request for the DisableSerialConsoleAccess operation. The "output" return
28471// value will be populated with the request's response once the request completes
28472// successfully.
28473//
28474// Use "Send" method on the returned Request to send the API call to the service.
28475// the "output" return value is not valid until after Send returns without error.
28476//
28477// See DisableSerialConsoleAccess for more information on using the DisableSerialConsoleAccess
28478// API call, and error handling.
28479//
28480// This method is useful when you want to inject custom logic or configuration
28481// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28482//
28483//
28484//    // Example sending a request using the DisableSerialConsoleAccessRequest method.
28485//    req, resp := client.DisableSerialConsoleAccessRequest(params)
28486//
28487//    err := req.Send()
28488//    if err == nil { // resp is now filled
28489//        fmt.Println(resp)
28490//    }
28491//
28492// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableSerialConsoleAccess
28493func (c *EC2) DisableSerialConsoleAccessRequest(input *DisableSerialConsoleAccessInput) (req *request.Request, output *DisableSerialConsoleAccessOutput) {
28494	op := &request.Operation{
28495		Name:       opDisableSerialConsoleAccess,
28496		HTTPMethod: "POST",
28497		HTTPPath:   "/",
28498	}
28499
28500	if input == nil {
28501		input = &DisableSerialConsoleAccessInput{}
28502	}
28503
28504	output = &DisableSerialConsoleAccessOutput{}
28505	req = c.newRequest(op, input, output)
28506	return
28507}
28508
28509// DisableSerialConsoleAccess API operation for Amazon Elastic Compute Cloud.
28510//
28511// Disables access to the EC2 serial console of all instances for your account.
28512// By default, access to the EC2 serial console is disabled for your account.
28513// For more information, see Manage account access to the EC2 serial console
28514// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configure-access-to-serial-console.html#serial-console-account-access)
28515// in the Amazon EC2 User Guide.
28516//
28517// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28518// with awserr.Error's Code and Message methods to get detailed information about
28519// the error.
28520//
28521// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28522// API operation DisableSerialConsoleAccess for usage and error information.
28523// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableSerialConsoleAccess
28524func (c *EC2) DisableSerialConsoleAccess(input *DisableSerialConsoleAccessInput) (*DisableSerialConsoleAccessOutput, error) {
28525	req, out := c.DisableSerialConsoleAccessRequest(input)
28526	return out, req.Send()
28527}
28528
28529// DisableSerialConsoleAccessWithContext is the same as DisableSerialConsoleAccess with the addition of
28530// the ability to pass a context and additional request options.
28531//
28532// See DisableSerialConsoleAccess for details on how to use this API operation.
28533//
28534// The context must be non-nil and will be used for request cancellation. If
28535// the context is nil a panic will occur. In the future the SDK may create
28536// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28537// for more information on using Contexts.
28538func (c *EC2) DisableSerialConsoleAccessWithContext(ctx aws.Context, input *DisableSerialConsoleAccessInput, opts ...request.Option) (*DisableSerialConsoleAccessOutput, error) {
28539	req, out := c.DisableSerialConsoleAccessRequest(input)
28540	req.SetContext(ctx)
28541	req.ApplyOptions(opts...)
28542	return out, req.Send()
28543}
28544
28545const opDisableTransitGatewayRouteTablePropagation = "DisableTransitGatewayRouteTablePropagation"
28546
28547// DisableTransitGatewayRouteTablePropagationRequest generates a "aws/request.Request" representing the
28548// client's request for the DisableTransitGatewayRouteTablePropagation operation. The "output" return
28549// value will be populated with the request's response once the request completes
28550// successfully.
28551//
28552// Use "Send" method on the returned Request to send the API call to the service.
28553// the "output" return value is not valid until after Send returns without error.
28554//
28555// See DisableTransitGatewayRouteTablePropagation for more information on using the DisableTransitGatewayRouteTablePropagation
28556// API call, and error handling.
28557//
28558// This method is useful when you want to inject custom logic or configuration
28559// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28560//
28561//
28562//    // Example sending a request using the DisableTransitGatewayRouteTablePropagationRequest method.
28563//    req, resp := client.DisableTransitGatewayRouteTablePropagationRequest(params)
28564//
28565//    err := req.Send()
28566//    if err == nil { // resp is now filled
28567//        fmt.Println(resp)
28568//    }
28569//
28570// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableTransitGatewayRouteTablePropagation
28571func (c *EC2) DisableTransitGatewayRouteTablePropagationRequest(input *DisableTransitGatewayRouteTablePropagationInput) (req *request.Request, output *DisableTransitGatewayRouteTablePropagationOutput) {
28572	op := &request.Operation{
28573		Name:       opDisableTransitGatewayRouteTablePropagation,
28574		HTTPMethod: "POST",
28575		HTTPPath:   "/",
28576	}
28577
28578	if input == nil {
28579		input = &DisableTransitGatewayRouteTablePropagationInput{}
28580	}
28581
28582	output = &DisableTransitGatewayRouteTablePropagationOutput{}
28583	req = c.newRequest(op, input, output)
28584	return
28585}
28586
28587// DisableTransitGatewayRouteTablePropagation API operation for Amazon Elastic Compute Cloud.
28588//
28589// Disables the specified resource attachment from propagating routes to the
28590// specified propagation route table.
28591//
28592// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28593// with awserr.Error's Code and Message methods to get detailed information about
28594// the error.
28595//
28596// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28597// API operation DisableTransitGatewayRouteTablePropagation for usage and error information.
28598// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableTransitGatewayRouteTablePropagation
28599func (c *EC2) DisableTransitGatewayRouteTablePropagation(input *DisableTransitGatewayRouteTablePropagationInput) (*DisableTransitGatewayRouteTablePropagationOutput, error) {
28600	req, out := c.DisableTransitGatewayRouteTablePropagationRequest(input)
28601	return out, req.Send()
28602}
28603
28604// DisableTransitGatewayRouteTablePropagationWithContext is the same as DisableTransitGatewayRouteTablePropagation with the addition of
28605// the ability to pass a context and additional request options.
28606//
28607// See DisableTransitGatewayRouteTablePropagation for details on how to use this API operation.
28608//
28609// The context must be non-nil and will be used for request cancellation. If
28610// the context is nil a panic will occur. In the future the SDK may create
28611// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28612// for more information on using Contexts.
28613func (c *EC2) DisableTransitGatewayRouteTablePropagationWithContext(ctx aws.Context, input *DisableTransitGatewayRouteTablePropagationInput, opts ...request.Option) (*DisableTransitGatewayRouteTablePropagationOutput, error) {
28614	req, out := c.DisableTransitGatewayRouteTablePropagationRequest(input)
28615	req.SetContext(ctx)
28616	req.ApplyOptions(opts...)
28617	return out, req.Send()
28618}
28619
28620const opDisableVgwRoutePropagation = "DisableVgwRoutePropagation"
28621
28622// DisableVgwRoutePropagationRequest generates a "aws/request.Request" representing the
28623// client's request for the DisableVgwRoutePropagation operation. The "output" return
28624// value will be populated with the request's response once the request completes
28625// successfully.
28626//
28627// Use "Send" method on the returned Request to send the API call to the service.
28628// the "output" return value is not valid until after Send returns without error.
28629//
28630// See DisableVgwRoutePropagation for more information on using the DisableVgwRoutePropagation
28631// API call, and error handling.
28632//
28633// This method is useful when you want to inject custom logic or configuration
28634// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28635//
28636//
28637//    // Example sending a request using the DisableVgwRoutePropagationRequest method.
28638//    req, resp := client.DisableVgwRoutePropagationRequest(params)
28639//
28640//    err := req.Send()
28641//    if err == nil { // resp is now filled
28642//        fmt.Println(resp)
28643//    }
28644//
28645// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVgwRoutePropagation
28646func (c *EC2) DisableVgwRoutePropagationRequest(input *DisableVgwRoutePropagationInput) (req *request.Request, output *DisableVgwRoutePropagationOutput) {
28647	op := &request.Operation{
28648		Name:       opDisableVgwRoutePropagation,
28649		HTTPMethod: "POST",
28650		HTTPPath:   "/",
28651	}
28652
28653	if input == nil {
28654		input = &DisableVgwRoutePropagationInput{}
28655	}
28656
28657	output = &DisableVgwRoutePropagationOutput{}
28658	req = c.newRequest(op, input, output)
28659	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
28660	return
28661}
28662
28663// DisableVgwRoutePropagation API operation for Amazon Elastic Compute Cloud.
28664//
28665// Disables a virtual private gateway (VGW) from propagating routes to a specified
28666// route table of a VPC.
28667//
28668// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28669// with awserr.Error's Code and Message methods to get detailed information about
28670// the error.
28671//
28672// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28673// API operation DisableVgwRoutePropagation for usage and error information.
28674// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVgwRoutePropagation
28675func (c *EC2) DisableVgwRoutePropagation(input *DisableVgwRoutePropagationInput) (*DisableVgwRoutePropagationOutput, error) {
28676	req, out := c.DisableVgwRoutePropagationRequest(input)
28677	return out, req.Send()
28678}
28679
28680// DisableVgwRoutePropagationWithContext is the same as DisableVgwRoutePropagation with the addition of
28681// the ability to pass a context and additional request options.
28682//
28683// See DisableVgwRoutePropagation for details on how to use this API operation.
28684//
28685// The context must be non-nil and will be used for request cancellation. If
28686// the context is nil a panic will occur. In the future the SDK may create
28687// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28688// for more information on using Contexts.
28689func (c *EC2) DisableVgwRoutePropagationWithContext(ctx aws.Context, input *DisableVgwRoutePropagationInput, opts ...request.Option) (*DisableVgwRoutePropagationOutput, error) {
28690	req, out := c.DisableVgwRoutePropagationRequest(input)
28691	req.SetContext(ctx)
28692	req.ApplyOptions(opts...)
28693	return out, req.Send()
28694}
28695
28696const opDisableVpcClassicLink = "DisableVpcClassicLink"
28697
28698// DisableVpcClassicLinkRequest generates a "aws/request.Request" representing the
28699// client's request for the DisableVpcClassicLink operation. The "output" return
28700// value will be populated with the request's response once the request completes
28701// successfully.
28702//
28703// Use "Send" method on the returned Request to send the API call to the service.
28704// the "output" return value is not valid until after Send returns without error.
28705//
28706// See DisableVpcClassicLink for more information on using the DisableVpcClassicLink
28707// API call, and error handling.
28708//
28709// This method is useful when you want to inject custom logic or configuration
28710// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28711//
28712//
28713//    // Example sending a request using the DisableVpcClassicLinkRequest method.
28714//    req, resp := client.DisableVpcClassicLinkRequest(params)
28715//
28716//    err := req.Send()
28717//    if err == nil { // resp is now filled
28718//        fmt.Println(resp)
28719//    }
28720//
28721// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLink
28722func (c *EC2) DisableVpcClassicLinkRequest(input *DisableVpcClassicLinkInput) (req *request.Request, output *DisableVpcClassicLinkOutput) {
28723	op := &request.Operation{
28724		Name:       opDisableVpcClassicLink,
28725		HTTPMethod: "POST",
28726		HTTPPath:   "/",
28727	}
28728
28729	if input == nil {
28730		input = &DisableVpcClassicLinkInput{}
28731	}
28732
28733	output = &DisableVpcClassicLinkOutput{}
28734	req = c.newRequest(op, input, output)
28735	return
28736}
28737
28738// DisableVpcClassicLink API operation for Amazon Elastic Compute Cloud.
28739//
28740// Disables ClassicLink for a VPC. You cannot disable ClassicLink for a VPC
28741// that has EC2-Classic instances linked to it.
28742//
28743// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28744// with awserr.Error's Code and Message methods to get detailed information about
28745// the error.
28746//
28747// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28748// API operation DisableVpcClassicLink for usage and error information.
28749// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLink
28750func (c *EC2) DisableVpcClassicLink(input *DisableVpcClassicLinkInput) (*DisableVpcClassicLinkOutput, error) {
28751	req, out := c.DisableVpcClassicLinkRequest(input)
28752	return out, req.Send()
28753}
28754
28755// DisableVpcClassicLinkWithContext is the same as DisableVpcClassicLink with the addition of
28756// the ability to pass a context and additional request options.
28757//
28758// See DisableVpcClassicLink for details on how to use this API operation.
28759//
28760// The context must be non-nil and will be used for request cancellation. If
28761// the context is nil a panic will occur. In the future the SDK may create
28762// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28763// for more information on using Contexts.
28764func (c *EC2) DisableVpcClassicLinkWithContext(ctx aws.Context, input *DisableVpcClassicLinkInput, opts ...request.Option) (*DisableVpcClassicLinkOutput, error) {
28765	req, out := c.DisableVpcClassicLinkRequest(input)
28766	req.SetContext(ctx)
28767	req.ApplyOptions(opts...)
28768	return out, req.Send()
28769}
28770
28771const opDisableVpcClassicLinkDnsSupport = "DisableVpcClassicLinkDnsSupport"
28772
28773// DisableVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the
28774// client's request for the DisableVpcClassicLinkDnsSupport operation. The "output" return
28775// value will be populated with the request's response once the request completes
28776// successfully.
28777//
28778// Use "Send" method on the returned Request to send the API call to the service.
28779// the "output" return value is not valid until after Send returns without error.
28780//
28781// See DisableVpcClassicLinkDnsSupport for more information on using the DisableVpcClassicLinkDnsSupport
28782// API call, and error handling.
28783//
28784// This method is useful when you want to inject custom logic or configuration
28785// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28786//
28787//
28788//    // Example sending a request using the DisableVpcClassicLinkDnsSupportRequest method.
28789//    req, resp := client.DisableVpcClassicLinkDnsSupportRequest(params)
28790//
28791//    err := req.Send()
28792//    if err == nil { // resp is now filled
28793//        fmt.Println(resp)
28794//    }
28795//
28796// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLinkDnsSupport
28797func (c *EC2) DisableVpcClassicLinkDnsSupportRequest(input *DisableVpcClassicLinkDnsSupportInput) (req *request.Request, output *DisableVpcClassicLinkDnsSupportOutput) {
28798	op := &request.Operation{
28799		Name:       opDisableVpcClassicLinkDnsSupport,
28800		HTTPMethod: "POST",
28801		HTTPPath:   "/",
28802	}
28803
28804	if input == nil {
28805		input = &DisableVpcClassicLinkDnsSupportInput{}
28806	}
28807
28808	output = &DisableVpcClassicLinkDnsSupportOutput{}
28809	req = c.newRequest(op, input, output)
28810	return
28811}
28812
28813// DisableVpcClassicLinkDnsSupport API operation for Amazon Elastic Compute Cloud.
28814//
28815// Disables ClassicLink DNS support for a VPC. If disabled, DNS hostnames resolve
28816// to public IP addresses when addressed between a linked EC2-Classic instance
28817// and instances in the VPC to which it's linked. For more information, see
28818// ClassicLink (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
28819// in the Amazon Elastic Compute Cloud User Guide.
28820//
28821// You must specify a VPC ID in the request.
28822//
28823// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28824// with awserr.Error's Code and Message methods to get detailed information about
28825// the error.
28826//
28827// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28828// API operation DisableVpcClassicLinkDnsSupport for usage and error information.
28829// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLinkDnsSupport
28830func (c *EC2) DisableVpcClassicLinkDnsSupport(input *DisableVpcClassicLinkDnsSupportInput) (*DisableVpcClassicLinkDnsSupportOutput, error) {
28831	req, out := c.DisableVpcClassicLinkDnsSupportRequest(input)
28832	return out, req.Send()
28833}
28834
28835// DisableVpcClassicLinkDnsSupportWithContext is the same as DisableVpcClassicLinkDnsSupport with the addition of
28836// the ability to pass a context and additional request options.
28837//
28838// See DisableVpcClassicLinkDnsSupport for details on how to use this API operation.
28839//
28840// The context must be non-nil and will be used for request cancellation. If
28841// the context is nil a panic will occur. In the future the SDK may create
28842// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28843// for more information on using Contexts.
28844func (c *EC2) DisableVpcClassicLinkDnsSupportWithContext(ctx aws.Context, input *DisableVpcClassicLinkDnsSupportInput, opts ...request.Option) (*DisableVpcClassicLinkDnsSupportOutput, error) {
28845	req, out := c.DisableVpcClassicLinkDnsSupportRequest(input)
28846	req.SetContext(ctx)
28847	req.ApplyOptions(opts...)
28848	return out, req.Send()
28849}
28850
28851const opDisassociateAddress = "DisassociateAddress"
28852
28853// DisassociateAddressRequest generates a "aws/request.Request" representing the
28854// client's request for the DisassociateAddress operation. The "output" return
28855// value will be populated with the request's response once the request completes
28856// successfully.
28857//
28858// Use "Send" method on the returned Request to send the API call to the service.
28859// the "output" return value is not valid until after Send returns without error.
28860//
28861// See DisassociateAddress for more information on using the DisassociateAddress
28862// API call, and error handling.
28863//
28864// This method is useful when you want to inject custom logic or configuration
28865// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28866//
28867//
28868//    // Example sending a request using the DisassociateAddressRequest method.
28869//    req, resp := client.DisassociateAddressRequest(params)
28870//
28871//    err := req.Send()
28872//    if err == nil { // resp is now filled
28873//        fmt.Println(resp)
28874//    }
28875//
28876// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateAddress
28877func (c *EC2) DisassociateAddressRequest(input *DisassociateAddressInput) (req *request.Request, output *DisassociateAddressOutput) {
28878	op := &request.Operation{
28879		Name:       opDisassociateAddress,
28880		HTTPMethod: "POST",
28881		HTTPPath:   "/",
28882	}
28883
28884	if input == nil {
28885		input = &DisassociateAddressInput{}
28886	}
28887
28888	output = &DisassociateAddressOutput{}
28889	req = c.newRequest(op, input, output)
28890	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
28891	return
28892}
28893
28894// DisassociateAddress API operation for Amazon Elastic Compute Cloud.
28895//
28896// Disassociates an Elastic IP address from the instance or network interface
28897// it's associated with.
28898//
28899// An Elastic IP address is for use in either the EC2-Classic platform or in
28900// a VPC. For more information, see Elastic IP Addresses (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
28901// in the Amazon Elastic Compute Cloud User Guide.
28902//
28903// This is an idempotent operation. If you perform the operation more than once,
28904// Amazon EC2 doesn't return an error.
28905//
28906// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28907// with awserr.Error's Code and Message methods to get detailed information about
28908// the error.
28909//
28910// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28911// API operation DisassociateAddress for usage and error information.
28912// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateAddress
28913func (c *EC2) DisassociateAddress(input *DisassociateAddressInput) (*DisassociateAddressOutput, error) {
28914	req, out := c.DisassociateAddressRequest(input)
28915	return out, req.Send()
28916}
28917
28918// DisassociateAddressWithContext is the same as DisassociateAddress with the addition of
28919// the ability to pass a context and additional request options.
28920//
28921// See DisassociateAddress for details on how to use this API operation.
28922//
28923// The context must be non-nil and will be used for request cancellation. If
28924// the context is nil a panic will occur. In the future the SDK may create
28925// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28926// for more information on using Contexts.
28927func (c *EC2) DisassociateAddressWithContext(ctx aws.Context, input *DisassociateAddressInput, opts ...request.Option) (*DisassociateAddressOutput, error) {
28928	req, out := c.DisassociateAddressRequest(input)
28929	req.SetContext(ctx)
28930	req.ApplyOptions(opts...)
28931	return out, req.Send()
28932}
28933
28934const opDisassociateClientVpnTargetNetwork = "DisassociateClientVpnTargetNetwork"
28935
28936// DisassociateClientVpnTargetNetworkRequest generates a "aws/request.Request" representing the
28937// client's request for the DisassociateClientVpnTargetNetwork operation. The "output" return
28938// value will be populated with the request's response once the request completes
28939// successfully.
28940//
28941// Use "Send" method on the returned Request to send the API call to the service.
28942// the "output" return value is not valid until after Send returns without error.
28943//
28944// See DisassociateClientVpnTargetNetwork for more information on using the DisassociateClientVpnTargetNetwork
28945// API call, and error handling.
28946//
28947// This method is useful when you want to inject custom logic or configuration
28948// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28949//
28950//
28951//    // Example sending a request using the DisassociateClientVpnTargetNetworkRequest method.
28952//    req, resp := client.DisassociateClientVpnTargetNetworkRequest(params)
28953//
28954//    err := req.Send()
28955//    if err == nil { // resp is now filled
28956//        fmt.Println(resp)
28957//    }
28958//
28959// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateClientVpnTargetNetwork
28960func (c *EC2) DisassociateClientVpnTargetNetworkRequest(input *DisassociateClientVpnTargetNetworkInput) (req *request.Request, output *DisassociateClientVpnTargetNetworkOutput) {
28961	op := &request.Operation{
28962		Name:       opDisassociateClientVpnTargetNetwork,
28963		HTTPMethod: "POST",
28964		HTTPPath:   "/",
28965	}
28966
28967	if input == nil {
28968		input = &DisassociateClientVpnTargetNetworkInput{}
28969	}
28970
28971	output = &DisassociateClientVpnTargetNetworkOutput{}
28972	req = c.newRequest(op, input, output)
28973	return
28974}
28975
28976// DisassociateClientVpnTargetNetwork API operation for Amazon Elastic Compute Cloud.
28977//
28978// Disassociates a target network from the specified Client VPN endpoint. When
28979// you disassociate the last target network from a Client VPN, the following
28980// happens:
28981//
28982//    * The route that was automatically added for the VPC is deleted
28983//
28984//    * All active client connections are terminated
28985//
28986//    * New client connections are disallowed
28987//
28988//    * The Client VPN endpoint's status changes to pending-associate
28989//
28990// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28991// with awserr.Error's Code and Message methods to get detailed information about
28992// the error.
28993//
28994// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28995// API operation DisassociateClientVpnTargetNetwork for usage and error information.
28996// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateClientVpnTargetNetwork
28997func (c *EC2) DisassociateClientVpnTargetNetwork(input *DisassociateClientVpnTargetNetworkInput) (*DisassociateClientVpnTargetNetworkOutput, error) {
28998	req, out := c.DisassociateClientVpnTargetNetworkRequest(input)
28999	return out, req.Send()
29000}
29001
29002// DisassociateClientVpnTargetNetworkWithContext is the same as DisassociateClientVpnTargetNetwork with the addition of
29003// the ability to pass a context and additional request options.
29004//
29005// See DisassociateClientVpnTargetNetwork for details on how to use this API operation.
29006//
29007// The context must be non-nil and will be used for request cancellation. If
29008// the context is nil a panic will occur. In the future the SDK may create
29009// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29010// for more information on using Contexts.
29011func (c *EC2) DisassociateClientVpnTargetNetworkWithContext(ctx aws.Context, input *DisassociateClientVpnTargetNetworkInput, opts ...request.Option) (*DisassociateClientVpnTargetNetworkOutput, error) {
29012	req, out := c.DisassociateClientVpnTargetNetworkRequest(input)
29013	req.SetContext(ctx)
29014	req.ApplyOptions(opts...)
29015	return out, req.Send()
29016}
29017
29018const opDisassociateEnclaveCertificateIamRole = "DisassociateEnclaveCertificateIamRole"
29019
29020// DisassociateEnclaveCertificateIamRoleRequest generates a "aws/request.Request" representing the
29021// client's request for the DisassociateEnclaveCertificateIamRole operation. The "output" return
29022// value will be populated with the request's response once the request completes
29023// successfully.
29024//
29025// Use "Send" method on the returned Request to send the API call to the service.
29026// the "output" return value is not valid until after Send returns without error.
29027//
29028// See DisassociateEnclaveCertificateIamRole for more information on using the DisassociateEnclaveCertificateIamRole
29029// API call, and error handling.
29030//
29031// This method is useful when you want to inject custom logic or configuration
29032// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29033//
29034//
29035//    // Example sending a request using the DisassociateEnclaveCertificateIamRoleRequest method.
29036//    req, resp := client.DisassociateEnclaveCertificateIamRoleRequest(params)
29037//
29038//    err := req.Send()
29039//    if err == nil { // resp is now filled
29040//        fmt.Println(resp)
29041//    }
29042//
29043// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateEnclaveCertificateIamRole
29044func (c *EC2) DisassociateEnclaveCertificateIamRoleRequest(input *DisassociateEnclaveCertificateIamRoleInput) (req *request.Request, output *DisassociateEnclaveCertificateIamRoleOutput) {
29045	op := &request.Operation{
29046		Name:       opDisassociateEnclaveCertificateIamRole,
29047		HTTPMethod: "POST",
29048		HTTPPath:   "/",
29049	}
29050
29051	if input == nil {
29052		input = &DisassociateEnclaveCertificateIamRoleInput{}
29053	}
29054
29055	output = &DisassociateEnclaveCertificateIamRoleOutput{}
29056	req = c.newRequest(op, input, output)
29057	return
29058}
29059
29060// DisassociateEnclaveCertificateIamRole API operation for Amazon Elastic Compute Cloud.
29061//
29062// Disassociates an IAM role from an AWS Certificate Manager (ACM) certificate.
29063// Disassociating an IAM role from an ACM certificate removes the Amazon S3
29064// object that contains the certificate, certificate chain, and encrypted private
29065// key from the Amazon S3 bucket. It also revokes the IAM role's permission
29066// to use the AWS Key Management Service (KMS) customer master key (CMK) used
29067// to encrypt the private key. This effectively revokes the role's permission
29068// to use the certificate.
29069//
29070// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29071// with awserr.Error's Code and Message methods to get detailed information about
29072// the error.
29073//
29074// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29075// API operation DisassociateEnclaveCertificateIamRole for usage and error information.
29076// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateEnclaveCertificateIamRole
29077func (c *EC2) DisassociateEnclaveCertificateIamRole(input *DisassociateEnclaveCertificateIamRoleInput) (*DisassociateEnclaveCertificateIamRoleOutput, error) {
29078	req, out := c.DisassociateEnclaveCertificateIamRoleRequest(input)
29079	return out, req.Send()
29080}
29081
29082// DisassociateEnclaveCertificateIamRoleWithContext is the same as DisassociateEnclaveCertificateIamRole with the addition of
29083// the ability to pass a context and additional request options.
29084//
29085// See DisassociateEnclaveCertificateIamRole for details on how to use this API operation.
29086//
29087// The context must be non-nil and will be used for request cancellation. If
29088// the context is nil a panic will occur. In the future the SDK may create
29089// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29090// for more information on using Contexts.
29091func (c *EC2) DisassociateEnclaveCertificateIamRoleWithContext(ctx aws.Context, input *DisassociateEnclaveCertificateIamRoleInput, opts ...request.Option) (*DisassociateEnclaveCertificateIamRoleOutput, error) {
29092	req, out := c.DisassociateEnclaveCertificateIamRoleRequest(input)
29093	req.SetContext(ctx)
29094	req.ApplyOptions(opts...)
29095	return out, req.Send()
29096}
29097
29098const opDisassociateIamInstanceProfile = "DisassociateIamInstanceProfile"
29099
29100// DisassociateIamInstanceProfileRequest generates a "aws/request.Request" representing the
29101// client's request for the DisassociateIamInstanceProfile operation. The "output" return
29102// value will be populated with the request's response once the request completes
29103// successfully.
29104//
29105// Use "Send" method on the returned Request to send the API call to the service.
29106// the "output" return value is not valid until after Send returns without error.
29107//
29108// See DisassociateIamInstanceProfile for more information on using the DisassociateIamInstanceProfile
29109// API call, and error handling.
29110//
29111// This method is useful when you want to inject custom logic or configuration
29112// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29113//
29114//
29115//    // Example sending a request using the DisassociateIamInstanceProfileRequest method.
29116//    req, resp := client.DisassociateIamInstanceProfileRequest(params)
29117//
29118//    err := req.Send()
29119//    if err == nil { // resp is now filled
29120//        fmt.Println(resp)
29121//    }
29122//
29123// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateIamInstanceProfile
29124func (c *EC2) DisassociateIamInstanceProfileRequest(input *DisassociateIamInstanceProfileInput) (req *request.Request, output *DisassociateIamInstanceProfileOutput) {
29125	op := &request.Operation{
29126		Name:       opDisassociateIamInstanceProfile,
29127		HTTPMethod: "POST",
29128		HTTPPath:   "/",
29129	}
29130
29131	if input == nil {
29132		input = &DisassociateIamInstanceProfileInput{}
29133	}
29134
29135	output = &DisassociateIamInstanceProfileOutput{}
29136	req = c.newRequest(op, input, output)
29137	return
29138}
29139
29140// DisassociateIamInstanceProfile API operation for Amazon Elastic Compute Cloud.
29141//
29142// Disassociates an IAM instance profile from a running or stopped instance.
29143//
29144// Use DescribeIamInstanceProfileAssociations to get the association ID.
29145//
29146// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29147// with awserr.Error's Code and Message methods to get detailed information about
29148// the error.
29149//
29150// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29151// API operation DisassociateIamInstanceProfile for usage and error information.
29152// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateIamInstanceProfile
29153func (c *EC2) DisassociateIamInstanceProfile(input *DisassociateIamInstanceProfileInput) (*DisassociateIamInstanceProfileOutput, error) {
29154	req, out := c.DisassociateIamInstanceProfileRequest(input)
29155	return out, req.Send()
29156}
29157
29158// DisassociateIamInstanceProfileWithContext is the same as DisassociateIamInstanceProfile with the addition of
29159// the ability to pass a context and additional request options.
29160//
29161// See DisassociateIamInstanceProfile for details on how to use this API operation.
29162//
29163// The context must be non-nil and will be used for request cancellation. If
29164// the context is nil a panic will occur. In the future the SDK may create
29165// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29166// for more information on using Contexts.
29167func (c *EC2) DisassociateIamInstanceProfileWithContext(ctx aws.Context, input *DisassociateIamInstanceProfileInput, opts ...request.Option) (*DisassociateIamInstanceProfileOutput, error) {
29168	req, out := c.DisassociateIamInstanceProfileRequest(input)
29169	req.SetContext(ctx)
29170	req.ApplyOptions(opts...)
29171	return out, req.Send()
29172}
29173
29174const opDisassociateRouteTable = "DisassociateRouteTable"
29175
29176// DisassociateRouteTableRequest generates a "aws/request.Request" representing the
29177// client's request for the DisassociateRouteTable operation. The "output" return
29178// value will be populated with the request's response once the request completes
29179// successfully.
29180//
29181// Use "Send" method on the returned Request to send the API call to the service.
29182// the "output" return value is not valid until after Send returns without error.
29183//
29184// See DisassociateRouteTable for more information on using the DisassociateRouteTable
29185// API call, and error handling.
29186//
29187// This method is useful when you want to inject custom logic or configuration
29188// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29189//
29190//
29191//    // Example sending a request using the DisassociateRouteTableRequest method.
29192//    req, resp := client.DisassociateRouteTableRequest(params)
29193//
29194//    err := req.Send()
29195//    if err == nil { // resp is now filled
29196//        fmt.Println(resp)
29197//    }
29198//
29199// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateRouteTable
29200func (c *EC2) DisassociateRouteTableRequest(input *DisassociateRouteTableInput) (req *request.Request, output *DisassociateRouteTableOutput) {
29201	op := &request.Operation{
29202		Name:       opDisassociateRouteTable,
29203		HTTPMethod: "POST",
29204		HTTPPath:   "/",
29205	}
29206
29207	if input == nil {
29208		input = &DisassociateRouteTableInput{}
29209	}
29210
29211	output = &DisassociateRouteTableOutput{}
29212	req = c.newRequest(op, input, output)
29213	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
29214	return
29215}
29216
29217// DisassociateRouteTable API operation for Amazon Elastic Compute Cloud.
29218//
29219// Disassociates a subnet or gateway from a route table.
29220//
29221// After you perform this action, the subnet no longer uses the routes in the
29222// route table. Instead, it uses the routes in the VPC's main route table. For
29223// more information about route tables, see Route Tables (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html)
29224// in the Amazon Virtual Private Cloud User Guide.
29225//
29226// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29227// with awserr.Error's Code and Message methods to get detailed information about
29228// the error.
29229//
29230// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29231// API operation DisassociateRouteTable for usage and error information.
29232// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateRouteTable
29233func (c *EC2) DisassociateRouteTable(input *DisassociateRouteTableInput) (*DisassociateRouteTableOutput, error) {
29234	req, out := c.DisassociateRouteTableRequest(input)
29235	return out, req.Send()
29236}
29237
29238// DisassociateRouteTableWithContext is the same as DisassociateRouteTable with the addition of
29239// the ability to pass a context and additional request options.
29240//
29241// See DisassociateRouteTable for details on how to use this API operation.
29242//
29243// The context must be non-nil and will be used for request cancellation. If
29244// the context is nil a panic will occur. In the future the SDK may create
29245// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29246// for more information on using Contexts.
29247func (c *EC2) DisassociateRouteTableWithContext(ctx aws.Context, input *DisassociateRouteTableInput, opts ...request.Option) (*DisassociateRouteTableOutput, error) {
29248	req, out := c.DisassociateRouteTableRequest(input)
29249	req.SetContext(ctx)
29250	req.ApplyOptions(opts...)
29251	return out, req.Send()
29252}
29253
29254const opDisassociateSubnetCidrBlock = "DisassociateSubnetCidrBlock"
29255
29256// DisassociateSubnetCidrBlockRequest generates a "aws/request.Request" representing the
29257// client's request for the DisassociateSubnetCidrBlock operation. The "output" return
29258// value will be populated with the request's response once the request completes
29259// successfully.
29260//
29261// Use "Send" method on the returned Request to send the API call to the service.
29262// the "output" return value is not valid until after Send returns without error.
29263//
29264// See DisassociateSubnetCidrBlock for more information on using the DisassociateSubnetCidrBlock
29265// API call, and error handling.
29266//
29267// This method is useful when you want to inject custom logic or configuration
29268// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29269//
29270//
29271//    // Example sending a request using the DisassociateSubnetCidrBlockRequest method.
29272//    req, resp := client.DisassociateSubnetCidrBlockRequest(params)
29273//
29274//    err := req.Send()
29275//    if err == nil { // resp is now filled
29276//        fmt.Println(resp)
29277//    }
29278//
29279// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateSubnetCidrBlock
29280func (c *EC2) DisassociateSubnetCidrBlockRequest(input *DisassociateSubnetCidrBlockInput) (req *request.Request, output *DisassociateSubnetCidrBlockOutput) {
29281	op := &request.Operation{
29282		Name:       opDisassociateSubnetCidrBlock,
29283		HTTPMethod: "POST",
29284		HTTPPath:   "/",
29285	}
29286
29287	if input == nil {
29288		input = &DisassociateSubnetCidrBlockInput{}
29289	}
29290
29291	output = &DisassociateSubnetCidrBlockOutput{}
29292	req = c.newRequest(op, input, output)
29293	return
29294}
29295
29296// DisassociateSubnetCidrBlock API operation for Amazon Elastic Compute Cloud.
29297//
29298// Disassociates a CIDR block from a subnet. Currently, you can disassociate
29299// an IPv6 CIDR block only. You must detach or delete all gateways and resources
29300// that are associated with the CIDR block before you can disassociate it.
29301//
29302// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29303// with awserr.Error's Code and Message methods to get detailed information about
29304// the error.
29305//
29306// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29307// API operation DisassociateSubnetCidrBlock for usage and error information.
29308// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateSubnetCidrBlock
29309func (c *EC2) DisassociateSubnetCidrBlock(input *DisassociateSubnetCidrBlockInput) (*DisassociateSubnetCidrBlockOutput, error) {
29310	req, out := c.DisassociateSubnetCidrBlockRequest(input)
29311	return out, req.Send()
29312}
29313
29314// DisassociateSubnetCidrBlockWithContext is the same as DisassociateSubnetCidrBlock with the addition of
29315// the ability to pass a context and additional request options.
29316//
29317// See DisassociateSubnetCidrBlock for details on how to use this API operation.
29318//
29319// The context must be non-nil and will be used for request cancellation. If
29320// the context is nil a panic will occur. In the future the SDK may create
29321// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29322// for more information on using Contexts.
29323func (c *EC2) DisassociateSubnetCidrBlockWithContext(ctx aws.Context, input *DisassociateSubnetCidrBlockInput, opts ...request.Option) (*DisassociateSubnetCidrBlockOutput, error) {
29324	req, out := c.DisassociateSubnetCidrBlockRequest(input)
29325	req.SetContext(ctx)
29326	req.ApplyOptions(opts...)
29327	return out, req.Send()
29328}
29329
29330const opDisassociateTransitGatewayMulticastDomain = "DisassociateTransitGatewayMulticastDomain"
29331
29332// DisassociateTransitGatewayMulticastDomainRequest generates a "aws/request.Request" representing the
29333// client's request for the DisassociateTransitGatewayMulticastDomain operation. The "output" return
29334// value will be populated with the request's response once the request completes
29335// successfully.
29336//
29337// Use "Send" method on the returned Request to send the API call to the service.
29338// the "output" return value is not valid until after Send returns without error.
29339//
29340// See DisassociateTransitGatewayMulticastDomain for more information on using the DisassociateTransitGatewayMulticastDomain
29341// API call, and error handling.
29342//
29343// This method is useful when you want to inject custom logic or configuration
29344// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29345//
29346//
29347//    // Example sending a request using the DisassociateTransitGatewayMulticastDomainRequest method.
29348//    req, resp := client.DisassociateTransitGatewayMulticastDomainRequest(params)
29349//
29350//    err := req.Send()
29351//    if err == nil { // resp is now filled
29352//        fmt.Println(resp)
29353//    }
29354//
29355// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateTransitGatewayMulticastDomain
29356func (c *EC2) DisassociateTransitGatewayMulticastDomainRequest(input *DisassociateTransitGatewayMulticastDomainInput) (req *request.Request, output *DisassociateTransitGatewayMulticastDomainOutput) {
29357	op := &request.Operation{
29358		Name:       opDisassociateTransitGatewayMulticastDomain,
29359		HTTPMethod: "POST",
29360		HTTPPath:   "/",
29361	}
29362
29363	if input == nil {
29364		input = &DisassociateTransitGatewayMulticastDomainInput{}
29365	}
29366
29367	output = &DisassociateTransitGatewayMulticastDomainOutput{}
29368	req = c.newRequest(op, input, output)
29369	return
29370}
29371
29372// DisassociateTransitGatewayMulticastDomain API operation for Amazon Elastic Compute Cloud.
29373//
29374// Disassociates the specified subnets from the transit gateway multicast domain.
29375//
29376// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29377// with awserr.Error's Code and Message methods to get detailed information about
29378// the error.
29379//
29380// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29381// API operation DisassociateTransitGatewayMulticastDomain for usage and error information.
29382// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateTransitGatewayMulticastDomain
29383func (c *EC2) DisassociateTransitGatewayMulticastDomain(input *DisassociateTransitGatewayMulticastDomainInput) (*DisassociateTransitGatewayMulticastDomainOutput, error) {
29384	req, out := c.DisassociateTransitGatewayMulticastDomainRequest(input)
29385	return out, req.Send()
29386}
29387
29388// DisassociateTransitGatewayMulticastDomainWithContext is the same as DisassociateTransitGatewayMulticastDomain with the addition of
29389// the ability to pass a context and additional request options.
29390//
29391// See DisassociateTransitGatewayMulticastDomain for details on how to use this API operation.
29392//
29393// The context must be non-nil and will be used for request cancellation. If
29394// the context is nil a panic will occur. In the future the SDK may create
29395// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29396// for more information on using Contexts.
29397func (c *EC2) DisassociateTransitGatewayMulticastDomainWithContext(ctx aws.Context, input *DisassociateTransitGatewayMulticastDomainInput, opts ...request.Option) (*DisassociateTransitGatewayMulticastDomainOutput, error) {
29398	req, out := c.DisassociateTransitGatewayMulticastDomainRequest(input)
29399	req.SetContext(ctx)
29400	req.ApplyOptions(opts...)
29401	return out, req.Send()
29402}
29403
29404const opDisassociateTransitGatewayRouteTable = "DisassociateTransitGatewayRouteTable"
29405
29406// DisassociateTransitGatewayRouteTableRequest generates a "aws/request.Request" representing the
29407// client's request for the DisassociateTransitGatewayRouteTable operation. The "output" return
29408// value will be populated with the request's response once the request completes
29409// successfully.
29410//
29411// Use "Send" method on the returned Request to send the API call to the service.
29412// the "output" return value is not valid until after Send returns without error.
29413//
29414// See DisassociateTransitGatewayRouteTable for more information on using the DisassociateTransitGatewayRouteTable
29415// API call, and error handling.
29416//
29417// This method is useful when you want to inject custom logic or configuration
29418// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29419//
29420//
29421//    // Example sending a request using the DisassociateTransitGatewayRouteTableRequest method.
29422//    req, resp := client.DisassociateTransitGatewayRouteTableRequest(params)
29423//
29424//    err := req.Send()
29425//    if err == nil { // resp is now filled
29426//        fmt.Println(resp)
29427//    }
29428//
29429// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateTransitGatewayRouteTable
29430func (c *EC2) DisassociateTransitGatewayRouteTableRequest(input *DisassociateTransitGatewayRouteTableInput) (req *request.Request, output *DisassociateTransitGatewayRouteTableOutput) {
29431	op := &request.Operation{
29432		Name:       opDisassociateTransitGatewayRouteTable,
29433		HTTPMethod: "POST",
29434		HTTPPath:   "/",
29435	}
29436
29437	if input == nil {
29438		input = &DisassociateTransitGatewayRouteTableInput{}
29439	}
29440
29441	output = &DisassociateTransitGatewayRouteTableOutput{}
29442	req = c.newRequest(op, input, output)
29443	return
29444}
29445
29446// DisassociateTransitGatewayRouteTable API operation for Amazon Elastic Compute Cloud.
29447//
29448// Disassociates a resource attachment from a transit gateway route table.
29449//
29450// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29451// with awserr.Error's Code and Message methods to get detailed information about
29452// the error.
29453//
29454// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29455// API operation DisassociateTransitGatewayRouteTable for usage and error information.
29456// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateTransitGatewayRouteTable
29457func (c *EC2) DisassociateTransitGatewayRouteTable(input *DisassociateTransitGatewayRouteTableInput) (*DisassociateTransitGatewayRouteTableOutput, error) {
29458	req, out := c.DisassociateTransitGatewayRouteTableRequest(input)
29459	return out, req.Send()
29460}
29461
29462// DisassociateTransitGatewayRouteTableWithContext is the same as DisassociateTransitGatewayRouteTable with the addition of
29463// the ability to pass a context and additional request options.
29464//
29465// See DisassociateTransitGatewayRouteTable for details on how to use this API operation.
29466//
29467// The context must be non-nil and will be used for request cancellation. If
29468// the context is nil a panic will occur. In the future the SDK may create
29469// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29470// for more information on using Contexts.
29471func (c *EC2) DisassociateTransitGatewayRouteTableWithContext(ctx aws.Context, input *DisassociateTransitGatewayRouteTableInput, opts ...request.Option) (*DisassociateTransitGatewayRouteTableOutput, error) {
29472	req, out := c.DisassociateTransitGatewayRouteTableRequest(input)
29473	req.SetContext(ctx)
29474	req.ApplyOptions(opts...)
29475	return out, req.Send()
29476}
29477
29478const opDisassociateVpcCidrBlock = "DisassociateVpcCidrBlock"
29479
29480// DisassociateVpcCidrBlockRequest generates a "aws/request.Request" representing the
29481// client's request for the DisassociateVpcCidrBlock operation. The "output" return
29482// value will be populated with the request's response once the request completes
29483// successfully.
29484//
29485// Use "Send" method on the returned Request to send the API call to the service.
29486// the "output" return value is not valid until after Send returns without error.
29487//
29488// See DisassociateVpcCidrBlock for more information on using the DisassociateVpcCidrBlock
29489// API call, and error handling.
29490//
29491// This method is useful when you want to inject custom logic or configuration
29492// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29493//
29494//
29495//    // Example sending a request using the DisassociateVpcCidrBlockRequest method.
29496//    req, resp := client.DisassociateVpcCidrBlockRequest(params)
29497//
29498//    err := req.Send()
29499//    if err == nil { // resp is now filled
29500//        fmt.Println(resp)
29501//    }
29502//
29503// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateVpcCidrBlock
29504func (c *EC2) DisassociateVpcCidrBlockRequest(input *DisassociateVpcCidrBlockInput) (req *request.Request, output *DisassociateVpcCidrBlockOutput) {
29505	op := &request.Operation{
29506		Name:       opDisassociateVpcCidrBlock,
29507		HTTPMethod: "POST",
29508		HTTPPath:   "/",
29509	}
29510
29511	if input == nil {
29512		input = &DisassociateVpcCidrBlockInput{}
29513	}
29514
29515	output = &DisassociateVpcCidrBlockOutput{}
29516	req = c.newRequest(op, input, output)
29517	return
29518}
29519
29520// DisassociateVpcCidrBlock API operation for Amazon Elastic Compute Cloud.
29521//
29522// Disassociates a CIDR block from a VPC. To disassociate the CIDR block, you
29523// must specify its association ID. You can get the association ID by using
29524// DescribeVpcs. You must detach or delete all gateways and resources that are
29525// associated with the CIDR block before you can disassociate it.
29526//
29527// You cannot disassociate the CIDR block with which you originally created
29528// the VPC (the primary CIDR block).
29529//
29530// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29531// with awserr.Error's Code and Message methods to get detailed information about
29532// the error.
29533//
29534// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29535// API operation DisassociateVpcCidrBlock for usage and error information.
29536// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateVpcCidrBlock
29537func (c *EC2) DisassociateVpcCidrBlock(input *DisassociateVpcCidrBlockInput) (*DisassociateVpcCidrBlockOutput, error) {
29538	req, out := c.DisassociateVpcCidrBlockRequest(input)
29539	return out, req.Send()
29540}
29541
29542// DisassociateVpcCidrBlockWithContext is the same as DisassociateVpcCidrBlock with the addition of
29543// the ability to pass a context and additional request options.
29544//
29545// See DisassociateVpcCidrBlock for details on how to use this API operation.
29546//
29547// The context must be non-nil and will be used for request cancellation. If
29548// the context is nil a panic will occur. In the future the SDK may create
29549// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29550// for more information on using Contexts.
29551func (c *EC2) DisassociateVpcCidrBlockWithContext(ctx aws.Context, input *DisassociateVpcCidrBlockInput, opts ...request.Option) (*DisassociateVpcCidrBlockOutput, error) {
29552	req, out := c.DisassociateVpcCidrBlockRequest(input)
29553	req.SetContext(ctx)
29554	req.ApplyOptions(opts...)
29555	return out, req.Send()
29556}
29557
29558const opEnableEbsEncryptionByDefault = "EnableEbsEncryptionByDefault"
29559
29560// EnableEbsEncryptionByDefaultRequest generates a "aws/request.Request" representing the
29561// client's request for the EnableEbsEncryptionByDefault operation. The "output" return
29562// value will be populated with the request's response once the request completes
29563// successfully.
29564//
29565// Use "Send" method on the returned Request to send the API call to the service.
29566// the "output" return value is not valid until after Send returns without error.
29567//
29568// See EnableEbsEncryptionByDefault for more information on using the EnableEbsEncryptionByDefault
29569// API call, and error handling.
29570//
29571// This method is useful when you want to inject custom logic or configuration
29572// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29573//
29574//
29575//    // Example sending a request using the EnableEbsEncryptionByDefaultRequest method.
29576//    req, resp := client.EnableEbsEncryptionByDefaultRequest(params)
29577//
29578//    err := req.Send()
29579//    if err == nil { // resp is now filled
29580//        fmt.Println(resp)
29581//    }
29582//
29583// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableEbsEncryptionByDefault
29584func (c *EC2) EnableEbsEncryptionByDefaultRequest(input *EnableEbsEncryptionByDefaultInput) (req *request.Request, output *EnableEbsEncryptionByDefaultOutput) {
29585	op := &request.Operation{
29586		Name:       opEnableEbsEncryptionByDefault,
29587		HTTPMethod: "POST",
29588		HTTPPath:   "/",
29589	}
29590
29591	if input == nil {
29592		input = &EnableEbsEncryptionByDefaultInput{}
29593	}
29594
29595	output = &EnableEbsEncryptionByDefaultOutput{}
29596	req = c.newRequest(op, input, output)
29597	return
29598}
29599
29600// EnableEbsEncryptionByDefault API operation for Amazon Elastic Compute Cloud.
29601//
29602// Enables EBS encryption by default for your account in the current Region.
29603//
29604// After you enable encryption by default, the EBS volumes that you create are
29605// always encrypted, either using the default CMK or the CMK that you specified
29606// when you created each volume. For more information, see Amazon EBS encryption
29607// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
29608// in the Amazon Elastic Compute Cloud User Guide.
29609//
29610// You can specify the default CMK for encryption by default using ModifyEbsDefaultKmsKeyId
29611// or ResetEbsDefaultKmsKeyId.
29612//
29613// Enabling encryption by default has no effect on the encryption status of
29614// your existing volumes.
29615//
29616// After you enable encryption by default, you can no longer launch instances
29617// using instance types that do not support encryption. For more information,
29618// see Supported instance types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances).
29619//
29620// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29621// with awserr.Error's Code and Message methods to get detailed information about
29622// the error.
29623//
29624// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29625// API operation EnableEbsEncryptionByDefault for usage and error information.
29626// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableEbsEncryptionByDefault
29627func (c *EC2) EnableEbsEncryptionByDefault(input *EnableEbsEncryptionByDefaultInput) (*EnableEbsEncryptionByDefaultOutput, error) {
29628	req, out := c.EnableEbsEncryptionByDefaultRequest(input)
29629	return out, req.Send()
29630}
29631
29632// EnableEbsEncryptionByDefaultWithContext is the same as EnableEbsEncryptionByDefault with the addition of
29633// the ability to pass a context and additional request options.
29634//
29635// See EnableEbsEncryptionByDefault for details on how to use this API operation.
29636//
29637// The context must be non-nil and will be used for request cancellation. If
29638// the context is nil a panic will occur. In the future the SDK may create
29639// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29640// for more information on using Contexts.
29641func (c *EC2) EnableEbsEncryptionByDefaultWithContext(ctx aws.Context, input *EnableEbsEncryptionByDefaultInput, opts ...request.Option) (*EnableEbsEncryptionByDefaultOutput, error) {
29642	req, out := c.EnableEbsEncryptionByDefaultRequest(input)
29643	req.SetContext(ctx)
29644	req.ApplyOptions(opts...)
29645	return out, req.Send()
29646}
29647
29648const opEnableFastSnapshotRestores = "EnableFastSnapshotRestores"
29649
29650// EnableFastSnapshotRestoresRequest generates a "aws/request.Request" representing the
29651// client's request for the EnableFastSnapshotRestores operation. The "output" return
29652// value will be populated with the request's response once the request completes
29653// successfully.
29654//
29655// Use "Send" method on the returned Request to send the API call to the service.
29656// the "output" return value is not valid until after Send returns without error.
29657//
29658// See EnableFastSnapshotRestores for more information on using the EnableFastSnapshotRestores
29659// API call, and error handling.
29660//
29661// This method is useful when you want to inject custom logic or configuration
29662// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29663//
29664//
29665//    // Example sending a request using the EnableFastSnapshotRestoresRequest method.
29666//    req, resp := client.EnableFastSnapshotRestoresRequest(params)
29667//
29668//    err := req.Send()
29669//    if err == nil { // resp is now filled
29670//        fmt.Println(resp)
29671//    }
29672//
29673// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableFastSnapshotRestores
29674func (c *EC2) EnableFastSnapshotRestoresRequest(input *EnableFastSnapshotRestoresInput) (req *request.Request, output *EnableFastSnapshotRestoresOutput) {
29675	op := &request.Operation{
29676		Name:       opEnableFastSnapshotRestores,
29677		HTTPMethod: "POST",
29678		HTTPPath:   "/",
29679	}
29680
29681	if input == nil {
29682		input = &EnableFastSnapshotRestoresInput{}
29683	}
29684
29685	output = &EnableFastSnapshotRestoresOutput{}
29686	req = c.newRequest(op, input, output)
29687	return
29688}
29689
29690// EnableFastSnapshotRestores API operation for Amazon Elastic Compute Cloud.
29691//
29692// Enables fast snapshot restores for the specified snapshots in the specified
29693// Availability Zones.
29694//
29695// You get the full benefit of fast snapshot restores after they enter the enabled
29696// state. To get the current state of fast snapshot restores, use DescribeFastSnapshotRestores.
29697// To disable fast snapshot restores, use DisableFastSnapshotRestores.
29698//
29699// For more information, see Amazon EBS fast snapshot restore (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-fast-snapshot-restore.html)
29700// in the Amazon Elastic Compute Cloud User Guide.
29701//
29702// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29703// with awserr.Error's Code and Message methods to get detailed information about
29704// the error.
29705//
29706// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29707// API operation EnableFastSnapshotRestores for usage and error information.
29708// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableFastSnapshotRestores
29709func (c *EC2) EnableFastSnapshotRestores(input *EnableFastSnapshotRestoresInput) (*EnableFastSnapshotRestoresOutput, error) {
29710	req, out := c.EnableFastSnapshotRestoresRequest(input)
29711	return out, req.Send()
29712}
29713
29714// EnableFastSnapshotRestoresWithContext is the same as EnableFastSnapshotRestores with the addition of
29715// the ability to pass a context and additional request options.
29716//
29717// See EnableFastSnapshotRestores for details on how to use this API operation.
29718//
29719// The context must be non-nil and will be used for request cancellation. If
29720// the context is nil a panic will occur. In the future the SDK may create
29721// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29722// for more information on using Contexts.
29723func (c *EC2) EnableFastSnapshotRestoresWithContext(ctx aws.Context, input *EnableFastSnapshotRestoresInput, opts ...request.Option) (*EnableFastSnapshotRestoresOutput, error) {
29724	req, out := c.EnableFastSnapshotRestoresRequest(input)
29725	req.SetContext(ctx)
29726	req.ApplyOptions(opts...)
29727	return out, req.Send()
29728}
29729
29730const opEnableSerialConsoleAccess = "EnableSerialConsoleAccess"
29731
29732// EnableSerialConsoleAccessRequest generates a "aws/request.Request" representing the
29733// client's request for the EnableSerialConsoleAccess operation. The "output" return
29734// value will be populated with the request's response once the request completes
29735// successfully.
29736//
29737// Use "Send" method on the returned Request to send the API call to the service.
29738// the "output" return value is not valid until after Send returns without error.
29739//
29740// See EnableSerialConsoleAccess for more information on using the EnableSerialConsoleAccess
29741// API call, and error handling.
29742//
29743// This method is useful when you want to inject custom logic or configuration
29744// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29745//
29746//
29747//    // Example sending a request using the EnableSerialConsoleAccessRequest method.
29748//    req, resp := client.EnableSerialConsoleAccessRequest(params)
29749//
29750//    err := req.Send()
29751//    if err == nil { // resp is now filled
29752//        fmt.Println(resp)
29753//    }
29754//
29755// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableSerialConsoleAccess
29756func (c *EC2) EnableSerialConsoleAccessRequest(input *EnableSerialConsoleAccessInput) (req *request.Request, output *EnableSerialConsoleAccessOutput) {
29757	op := &request.Operation{
29758		Name:       opEnableSerialConsoleAccess,
29759		HTTPMethod: "POST",
29760		HTTPPath:   "/",
29761	}
29762
29763	if input == nil {
29764		input = &EnableSerialConsoleAccessInput{}
29765	}
29766
29767	output = &EnableSerialConsoleAccessOutput{}
29768	req = c.newRequest(op, input, output)
29769	return
29770}
29771
29772// EnableSerialConsoleAccess API operation for Amazon Elastic Compute Cloud.
29773//
29774// Enables access to the EC2 serial console of all instances for your account.
29775// By default, access to the EC2 serial console is disabled for your account.
29776// For more information, see Manage account access to the EC2 serial console
29777// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configure-access-to-serial-console.html#serial-console-account-access)
29778// in the Amazon EC2 User Guide.
29779//
29780// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29781// with awserr.Error's Code and Message methods to get detailed information about
29782// the error.
29783//
29784// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29785// API operation EnableSerialConsoleAccess for usage and error information.
29786// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableSerialConsoleAccess
29787func (c *EC2) EnableSerialConsoleAccess(input *EnableSerialConsoleAccessInput) (*EnableSerialConsoleAccessOutput, error) {
29788	req, out := c.EnableSerialConsoleAccessRequest(input)
29789	return out, req.Send()
29790}
29791
29792// EnableSerialConsoleAccessWithContext is the same as EnableSerialConsoleAccess with the addition of
29793// the ability to pass a context and additional request options.
29794//
29795// See EnableSerialConsoleAccess for details on how to use this API operation.
29796//
29797// The context must be non-nil and will be used for request cancellation. If
29798// the context is nil a panic will occur. In the future the SDK may create
29799// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29800// for more information on using Contexts.
29801func (c *EC2) EnableSerialConsoleAccessWithContext(ctx aws.Context, input *EnableSerialConsoleAccessInput, opts ...request.Option) (*EnableSerialConsoleAccessOutput, error) {
29802	req, out := c.EnableSerialConsoleAccessRequest(input)
29803	req.SetContext(ctx)
29804	req.ApplyOptions(opts...)
29805	return out, req.Send()
29806}
29807
29808const opEnableTransitGatewayRouteTablePropagation = "EnableTransitGatewayRouteTablePropagation"
29809
29810// EnableTransitGatewayRouteTablePropagationRequest generates a "aws/request.Request" representing the
29811// client's request for the EnableTransitGatewayRouteTablePropagation operation. The "output" return
29812// value will be populated with the request's response once the request completes
29813// successfully.
29814//
29815// Use "Send" method on the returned Request to send the API call to the service.
29816// the "output" return value is not valid until after Send returns without error.
29817//
29818// See EnableTransitGatewayRouteTablePropagation for more information on using the EnableTransitGatewayRouteTablePropagation
29819// API call, and error handling.
29820//
29821// This method is useful when you want to inject custom logic or configuration
29822// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29823//
29824//
29825//    // Example sending a request using the EnableTransitGatewayRouteTablePropagationRequest method.
29826//    req, resp := client.EnableTransitGatewayRouteTablePropagationRequest(params)
29827//
29828//    err := req.Send()
29829//    if err == nil { // resp is now filled
29830//        fmt.Println(resp)
29831//    }
29832//
29833// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableTransitGatewayRouteTablePropagation
29834func (c *EC2) EnableTransitGatewayRouteTablePropagationRequest(input *EnableTransitGatewayRouteTablePropagationInput) (req *request.Request, output *EnableTransitGatewayRouteTablePropagationOutput) {
29835	op := &request.Operation{
29836		Name:       opEnableTransitGatewayRouteTablePropagation,
29837		HTTPMethod: "POST",
29838		HTTPPath:   "/",
29839	}
29840
29841	if input == nil {
29842		input = &EnableTransitGatewayRouteTablePropagationInput{}
29843	}
29844
29845	output = &EnableTransitGatewayRouteTablePropagationOutput{}
29846	req = c.newRequest(op, input, output)
29847	return
29848}
29849
29850// EnableTransitGatewayRouteTablePropagation API operation for Amazon Elastic Compute Cloud.
29851//
29852// Enables the specified attachment to propagate routes to the specified propagation
29853// route table.
29854//
29855// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29856// with awserr.Error's Code and Message methods to get detailed information about
29857// the error.
29858//
29859// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29860// API operation EnableTransitGatewayRouteTablePropagation for usage and error information.
29861// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableTransitGatewayRouteTablePropagation
29862func (c *EC2) EnableTransitGatewayRouteTablePropagation(input *EnableTransitGatewayRouteTablePropagationInput) (*EnableTransitGatewayRouteTablePropagationOutput, error) {
29863	req, out := c.EnableTransitGatewayRouteTablePropagationRequest(input)
29864	return out, req.Send()
29865}
29866
29867// EnableTransitGatewayRouteTablePropagationWithContext is the same as EnableTransitGatewayRouteTablePropagation with the addition of
29868// the ability to pass a context and additional request options.
29869//
29870// See EnableTransitGatewayRouteTablePropagation for details on how to use this API operation.
29871//
29872// The context must be non-nil and will be used for request cancellation. If
29873// the context is nil a panic will occur. In the future the SDK may create
29874// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29875// for more information on using Contexts.
29876func (c *EC2) EnableTransitGatewayRouteTablePropagationWithContext(ctx aws.Context, input *EnableTransitGatewayRouteTablePropagationInput, opts ...request.Option) (*EnableTransitGatewayRouteTablePropagationOutput, error) {
29877	req, out := c.EnableTransitGatewayRouteTablePropagationRequest(input)
29878	req.SetContext(ctx)
29879	req.ApplyOptions(opts...)
29880	return out, req.Send()
29881}
29882
29883const opEnableVgwRoutePropagation = "EnableVgwRoutePropagation"
29884
29885// EnableVgwRoutePropagationRequest generates a "aws/request.Request" representing the
29886// client's request for the EnableVgwRoutePropagation operation. The "output" return
29887// value will be populated with the request's response once the request completes
29888// successfully.
29889//
29890// Use "Send" method on the returned Request to send the API call to the service.
29891// the "output" return value is not valid until after Send returns without error.
29892//
29893// See EnableVgwRoutePropagation for more information on using the EnableVgwRoutePropagation
29894// API call, and error handling.
29895//
29896// This method is useful when you want to inject custom logic or configuration
29897// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29898//
29899//
29900//    // Example sending a request using the EnableVgwRoutePropagationRequest method.
29901//    req, resp := client.EnableVgwRoutePropagationRequest(params)
29902//
29903//    err := req.Send()
29904//    if err == nil { // resp is now filled
29905//        fmt.Println(resp)
29906//    }
29907//
29908// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVgwRoutePropagation
29909func (c *EC2) EnableVgwRoutePropagationRequest(input *EnableVgwRoutePropagationInput) (req *request.Request, output *EnableVgwRoutePropagationOutput) {
29910	op := &request.Operation{
29911		Name:       opEnableVgwRoutePropagation,
29912		HTTPMethod: "POST",
29913		HTTPPath:   "/",
29914	}
29915
29916	if input == nil {
29917		input = &EnableVgwRoutePropagationInput{}
29918	}
29919
29920	output = &EnableVgwRoutePropagationOutput{}
29921	req = c.newRequest(op, input, output)
29922	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
29923	return
29924}
29925
29926// EnableVgwRoutePropagation API operation for Amazon Elastic Compute Cloud.
29927//
29928// Enables a virtual private gateway (VGW) to propagate routes to the specified
29929// route table of a VPC.
29930//
29931// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29932// with awserr.Error's Code and Message methods to get detailed information about
29933// the error.
29934//
29935// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29936// API operation EnableVgwRoutePropagation for usage and error information.
29937// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVgwRoutePropagation
29938func (c *EC2) EnableVgwRoutePropagation(input *EnableVgwRoutePropagationInput) (*EnableVgwRoutePropagationOutput, error) {
29939	req, out := c.EnableVgwRoutePropagationRequest(input)
29940	return out, req.Send()
29941}
29942
29943// EnableVgwRoutePropagationWithContext is the same as EnableVgwRoutePropagation with the addition of
29944// the ability to pass a context and additional request options.
29945//
29946// See EnableVgwRoutePropagation for details on how to use this API operation.
29947//
29948// The context must be non-nil and will be used for request cancellation. If
29949// the context is nil a panic will occur. In the future the SDK may create
29950// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29951// for more information on using Contexts.
29952func (c *EC2) EnableVgwRoutePropagationWithContext(ctx aws.Context, input *EnableVgwRoutePropagationInput, opts ...request.Option) (*EnableVgwRoutePropagationOutput, error) {
29953	req, out := c.EnableVgwRoutePropagationRequest(input)
29954	req.SetContext(ctx)
29955	req.ApplyOptions(opts...)
29956	return out, req.Send()
29957}
29958
29959const opEnableVolumeIO = "EnableVolumeIO"
29960
29961// EnableVolumeIORequest generates a "aws/request.Request" representing the
29962// client's request for the EnableVolumeIO operation. The "output" return
29963// value will be populated with the request's response once the request completes
29964// successfully.
29965//
29966// Use "Send" method on the returned Request to send the API call to the service.
29967// the "output" return value is not valid until after Send returns without error.
29968//
29969// See EnableVolumeIO for more information on using the EnableVolumeIO
29970// API call, and error handling.
29971//
29972// This method is useful when you want to inject custom logic or configuration
29973// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29974//
29975//
29976//    // Example sending a request using the EnableVolumeIORequest method.
29977//    req, resp := client.EnableVolumeIORequest(params)
29978//
29979//    err := req.Send()
29980//    if err == nil { // resp is now filled
29981//        fmt.Println(resp)
29982//    }
29983//
29984// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVolumeIO
29985func (c *EC2) EnableVolumeIORequest(input *EnableVolumeIOInput) (req *request.Request, output *EnableVolumeIOOutput) {
29986	op := &request.Operation{
29987		Name:       opEnableVolumeIO,
29988		HTTPMethod: "POST",
29989		HTTPPath:   "/",
29990	}
29991
29992	if input == nil {
29993		input = &EnableVolumeIOInput{}
29994	}
29995
29996	output = &EnableVolumeIOOutput{}
29997	req = c.newRequest(op, input, output)
29998	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
29999	return
30000}
30001
30002// EnableVolumeIO API operation for Amazon Elastic Compute Cloud.
30003//
30004// Enables I/O operations for a volume that had I/O operations disabled because
30005// the data on the volume was potentially inconsistent.
30006//
30007// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30008// with awserr.Error's Code and Message methods to get detailed information about
30009// the error.
30010//
30011// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30012// API operation EnableVolumeIO for usage and error information.
30013// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVolumeIO
30014func (c *EC2) EnableVolumeIO(input *EnableVolumeIOInput) (*EnableVolumeIOOutput, error) {
30015	req, out := c.EnableVolumeIORequest(input)
30016	return out, req.Send()
30017}
30018
30019// EnableVolumeIOWithContext is the same as EnableVolumeIO with the addition of
30020// the ability to pass a context and additional request options.
30021//
30022// See EnableVolumeIO for details on how to use this API operation.
30023//
30024// The context must be non-nil and will be used for request cancellation. If
30025// the context is nil a panic will occur. In the future the SDK may create
30026// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30027// for more information on using Contexts.
30028func (c *EC2) EnableVolumeIOWithContext(ctx aws.Context, input *EnableVolumeIOInput, opts ...request.Option) (*EnableVolumeIOOutput, error) {
30029	req, out := c.EnableVolumeIORequest(input)
30030	req.SetContext(ctx)
30031	req.ApplyOptions(opts...)
30032	return out, req.Send()
30033}
30034
30035const opEnableVpcClassicLink = "EnableVpcClassicLink"
30036
30037// EnableVpcClassicLinkRequest generates a "aws/request.Request" representing the
30038// client's request for the EnableVpcClassicLink operation. The "output" return
30039// value will be populated with the request's response once the request completes
30040// successfully.
30041//
30042// Use "Send" method on the returned Request to send the API call to the service.
30043// the "output" return value is not valid until after Send returns without error.
30044//
30045// See EnableVpcClassicLink for more information on using the EnableVpcClassicLink
30046// API call, and error handling.
30047//
30048// This method is useful when you want to inject custom logic or configuration
30049// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30050//
30051//
30052//    // Example sending a request using the EnableVpcClassicLinkRequest method.
30053//    req, resp := client.EnableVpcClassicLinkRequest(params)
30054//
30055//    err := req.Send()
30056//    if err == nil { // resp is now filled
30057//        fmt.Println(resp)
30058//    }
30059//
30060// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLink
30061func (c *EC2) EnableVpcClassicLinkRequest(input *EnableVpcClassicLinkInput) (req *request.Request, output *EnableVpcClassicLinkOutput) {
30062	op := &request.Operation{
30063		Name:       opEnableVpcClassicLink,
30064		HTTPMethod: "POST",
30065		HTTPPath:   "/",
30066	}
30067
30068	if input == nil {
30069		input = &EnableVpcClassicLinkInput{}
30070	}
30071
30072	output = &EnableVpcClassicLinkOutput{}
30073	req = c.newRequest(op, input, output)
30074	return
30075}
30076
30077// EnableVpcClassicLink API operation for Amazon Elastic Compute Cloud.
30078//
30079// Enables a VPC for ClassicLink. You can then link EC2-Classic instances to
30080// your ClassicLink-enabled VPC to allow communication over private IP addresses.
30081// You cannot enable your VPC for ClassicLink if any of your VPC route tables
30082// have existing routes for address ranges within the 10.0.0.0/8 IP address
30083// range, excluding local routes for VPCs in the 10.0.0.0/16 and 10.1.0.0/16
30084// IP address ranges. For more information, see ClassicLink (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
30085// in the Amazon Elastic Compute Cloud User Guide.
30086//
30087// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30088// with awserr.Error's Code and Message methods to get detailed information about
30089// the error.
30090//
30091// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30092// API operation EnableVpcClassicLink for usage and error information.
30093// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLink
30094func (c *EC2) EnableVpcClassicLink(input *EnableVpcClassicLinkInput) (*EnableVpcClassicLinkOutput, error) {
30095	req, out := c.EnableVpcClassicLinkRequest(input)
30096	return out, req.Send()
30097}
30098
30099// EnableVpcClassicLinkWithContext is the same as EnableVpcClassicLink with the addition of
30100// the ability to pass a context and additional request options.
30101//
30102// See EnableVpcClassicLink for details on how to use this API operation.
30103//
30104// The context must be non-nil and will be used for request cancellation. If
30105// the context is nil a panic will occur. In the future the SDK may create
30106// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30107// for more information on using Contexts.
30108func (c *EC2) EnableVpcClassicLinkWithContext(ctx aws.Context, input *EnableVpcClassicLinkInput, opts ...request.Option) (*EnableVpcClassicLinkOutput, error) {
30109	req, out := c.EnableVpcClassicLinkRequest(input)
30110	req.SetContext(ctx)
30111	req.ApplyOptions(opts...)
30112	return out, req.Send()
30113}
30114
30115const opEnableVpcClassicLinkDnsSupport = "EnableVpcClassicLinkDnsSupport"
30116
30117// EnableVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the
30118// client's request for the EnableVpcClassicLinkDnsSupport operation. The "output" return
30119// value will be populated with the request's response once the request completes
30120// successfully.
30121//
30122// Use "Send" method on the returned Request to send the API call to the service.
30123// the "output" return value is not valid until after Send returns without error.
30124//
30125// See EnableVpcClassicLinkDnsSupport for more information on using the EnableVpcClassicLinkDnsSupport
30126// API call, and error handling.
30127//
30128// This method is useful when you want to inject custom logic or configuration
30129// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30130//
30131//
30132//    // Example sending a request using the EnableVpcClassicLinkDnsSupportRequest method.
30133//    req, resp := client.EnableVpcClassicLinkDnsSupportRequest(params)
30134//
30135//    err := req.Send()
30136//    if err == nil { // resp is now filled
30137//        fmt.Println(resp)
30138//    }
30139//
30140// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLinkDnsSupport
30141func (c *EC2) EnableVpcClassicLinkDnsSupportRequest(input *EnableVpcClassicLinkDnsSupportInput) (req *request.Request, output *EnableVpcClassicLinkDnsSupportOutput) {
30142	op := &request.Operation{
30143		Name:       opEnableVpcClassicLinkDnsSupport,
30144		HTTPMethod: "POST",
30145		HTTPPath:   "/",
30146	}
30147
30148	if input == nil {
30149		input = &EnableVpcClassicLinkDnsSupportInput{}
30150	}
30151
30152	output = &EnableVpcClassicLinkDnsSupportOutput{}
30153	req = c.newRequest(op, input, output)
30154	return
30155}
30156
30157// EnableVpcClassicLinkDnsSupport API operation for Amazon Elastic Compute Cloud.
30158//
30159// Enables a VPC to support DNS hostname resolution for ClassicLink. If enabled,
30160// the DNS hostname of a linked EC2-Classic instance resolves to its private
30161// IP address when addressed from an instance in the VPC to which it's linked.
30162// Similarly, the DNS hostname of an instance in a VPC resolves to its private
30163// IP address when addressed from a linked EC2-Classic instance. For more information,
30164// see ClassicLink (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
30165// in the Amazon Elastic Compute Cloud User Guide.
30166//
30167// You must specify a VPC ID in the request.
30168//
30169// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30170// with awserr.Error's Code and Message methods to get detailed information about
30171// the error.
30172//
30173// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30174// API operation EnableVpcClassicLinkDnsSupport for usage and error information.
30175// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLinkDnsSupport
30176func (c *EC2) EnableVpcClassicLinkDnsSupport(input *EnableVpcClassicLinkDnsSupportInput) (*EnableVpcClassicLinkDnsSupportOutput, error) {
30177	req, out := c.EnableVpcClassicLinkDnsSupportRequest(input)
30178	return out, req.Send()
30179}
30180
30181// EnableVpcClassicLinkDnsSupportWithContext is the same as EnableVpcClassicLinkDnsSupport with the addition of
30182// the ability to pass a context and additional request options.
30183//
30184// See EnableVpcClassicLinkDnsSupport for details on how to use this API operation.
30185//
30186// The context must be non-nil and will be used for request cancellation. If
30187// the context is nil a panic will occur. In the future the SDK may create
30188// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30189// for more information on using Contexts.
30190func (c *EC2) EnableVpcClassicLinkDnsSupportWithContext(ctx aws.Context, input *EnableVpcClassicLinkDnsSupportInput, opts ...request.Option) (*EnableVpcClassicLinkDnsSupportOutput, error) {
30191	req, out := c.EnableVpcClassicLinkDnsSupportRequest(input)
30192	req.SetContext(ctx)
30193	req.ApplyOptions(opts...)
30194	return out, req.Send()
30195}
30196
30197const opExportClientVpnClientCertificateRevocationList = "ExportClientVpnClientCertificateRevocationList"
30198
30199// ExportClientVpnClientCertificateRevocationListRequest generates a "aws/request.Request" representing the
30200// client's request for the ExportClientVpnClientCertificateRevocationList operation. The "output" return
30201// value will be populated with the request's response once the request completes
30202// successfully.
30203//
30204// Use "Send" method on the returned Request to send the API call to the service.
30205// the "output" return value is not valid until after Send returns without error.
30206//
30207// See ExportClientVpnClientCertificateRevocationList for more information on using the ExportClientVpnClientCertificateRevocationList
30208// API call, and error handling.
30209//
30210// This method is useful when you want to inject custom logic or configuration
30211// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30212//
30213//
30214//    // Example sending a request using the ExportClientVpnClientCertificateRevocationListRequest method.
30215//    req, resp := client.ExportClientVpnClientCertificateRevocationListRequest(params)
30216//
30217//    err := req.Send()
30218//    if err == nil { // resp is now filled
30219//        fmt.Println(resp)
30220//    }
30221//
30222// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportClientVpnClientCertificateRevocationList
30223func (c *EC2) ExportClientVpnClientCertificateRevocationListRequest(input *ExportClientVpnClientCertificateRevocationListInput) (req *request.Request, output *ExportClientVpnClientCertificateRevocationListOutput) {
30224	op := &request.Operation{
30225		Name:       opExportClientVpnClientCertificateRevocationList,
30226		HTTPMethod: "POST",
30227		HTTPPath:   "/",
30228	}
30229
30230	if input == nil {
30231		input = &ExportClientVpnClientCertificateRevocationListInput{}
30232	}
30233
30234	output = &ExportClientVpnClientCertificateRevocationListOutput{}
30235	req = c.newRequest(op, input, output)
30236	return
30237}
30238
30239// ExportClientVpnClientCertificateRevocationList API operation for Amazon Elastic Compute Cloud.
30240//
30241// Downloads the client certificate revocation list for the specified Client
30242// VPN endpoint.
30243//
30244// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30245// with awserr.Error's Code and Message methods to get detailed information about
30246// the error.
30247//
30248// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30249// API operation ExportClientVpnClientCertificateRevocationList for usage and error information.
30250// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportClientVpnClientCertificateRevocationList
30251func (c *EC2) ExportClientVpnClientCertificateRevocationList(input *ExportClientVpnClientCertificateRevocationListInput) (*ExportClientVpnClientCertificateRevocationListOutput, error) {
30252	req, out := c.ExportClientVpnClientCertificateRevocationListRequest(input)
30253	return out, req.Send()
30254}
30255
30256// ExportClientVpnClientCertificateRevocationListWithContext is the same as ExportClientVpnClientCertificateRevocationList with the addition of
30257// the ability to pass a context and additional request options.
30258//
30259// See ExportClientVpnClientCertificateRevocationList for details on how to use this API operation.
30260//
30261// The context must be non-nil and will be used for request cancellation. If
30262// the context is nil a panic will occur. In the future the SDK may create
30263// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30264// for more information on using Contexts.
30265func (c *EC2) ExportClientVpnClientCertificateRevocationListWithContext(ctx aws.Context, input *ExportClientVpnClientCertificateRevocationListInput, opts ...request.Option) (*ExportClientVpnClientCertificateRevocationListOutput, error) {
30266	req, out := c.ExportClientVpnClientCertificateRevocationListRequest(input)
30267	req.SetContext(ctx)
30268	req.ApplyOptions(opts...)
30269	return out, req.Send()
30270}
30271
30272const opExportClientVpnClientConfiguration = "ExportClientVpnClientConfiguration"
30273
30274// ExportClientVpnClientConfigurationRequest generates a "aws/request.Request" representing the
30275// client's request for the ExportClientVpnClientConfiguration operation. The "output" return
30276// value will be populated with the request's response once the request completes
30277// successfully.
30278//
30279// Use "Send" method on the returned Request to send the API call to the service.
30280// the "output" return value is not valid until after Send returns without error.
30281//
30282// See ExportClientVpnClientConfiguration for more information on using the ExportClientVpnClientConfiguration
30283// API call, and error handling.
30284//
30285// This method is useful when you want to inject custom logic or configuration
30286// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30287//
30288//
30289//    // Example sending a request using the ExportClientVpnClientConfigurationRequest method.
30290//    req, resp := client.ExportClientVpnClientConfigurationRequest(params)
30291//
30292//    err := req.Send()
30293//    if err == nil { // resp is now filled
30294//        fmt.Println(resp)
30295//    }
30296//
30297// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportClientVpnClientConfiguration
30298func (c *EC2) ExportClientVpnClientConfigurationRequest(input *ExportClientVpnClientConfigurationInput) (req *request.Request, output *ExportClientVpnClientConfigurationOutput) {
30299	op := &request.Operation{
30300		Name:       opExportClientVpnClientConfiguration,
30301		HTTPMethod: "POST",
30302		HTTPPath:   "/",
30303	}
30304
30305	if input == nil {
30306		input = &ExportClientVpnClientConfigurationInput{}
30307	}
30308
30309	output = &ExportClientVpnClientConfigurationOutput{}
30310	req = c.newRequest(op, input, output)
30311	return
30312}
30313
30314// ExportClientVpnClientConfiguration API operation for Amazon Elastic Compute Cloud.
30315//
30316// Downloads the contents of the Client VPN endpoint configuration file for
30317// the specified Client VPN endpoint. The Client VPN endpoint configuration
30318// file includes the Client VPN endpoint and certificate information clients
30319// need to establish a connection with the Client VPN endpoint.
30320//
30321// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30322// with awserr.Error's Code and Message methods to get detailed information about
30323// the error.
30324//
30325// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30326// API operation ExportClientVpnClientConfiguration for usage and error information.
30327// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportClientVpnClientConfiguration
30328func (c *EC2) ExportClientVpnClientConfiguration(input *ExportClientVpnClientConfigurationInput) (*ExportClientVpnClientConfigurationOutput, error) {
30329	req, out := c.ExportClientVpnClientConfigurationRequest(input)
30330	return out, req.Send()
30331}
30332
30333// ExportClientVpnClientConfigurationWithContext is the same as ExportClientVpnClientConfiguration with the addition of
30334// the ability to pass a context and additional request options.
30335//
30336// See ExportClientVpnClientConfiguration for details on how to use this API operation.
30337//
30338// The context must be non-nil and will be used for request cancellation. If
30339// the context is nil a panic will occur. In the future the SDK may create
30340// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30341// for more information on using Contexts.
30342func (c *EC2) ExportClientVpnClientConfigurationWithContext(ctx aws.Context, input *ExportClientVpnClientConfigurationInput, opts ...request.Option) (*ExportClientVpnClientConfigurationOutput, error) {
30343	req, out := c.ExportClientVpnClientConfigurationRequest(input)
30344	req.SetContext(ctx)
30345	req.ApplyOptions(opts...)
30346	return out, req.Send()
30347}
30348
30349const opExportImage = "ExportImage"
30350
30351// ExportImageRequest generates a "aws/request.Request" representing the
30352// client's request for the ExportImage operation. The "output" return
30353// value will be populated with the request's response once the request completes
30354// successfully.
30355//
30356// Use "Send" method on the returned Request to send the API call to the service.
30357// the "output" return value is not valid until after Send returns without error.
30358//
30359// See ExportImage for more information on using the ExportImage
30360// API call, and error handling.
30361//
30362// This method is useful when you want to inject custom logic or configuration
30363// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30364//
30365//
30366//    // Example sending a request using the ExportImageRequest method.
30367//    req, resp := client.ExportImageRequest(params)
30368//
30369//    err := req.Send()
30370//    if err == nil { // resp is now filled
30371//        fmt.Println(resp)
30372//    }
30373//
30374// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportImage
30375func (c *EC2) ExportImageRequest(input *ExportImageInput) (req *request.Request, output *ExportImageOutput) {
30376	op := &request.Operation{
30377		Name:       opExportImage,
30378		HTTPMethod: "POST",
30379		HTTPPath:   "/",
30380	}
30381
30382	if input == nil {
30383		input = &ExportImageInput{}
30384	}
30385
30386	output = &ExportImageOutput{}
30387	req = c.newRequest(op, input, output)
30388	return
30389}
30390
30391// ExportImage API operation for Amazon Elastic Compute Cloud.
30392//
30393// Exports an Amazon Machine Image (AMI) to a VM file. For more information,
30394// see Exporting a VM directly from an Amazon Machine Image (AMI) (https://docs.aws.amazon.com/vm-import/latest/userguide/vmexport_image.html)
30395// in the VM Import/Export User Guide.
30396//
30397// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30398// with awserr.Error's Code and Message methods to get detailed information about
30399// the error.
30400//
30401// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30402// API operation ExportImage for usage and error information.
30403// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportImage
30404func (c *EC2) ExportImage(input *ExportImageInput) (*ExportImageOutput, error) {
30405	req, out := c.ExportImageRequest(input)
30406	return out, req.Send()
30407}
30408
30409// ExportImageWithContext is the same as ExportImage with the addition of
30410// the ability to pass a context and additional request options.
30411//
30412// See ExportImage for details on how to use this API operation.
30413//
30414// The context must be non-nil and will be used for request cancellation. If
30415// the context is nil a panic will occur. In the future the SDK may create
30416// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30417// for more information on using Contexts.
30418func (c *EC2) ExportImageWithContext(ctx aws.Context, input *ExportImageInput, opts ...request.Option) (*ExportImageOutput, error) {
30419	req, out := c.ExportImageRequest(input)
30420	req.SetContext(ctx)
30421	req.ApplyOptions(opts...)
30422	return out, req.Send()
30423}
30424
30425const opExportTransitGatewayRoutes = "ExportTransitGatewayRoutes"
30426
30427// ExportTransitGatewayRoutesRequest generates a "aws/request.Request" representing the
30428// client's request for the ExportTransitGatewayRoutes operation. The "output" return
30429// value will be populated with the request's response once the request completes
30430// successfully.
30431//
30432// Use "Send" method on the returned Request to send the API call to the service.
30433// the "output" return value is not valid until after Send returns without error.
30434//
30435// See ExportTransitGatewayRoutes for more information on using the ExportTransitGatewayRoutes
30436// API call, and error handling.
30437//
30438// This method is useful when you want to inject custom logic or configuration
30439// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30440//
30441//
30442//    // Example sending a request using the ExportTransitGatewayRoutesRequest method.
30443//    req, resp := client.ExportTransitGatewayRoutesRequest(params)
30444//
30445//    err := req.Send()
30446//    if err == nil { // resp is now filled
30447//        fmt.Println(resp)
30448//    }
30449//
30450// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportTransitGatewayRoutes
30451func (c *EC2) ExportTransitGatewayRoutesRequest(input *ExportTransitGatewayRoutesInput) (req *request.Request, output *ExportTransitGatewayRoutesOutput) {
30452	op := &request.Operation{
30453		Name:       opExportTransitGatewayRoutes,
30454		HTTPMethod: "POST",
30455		HTTPPath:   "/",
30456	}
30457
30458	if input == nil {
30459		input = &ExportTransitGatewayRoutesInput{}
30460	}
30461
30462	output = &ExportTransitGatewayRoutesOutput{}
30463	req = c.newRequest(op, input, output)
30464	return
30465}
30466
30467// ExportTransitGatewayRoutes API operation for Amazon Elastic Compute Cloud.
30468//
30469// Exports routes from the specified transit gateway route table to the specified
30470// S3 bucket. By default, all routes are exported. Alternatively, you can filter
30471// by CIDR range.
30472//
30473// The routes are saved to the specified bucket in a JSON file. For more information,
30474// see Export Route Tables to Amazon S3 (https://docs.aws.amazon.com/vpc/latest/tgw/tgw-route-tables.html#tgw-export-route-tables)
30475// in Transit Gateways.
30476//
30477// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30478// with awserr.Error's Code and Message methods to get detailed information about
30479// the error.
30480//
30481// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30482// API operation ExportTransitGatewayRoutes for usage and error information.
30483// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportTransitGatewayRoutes
30484func (c *EC2) ExportTransitGatewayRoutes(input *ExportTransitGatewayRoutesInput) (*ExportTransitGatewayRoutesOutput, error) {
30485	req, out := c.ExportTransitGatewayRoutesRequest(input)
30486	return out, req.Send()
30487}
30488
30489// ExportTransitGatewayRoutesWithContext is the same as ExportTransitGatewayRoutes with the addition of
30490// the ability to pass a context and additional request options.
30491//
30492// See ExportTransitGatewayRoutes for details on how to use this API operation.
30493//
30494// The context must be non-nil and will be used for request cancellation. If
30495// the context is nil a panic will occur. In the future the SDK may create
30496// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30497// for more information on using Contexts.
30498func (c *EC2) ExportTransitGatewayRoutesWithContext(ctx aws.Context, input *ExportTransitGatewayRoutesInput, opts ...request.Option) (*ExportTransitGatewayRoutesOutput, error) {
30499	req, out := c.ExportTransitGatewayRoutesRequest(input)
30500	req.SetContext(ctx)
30501	req.ApplyOptions(opts...)
30502	return out, req.Send()
30503}
30504
30505const opGetAssociatedEnclaveCertificateIamRoles = "GetAssociatedEnclaveCertificateIamRoles"
30506
30507// GetAssociatedEnclaveCertificateIamRolesRequest generates a "aws/request.Request" representing the
30508// client's request for the GetAssociatedEnclaveCertificateIamRoles operation. The "output" return
30509// value will be populated with the request's response once the request completes
30510// successfully.
30511//
30512// Use "Send" method on the returned Request to send the API call to the service.
30513// the "output" return value is not valid until after Send returns without error.
30514//
30515// See GetAssociatedEnclaveCertificateIamRoles for more information on using the GetAssociatedEnclaveCertificateIamRoles
30516// API call, and error handling.
30517//
30518// This method is useful when you want to inject custom logic or configuration
30519// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30520//
30521//
30522//    // Example sending a request using the GetAssociatedEnclaveCertificateIamRolesRequest method.
30523//    req, resp := client.GetAssociatedEnclaveCertificateIamRolesRequest(params)
30524//
30525//    err := req.Send()
30526//    if err == nil { // resp is now filled
30527//        fmt.Println(resp)
30528//    }
30529//
30530// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetAssociatedEnclaveCertificateIamRoles
30531func (c *EC2) GetAssociatedEnclaveCertificateIamRolesRequest(input *GetAssociatedEnclaveCertificateIamRolesInput) (req *request.Request, output *GetAssociatedEnclaveCertificateIamRolesOutput) {
30532	op := &request.Operation{
30533		Name:       opGetAssociatedEnclaveCertificateIamRoles,
30534		HTTPMethod: "POST",
30535		HTTPPath:   "/",
30536	}
30537
30538	if input == nil {
30539		input = &GetAssociatedEnclaveCertificateIamRolesInput{}
30540	}
30541
30542	output = &GetAssociatedEnclaveCertificateIamRolesOutput{}
30543	req = c.newRequest(op, input, output)
30544	return
30545}
30546
30547// GetAssociatedEnclaveCertificateIamRoles API operation for Amazon Elastic Compute Cloud.
30548//
30549// Returns the IAM roles that are associated with the specified AWS Certificate
30550// Manager (ACM) certificate. It also returns the name of the Amazon S3 bucket
30551// and the Amazon S3 object key where the certificate, certificate chain, and
30552// encrypted private key bundle are stored, and the ARN of the AWS Key Management
30553// Service (KMS) customer master key (CMK) that's used to encrypt the private
30554// key.
30555//
30556// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30557// with awserr.Error's Code and Message methods to get detailed information about
30558// the error.
30559//
30560// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30561// API operation GetAssociatedEnclaveCertificateIamRoles for usage and error information.
30562// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetAssociatedEnclaveCertificateIamRoles
30563func (c *EC2) GetAssociatedEnclaveCertificateIamRoles(input *GetAssociatedEnclaveCertificateIamRolesInput) (*GetAssociatedEnclaveCertificateIamRolesOutput, error) {
30564	req, out := c.GetAssociatedEnclaveCertificateIamRolesRequest(input)
30565	return out, req.Send()
30566}
30567
30568// GetAssociatedEnclaveCertificateIamRolesWithContext is the same as GetAssociatedEnclaveCertificateIamRoles with the addition of
30569// the ability to pass a context and additional request options.
30570//
30571// See GetAssociatedEnclaveCertificateIamRoles for details on how to use this API operation.
30572//
30573// The context must be non-nil and will be used for request cancellation. If
30574// the context is nil a panic will occur. In the future the SDK may create
30575// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30576// for more information on using Contexts.
30577func (c *EC2) GetAssociatedEnclaveCertificateIamRolesWithContext(ctx aws.Context, input *GetAssociatedEnclaveCertificateIamRolesInput, opts ...request.Option) (*GetAssociatedEnclaveCertificateIamRolesOutput, error) {
30578	req, out := c.GetAssociatedEnclaveCertificateIamRolesRequest(input)
30579	req.SetContext(ctx)
30580	req.ApplyOptions(opts...)
30581	return out, req.Send()
30582}
30583
30584const opGetAssociatedIpv6PoolCidrs = "GetAssociatedIpv6PoolCidrs"
30585
30586// GetAssociatedIpv6PoolCidrsRequest generates a "aws/request.Request" representing the
30587// client's request for the GetAssociatedIpv6PoolCidrs operation. The "output" return
30588// value will be populated with the request's response once the request completes
30589// successfully.
30590//
30591// Use "Send" method on the returned Request to send the API call to the service.
30592// the "output" return value is not valid until after Send returns without error.
30593//
30594// See GetAssociatedIpv6PoolCidrs for more information on using the GetAssociatedIpv6PoolCidrs
30595// API call, and error handling.
30596//
30597// This method is useful when you want to inject custom logic or configuration
30598// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30599//
30600//
30601//    // Example sending a request using the GetAssociatedIpv6PoolCidrsRequest method.
30602//    req, resp := client.GetAssociatedIpv6PoolCidrsRequest(params)
30603//
30604//    err := req.Send()
30605//    if err == nil { // resp is now filled
30606//        fmt.Println(resp)
30607//    }
30608//
30609// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetAssociatedIpv6PoolCidrs
30610func (c *EC2) GetAssociatedIpv6PoolCidrsRequest(input *GetAssociatedIpv6PoolCidrsInput) (req *request.Request, output *GetAssociatedIpv6PoolCidrsOutput) {
30611	op := &request.Operation{
30612		Name:       opGetAssociatedIpv6PoolCidrs,
30613		HTTPMethod: "POST",
30614		HTTPPath:   "/",
30615		Paginator: &request.Paginator{
30616			InputTokens:     []string{"NextToken"},
30617			OutputTokens:    []string{"NextToken"},
30618			LimitToken:      "MaxResults",
30619			TruncationToken: "",
30620		},
30621	}
30622
30623	if input == nil {
30624		input = &GetAssociatedIpv6PoolCidrsInput{}
30625	}
30626
30627	output = &GetAssociatedIpv6PoolCidrsOutput{}
30628	req = c.newRequest(op, input, output)
30629	return
30630}
30631
30632// GetAssociatedIpv6PoolCidrs API operation for Amazon Elastic Compute Cloud.
30633//
30634// Gets information about the IPv6 CIDR block associations for a specified IPv6
30635// address pool.
30636//
30637// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30638// with awserr.Error's Code and Message methods to get detailed information about
30639// the error.
30640//
30641// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30642// API operation GetAssociatedIpv6PoolCidrs for usage and error information.
30643// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetAssociatedIpv6PoolCidrs
30644func (c *EC2) GetAssociatedIpv6PoolCidrs(input *GetAssociatedIpv6PoolCidrsInput) (*GetAssociatedIpv6PoolCidrsOutput, error) {
30645	req, out := c.GetAssociatedIpv6PoolCidrsRequest(input)
30646	return out, req.Send()
30647}
30648
30649// GetAssociatedIpv6PoolCidrsWithContext is the same as GetAssociatedIpv6PoolCidrs with the addition of
30650// the ability to pass a context and additional request options.
30651//
30652// See GetAssociatedIpv6PoolCidrs for details on how to use this API operation.
30653//
30654// The context must be non-nil and will be used for request cancellation. If
30655// the context is nil a panic will occur. In the future the SDK may create
30656// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30657// for more information on using Contexts.
30658func (c *EC2) GetAssociatedIpv6PoolCidrsWithContext(ctx aws.Context, input *GetAssociatedIpv6PoolCidrsInput, opts ...request.Option) (*GetAssociatedIpv6PoolCidrsOutput, error) {
30659	req, out := c.GetAssociatedIpv6PoolCidrsRequest(input)
30660	req.SetContext(ctx)
30661	req.ApplyOptions(opts...)
30662	return out, req.Send()
30663}
30664
30665// GetAssociatedIpv6PoolCidrsPages iterates over the pages of a GetAssociatedIpv6PoolCidrs operation,
30666// calling the "fn" function with the response data for each page. To stop
30667// iterating, return false from the fn function.
30668//
30669// See GetAssociatedIpv6PoolCidrs method for more information on how to use this operation.
30670//
30671// Note: This operation can generate multiple requests to a service.
30672//
30673//    // Example iterating over at most 3 pages of a GetAssociatedIpv6PoolCidrs operation.
30674//    pageNum := 0
30675//    err := client.GetAssociatedIpv6PoolCidrsPages(params,
30676//        func(page *ec2.GetAssociatedIpv6PoolCidrsOutput, lastPage bool) bool {
30677//            pageNum++
30678//            fmt.Println(page)
30679//            return pageNum <= 3
30680//        })
30681//
30682func (c *EC2) GetAssociatedIpv6PoolCidrsPages(input *GetAssociatedIpv6PoolCidrsInput, fn func(*GetAssociatedIpv6PoolCidrsOutput, bool) bool) error {
30683	return c.GetAssociatedIpv6PoolCidrsPagesWithContext(aws.BackgroundContext(), input, fn)
30684}
30685
30686// GetAssociatedIpv6PoolCidrsPagesWithContext same as GetAssociatedIpv6PoolCidrsPages except
30687// it takes a Context and allows setting request options on the pages.
30688//
30689// The context must be non-nil and will be used for request cancellation. If
30690// the context is nil a panic will occur. In the future the SDK may create
30691// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30692// for more information on using Contexts.
30693func (c *EC2) GetAssociatedIpv6PoolCidrsPagesWithContext(ctx aws.Context, input *GetAssociatedIpv6PoolCidrsInput, fn func(*GetAssociatedIpv6PoolCidrsOutput, bool) bool, opts ...request.Option) error {
30694	p := request.Pagination{
30695		NewRequest: func() (*request.Request, error) {
30696			var inCpy *GetAssociatedIpv6PoolCidrsInput
30697			if input != nil {
30698				tmp := *input
30699				inCpy = &tmp
30700			}
30701			req, _ := c.GetAssociatedIpv6PoolCidrsRequest(inCpy)
30702			req.SetContext(ctx)
30703			req.ApplyOptions(opts...)
30704			return req, nil
30705		},
30706	}
30707
30708	for p.Next() {
30709		if !fn(p.Page().(*GetAssociatedIpv6PoolCidrsOutput), !p.HasNextPage()) {
30710			break
30711		}
30712	}
30713
30714	return p.Err()
30715}
30716
30717const opGetCapacityReservationUsage = "GetCapacityReservationUsage"
30718
30719// GetCapacityReservationUsageRequest generates a "aws/request.Request" representing the
30720// client's request for the GetCapacityReservationUsage operation. The "output" return
30721// value will be populated with the request's response once the request completes
30722// successfully.
30723//
30724// Use "Send" method on the returned Request to send the API call to the service.
30725// the "output" return value is not valid until after Send returns without error.
30726//
30727// See GetCapacityReservationUsage for more information on using the GetCapacityReservationUsage
30728// API call, and error handling.
30729//
30730// This method is useful when you want to inject custom logic or configuration
30731// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30732//
30733//
30734//    // Example sending a request using the GetCapacityReservationUsageRequest method.
30735//    req, resp := client.GetCapacityReservationUsageRequest(params)
30736//
30737//    err := req.Send()
30738//    if err == nil { // resp is now filled
30739//        fmt.Println(resp)
30740//    }
30741//
30742// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetCapacityReservationUsage
30743func (c *EC2) GetCapacityReservationUsageRequest(input *GetCapacityReservationUsageInput) (req *request.Request, output *GetCapacityReservationUsageOutput) {
30744	op := &request.Operation{
30745		Name:       opGetCapacityReservationUsage,
30746		HTTPMethod: "POST",
30747		HTTPPath:   "/",
30748	}
30749
30750	if input == nil {
30751		input = &GetCapacityReservationUsageInput{}
30752	}
30753
30754	output = &GetCapacityReservationUsageOutput{}
30755	req = c.newRequest(op, input, output)
30756	return
30757}
30758
30759// GetCapacityReservationUsage API operation for Amazon Elastic Compute Cloud.
30760//
30761// Gets usage information about a Capacity Reservation. If the Capacity Reservation
30762// is shared, it shows usage information for the Capacity Reservation owner
30763// and each AWS account that is currently using the shared capacity. If the
30764// Capacity Reservation is not shared, it shows only the Capacity Reservation
30765// owner's usage.
30766//
30767// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30768// with awserr.Error's Code and Message methods to get detailed information about
30769// the error.
30770//
30771// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30772// API operation GetCapacityReservationUsage for usage and error information.
30773// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetCapacityReservationUsage
30774func (c *EC2) GetCapacityReservationUsage(input *GetCapacityReservationUsageInput) (*GetCapacityReservationUsageOutput, error) {
30775	req, out := c.GetCapacityReservationUsageRequest(input)
30776	return out, req.Send()
30777}
30778
30779// GetCapacityReservationUsageWithContext is the same as GetCapacityReservationUsage with the addition of
30780// the ability to pass a context and additional request options.
30781//
30782// See GetCapacityReservationUsage for details on how to use this API operation.
30783//
30784// The context must be non-nil and will be used for request cancellation. If
30785// the context is nil a panic will occur. In the future the SDK may create
30786// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30787// for more information on using Contexts.
30788func (c *EC2) GetCapacityReservationUsageWithContext(ctx aws.Context, input *GetCapacityReservationUsageInput, opts ...request.Option) (*GetCapacityReservationUsageOutput, error) {
30789	req, out := c.GetCapacityReservationUsageRequest(input)
30790	req.SetContext(ctx)
30791	req.ApplyOptions(opts...)
30792	return out, req.Send()
30793}
30794
30795const opGetCoipPoolUsage = "GetCoipPoolUsage"
30796
30797// GetCoipPoolUsageRequest generates a "aws/request.Request" representing the
30798// client's request for the GetCoipPoolUsage operation. The "output" return
30799// value will be populated with the request's response once the request completes
30800// successfully.
30801//
30802// Use "Send" method on the returned Request to send the API call to the service.
30803// the "output" return value is not valid until after Send returns without error.
30804//
30805// See GetCoipPoolUsage for more information on using the GetCoipPoolUsage
30806// API call, and error handling.
30807//
30808// This method is useful when you want to inject custom logic or configuration
30809// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30810//
30811//
30812//    // Example sending a request using the GetCoipPoolUsageRequest method.
30813//    req, resp := client.GetCoipPoolUsageRequest(params)
30814//
30815//    err := req.Send()
30816//    if err == nil { // resp is now filled
30817//        fmt.Println(resp)
30818//    }
30819//
30820// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetCoipPoolUsage
30821func (c *EC2) GetCoipPoolUsageRequest(input *GetCoipPoolUsageInput) (req *request.Request, output *GetCoipPoolUsageOutput) {
30822	op := &request.Operation{
30823		Name:       opGetCoipPoolUsage,
30824		HTTPMethod: "POST",
30825		HTTPPath:   "/",
30826	}
30827
30828	if input == nil {
30829		input = &GetCoipPoolUsageInput{}
30830	}
30831
30832	output = &GetCoipPoolUsageOutput{}
30833	req = c.newRequest(op, input, output)
30834	return
30835}
30836
30837// GetCoipPoolUsage API operation for Amazon Elastic Compute Cloud.
30838//
30839// Describes the allocations from the specified customer-owned address pool.
30840//
30841// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30842// with awserr.Error's Code and Message methods to get detailed information about
30843// the error.
30844//
30845// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30846// API operation GetCoipPoolUsage for usage and error information.
30847// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetCoipPoolUsage
30848func (c *EC2) GetCoipPoolUsage(input *GetCoipPoolUsageInput) (*GetCoipPoolUsageOutput, error) {
30849	req, out := c.GetCoipPoolUsageRequest(input)
30850	return out, req.Send()
30851}
30852
30853// GetCoipPoolUsageWithContext is the same as GetCoipPoolUsage with the addition of
30854// the ability to pass a context and additional request options.
30855//
30856// See GetCoipPoolUsage for details on how to use this API operation.
30857//
30858// The context must be non-nil and will be used for request cancellation. If
30859// the context is nil a panic will occur. In the future the SDK may create
30860// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30861// for more information on using Contexts.
30862func (c *EC2) GetCoipPoolUsageWithContext(ctx aws.Context, input *GetCoipPoolUsageInput, opts ...request.Option) (*GetCoipPoolUsageOutput, error) {
30863	req, out := c.GetCoipPoolUsageRequest(input)
30864	req.SetContext(ctx)
30865	req.ApplyOptions(opts...)
30866	return out, req.Send()
30867}
30868
30869const opGetConsoleOutput = "GetConsoleOutput"
30870
30871// GetConsoleOutputRequest generates a "aws/request.Request" representing the
30872// client's request for the GetConsoleOutput operation. The "output" return
30873// value will be populated with the request's response once the request completes
30874// successfully.
30875//
30876// Use "Send" method on the returned Request to send the API call to the service.
30877// the "output" return value is not valid until after Send returns without error.
30878//
30879// See GetConsoleOutput for more information on using the GetConsoleOutput
30880// API call, and error handling.
30881//
30882// This method is useful when you want to inject custom logic or configuration
30883// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30884//
30885//
30886//    // Example sending a request using the GetConsoleOutputRequest method.
30887//    req, resp := client.GetConsoleOutputRequest(params)
30888//
30889//    err := req.Send()
30890//    if err == nil { // resp is now filled
30891//        fmt.Println(resp)
30892//    }
30893//
30894// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleOutput
30895func (c *EC2) GetConsoleOutputRequest(input *GetConsoleOutputInput) (req *request.Request, output *GetConsoleOutputOutput) {
30896	op := &request.Operation{
30897		Name:       opGetConsoleOutput,
30898		HTTPMethod: "POST",
30899		HTTPPath:   "/",
30900	}
30901
30902	if input == nil {
30903		input = &GetConsoleOutputInput{}
30904	}
30905
30906	output = &GetConsoleOutputOutput{}
30907	req = c.newRequest(op, input, output)
30908	return
30909}
30910
30911// GetConsoleOutput API operation for Amazon Elastic Compute Cloud.
30912//
30913// Gets the console output for the specified instance. For Linux instances,
30914// the instance console output displays the exact console output that would
30915// normally be displayed on a physical monitor attached to a computer. For Windows
30916// instances, the instance console output includes the last three system event
30917// log errors.
30918//
30919// By default, the console output returns buffered information that was posted
30920// shortly after an instance transition state (start, stop, reboot, or terminate).
30921// This information is available for at least one hour after the most recent
30922// post. Only the most recent 64 KB of console output is available.
30923//
30924// You can optionally retrieve the latest serial console output at any time
30925// during the instance lifecycle. This option is supported on instance types
30926// that use the Nitro hypervisor.
30927//
30928// For more information, see Instance console output (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-console.html#instance-console-console-output)
30929// in the Amazon EC2 User Guide.
30930//
30931// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30932// with awserr.Error's Code and Message methods to get detailed information about
30933// the error.
30934//
30935// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30936// API operation GetConsoleOutput for usage and error information.
30937// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleOutput
30938func (c *EC2) GetConsoleOutput(input *GetConsoleOutputInput) (*GetConsoleOutputOutput, error) {
30939	req, out := c.GetConsoleOutputRequest(input)
30940	return out, req.Send()
30941}
30942
30943// GetConsoleOutputWithContext is the same as GetConsoleOutput with the addition of
30944// the ability to pass a context and additional request options.
30945//
30946// See GetConsoleOutput for details on how to use this API operation.
30947//
30948// The context must be non-nil and will be used for request cancellation. If
30949// the context is nil a panic will occur. In the future the SDK may create
30950// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30951// for more information on using Contexts.
30952func (c *EC2) GetConsoleOutputWithContext(ctx aws.Context, input *GetConsoleOutputInput, opts ...request.Option) (*GetConsoleOutputOutput, error) {
30953	req, out := c.GetConsoleOutputRequest(input)
30954	req.SetContext(ctx)
30955	req.ApplyOptions(opts...)
30956	return out, req.Send()
30957}
30958
30959const opGetConsoleScreenshot = "GetConsoleScreenshot"
30960
30961// GetConsoleScreenshotRequest generates a "aws/request.Request" representing the
30962// client's request for the GetConsoleScreenshot operation. The "output" return
30963// value will be populated with the request's response once the request completes
30964// successfully.
30965//
30966// Use "Send" method on the returned Request to send the API call to the service.
30967// the "output" return value is not valid until after Send returns without error.
30968//
30969// See GetConsoleScreenshot for more information on using the GetConsoleScreenshot
30970// API call, and error handling.
30971//
30972// This method is useful when you want to inject custom logic or configuration
30973// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30974//
30975//
30976//    // Example sending a request using the GetConsoleScreenshotRequest method.
30977//    req, resp := client.GetConsoleScreenshotRequest(params)
30978//
30979//    err := req.Send()
30980//    if err == nil { // resp is now filled
30981//        fmt.Println(resp)
30982//    }
30983//
30984// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleScreenshot
30985func (c *EC2) GetConsoleScreenshotRequest(input *GetConsoleScreenshotInput) (req *request.Request, output *GetConsoleScreenshotOutput) {
30986	op := &request.Operation{
30987		Name:       opGetConsoleScreenshot,
30988		HTTPMethod: "POST",
30989		HTTPPath:   "/",
30990	}
30991
30992	if input == nil {
30993		input = &GetConsoleScreenshotInput{}
30994	}
30995
30996	output = &GetConsoleScreenshotOutput{}
30997	req = c.newRequest(op, input, output)
30998	return
30999}
31000
31001// GetConsoleScreenshot API operation for Amazon Elastic Compute Cloud.
31002//
31003// Retrieve a JPG-format screenshot of a running instance to help with troubleshooting.
31004//
31005// The returned content is Base64-encoded.
31006//
31007// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
31008// with awserr.Error's Code and Message methods to get detailed information about
31009// the error.
31010//
31011// See the AWS API reference guide for Amazon Elastic Compute Cloud's
31012// API operation GetConsoleScreenshot for usage and error information.
31013// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleScreenshot
31014func (c *EC2) GetConsoleScreenshot(input *GetConsoleScreenshotInput) (*GetConsoleScreenshotOutput, error) {
31015	req, out := c.GetConsoleScreenshotRequest(input)
31016	return out, req.Send()
31017}
31018
31019// GetConsoleScreenshotWithContext is the same as GetConsoleScreenshot with the addition of
31020// the ability to pass a context and additional request options.
31021//
31022// See GetConsoleScreenshot for details on how to use this API operation.
31023//
31024// The context must be non-nil and will be used for request cancellation. If
31025// the context is nil a panic will occur. In the future the SDK may create
31026// sub-contexts for http.Requests. See https://golang.org/pkg/context/
31027// for more information on using Contexts.
31028func (c *EC2) GetConsoleScreenshotWithContext(ctx aws.Context, input *GetConsoleScreenshotInput, opts ...request.Option) (*GetConsoleScreenshotOutput, error) {
31029	req, out := c.GetConsoleScreenshotRequest(input)
31030	req.SetContext(ctx)
31031	req.ApplyOptions(opts...)
31032	return out, req.Send()
31033}
31034
31035const opGetDefaultCreditSpecification = "GetDefaultCreditSpecification"
31036
31037// GetDefaultCreditSpecificationRequest generates a "aws/request.Request" representing the
31038// client's request for the GetDefaultCreditSpecification operation. The "output" return
31039// value will be populated with the request's response once the request completes
31040// successfully.
31041//
31042// Use "Send" method on the returned Request to send the API call to the service.
31043// the "output" return value is not valid until after Send returns without error.
31044//
31045// See GetDefaultCreditSpecification for more information on using the GetDefaultCreditSpecification
31046// API call, and error handling.
31047//
31048// This method is useful when you want to inject custom logic or configuration
31049// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31050//
31051//
31052//    // Example sending a request using the GetDefaultCreditSpecificationRequest method.
31053//    req, resp := client.GetDefaultCreditSpecificationRequest(params)
31054//
31055//    err := req.Send()
31056//    if err == nil { // resp is now filled
31057//        fmt.Println(resp)
31058//    }
31059//
31060// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetDefaultCreditSpecification
31061func (c *EC2) GetDefaultCreditSpecificationRequest(input *GetDefaultCreditSpecificationInput) (req *request.Request, output *GetDefaultCreditSpecificationOutput) {
31062	op := &request.Operation{
31063		Name:       opGetDefaultCreditSpecification,
31064		HTTPMethod: "POST",
31065		HTTPPath:   "/",
31066	}
31067
31068	if input == nil {
31069		input = &GetDefaultCreditSpecificationInput{}
31070	}
31071
31072	output = &GetDefaultCreditSpecificationOutput{}
31073	req = c.newRequest(op, input, output)
31074	return
31075}
31076
31077// GetDefaultCreditSpecification API operation for Amazon Elastic Compute Cloud.
31078//
31079// Describes the default credit option for CPU usage of a burstable performance
31080// instance family.
31081//
31082// For more information, see Burstable performance instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html)
31083// in the Amazon EC2 User Guide.
31084//
31085// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
31086// with awserr.Error's Code and Message methods to get detailed information about
31087// the error.
31088//
31089// See the AWS API reference guide for Amazon Elastic Compute Cloud's
31090// API operation GetDefaultCreditSpecification for usage and error information.
31091// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetDefaultCreditSpecification
31092func (c *EC2) GetDefaultCreditSpecification(input *GetDefaultCreditSpecificationInput) (*GetDefaultCreditSpecificationOutput, error) {
31093	req, out := c.GetDefaultCreditSpecificationRequest(input)
31094	return out, req.Send()
31095}
31096
31097// GetDefaultCreditSpecificationWithContext is the same as GetDefaultCreditSpecification with the addition of
31098// the ability to pass a context and additional request options.
31099//
31100// See GetDefaultCreditSpecification for details on how to use this API operation.
31101//
31102// The context must be non-nil and will be used for request cancellation. If
31103// the context is nil a panic will occur. In the future the SDK may create
31104// sub-contexts for http.Requests. See https://golang.org/pkg/context/
31105// for more information on using Contexts.
31106func (c *EC2) GetDefaultCreditSpecificationWithContext(ctx aws.Context, input *GetDefaultCreditSpecificationInput, opts ...request.Option) (*GetDefaultCreditSpecificationOutput, error) {
31107	req, out := c.GetDefaultCreditSpecificationRequest(input)
31108	req.SetContext(ctx)
31109	req.ApplyOptions(opts...)
31110	return out, req.Send()
31111}
31112
31113const opGetEbsDefaultKmsKeyId = "GetEbsDefaultKmsKeyId"
31114
31115// GetEbsDefaultKmsKeyIdRequest generates a "aws/request.Request" representing the
31116// client's request for the GetEbsDefaultKmsKeyId operation. The "output" return
31117// value will be populated with the request's response once the request completes
31118// successfully.
31119//
31120// Use "Send" method on the returned Request to send the API call to the service.
31121// the "output" return value is not valid until after Send returns without error.
31122//
31123// See GetEbsDefaultKmsKeyId for more information on using the GetEbsDefaultKmsKeyId
31124// API call, and error handling.
31125//
31126// This method is useful when you want to inject custom logic or configuration
31127// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31128//
31129//
31130//    // Example sending a request using the GetEbsDefaultKmsKeyIdRequest method.
31131//    req, resp := client.GetEbsDefaultKmsKeyIdRequest(params)
31132//
31133//    err := req.Send()
31134//    if err == nil { // resp is now filled
31135//        fmt.Println(resp)
31136//    }
31137//
31138// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetEbsDefaultKmsKeyId
31139func (c *EC2) GetEbsDefaultKmsKeyIdRequest(input *GetEbsDefaultKmsKeyIdInput) (req *request.Request, output *GetEbsDefaultKmsKeyIdOutput) {
31140	op := &request.Operation{
31141		Name:       opGetEbsDefaultKmsKeyId,
31142		HTTPMethod: "POST",
31143		HTTPPath:   "/",
31144	}
31145
31146	if input == nil {
31147		input = &GetEbsDefaultKmsKeyIdInput{}
31148	}
31149
31150	output = &GetEbsDefaultKmsKeyIdOutput{}
31151	req = c.newRequest(op, input, output)
31152	return
31153}
31154
31155// GetEbsDefaultKmsKeyId API operation for Amazon Elastic Compute Cloud.
31156//
31157// Describes the default customer master key (CMK) for EBS encryption by default
31158// for your account in this Region. You can change the default CMK for encryption
31159// by default using ModifyEbsDefaultKmsKeyId or ResetEbsDefaultKmsKeyId.
31160//
31161// For more information, see Amazon EBS encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
31162// in the Amazon Elastic Compute Cloud User Guide.
31163//
31164// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
31165// with awserr.Error's Code and Message methods to get detailed information about
31166// the error.
31167//
31168// See the AWS API reference guide for Amazon Elastic Compute Cloud's
31169// API operation GetEbsDefaultKmsKeyId for usage and error information.
31170// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetEbsDefaultKmsKeyId
31171func (c *EC2) GetEbsDefaultKmsKeyId(input *GetEbsDefaultKmsKeyIdInput) (*GetEbsDefaultKmsKeyIdOutput, error) {
31172	req, out := c.GetEbsDefaultKmsKeyIdRequest(input)
31173	return out, req.Send()
31174}
31175
31176// GetEbsDefaultKmsKeyIdWithContext is the same as GetEbsDefaultKmsKeyId with the addition of
31177// the ability to pass a context and additional request options.
31178//
31179// See GetEbsDefaultKmsKeyId for details on how to use this API operation.
31180//
31181// The context must be non-nil and will be used for request cancellation. If
31182// the context is nil a panic will occur. In the future the SDK may create
31183// sub-contexts for http.Requests. See https://golang.org/pkg/context/
31184// for more information on using Contexts.
31185func (c *EC2) GetEbsDefaultKmsKeyIdWithContext(ctx aws.Context, input *GetEbsDefaultKmsKeyIdInput, opts ...request.Option) (*GetEbsDefaultKmsKeyIdOutput, error) {
31186	req, out := c.GetEbsDefaultKmsKeyIdRequest(input)
31187	req.SetContext(ctx)
31188	req.ApplyOptions(opts...)
31189	return out, req.Send()
31190}
31191
31192const opGetEbsEncryptionByDefault = "GetEbsEncryptionByDefault"
31193
31194// GetEbsEncryptionByDefaultRequest generates a "aws/request.Request" representing the
31195// client's request for the GetEbsEncryptionByDefault operation. The "output" return
31196// value will be populated with the request's response once the request completes
31197// successfully.
31198//
31199// Use "Send" method on the returned Request to send the API call to the service.
31200// the "output" return value is not valid until after Send returns without error.
31201//
31202// See GetEbsEncryptionByDefault for more information on using the GetEbsEncryptionByDefault
31203// API call, and error handling.
31204//
31205// This method is useful when you want to inject custom logic or configuration
31206// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31207//
31208//
31209//    // Example sending a request using the GetEbsEncryptionByDefaultRequest method.
31210//    req, resp := client.GetEbsEncryptionByDefaultRequest(params)
31211//
31212//    err := req.Send()
31213//    if err == nil { // resp is now filled
31214//        fmt.Println(resp)
31215//    }
31216//
31217// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetEbsEncryptionByDefault
31218func (c *EC2) GetEbsEncryptionByDefaultRequest(input *GetEbsEncryptionByDefaultInput) (req *request.Request, output *GetEbsEncryptionByDefaultOutput) {
31219	op := &request.Operation{
31220		Name:       opGetEbsEncryptionByDefault,
31221		HTTPMethod: "POST",
31222		HTTPPath:   "/",
31223	}
31224
31225	if input == nil {
31226		input = &GetEbsEncryptionByDefaultInput{}
31227	}
31228
31229	output = &GetEbsEncryptionByDefaultOutput{}
31230	req = c.newRequest(op, input, output)
31231	return
31232}
31233
31234// GetEbsEncryptionByDefault API operation for Amazon Elastic Compute Cloud.
31235//
31236// Describes whether EBS encryption by default is enabled for your account in
31237// the current Region.
31238//
31239// For more information, see Amazon EBS encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
31240// in the Amazon Elastic Compute Cloud User Guide.
31241//
31242// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
31243// with awserr.Error's Code and Message methods to get detailed information about
31244// the error.
31245//
31246// See the AWS API reference guide for Amazon Elastic Compute Cloud's
31247// API operation GetEbsEncryptionByDefault for usage and error information.
31248// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetEbsEncryptionByDefault
31249func (c *EC2) GetEbsEncryptionByDefault(input *GetEbsEncryptionByDefaultInput) (*GetEbsEncryptionByDefaultOutput, error) {
31250	req, out := c.GetEbsEncryptionByDefaultRequest(input)
31251	return out, req.Send()
31252}
31253
31254// GetEbsEncryptionByDefaultWithContext is the same as GetEbsEncryptionByDefault with the addition of
31255// the ability to pass a context and additional request options.
31256//
31257// See GetEbsEncryptionByDefault for details on how to use this API operation.
31258//
31259// The context must be non-nil and will be used for request cancellation. If
31260// the context is nil a panic will occur. In the future the SDK may create
31261// sub-contexts for http.Requests. See https://golang.org/pkg/context/
31262// for more information on using Contexts.
31263func (c *EC2) GetEbsEncryptionByDefaultWithContext(ctx aws.Context, input *GetEbsEncryptionByDefaultInput, opts ...request.Option) (*GetEbsEncryptionByDefaultOutput, error) {
31264	req, out := c.GetEbsEncryptionByDefaultRequest(input)
31265	req.SetContext(ctx)
31266	req.ApplyOptions(opts...)
31267	return out, req.Send()
31268}
31269
31270const opGetFlowLogsIntegrationTemplate = "GetFlowLogsIntegrationTemplate"
31271
31272// GetFlowLogsIntegrationTemplateRequest generates a "aws/request.Request" representing the
31273// client's request for the GetFlowLogsIntegrationTemplate operation. The "output" return
31274// value will be populated with the request's response once the request completes
31275// successfully.
31276//
31277// Use "Send" method on the returned Request to send the API call to the service.
31278// the "output" return value is not valid until after Send returns without error.
31279//
31280// See GetFlowLogsIntegrationTemplate for more information on using the GetFlowLogsIntegrationTemplate
31281// API call, and error handling.
31282//
31283// This method is useful when you want to inject custom logic or configuration
31284// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31285//
31286//
31287//    // Example sending a request using the GetFlowLogsIntegrationTemplateRequest method.
31288//    req, resp := client.GetFlowLogsIntegrationTemplateRequest(params)
31289//
31290//    err := req.Send()
31291//    if err == nil { // resp is now filled
31292//        fmt.Println(resp)
31293//    }
31294//
31295// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetFlowLogsIntegrationTemplate
31296func (c *EC2) GetFlowLogsIntegrationTemplateRequest(input *GetFlowLogsIntegrationTemplateInput) (req *request.Request, output *GetFlowLogsIntegrationTemplateOutput) {
31297	op := &request.Operation{
31298		Name:       opGetFlowLogsIntegrationTemplate,
31299		HTTPMethod: "POST",
31300		HTTPPath:   "/",
31301	}
31302
31303	if input == nil {
31304		input = &GetFlowLogsIntegrationTemplateInput{}
31305	}
31306
31307	output = &GetFlowLogsIntegrationTemplateOutput{}
31308	req = c.newRequest(op, input, output)
31309	return
31310}
31311
31312// GetFlowLogsIntegrationTemplate API operation for Amazon Elastic Compute Cloud.
31313//
31314// Generates a CloudFormation template that streamlines and automates the integration
31315// of VPC flow logs with Amazon Athena. This make it easier for you to query
31316// and gain insights from VPC flow logs data. Based on the information that
31317// you provide, we configure resources in the template to do the following:
31318//
31319//    * Create a table in Athena that maps fields to a custom log format
31320//
31321//    * Create a Lambda function that updates the table with new partitions
31322//    on a daily, weekly, or monthly basis
31323//
31324//    * Create a table partitioned between two timestamps in the past
31325//
31326//    * Create a set of named queries in Athena that you can use to get started
31327//    quickly
31328//
31329// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
31330// with awserr.Error's Code and Message methods to get detailed information about
31331// the error.
31332//
31333// See the AWS API reference guide for Amazon Elastic Compute Cloud's
31334// API operation GetFlowLogsIntegrationTemplate for usage and error information.
31335// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetFlowLogsIntegrationTemplate
31336func (c *EC2) GetFlowLogsIntegrationTemplate(input *GetFlowLogsIntegrationTemplateInput) (*GetFlowLogsIntegrationTemplateOutput, error) {
31337	req, out := c.GetFlowLogsIntegrationTemplateRequest(input)
31338	return out, req.Send()
31339}
31340
31341// GetFlowLogsIntegrationTemplateWithContext is the same as GetFlowLogsIntegrationTemplate with the addition of
31342// the ability to pass a context and additional request options.
31343//
31344// See GetFlowLogsIntegrationTemplate for details on how to use this API operation.
31345//
31346// The context must be non-nil and will be used for request cancellation. If
31347// the context is nil a panic will occur. In the future the SDK may create
31348// sub-contexts for http.Requests. See https://golang.org/pkg/context/
31349// for more information on using Contexts.
31350func (c *EC2) GetFlowLogsIntegrationTemplateWithContext(ctx aws.Context, input *GetFlowLogsIntegrationTemplateInput, opts ...request.Option) (*GetFlowLogsIntegrationTemplateOutput, error) {
31351	req, out := c.GetFlowLogsIntegrationTemplateRequest(input)
31352	req.SetContext(ctx)
31353	req.ApplyOptions(opts...)
31354	return out, req.Send()
31355}
31356
31357const opGetGroupsForCapacityReservation = "GetGroupsForCapacityReservation"
31358
31359// GetGroupsForCapacityReservationRequest generates a "aws/request.Request" representing the
31360// client's request for the GetGroupsForCapacityReservation operation. The "output" return
31361// value will be populated with the request's response once the request completes
31362// successfully.
31363//
31364// Use "Send" method on the returned Request to send the API call to the service.
31365// the "output" return value is not valid until after Send returns without error.
31366//
31367// See GetGroupsForCapacityReservation for more information on using the GetGroupsForCapacityReservation
31368// API call, and error handling.
31369//
31370// This method is useful when you want to inject custom logic or configuration
31371// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31372//
31373//
31374//    // Example sending a request using the GetGroupsForCapacityReservationRequest method.
31375//    req, resp := client.GetGroupsForCapacityReservationRequest(params)
31376//
31377//    err := req.Send()
31378//    if err == nil { // resp is now filled
31379//        fmt.Println(resp)
31380//    }
31381//
31382// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetGroupsForCapacityReservation
31383func (c *EC2) GetGroupsForCapacityReservationRequest(input *GetGroupsForCapacityReservationInput) (req *request.Request, output *GetGroupsForCapacityReservationOutput) {
31384	op := &request.Operation{
31385		Name:       opGetGroupsForCapacityReservation,
31386		HTTPMethod: "POST",
31387		HTTPPath:   "/",
31388		Paginator: &request.Paginator{
31389			InputTokens:     []string{"NextToken"},
31390			OutputTokens:    []string{"NextToken"},
31391			LimitToken:      "MaxResults",
31392			TruncationToken: "",
31393		},
31394	}
31395
31396	if input == nil {
31397		input = &GetGroupsForCapacityReservationInput{}
31398	}
31399
31400	output = &GetGroupsForCapacityReservationOutput{}
31401	req = c.newRequest(op, input, output)
31402	return
31403}
31404
31405// GetGroupsForCapacityReservation API operation for Amazon Elastic Compute Cloud.
31406//
31407// Lists the resource groups to which a Capacity Reservation has been added.
31408//
31409// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
31410// with awserr.Error's Code and Message methods to get detailed information about
31411// the error.
31412//
31413// See the AWS API reference guide for Amazon Elastic Compute Cloud's
31414// API operation GetGroupsForCapacityReservation for usage and error information.
31415// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetGroupsForCapacityReservation
31416func (c *EC2) GetGroupsForCapacityReservation(input *GetGroupsForCapacityReservationInput) (*GetGroupsForCapacityReservationOutput, error) {
31417	req, out := c.GetGroupsForCapacityReservationRequest(input)
31418	return out, req.Send()
31419}
31420
31421// GetGroupsForCapacityReservationWithContext is the same as GetGroupsForCapacityReservation with the addition of
31422// the ability to pass a context and additional request options.
31423//
31424// See GetGroupsForCapacityReservation for details on how to use this API operation.
31425//
31426// The context must be non-nil and will be used for request cancellation. If
31427// the context is nil a panic will occur. In the future the SDK may create
31428// sub-contexts for http.Requests. See https://golang.org/pkg/context/
31429// for more information on using Contexts.
31430func (c *EC2) GetGroupsForCapacityReservationWithContext(ctx aws.Context, input *GetGroupsForCapacityReservationInput, opts ...request.Option) (*GetGroupsForCapacityReservationOutput, error) {
31431	req, out := c.GetGroupsForCapacityReservationRequest(input)
31432	req.SetContext(ctx)
31433	req.ApplyOptions(opts...)
31434	return out, req.Send()
31435}
31436
31437// GetGroupsForCapacityReservationPages iterates over the pages of a GetGroupsForCapacityReservation operation,
31438// calling the "fn" function with the response data for each page. To stop
31439// iterating, return false from the fn function.
31440//
31441// See GetGroupsForCapacityReservation method for more information on how to use this operation.
31442//
31443// Note: This operation can generate multiple requests to a service.
31444//
31445//    // Example iterating over at most 3 pages of a GetGroupsForCapacityReservation operation.
31446//    pageNum := 0
31447//    err := client.GetGroupsForCapacityReservationPages(params,
31448//        func(page *ec2.GetGroupsForCapacityReservationOutput, lastPage bool) bool {
31449//            pageNum++
31450//            fmt.Println(page)
31451//            return pageNum <= 3
31452//        })
31453//
31454func (c *EC2) GetGroupsForCapacityReservationPages(input *GetGroupsForCapacityReservationInput, fn func(*GetGroupsForCapacityReservationOutput, bool) bool) error {
31455	return c.GetGroupsForCapacityReservationPagesWithContext(aws.BackgroundContext(), input, fn)
31456}
31457
31458// GetGroupsForCapacityReservationPagesWithContext same as GetGroupsForCapacityReservationPages except
31459// it takes a Context and allows setting request options on the pages.
31460//
31461// The context must be non-nil and will be used for request cancellation. If
31462// the context is nil a panic will occur. In the future the SDK may create
31463// sub-contexts for http.Requests. See https://golang.org/pkg/context/
31464// for more information on using Contexts.
31465func (c *EC2) GetGroupsForCapacityReservationPagesWithContext(ctx aws.Context, input *GetGroupsForCapacityReservationInput, fn func(*GetGroupsForCapacityReservationOutput, bool) bool, opts ...request.Option) error {
31466	p := request.Pagination{
31467		NewRequest: func() (*request.Request, error) {
31468			var inCpy *GetGroupsForCapacityReservationInput
31469			if input != nil {
31470				tmp := *input
31471				inCpy = &tmp
31472			}
31473			req, _ := c.GetGroupsForCapacityReservationRequest(inCpy)
31474			req.SetContext(ctx)
31475			req.ApplyOptions(opts...)
31476			return req, nil
31477		},
31478	}
31479
31480	for p.Next() {
31481		if !fn(p.Page().(*GetGroupsForCapacityReservationOutput), !p.HasNextPage()) {
31482			break
31483		}
31484	}
31485
31486	return p.Err()
31487}
31488
31489const opGetHostReservationPurchasePreview = "GetHostReservationPurchasePreview"
31490
31491// GetHostReservationPurchasePreviewRequest generates a "aws/request.Request" representing the
31492// client's request for the GetHostReservationPurchasePreview operation. The "output" return
31493// value will be populated with the request's response once the request completes
31494// successfully.
31495//
31496// Use "Send" method on the returned Request to send the API call to the service.
31497// the "output" return value is not valid until after Send returns without error.
31498//
31499// See GetHostReservationPurchasePreview for more information on using the GetHostReservationPurchasePreview
31500// API call, and error handling.
31501//
31502// This method is useful when you want to inject custom logic or configuration
31503// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31504//
31505//
31506//    // Example sending a request using the GetHostReservationPurchasePreviewRequest method.
31507//    req, resp := client.GetHostReservationPurchasePreviewRequest(params)
31508//
31509//    err := req.Send()
31510//    if err == nil { // resp is now filled
31511//        fmt.Println(resp)
31512//    }
31513//
31514// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetHostReservationPurchasePreview
31515func (c *EC2) GetHostReservationPurchasePreviewRequest(input *GetHostReservationPurchasePreviewInput) (req *request.Request, output *GetHostReservationPurchasePreviewOutput) {
31516	op := &request.Operation{
31517		Name:       opGetHostReservationPurchasePreview,
31518		HTTPMethod: "POST",
31519		HTTPPath:   "/",
31520	}
31521
31522	if input == nil {
31523		input = &GetHostReservationPurchasePreviewInput{}
31524	}
31525
31526	output = &GetHostReservationPurchasePreviewOutput{}
31527	req = c.newRequest(op, input, output)
31528	return
31529}
31530
31531// GetHostReservationPurchasePreview API operation for Amazon Elastic Compute Cloud.
31532//
31533// Preview a reservation purchase with configurations that match those of your
31534// Dedicated Host. You must have active Dedicated Hosts in your account before
31535// you purchase a reservation.
31536//
31537// This is a preview of the PurchaseHostReservation action and does not result
31538// in the offering being purchased.
31539//
31540// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
31541// with awserr.Error's Code and Message methods to get detailed information about
31542// the error.
31543//
31544// See the AWS API reference guide for Amazon Elastic Compute Cloud's
31545// API operation GetHostReservationPurchasePreview for usage and error information.
31546// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetHostReservationPurchasePreview
31547func (c *EC2) GetHostReservationPurchasePreview(input *GetHostReservationPurchasePreviewInput) (*GetHostReservationPurchasePreviewOutput, error) {
31548	req, out := c.GetHostReservationPurchasePreviewRequest(input)
31549	return out, req.Send()
31550}
31551
31552// GetHostReservationPurchasePreviewWithContext is the same as GetHostReservationPurchasePreview with the addition of
31553// the ability to pass a context and additional request options.
31554//
31555// See GetHostReservationPurchasePreview for details on how to use this API operation.
31556//
31557// The context must be non-nil and will be used for request cancellation. If
31558// the context is nil a panic will occur. In the future the SDK may create
31559// sub-contexts for http.Requests. See https://golang.org/pkg/context/
31560// for more information on using Contexts.
31561func (c *EC2) GetHostReservationPurchasePreviewWithContext(ctx aws.Context, input *GetHostReservationPurchasePreviewInput, opts ...request.Option) (*GetHostReservationPurchasePreviewOutput, error) {
31562	req, out := c.GetHostReservationPurchasePreviewRequest(input)
31563	req.SetContext(ctx)
31564	req.ApplyOptions(opts...)
31565	return out, req.Send()
31566}
31567
31568const opGetLaunchTemplateData = "GetLaunchTemplateData"
31569
31570// GetLaunchTemplateDataRequest generates a "aws/request.Request" representing the
31571// client's request for the GetLaunchTemplateData operation. The "output" return
31572// value will be populated with the request's response once the request completes
31573// successfully.
31574//
31575// Use "Send" method on the returned Request to send the API call to the service.
31576// the "output" return value is not valid until after Send returns without error.
31577//
31578// See GetLaunchTemplateData for more information on using the GetLaunchTemplateData
31579// API call, and error handling.
31580//
31581// This method is useful when you want to inject custom logic or configuration
31582// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31583//
31584//
31585//    // Example sending a request using the GetLaunchTemplateDataRequest method.
31586//    req, resp := client.GetLaunchTemplateDataRequest(params)
31587//
31588//    err := req.Send()
31589//    if err == nil { // resp is now filled
31590//        fmt.Println(resp)
31591//    }
31592//
31593// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetLaunchTemplateData
31594func (c *EC2) GetLaunchTemplateDataRequest(input *GetLaunchTemplateDataInput) (req *request.Request, output *GetLaunchTemplateDataOutput) {
31595	op := &request.Operation{
31596		Name:       opGetLaunchTemplateData,
31597		HTTPMethod: "POST",
31598		HTTPPath:   "/",
31599	}
31600
31601	if input == nil {
31602		input = &GetLaunchTemplateDataInput{}
31603	}
31604
31605	output = &GetLaunchTemplateDataOutput{}
31606	req = c.newRequest(op, input, output)
31607	return
31608}
31609
31610// GetLaunchTemplateData API operation for Amazon Elastic Compute Cloud.
31611//
31612// Retrieves the configuration data of the specified instance. You can use this
31613// data to create a launch template.
31614//
31615// This action calls on other describe actions to get instance information.
31616// Depending on your instance configuration, you may need to allow the following
31617// actions in your IAM policy: DescribeSpotInstanceRequests, DescribeInstanceCreditSpecifications,
31618// DescribeVolumes, DescribeInstanceAttribute, and DescribeElasticGpus. Or,
31619// you can allow describe* depending on your instance requirements.
31620//
31621// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
31622// with awserr.Error's Code and Message methods to get detailed information about
31623// the error.
31624//
31625// See the AWS API reference guide for Amazon Elastic Compute Cloud's
31626// API operation GetLaunchTemplateData for usage and error information.
31627// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetLaunchTemplateData
31628func (c *EC2) GetLaunchTemplateData(input *GetLaunchTemplateDataInput) (*GetLaunchTemplateDataOutput, error) {
31629	req, out := c.GetLaunchTemplateDataRequest(input)
31630	return out, req.Send()
31631}
31632
31633// GetLaunchTemplateDataWithContext is the same as GetLaunchTemplateData with the addition of
31634// the ability to pass a context and additional request options.
31635//
31636// See GetLaunchTemplateData for details on how to use this API operation.
31637//
31638// The context must be non-nil and will be used for request cancellation. If
31639// the context is nil a panic will occur. In the future the SDK may create
31640// sub-contexts for http.Requests. See https://golang.org/pkg/context/
31641// for more information on using Contexts.
31642func (c *EC2) GetLaunchTemplateDataWithContext(ctx aws.Context, input *GetLaunchTemplateDataInput, opts ...request.Option) (*GetLaunchTemplateDataOutput, error) {
31643	req, out := c.GetLaunchTemplateDataRequest(input)
31644	req.SetContext(ctx)
31645	req.ApplyOptions(opts...)
31646	return out, req.Send()
31647}
31648
31649const opGetManagedPrefixListAssociations = "GetManagedPrefixListAssociations"
31650
31651// GetManagedPrefixListAssociationsRequest generates a "aws/request.Request" representing the
31652// client's request for the GetManagedPrefixListAssociations operation. The "output" return
31653// value will be populated with the request's response once the request completes
31654// successfully.
31655//
31656// Use "Send" method on the returned Request to send the API call to the service.
31657// the "output" return value is not valid until after Send returns without error.
31658//
31659// See GetManagedPrefixListAssociations for more information on using the GetManagedPrefixListAssociations
31660// API call, and error handling.
31661//
31662// This method is useful when you want to inject custom logic or configuration
31663// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31664//
31665//
31666//    // Example sending a request using the GetManagedPrefixListAssociationsRequest method.
31667//    req, resp := client.GetManagedPrefixListAssociationsRequest(params)
31668//
31669//    err := req.Send()
31670//    if err == nil { // resp is now filled
31671//        fmt.Println(resp)
31672//    }
31673//
31674// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetManagedPrefixListAssociations
31675func (c *EC2) GetManagedPrefixListAssociationsRequest(input *GetManagedPrefixListAssociationsInput) (req *request.Request, output *GetManagedPrefixListAssociationsOutput) {
31676	op := &request.Operation{
31677		Name:       opGetManagedPrefixListAssociations,
31678		HTTPMethod: "POST",
31679		HTTPPath:   "/",
31680		Paginator: &request.Paginator{
31681			InputTokens:     []string{"NextToken"},
31682			OutputTokens:    []string{"NextToken"},
31683			LimitToken:      "MaxResults",
31684			TruncationToken: "",
31685		},
31686	}
31687
31688	if input == nil {
31689		input = &GetManagedPrefixListAssociationsInput{}
31690	}
31691
31692	output = &GetManagedPrefixListAssociationsOutput{}
31693	req = c.newRequest(op, input, output)
31694	return
31695}
31696
31697// GetManagedPrefixListAssociations API operation for Amazon Elastic Compute Cloud.
31698//
31699// Gets information about the resources that are associated with the specified
31700// managed prefix list.
31701//
31702// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
31703// with awserr.Error's Code and Message methods to get detailed information about
31704// the error.
31705//
31706// See the AWS API reference guide for Amazon Elastic Compute Cloud's
31707// API operation GetManagedPrefixListAssociations for usage and error information.
31708// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetManagedPrefixListAssociations
31709func (c *EC2) GetManagedPrefixListAssociations(input *GetManagedPrefixListAssociationsInput) (*GetManagedPrefixListAssociationsOutput, error) {
31710	req, out := c.GetManagedPrefixListAssociationsRequest(input)
31711	return out, req.Send()
31712}
31713
31714// GetManagedPrefixListAssociationsWithContext is the same as GetManagedPrefixListAssociations with the addition of
31715// the ability to pass a context and additional request options.
31716//
31717// See GetManagedPrefixListAssociations for details on how to use this API operation.
31718//
31719// The context must be non-nil and will be used for request cancellation. If
31720// the context is nil a panic will occur. In the future the SDK may create
31721// sub-contexts for http.Requests. See https://golang.org/pkg/context/
31722// for more information on using Contexts.
31723func (c *EC2) GetManagedPrefixListAssociationsWithContext(ctx aws.Context, input *GetManagedPrefixListAssociationsInput, opts ...request.Option) (*GetManagedPrefixListAssociationsOutput, error) {
31724	req, out := c.GetManagedPrefixListAssociationsRequest(input)
31725	req.SetContext(ctx)
31726	req.ApplyOptions(opts...)
31727	return out, req.Send()
31728}
31729
31730// GetManagedPrefixListAssociationsPages iterates over the pages of a GetManagedPrefixListAssociations operation,
31731// calling the "fn" function with the response data for each page. To stop
31732// iterating, return false from the fn function.
31733//
31734// See GetManagedPrefixListAssociations method for more information on how to use this operation.
31735//
31736// Note: This operation can generate multiple requests to a service.
31737//
31738//    // Example iterating over at most 3 pages of a GetManagedPrefixListAssociations operation.
31739//    pageNum := 0
31740//    err := client.GetManagedPrefixListAssociationsPages(params,
31741//        func(page *ec2.GetManagedPrefixListAssociationsOutput, lastPage bool) bool {
31742//            pageNum++
31743//            fmt.Println(page)
31744//            return pageNum <= 3
31745//        })
31746//
31747func (c *EC2) GetManagedPrefixListAssociationsPages(input *GetManagedPrefixListAssociationsInput, fn func(*GetManagedPrefixListAssociationsOutput, bool) bool) error {
31748	return c.GetManagedPrefixListAssociationsPagesWithContext(aws.BackgroundContext(), input, fn)
31749}
31750
31751// GetManagedPrefixListAssociationsPagesWithContext same as GetManagedPrefixListAssociationsPages except
31752// it takes a Context and allows setting request options on the pages.
31753//
31754// The context must be non-nil and will be used for request cancellation. If
31755// the context is nil a panic will occur. In the future the SDK may create
31756// sub-contexts for http.Requests. See https://golang.org/pkg/context/
31757// for more information on using Contexts.
31758func (c *EC2) GetManagedPrefixListAssociationsPagesWithContext(ctx aws.Context, input *GetManagedPrefixListAssociationsInput, fn func(*GetManagedPrefixListAssociationsOutput, bool) bool, opts ...request.Option) error {
31759	p := request.Pagination{
31760		NewRequest: func() (*request.Request, error) {
31761			var inCpy *GetManagedPrefixListAssociationsInput
31762			if input != nil {
31763				tmp := *input
31764				inCpy = &tmp
31765			}
31766			req, _ := c.GetManagedPrefixListAssociationsRequest(inCpy)
31767			req.SetContext(ctx)
31768			req.ApplyOptions(opts...)
31769			return req, nil
31770		},
31771	}
31772
31773	for p.Next() {
31774		if !fn(p.Page().(*GetManagedPrefixListAssociationsOutput), !p.HasNextPage()) {
31775			break
31776		}
31777	}
31778
31779	return p.Err()
31780}
31781
31782const opGetManagedPrefixListEntries = "GetManagedPrefixListEntries"
31783
31784// GetManagedPrefixListEntriesRequest generates a "aws/request.Request" representing the
31785// client's request for the GetManagedPrefixListEntries operation. The "output" return
31786// value will be populated with the request's response once the request completes
31787// successfully.
31788//
31789// Use "Send" method on the returned Request to send the API call to the service.
31790// the "output" return value is not valid until after Send returns without error.
31791//
31792// See GetManagedPrefixListEntries for more information on using the GetManagedPrefixListEntries
31793// API call, and error handling.
31794//
31795// This method is useful when you want to inject custom logic or configuration
31796// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31797//
31798//
31799//    // Example sending a request using the GetManagedPrefixListEntriesRequest method.
31800//    req, resp := client.GetManagedPrefixListEntriesRequest(params)
31801//
31802//    err := req.Send()
31803//    if err == nil { // resp is now filled
31804//        fmt.Println(resp)
31805//    }
31806//
31807// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetManagedPrefixListEntries
31808func (c *EC2) GetManagedPrefixListEntriesRequest(input *GetManagedPrefixListEntriesInput) (req *request.Request, output *GetManagedPrefixListEntriesOutput) {
31809	op := &request.Operation{
31810		Name:       opGetManagedPrefixListEntries,
31811		HTTPMethod: "POST",
31812		HTTPPath:   "/",
31813		Paginator: &request.Paginator{
31814			InputTokens:     []string{"NextToken"},
31815			OutputTokens:    []string{"NextToken"},
31816			LimitToken:      "MaxResults",
31817			TruncationToken: "",
31818		},
31819	}
31820
31821	if input == nil {
31822		input = &GetManagedPrefixListEntriesInput{}
31823	}
31824
31825	output = &GetManagedPrefixListEntriesOutput{}
31826	req = c.newRequest(op, input, output)
31827	return
31828}
31829
31830// GetManagedPrefixListEntries API operation for Amazon Elastic Compute Cloud.
31831//
31832// Gets information about the entries for a specified managed prefix list.
31833//
31834// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
31835// with awserr.Error's Code and Message methods to get detailed information about
31836// the error.
31837//
31838// See the AWS API reference guide for Amazon Elastic Compute Cloud's
31839// API operation GetManagedPrefixListEntries for usage and error information.
31840// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetManagedPrefixListEntries
31841func (c *EC2) GetManagedPrefixListEntries(input *GetManagedPrefixListEntriesInput) (*GetManagedPrefixListEntriesOutput, error) {
31842	req, out := c.GetManagedPrefixListEntriesRequest(input)
31843	return out, req.Send()
31844}
31845
31846// GetManagedPrefixListEntriesWithContext is the same as GetManagedPrefixListEntries with the addition of
31847// the ability to pass a context and additional request options.
31848//
31849// See GetManagedPrefixListEntries for details on how to use this API operation.
31850//
31851// The context must be non-nil and will be used for request cancellation. If
31852// the context is nil a panic will occur. In the future the SDK may create
31853// sub-contexts for http.Requests. See https://golang.org/pkg/context/
31854// for more information on using Contexts.
31855func (c *EC2) GetManagedPrefixListEntriesWithContext(ctx aws.Context, input *GetManagedPrefixListEntriesInput, opts ...request.Option) (*GetManagedPrefixListEntriesOutput, error) {
31856	req, out := c.GetManagedPrefixListEntriesRequest(input)
31857	req.SetContext(ctx)
31858	req.ApplyOptions(opts...)
31859	return out, req.Send()
31860}
31861
31862// GetManagedPrefixListEntriesPages iterates over the pages of a GetManagedPrefixListEntries operation,
31863// calling the "fn" function with the response data for each page. To stop
31864// iterating, return false from the fn function.
31865//
31866// See GetManagedPrefixListEntries method for more information on how to use this operation.
31867//
31868// Note: This operation can generate multiple requests to a service.
31869//
31870//    // Example iterating over at most 3 pages of a GetManagedPrefixListEntries operation.
31871//    pageNum := 0
31872//    err := client.GetManagedPrefixListEntriesPages(params,
31873//        func(page *ec2.GetManagedPrefixListEntriesOutput, lastPage bool) bool {
31874//            pageNum++
31875//            fmt.Println(page)
31876//            return pageNum <= 3
31877//        })
31878//
31879func (c *EC2) GetManagedPrefixListEntriesPages(input *GetManagedPrefixListEntriesInput, fn func(*GetManagedPrefixListEntriesOutput, bool) bool) error {
31880	return c.GetManagedPrefixListEntriesPagesWithContext(aws.BackgroundContext(), input, fn)
31881}
31882
31883// GetManagedPrefixListEntriesPagesWithContext same as GetManagedPrefixListEntriesPages except
31884// it takes a Context and allows setting request options on the pages.
31885//
31886// The context must be non-nil and will be used for request cancellation. If
31887// the context is nil a panic will occur. In the future the SDK may create
31888// sub-contexts for http.Requests. See https://golang.org/pkg/context/
31889// for more information on using Contexts.
31890func (c *EC2) GetManagedPrefixListEntriesPagesWithContext(ctx aws.Context, input *GetManagedPrefixListEntriesInput, fn func(*GetManagedPrefixListEntriesOutput, bool) bool, opts ...request.Option) error {
31891	p := request.Pagination{
31892		NewRequest: func() (*request.Request, error) {
31893			var inCpy *GetManagedPrefixListEntriesInput
31894			if input != nil {
31895				tmp := *input
31896				inCpy = &tmp
31897			}
31898			req, _ := c.GetManagedPrefixListEntriesRequest(inCpy)
31899			req.SetContext(ctx)
31900			req.ApplyOptions(opts...)
31901			return req, nil
31902		},
31903	}
31904
31905	for p.Next() {
31906		if !fn(p.Page().(*GetManagedPrefixListEntriesOutput), !p.HasNextPage()) {
31907			break
31908		}
31909	}
31910
31911	return p.Err()
31912}
31913
31914const opGetPasswordData = "GetPasswordData"
31915
31916// GetPasswordDataRequest generates a "aws/request.Request" representing the
31917// client's request for the GetPasswordData operation. The "output" return
31918// value will be populated with the request's response once the request completes
31919// successfully.
31920//
31921// Use "Send" method on the returned Request to send the API call to the service.
31922// the "output" return value is not valid until after Send returns without error.
31923//
31924// See GetPasswordData for more information on using the GetPasswordData
31925// API call, and error handling.
31926//
31927// This method is useful when you want to inject custom logic or configuration
31928// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31929//
31930//
31931//    // Example sending a request using the GetPasswordDataRequest method.
31932//    req, resp := client.GetPasswordDataRequest(params)
31933//
31934//    err := req.Send()
31935//    if err == nil { // resp is now filled
31936//        fmt.Println(resp)
31937//    }
31938//
31939// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetPasswordData
31940func (c *EC2) GetPasswordDataRequest(input *GetPasswordDataInput) (req *request.Request, output *GetPasswordDataOutput) {
31941	op := &request.Operation{
31942		Name:       opGetPasswordData,
31943		HTTPMethod: "POST",
31944		HTTPPath:   "/",
31945	}
31946
31947	if input == nil {
31948		input = &GetPasswordDataInput{}
31949	}
31950
31951	output = &GetPasswordDataOutput{}
31952	req = c.newRequest(op, input, output)
31953	return
31954}
31955
31956// GetPasswordData API operation for Amazon Elastic Compute Cloud.
31957//
31958// Retrieves the encrypted administrator password for a running Windows instance.
31959//
31960// The Windows password is generated at boot by the EC2Config service or EC2Launch
31961// scripts (Windows Server 2016 and later). This usually only happens the first
31962// time an instance is launched. For more information, see EC2Config (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/UsingConfig_WinAMI.html)
31963// and EC2Launch (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2launch.html)
31964// in the Amazon EC2 User Guide.
31965//
31966// For the EC2Config service, the password is not generated for rebundled AMIs
31967// unless Ec2SetPassword is enabled before bundling.
31968//
31969// The password is encrypted using the key pair that you specified when you
31970// launched the instance. You must provide the corresponding key pair file.
31971//
31972// When you launch an instance, password generation and encryption may take
31973// a few minutes. If you try to retrieve the password before it's available,
31974// the output returns an empty string. We recommend that you wait up to 15 minutes
31975// after launching an instance before trying to retrieve the generated password.
31976//
31977// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
31978// with awserr.Error's Code and Message methods to get detailed information about
31979// the error.
31980//
31981// See the AWS API reference guide for Amazon Elastic Compute Cloud's
31982// API operation GetPasswordData for usage and error information.
31983// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetPasswordData
31984func (c *EC2) GetPasswordData(input *GetPasswordDataInput) (*GetPasswordDataOutput, error) {
31985	req, out := c.GetPasswordDataRequest(input)
31986	return out, req.Send()
31987}
31988
31989// GetPasswordDataWithContext is the same as GetPasswordData with the addition of
31990// the ability to pass a context and additional request options.
31991//
31992// See GetPasswordData for details on how to use this API operation.
31993//
31994// The context must be non-nil and will be used for request cancellation. If
31995// the context is nil a panic will occur. In the future the SDK may create
31996// sub-contexts for http.Requests. See https://golang.org/pkg/context/
31997// for more information on using Contexts.
31998func (c *EC2) GetPasswordDataWithContext(ctx aws.Context, input *GetPasswordDataInput, opts ...request.Option) (*GetPasswordDataOutput, error) {
31999	req, out := c.GetPasswordDataRequest(input)
32000	req.SetContext(ctx)
32001	req.ApplyOptions(opts...)
32002	return out, req.Send()
32003}
32004
32005const opGetReservedInstancesExchangeQuote = "GetReservedInstancesExchangeQuote"
32006
32007// GetReservedInstancesExchangeQuoteRequest generates a "aws/request.Request" representing the
32008// client's request for the GetReservedInstancesExchangeQuote operation. The "output" return
32009// value will be populated with the request's response once the request completes
32010// successfully.
32011//
32012// Use "Send" method on the returned Request to send the API call to the service.
32013// the "output" return value is not valid until after Send returns without error.
32014//
32015// See GetReservedInstancesExchangeQuote for more information on using the GetReservedInstancesExchangeQuote
32016// API call, and error handling.
32017//
32018// This method is useful when you want to inject custom logic or configuration
32019// into the SDK's request lifecycle. Such as custom headers, or retry logic.
32020//
32021//
32022//    // Example sending a request using the GetReservedInstancesExchangeQuoteRequest method.
32023//    req, resp := client.GetReservedInstancesExchangeQuoteRequest(params)
32024//
32025//    err := req.Send()
32026//    if err == nil { // resp is now filled
32027//        fmt.Println(resp)
32028//    }
32029//
32030// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetReservedInstancesExchangeQuote
32031func (c *EC2) GetReservedInstancesExchangeQuoteRequest(input *GetReservedInstancesExchangeQuoteInput) (req *request.Request, output *GetReservedInstancesExchangeQuoteOutput) {
32032	op := &request.Operation{
32033		Name:       opGetReservedInstancesExchangeQuote,
32034		HTTPMethod: "POST",
32035		HTTPPath:   "/",
32036	}
32037
32038	if input == nil {
32039		input = &GetReservedInstancesExchangeQuoteInput{}
32040	}
32041
32042	output = &GetReservedInstancesExchangeQuoteOutput{}
32043	req = c.newRequest(op, input, output)
32044	return
32045}
32046
32047// GetReservedInstancesExchangeQuote API operation for Amazon Elastic Compute Cloud.
32048//
32049// Returns a quote and exchange information for exchanging one or more specified
32050// Convertible Reserved Instances for a new Convertible Reserved Instance. If
32051// the exchange cannot be performed, the reason is returned in the response.
32052// Use AcceptReservedInstancesExchangeQuote to perform the exchange.
32053//
32054// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
32055// with awserr.Error's Code and Message methods to get detailed information about
32056// the error.
32057//
32058// See the AWS API reference guide for Amazon Elastic Compute Cloud's
32059// API operation GetReservedInstancesExchangeQuote for usage and error information.
32060// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetReservedInstancesExchangeQuote
32061func (c *EC2) GetReservedInstancesExchangeQuote(input *GetReservedInstancesExchangeQuoteInput) (*GetReservedInstancesExchangeQuoteOutput, error) {
32062	req, out := c.GetReservedInstancesExchangeQuoteRequest(input)
32063	return out, req.Send()
32064}
32065
32066// GetReservedInstancesExchangeQuoteWithContext is the same as GetReservedInstancesExchangeQuote with the addition of
32067// the ability to pass a context and additional request options.
32068//
32069// See GetReservedInstancesExchangeQuote for details on how to use this API operation.
32070//
32071// The context must be non-nil and will be used for request cancellation. If
32072// the context is nil a panic will occur. In the future the SDK may create
32073// sub-contexts for http.Requests. See https://golang.org/pkg/context/
32074// for more information on using Contexts.
32075func (c *EC2) GetReservedInstancesExchangeQuoteWithContext(ctx aws.Context, input *GetReservedInstancesExchangeQuoteInput, opts ...request.Option) (*GetReservedInstancesExchangeQuoteOutput, error) {
32076	req, out := c.GetReservedInstancesExchangeQuoteRequest(input)
32077	req.SetContext(ctx)
32078	req.ApplyOptions(opts...)
32079	return out, req.Send()
32080}
32081
32082const opGetSerialConsoleAccessStatus = "GetSerialConsoleAccessStatus"
32083
32084// GetSerialConsoleAccessStatusRequest generates a "aws/request.Request" representing the
32085// client's request for the GetSerialConsoleAccessStatus operation. The "output" return
32086// value will be populated with the request's response once the request completes
32087// successfully.
32088//
32089// Use "Send" method on the returned Request to send the API call to the service.
32090// the "output" return value is not valid until after Send returns without error.
32091//
32092// See GetSerialConsoleAccessStatus for more information on using the GetSerialConsoleAccessStatus
32093// API call, and error handling.
32094//
32095// This method is useful when you want to inject custom logic or configuration
32096// into the SDK's request lifecycle. Such as custom headers, or retry logic.
32097//
32098//
32099//    // Example sending a request using the GetSerialConsoleAccessStatusRequest method.
32100//    req, resp := client.GetSerialConsoleAccessStatusRequest(params)
32101//
32102//    err := req.Send()
32103//    if err == nil { // resp is now filled
32104//        fmt.Println(resp)
32105//    }
32106//
32107// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetSerialConsoleAccessStatus
32108func (c *EC2) GetSerialConsoleAccessStatusRequest(input *GetSerialConsoleAccessStatusInput) (req *request.Request, output *GetSerialConsoleAccessStatusOutput) {
32109	op := &request.Operation{
32110		Name:       opGetSerialConsoleAccessStatus,
32111		HTTPMethod: "POST",
32112		HTTPPath:   "/",
32113	}
32114
32115	if input == nil {
32116		input = &GetSerialConsoleAccessStatusInput{}
32117	}
32118
32119	output = &GetSerialConsoleAccessStatusOutput{}
32120	req = c.newRequest(op, input, output)
32121	return
32122}
32123
32124// GetSerialConsoleAccessStatus API operation for Amazon Elastic Compute Cloud.
32125//
32126// Retrieves the access status of your account to the EC2 serial console of
32127// all instances. By default, access to the EC2 serial console is disabled for
32128// your account. For more information, see Manage account access to the EC2
32129// serial console (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configure-access-to-serial-console.html#serial-console-account-access)
32130// in the Amazon EC2 User Guide.
32131//
32132// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
32133// with awserr.Error's Code and Message methods to get detailed information about
32134// the error.
32135//
32136// See the AWS API reference guide for Amazon Elastic Compute Cloud's
32137// API operation GetSerialConsoleAccessStatus for usage and error information.
32138// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetSerialConsoleAccessStatus
32139func (c *EC2) GetSerialConsoleAccessStatus(input *GetSerialConsoleAccessStatusInput) (*GetSerialConsoleAccessStatusOutput, error) {
32140	req, out := c.GetSerialConsoleAccessStatusRequest(input)
32141	return out, req.Send()
32142}
32143
32144// GetSerialConsoleAccessStatusWithContext is the same as GetSerialConsoleAccessStatus with the addition of
32145// the ability to pass a context and additional request options.
32146//
32147// See GetSerialConsoleAccessStatus for details on how to use this API operation.
32148//
32149// The context must be non-nil and will be used for request cancellation. If
32150// the context is nil a panic will occur. In the future the SDK may create
32151// sub-contexts for http.Requests. See https://golang.org/pkg/context/
32152// for more information on using Contexts.
32153func (c *EC2) GetSerialConsoleAccessStatusWithContext(ctx aws.Context, input *GetSerialConsoleAccessStatusInput, opts ...request.Option) (*GetSerialConsoleAccessStatusOutput, error) {
32154	req, out := c.GetSerialConsoleAccessStatusRequest(input)
32155	req.SetContext(ctx)
32156	req.ApplyOptions(opts...)
32157	return out, req.Send()
32158}
32159
32160const opGetTransitGatewayAttachmentPropagations = "GetTransitGatewayAttachmentPropagations"
32161
32162// GetTransitGatewayAttachmentPropagationsRequest generates a "aws/request.Request" representing the
32163// client's request for the GetTransitGatewayAttachmentPropagations operation. The "output" return
32164// value will be populated with the request's response once the request completes
32165// successfully.
32166//
32167// Use "Send" method on the returned Request to send the API call to the service.
32168// the "output" return value is not valid until after Send returns without error.
32169//
32170// See GetTransitGatewayAttachmentPropagations for more information on using the GetTransitGatewayAttachmentPropagations
32171// API call, and error handling.
32172//
32173// This method is useful when you want to inject custom logic or configuration
32174// into the SDK's request lifecycle. Such as custom headers, or retry logic.
32175//
32176//
32177//    // Example sending a request using the GetTransitGatewayAttachmentPropagationsRequest method.
32178//    req, resp := client.GetTransitGatewayAttachmentPropagationsRequest(params)
32179//
32180//    err := req.Send()
32181//    if err == nil { // resp is now filled
32182//        fmt.Println(resp)
32183//    }
32184//
32185// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayAttachmentPropagations
32186func (c *EC2) GetTransitGatewayAttachmentPropagationsRequest(input *GetTransitGatewayAttachmentPropagationsInput) (req *request.Request, output *GetTransitGatewayAttachmentPropagationsOutput) {
32187	op := &request.Operation{
32188		Name:       opGetTransitGatewayAttachmentPropagations,
32189		HTTPMethod: "POST",
32190		HTTPPath:   "/",
32191		Paginator: &request.Paginator{
32192			InputTokens:     []string{"NextToken"},
32193			OutputTokens:    []string{"NextToken"},
32194			LimitToken:      "MaxResults",
32195			TruncationToken: "",
32196		},
32197	}
32198
32199	if input == nil {
32200		input = &GetTransitGatewayAttachmentPropagationsInput{}
32201	}
32202
32203	output = &GetTransitGatewayAttachmentPropagationsOutput{}
32204	req = c.newRequest(op, input, output)
32205	return
32206}
32207
32208// GetTransitGatewayAttachmentPropagations API operation for Amazon Elastic Compute Cloud.
32209//
32210// Lists the route tables to which the specified resource attachment propagates
32211// routes.
32212//
32213// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
32214// with awserr.Error's Code and Message methods to get detailed information about
32215// the error.
32216//
32217// See the AWS API reference guide for Amazon Elastic Compute Cloud's
32218// API operation GetTransitGatewayAttachmentPropagations for usage and error information.
32219// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayAttachmentPropagations
32220func (c *EC2) GetTransitGatewayAttachmentPropagations(input *GetTransitGatewayAttachmentPropagationsInput) (*GetTransitGatewayAttachmentPropagationsOutput, error) {
32221	req, out := c.GetTransitGatewayAttachmentPropagationsRequest(input)
32222	return out, req.Send()
32223}
32224
32225// GetTransitGatewayAttachmentPropagationsWithContext is the same as GetTransitGatewayAttachmentPropagations with the addition of
32226// the ability to pass a context and additional request options.
32227//
32228// See GetTransitGatewayAttachmentPropagations for details on how to use this API operation.
32229//
32230// The context must be non-nil and will be used for request cancellation. If
32231// the context is nil a panic will occur. In the future the SDK may create
32232// sub-contexts for http.Requests. See https://golang.org/pkg/context/
32233// for more information on using Contexts.
32234func (c *EC2) GetTransitGatewayAttachmentPropagationsWithContext(ctx aws.Context, input *GetTransitGatewayAttachmentPropagationsInput, opts ...request.Option) (*GetTransitGatewayAttachmentPropagationsOutput, error) {
32235	req, out := c.GetTransitGatewayAttachmentPropagationsRequest(input)
32236	req.SetContext(ctx)
32237	req.ApplyOptions(opts...)
32238	return out, req.Send()
32239}
32240
32241// GetTransitGatewayAttachmentPropagationsPages iterates over the pages of a GetTransitGatewayAttachmentPropagations operation,
32242// calling the "fn" function with the response data for each page. To stop
32243// iterating, return false from the fn function.
32244//
32245// See GetTransitGatewayAttachmentPropagations method for more information on how to use this operation.
32246//
32247// Note: This operation can generate multiple requests to a service.
32248//
32249//    // Example iterating over at most 3 pages of a GetTransitGatewayAttachmentPropagations operation.
32250//    pageNum := 0
32251//    err := client.GetTransitGatewayAttachmentPropagationsPages(params,
32252//        func(page *ec2.GetTransitGatewayAttachmentPropagationsOutput, lastPage bool) bool {
32253//            pageNum++
32254//            fmt.Println(page)
32255//            return pageNum <= 3
32256//        })
32257//
32258func (c *EC2) GetTransitGatewayAttachmentPropagationsPages(input *GetTransitGatewayAttachmentPropagationsInput, fn func(*GetTransitGatewayAttachmentPropagationsOutput, bool) bool) error {
32259	return c.GetTransitGatewayAttachmentPropagationsPagesWithContext(aws.BackgroundContext(), input, fn)
32260}
32261
32262// GetTransitGatewayAttachmentPropagationsPagesWithContext same as GetTransitGatewayAttachmentPropagationsPages except
32263// it takes a Context and allows setting request options on the pages.
32264//
32265// The context must be non-nil and will be used for request cancellation. If
32266// the context is nil a panic will occur. In the future the SDK may create
32267// sub-contexts for http.Requests. See https://golang.org/pkg/context/
32268// for more information on using Contexts.
32269func (c *EC2) GetTransitGatewayAttachmentPropagationsPagesWithContext(ctx aws.Context, input *GetTransitGatewayAttachmentPropagationsInput, fn func(*GetTransitGatewayAttachmentPropagationsOutput, bool) bool, opts ...request.Option) error {
32270	p := request.Pagination{
32271		NewRequest: func() (*request.Request, error) {
32272			var inCpy *GetTransitGatewayAttachmentPropagationsInput
32273			if input != nil {
32274				tmp := *input
32275				inCpy = &tmp
32276			}
32277			req, _ := c.GetTransitGatewayAttachmentPropagationsRequest(inCpy)
32278			req.SetContext(ctx)
32279			req.ApplyOptions(opts...)
32280			return req, nil
32281		},
32282	}
32283
32284	for p.Next() {
32285		if !fn(p.Page().(*GetTransitGatewayAttachmentPropagationsOutput), !p.HasNextPage()) {
32286			break
32287		}
32288	}
32289
32290	return p.Err()
32291}
32292
32293const opGetTransitGatewayMulticastDomainAssociations = "GetTransitGatewayMulticastDomainAssociations"
32294
32295// GetTransitGatewayMulticastDomainAssociationsRequest generates a "aws/request.Request" representing the
32296// client's request for the GetTransitGatewayMulticastDomainAssociations operation. The "output" return
32297// value will be populated with the request's response once the request completes
32298// successfully.
32299//
32300// Use "Send" method on the returned Request to send the API call to the service.
32301// the "output" return value is not valid until after Send returns without error.
32302//
32303// See GetTransitGatewayMulticastDomainAssociations for more information on using the GetTransitGatewayMulticastDomainAssociations
32304// API call, and error handling.
32305//
32306// This method is useful when you want to inject custom logic or configuration
32307// into the SDK's request lifecycle. Such as custom headers, or retry logic.
32308//
32309//
32310//    // Example sending a request using the GetTransitGatewayMulticastDomainAssociationsRequest method.
32311//    req, resp := client.GetTransitGatewayMulticastDomainAssociationsRequest(params)
32312//
32313//    err := req.Send()
32314//    if err == nil { // resp is now filled
32315//        fmt.Println(resp)
32316//    }
32317//
32318// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayMulticastDomainAssociations
32319func (c *EC2) GetTransitGatewayMulticastDomainAssociationsRequest(input *GetTransitGatewayMulticastDomainAssociationsInput) (req *request.Request, output *GetTransitGatewayMulticastDomainAssociationsOutput) {
32320	op := &request.Operation{
32321		Name:       opGetTransitGatewayMulticastDomainAssociations,
32322		HTTPMethod: "POST",
32323		HTTPPath:   "/",
32324		Paginator: &request.Paginator{
32325			InputTokens:     []string{"NextToken"},
32326			OutputTokens:    []string{"NextToken"},
32327			LimitToken:      "MaxResults",
32328			TruncationToken: "",
32329		},
32330	}
32331
32332	if input == nil {
32333		input = &GetTransitGatewayMulticastDomainAssociationsInput{}
32334	}
32335
32336	output = &GetTransitGatewayMulticastDomainAssociationsOutput{}
32337	req = c.newRequest(op, input, output)
32338	return
32339}
32340
32341// GetTransitGatewayMulticastDomainAssociations API operation for Amazon Elastic Compute Cloud.
32342//
32343// Gets information about the associations for the transit gateway multicast
32344// domain.
32345//
32346// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
32347// with awserr.Error's Code and Message methods to get detailed information about
32348// the error.
32349//
32350// See the AWS API reference guide for Amazon Elastic Compute Cloud's
32351// API operation GetTransitGatewayMulticastDomainAssociations for usage and error information.
32352// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayMulticastDomainAssociations
32353func (c *EC2) GetTransitGatewayMulticastDomainAssociations(input *GetTransitGatewayMulticastDomainAssociationsInput) (*GetTransitGatewayMulticastDomainAssociationsOutput, error) {
32354	req, out := c.GetTransitGatewayMulticastDomainAssociationsRequest(input)
32355	return out, req.Send()
32356}
32357
32358// GetTransitGatewayMulticastDomainAssociationsWithContext is the same as GetTransitGatewayMulticastDomainAssociations with the addition of
32359// the ability to pass a context and additional request options.
32360//
32361// See GetTransitGatewayMulticastDomainAssociations for details on how to use this API operation.
32362//
32363// The context must be non-nil and will be used for request cancellation. If
32364// the context is nil a panic will occur. In the future the SDK may create
32365// sub-contexts for http.Requests. See https://golang.org/pkg/context/
32366// for more information on using Contexts.
32367func (c *EC2) GetTransitGatewayMulticastDomainAssociationsWithContext(ctx aws.Context, input *GetTransitGatewayMulticastDomainAssociationsInput, opts ...request.Option) (*GetTransitGatewayMulticastDomainAssociationsOutput, error) {
32368	req, out := c.GetTransitGatewayMulticastDomainAssociationsRequest(input)
32369	req.SetContext(ctx)
32370	req.ApplyOptions(opts...)
32371	return out, req.Send()
32372}
32373
32374// GetTransitGatewayMulticastDomainAssociationsPages iterates over the pages of a GetTransitGatewayMulticastDomainAssociations operation,
32375// calling the "fn" function with the response data for each page. To stop
32376// iterating, return false from the fn function.
32377//
32378// See GetTransitGatewayMulticastDomainAssociations method for more information on how to use this operation.
32379//
32380// Note: This operation can generate multiple requests to a service.
32381//
32382//    // Example iterating over at most 3 pages of a GetTransitGatewayMulticastDomainAssociations operation.
32383//    pageNum := 0
32384//    err := client.GetTransitGatewayMulticastDomainAssociationsPages(params,
32385//        func(page *ec2.GetTransitGatewayMulticastDomainAssociationsOutput, lastPage bool) bool {
32386//            pageNum++
32387//            fmt.Println(page)
32388//            return pageNum <= 3
32389//        })
32390//
32391func (c *EC2) GetTransitGatewayMulticastDomainAssociationsPages(input *GetTransitGatewayMulticastDomainAssociationsInput, fn func(*GetTransitGatewayMulticastDomainAssociationsOutput, bool) bool) error {
32392	return c.GetTransitGatewayMulticastDomainAssociationsPagesWithContext(aws.BackgroundContext(), input, fn)
32393}
32394
32395// GetTransitGatewayMulticastDomainAssociationsPagesWithContext same as GetTransitGatewayMulticastDomainAssociationsPages except
32396// it takes a Context and allows setting request options on the pages.
32397//
32398// The context must be non-nil and will be used for request cancellation. If
32399// the context is nil a panic will occur. In the future the SDK may create
32400// sub-contexts for http.Requests. See https://golang.org/pkg/context/
32401// for more information on using Contexts.
32402func (c *EC2) GetTransitGatewayMulticastDomainAssociationsPagesWithContext(ctx aws.Context, input *GetTransitGatewayMulticastDomainAssociationsInput, fn func(*GetTransitGatewayMulticastDomainAssociationsOutput, bool) bool, opts ...request.Option) error {
32403	p := request.Pagination{
32404		NewRequest: func() (*request.Request, error) {
32405			var inCpy *GetTransitGatewayMulticastDomainAssociationsInput
32406			if input != nil {
32407				tmp := *input
32408				inCpy = &tmp
32409			}
32410			req, _ := c.GetTransitGatewayMulticastDomainAssociationsRequest(inCpy)
32411			req.SetContext(ctx)
32412			req.ApplyOptions(opts...)
32413			return req, nil
32414		},
32415	}
32416
32417	for p.Next() {
32418		if !fn(p.Page().(*GetTransitGatewayMulticastDomainAssociationsOutput), !p.HasNextPage()) {
32419			break
32420		}
32421	}
32422
32423	return p.Err()
32424}
32425
32426const opGetTransitGatewayPrefixListReferences = "GetTransitGatewayPrefixListReferences"
32427
32428// GetTransitGatewayPrefixListReferencesRequest generates a "aws/request.Request" representing the
32429// client's request for the GetTransitGatewayPrefixListReferences operation. The "output" return
32430// value will be populated with the request's response once the request completes
32431// successfully.
32432//
32433// Use "Send" method on the returned Request to send the API call to the service.
32434// the "output" return value is not valid until after Send returns without error.
32435//
32436// See GetTransitGatewayPrefixListReferences for more information on using the GetTransitGatewayPrefixListReferences
32437// API call, and error handling.
32438//
32439// This method is useful when you want to inject custom logic or configuration
32440// into the SDK's request lifecycle. Such as custom headers, or retry logic.
32441//
32442//
32443//    // Example sending a request using the GetTransitGatewayPrefixListReferencesRequest method.
32444//    req, resp := client.GetTransitGatewayPrefixListReferencesRequest(params)
32445//
32446//    err := req.Send()
32447//    if err == nil { // resp is now filled
32448//        fmt.Println(resp)
32449//    }
32450//
32451// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayPrefixListReferences
32452func (c *EC2) GetTransitGatewayPrefixListReferencesRequest(input *GetTransitGatewayPrefixListReferencesInput) (req *request.Request, output *GetTransitGatewayPrefixListReferencesOutput) {
32453	op := &request.Operation{
32454		Name:       opGetTransitGatewayPrefixListReferences,
32455		HTTPMethod: "POST",
32456		HTTPPath:   "/",
32457		Paginator: &request.Paginator{
32458			InputTokens:     []string{"NextToken"},
32459			OutputTokens:    []string{"NextToken"},
32460			LimitToken:      "MaxResults",
32461			TruncationToken: "",
32462		},
32463	}
32464
32465	if input == nil {
32466		input = &GetTransitGatewayPrefixListReferencesInput{}
32467	}
32468
32469	output = &GetTransitGatewayPrefixListReferencesOutput{}
32470	req = c.newRequest(op, input, output)
32471	return
32472}
32473
32474// GetTransitGatewayPrefixListReferences API operation for Amazon Elastic Compute Cloud.
32475//
32476// Gets information about the prefix list references in a specified transit
32477// gateway route table.
32478//
32479// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
32480// with awserr.Error's Code and Message methods to get detailed information about
32481// the error.
32482//
32483// See the AWS API reference guide for Amazon Elastic Compute Cloud's
32484// API operation GetTransitGatewayPrefixListReferences for usage and error information.
32485// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayPrefixListReferences
32486func (c *EC2) GetTransitGatewayPrefixListReferences(input *GetTransitGatewayPrefixListReferencesInput) (*GetTransitGatewayPrefixListReferencesOutput, error) {
32487	req, out := c.GetTransitGatewayPrefixListReferencesRequest(input)
32488	return out, req.Send()
32489}
32490
32491// GetTransitGatewayPrefixListReferencesWithContext is the same as GetTransitGatewayPrefixListReferences with the addition of
32492// the ability to pass a context and additional request options.
32493//
32494// See GetTransitGatewayPrefixListReferences for details on how to use this API operation.
32495//
32496// The context must be non-nil and will be used for request cancellation. If
32497// the context is nil a panic will occur. In the future the SDK may create
32498// sub-contexts for http.Requests. See https://golang.org/pkg/context/
32499// for more information on using Contexts.
32500func (c *EC2) GetTransitGatewayPrefixListReferencesWithContext(ctx aws.Context, input *GetTransitGatewayPrefixListReferencesInput, opts ...request.Option) (*GetTransitGatewayPrefixListReferencesOutput, error) {
32501	req, out := c.GetTransitGatewayPrefixListReferencesRequest(input)
32502	req.SetContext(ctx)
32503	req.ApplyOptions(opts...)
32504	return out, req.Send()
32505}
32506
32507// GetTransitGatewayPrefixListReferencesPages iterates over the pages of a GetTransitGatewayPrefixListReferences operation,
32508// calling the "fn" function with the response data for each page. To stop
32509// iterating, return false from the fn function.
32510//
32511// See GetTransitGatewayPrefixListReferences method for more information on how to use this operation.
32512//
32513// Note: This operation can generate multiple requests to a service.
32514//
32515//    // Example iterating over at most 3 pages of a GetTransitGatewayPrefixListReferences operation.
32516//    pageNum := 0
32517//    err := client.GetTransitGatewayPrefixListReferencesPages(params,
32518//        func(page *ec2.GetTransitGatewayPrefixListReferencesOutput, lastPage bool) bool {
32519//            pageNum++
32520//            fmt.Println(page)
32521//            return pageNum <= 3
32522//        })
32523//
32524func (c *EC2) GetTransitGatewayPrefixListReferencesPages(input *GetTransitGatewayPrefixListReferencesInput, fn func(*GetTransitGatewayPrefixListReferencesOutput, bool) bool) error {
32525	return c.GetTransitGatewayPrefixListReferencesPagesWithContext(aws.BackgroundContext(), input, fn)
32526}
32527
32528// GetTransitGatewayPrefixListReferencesPagesWithContext same as GetTransitGatewayPrefixListReferencesPages except
32529// it takes a Context and allows setting request options on the pages.
32530//
32531// The context must be non-nil and will be used for request cancellation. If
32532// the context is nil a panic will occur. In the future the SDK may create
32533// sub-contexts for http.Requests. See https://golang.org/pkg/context/
32534// for more information on using Contexts.
32535func (c *EC2) GetTransitGatewayPrefixListReferencesPagesWithContext(ctx aws.Context, input *GetTransitGatewayPrefixListReferencesInput, fn func(*GetTransitGatewayPrefixListReferencesOutput, bool) bool, opts ...request.Option) error {
32536	p := request.Pagination{
32537		NewRequest: func() (*request.Request, error) {
32538			var inCpy *GetTransitGatewayPrefixListReferencesInput
32539			if input != nil {
32540				tmp := *input
32541				inCpy = &tmp
32542			}
32543			req, _ := c.GetTransitGatewayPrefixListReferencesRequest(inCpy)
32544			req.SetContext(ctx)
32545			req.ApplyOptions(opts...)
32546			return req, nil
32547		},
32548	}
32549
32550	for p.Next() {
32551		if !fn(p.Page().(*GetTransitGatewayPrefixListReferencesOutput), !p.HasNextPage()) {
32552			break
32553		}
32554	}
32555
32556	return p.Err()
32557}
32558
32559const opGetTransitGatewayRouteTableAssociations = "GetTransitGatewayRouteTableAssociations"
32560
32561// GetTransitGatewayRouteTableAssociationsRequest generates a "aws/request.Request" representing the
32562// client's request for the GetTransitGatewayRouteTableAssociations operation. The "output" return
32563// value will be populated with the request's response once the request completes
32564// successfully.
32565//
32566// Use "Send" method on the returned Request to send the API call to the service.
32567// the "output" return value is not valid until after Send returns without error.
32568//
32569// See GetTransitGatewayRouteTableAssociations for more information on using the GetTransitGatewayRouteTableAssociations
32570// API call, and error handling.
32571//
32572// This method is useful when you want to inject custom logic or configuration
32573// into the SDK's request lifecycle. Such as custom headers, or retry logic.
32574//
32575//
32576//    // Example sending a request using the GetTransitGatewayRouteTableAssociationsRequest method.
32577//    req, resp := client.GetTransitGatewayRouteTableAssociationsRequest(params)
32578//
32579//    err := req.Send()
32580//    if err == nil { // resp is now filled
32581//        fmt.Println(resp)
32582//    }
32583//
32584// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayRouteTableAssociations
32585func (c *EC2) GetTransitGatewayRouteTableAssociationsRequest(input *GetTransitGatewayRouteTableAssociationsInput) (req *request.Request, output *GetTransitGatewayRouteTableAssociationsOutput) {
32586	op := &request.Operation{
32587		Name:       opGetTransitGatewayRouteTableAssociations,
32588		HTTPMethod: "POST",
32589		HTTPPath:   "/",
32590		Paginator: &request.Paginator{
32591			InputTokens:     []string{"NextToken"},
32592			OutputTokens:    []string{"NextToken"},
32593			LimitToken:      "MaxResults",
32594			TruncationToken: "",
32595		},
32596	}
32597
32598	if input == nil {
32599		input = &GetTransitGatewayRouteTableAssociationsInput{}
32600	}
32601
32602	output = &GetTransitGatewayRouteTableAssociationsOutput{}
32603	req = c.newRequest(op, input, output)
32604	return
32605}
32606
32607// GetTransitGatewayRouteTableAssociations API operation for Amazon Elastic Compute Cloud.
32608//
32609// Gets information about the associations for the specified transit gateway
32610// route table.
32611//
32612// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
32613// with awserr.Error's Code and Message methods to get detailed information about
32614// the error.
32615//
32616// See the AWS API reference guide for Amazon Elastic Compute Cloud's
32617// API operation GetTransitGatewayRouteTableAssociations for usage and error information.
32618// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayRouteTableAssociations
32619func (c *EC2) GetTransitGatewayRouteTableAssociations(input *GetTransitGatewayRouteTableAssociationsInput) (*GetTransitGatewayRouteTableAssociationsOutput, error) {
32620	req, out := c.GetTransitGatewayRouteTableAssociationsRequest(input)
32621	return out, req.Send()
32622}
32623
32624// GetTransitGatewayRouteTableAssociationsWithContext is the same as GetTransitGatewayRouteTableAssociations with the addition of
32625// the ability to pass a context and additional request options.
32626//
32627// See GetTransitGatewayRouteTableAssociations for details on how to use this API operation.
32628//
32629// The context must be non-nil and will be used for request cancellation. If
32630// the context is nil a panic will occur. In the future the SDK may create
32631// sub-contexts for http.Requests. See https://golang.org/pkg/context/
32632// for more information on using Contexts.
32633func (c *EC2) GetTransitGatewayRouteTableAssociationsWithContext(ctx aws.Context, input *GetTransitGatewayRouteTableAssociationsInput, opts ...request.Option) (*GetTransitGatewayRouteTableAssociationsOutput, error) {
32634	req, out := c.GetTransitGatewayRouteTableAssociationsRequest(input)
32635	req.SetContext(ctx)
32636	req.ApplyOptions(opts...)
32637	return out, req.Send()
32638}
32639
32640// GetTransitGatewayRouteTableAssociationsPages iterates over the pages of a GetTransitGatewayRouteTableAssociations operation,
32641// calling the "fn" function with the response data for each page. To stop
32642// iterating, return false from the fn function.
32643//
32644// See GetTransitGatewayRouteTableAssociations method for more information on how to use this operation.
32645//
32646// Note: This operation can generate multiple requests to a service.
32647//
32648//    // Example iterating over at most 3 pages of a GetTransitGatewayRouteTableAssociations operation.
32649//    pageNum := 0
32650//    err := client.GetTransitGatewayRouteTableAssociationsPages(params,
32651//        func(page *ec2.GetTransitGatewayRouteTableAssociationsOutput, lastPage bool) bool {
32652//            pageNum++
32653//            fmt.Println(page)
32654//            return pageNum <= 3
32655//        })
32656//
32657func (c *EC2) GetTransitGatewayRouteTableAssociationsPages(input *GetTransitGatewayRouteTableAssociationsInput, fn func(*GetTransitGatewayRouteTableAssociationsOutput, bool) bool) error {
32658	return c.GetTransitGatewayRouteTableAssociationsPagesWithContext(aws.BackgroundContext(), input, fn)
32659}
32660
32661// GetTransitGatewayRouteTableAssociationsPagesWithContext same as GetTransitGatewayRouteTableAssociationsPages except
32662// it takes a Context and allows setting request options on the pages.
32663//
32664// The context must be non-nil and will be used for request cancellation. If
32665// the context is nil a panic will occur. In the future the SDK may create
32666// sub-contexts for http.Requests. See https://golang.org/pkg/context/
32667// for more information on using Contexts.
32668func (c *EC2) GetTransitGatewayRouteTableAssociationsPagesWithContext(ctx aws.Context, input *GetTransitGatewayRouteTableAssociationsInput, fn func(*GetTransitGatewayRouteTableAssociationsOutput, bool) bool, opts ...request.Option) error {
32669	p := request.Pagination{
32670		NewRequest: func() (*request.Request, error) {
32671			var inCpy *GetTransitGatewayRouteTableAssociationsInput
32672			if input != nil {
32673				tmp := *input
32674				inCpy = &tmp
32675			}
32676			req, _ := c.GetTransitGatewayRouteTableAssociationsRequest(inCpy)
32677			req.SetContext(ctx)
32678			req.ApplyOptions(opts...)
32679			return req, nil
32680		},
32681	}
32682
32683	for p.Next() {
32684		if !fn(p.Page().(*GetTransitGatewayRouteTableAssociationsOutput), !p.HasNextPage()) {
32685			break
32686		}
32687	}
32688
32689	return p.Err()
32690}
32691
32692const opGetTransitGatewayRouteTablePropagations = "GetTransitGatewayRouteTablePropagations"
32693
32694// GetTransitGatewayRouteTablePropagationsRequest generates a "aws/request.Request" representing the
32695// client's request for the GetTransitGatewayRouteTablePropagations operation. The "output" return
32696// value will be populated with the request's response once the request completes
32697// successfully.
32698//
32699// Use "Send" method on the returned Request to send the API call to the service.
32700// the "output" return value is not valid until after Send returns without error.
32701//
32702// See GetTransitGatewayRouteTablePropagations for more information on using the GetTransitGatewayRouteTablePropagations
32703// API call, and error handling.
32704//
32705// This method is useful when you want to inject custom logic or configuration
32706// into the SDK's request lifecycle. Such as custom headers, or retry logic.
32707//
32708//
32709//    // Example sending a request using the GetTransitGatewayRouteTablePropagationsRequest method.
32710//    req, resp := client.GetTransitGatewayRouteTablePropagationsRequest(params)
32711//
32712//    err := req.Send()
32713//    if err == nil { // resp is now filled
32714//        fmt.Println(resp)
32715//    }
32716//
32717// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayRouteTablePropagations
32718func (c *EC2) GetTransitGatewayRouteTablePropagationsRequest(input *GetTransitGatewayRouteTablePropagationsInput) (req *request.Request, output *GetTransitGatewayRouteTablePropagationsOutput) {
32719	op := &request.Operation{
32720		Name:       opGetTransitGatewayRouteTablePropagations,
32721		HTTPMethod: "POST",
32722		HTTPPath:   "/",
32723		Paginator: &request.Paginator{
32724			InputTokens:     []string{"NextToken"},
32725			OutputTokens:    []string{"NextToken"},
32726			LimitToken:      "MaxResults",
32727			TruncationToken: "",
32728		},
32729	}
32730
32731	if input == nil {
32732		input = &GetTransitGatewayRouteTablePropagationsInput{}
32733	}
32734
32735	output = &GetTransitGatewayRouteTablePropagationsOutput{}
32736	req = c.newRequest(op, input, output)
32737	return
32738}
32739
32740// GetTransitGatewayRouteTablePropagations API operation for Amazon Elastic Compute Cloud.
32741//
32742// Gets information about the route table propagations for the specified transit
32743// gateway route table.
32744//
32745// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
32746// with awserr.Error's Code and Message methods to get detailed information about
32747// the error.
32748//
32749// See the AWS API reference guide for Amazon Elastic Compute Cloud's
32750// API operation GetTransitGatewayRouteTablePropagations for usage and error information.
32751// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayRouteTablePropagations
32752func (c *EC2) GetTransitGatewayRouteTablePropagations(input *GetTransitGatewayRouteTablePropagationsInput) (*GetTransitGatewayRouteTablePropagationsOutput, error) {
32753	req, out := c.GetTransitGatewayRouteTablePropagationsRequest(input)
32754	return out, req.Send()
32755}
32756
32757// GetTransitGatewayRouteTablePropagationsWithContext is the same as GetTransitGatewayRouteTablePropagations with the addition of
32758// the ability to pass a context and additional request options.
32759//
32760// See GetTransitGatewayRouteTablePropagations for details on how to use this API operation.
32761//
32762// The context must be non-nil and will be used for request cancellation. If
32763// the context is nil a panic will occur. In the future the SDK may create
32764// sub-contexts for http.Requests. See https://golang.org/pkg/context/
32765// for more information on using Contexts.
32766func (c *EC2) GetTransitGatewayRouteTablePropagationsWithContext(ctx aws.Context, input *GetTransitGatewayRouteTablePropagationsInput, opts ...request.Option) (*GetTransitGatewayRouteTablePropagationsOutput, error) {
32767	req, out := c.GetTransitGatewayRouteTablePropagationsRequest(input)
32768	req.SetContext(ctx)
32769	req.ApplyOptions(opts...)
32770	return out, req.Send()
32771}
32772
32773// GetTransitGatewayRouteTablePropagationsPages iterates over the pages of a GetTransitGatewayRouteTablePropagations operation,
32774// calling the "fn" function with the response data for each page. To stop
32775// iterating, return false from the fn function.
32776//
32777// See GetTransitGatewayRouteTablePropagations method for more information on how to use this operation.
32778//
32779// Note: This operation can generate multiple requests to a service.
32780//
32781//    // Example iterating over at most 3 pages of a GetTransitGatewayRouteTablePropagations operation.
32782//    pageNum := 0
32783//    err := client.GetTransitGatewayRouteTablePropagationsPages(params,
32784//        func(page *ec2.GetTransitGatewayRouteTablePropagationsOutput, lastPage bool) bool {
32785//            pageNum++
32786//            fmt.Println(page)
32787//            return pageNum <= 3
32788//        })
32789//
32790func (c *EC2) GetTransitGatewayRouteTablePropagationsPages(input *GetTransitGatewayRouteTablePropagationsInput, fn func(*GetTransitGatewayRouteTablePropagationsOutput, bool) bool) error {
32791	return c.GetTransitGatewayRouteTablePropagationsPagesWithContext(aws.BackgroundContext(), input, fn)
32792}
32793
32794// GetTransitGatewayRouteTablePropagationsPagesWithContext same as GetTransitGatewayRouteTablePropagationsPages except
32795// it takes a Context and allows setting request options on the pages.
32796//
32797// The context must be non-nil and will be used for request cancellation. If
32798// the context is nil a panic will occur. In the future the SDK may create
32799// sub-contexts for http.Requests. See https://golang.org/pkg/context/
32800// for more information on using Contexts.
32801func (c *EC2) GetTransitGatewayRouteTablePropagationsPagesWithContext(ctx aws.Context, input *GetTransitGatewayRouteTablePropagationsInput, fn func(*GetTransitGatewayRouteTablePropagationsOutput, bool) bool, opts ...request.Option) error {
32802	p := request.Pagination{
32803		NewRequest: func() (*request.Request, error) {
32804			var inCpy *GetTransitGatewayRouteTablePropagationsInput
32805			if input != nil {
32806				tmp := *input
32807				inCpy = &tmp
32808			}
32809			req, _ := c.GetTransitGatewayRouteTablePropagationsRequest(inCpy)
32810			req.SetContext(ctx)
32811			req.ApplyOptions(opts...)
32812			return req, nil
32813		},
32814	}
32815
32816	for p.Next() {
32817		if !fn(p.Page().(*GetTransitGatewayRouteTablePropagationsOutput), !p.HasNextPage()) {
32818			break
32819		}
32820	}
32821
32822	return p.Err()
32823}
32824
32825const opImportClientVpnClientCertificateRevocationList = "ImportClientVpnClientCertificateRevocationList"
32826
32827// ImportClientVpnClientCertificateRevocationListRequest generates a "aws/request.Request" representing the
32828// client's request for the ImportClientVpnClientCertificateRevocationList operation. The "output" return
32829// value will be populated with the request's response once the request completes
32830// successfully.
32831//
32832// Use "Send" method on the returned Request to send the API call to the service.
32833// the "output" return value is not valid until after Send returns without error.
32834//
32835// See ImportClientVpnClientCertificateRevocationList for more information on using the ImportClientVpnClientCertificateRevocationList
32836// API call, and error handling.
32837//
32838// This method is useful when you want to inject custom logic or configuration
32839// into the SDK's request lifecycle. Such as custom headers, or retry logic.
32840//
32841//
32842//    // Example sending a request using the ImportClientVpnClientCertificateRevocationListRequest method.
32843//    req, resp := client.ImportClientVpnClientCertificateRevocationListRequest(params)
32844//
32845//    err := req.Send()
32846//    if err == nil { // resp is now filled
32847//        fmt.Println(resp)
32848//    }
32849//
32850// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportClientVpnClientCertificateRevocationList
32851func (c *EC2) ImportClientVpnClientCertificateRevocationListRequest(input *ImportClientVpnClientCertificateRevocationListInput) (req *request.Request, output *ImportClientVpnClientCertificateRevocationListOutput) {
32852	op := &request.Operation{
32853		Name:       opImportClientVpnClientCertificateRevocationList,
32854		HTTPMethod: "POST",
32855		HTTPPath:   "/",
32856	}
32857
32858	if input == nil {
32859		input = &ImportClientVpnClientCertificateRevocationListInput{}
32860	}
32861
32862	output = &ImportClientVpnClientCertificateRevocationListOutput{}
32863	req = c.newRequest(op, input, output)
32864	return
32865}
32866
32867// ImportClientVpnClientCertificateRevocationList API operation for Amazon Elastic Compute Cloud.
32868//
32869// Uploads a client certificate revocation list to the specified Client VPN
32870// endpoint. Uploading a client certificate revocation list overwrites the existing
32871// client certificate revocation list.
32872//
32873// Uploading a client certificate revocation list resets existing client connections.
32874//
32875// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
32876// with awserr.Error's Code and Message methods to get detailed information about
32877// the error.
32878//
32879// See the AWS API reference guide for Amazon Elastic Compute Cloud's
32880// API operation ImportClientVpnClientCertificateRevocationList for usage and error information.
32881// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportClientVpnClientCertificateRevocationList
32882func (c *EC2) ImportClientVpnClientCertificateRevocationList(input *ImportClientVpnClientCertificateRevocationListInput) (*ImportClientVpnClientCertificateRevocationListOutput, error) {
32883	req, out := c.ImportClientVpnClientCertificateRevocationListRequest(input)
32884	return out, req.Send()
32885}
32886
32887// ImportClientVpnClientCertificateRevocationListWithContext is the same as ImportClientVpnClientCertificateRevocationList with the addition of
32888// the ability to pass a context and additional request options.
32889//
32890// See ImportClientVpnClientCertificateRevocationList for details on how to use this API operation.
32891//
32892// The context must be non-nil and will be used for request cancellation. If
32893// the context is nil a panic will occur. In the future the SDK may create
32894// sub-contexts for http.Requests. See https://golang.org/pkg/context/
32895// for more information on using Contexts.
32896func (c *EC2) ImportClientVpnClientCertificateRevocationListWithContext(ctx aws.Context, input *ImportClientVpnClientCertificateRevocationListInput, opts ...request.Option) (*ImportClientVpnClientCertificateRevocationListOutput, error) {
32897	req, out := c.ImportClientVpnClientCertificateRevocationListRequest(input)
32898	req.SetContext(ctx)
32899	req.ApplyOptions(opts...)
32900	return out, req.Send()
32901}
32902
32903const opImportImage = "ImportImage"
32904
32905// ImportImageRequest generates a "aws/request.Request" representing the
32906// client's request for the ImportImage operation. The "output" return
32907// value will be populated with the request's response once the request completes
32908// successfully.
32909//
32910// Use "Send" method on the returned Request to send the API call to the service.
32911// the "output" return value is not valid until after Send returns without error.
32912//
32913// See ImportImage for more information on using the ImportImage
32914// API call, and error handling.
32915//
32916// This method is useful when you want to inject custom logic or configuration
32917// into the SDK's request lifecycle. Such as custom headers, or retry logic.
32918//
32919//
32920//    // Example sending a request using the ImportImageRequest method.
32921//    req, resp := client.ImportImageRequest(params)
32922//
32923//    err := req.Send()
32924//    if err == nil { // resp is now filled
32925//        fmt.Println(resp)
32926//    }
32927//
32928// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportImage
32929func (c *EC2) ImportImageRequest(input *ImportImageInput) (req *request.Request, output *ImportImageOutput) {
32930	op := &request.Operation{
32931		Name:       opImportImage,
32932		HTTPMethod: "POST",
32933		HTTPPath:   "/",
32934	}
32935
32936	if input == nil {
32937		input = &ImportImageInput{}
32938	}
32939
32940	output = &ImportImageOutput{}
32941	req = c.newRequest(op, input, output)
32942	return
32943}
32944
32945// ImportImage API operation for Amazon Elastic Compute Cloud.
32946//
32947// Import single or multi-volume disk images or EBS snapshots into an Amazon
32948// Machine Image (AMI).
32949//
32950// For more information, see Importing a VM as an image using VM Import/Export
32951// (https://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html)
32952// in the VM Import/Export User Guide.
32953//
32954// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
32955// with awserr.Error's Code and Message methods to get detailed information about
32956// the error.
32957//
32958// See the AWS API reference guide for Amazon Elastic Compute Cloud's
32959// API operation ImportImage for usage and error information.
32960// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportImage
32961func (c *EC2) ImportImage(input *ImportImageInput) (*ImportImageOutput, error) {
32962	req, out := c.ImportImageRequest(input)
32963	return out, req.Send()
32964}
32965
32966// ImportImageWithContext is the same as ImportImage with the addition of
32967// the ability to pass a context and additional request options.
32968//
32969// See ImportImage for details on how to use this API operation.
32970//
32971// The context must be non-nil and will be used for request cancellation. If
32972// the context is nil a panic will occur. In the future the SDK may create
32973// sub-contexts for http.Requests. See https://golang.org/pkg/context/
32974// for more information on using Contexts.
32975func (c *EC2) ImportImageWithContext(ctx aws.Context, input *ImportImageInput, opts ...request.Option) (*ImportImageOutput, error) {
32976	req, out := c.ImportImageRequest(input)
32977	req.SetContext(ctx)
32978	req.ApplyOptions(opts...)
32979	return out, req.Send()
32980}
32981
32982const opImportInstance = "ImportInstance"
32983
32984// ImportInstanceRequest generates a "aws/request.Request" representing the
32985// client's request for the ImportInstance operation. The "output" return
32986// value will be populated with the request's response once the request completes
32987// successfully.
32988//
32989// Use "Send" method on the returned Request to send the API call to the service.
32990// the "output" return value is not valid until after Send returns without error.
32991//
32992// See ImportInstance for more information on using the ImportInstance
32993// API call, and error handling.
32994//
32995// This method is useful when you want to inject custom logic or configuration
32996// into the SDK's request lifecycle. Such as custom headers, or retry logic.
32997//
32998//
32999//    // Example sending a request using the ImportInstanceRequest method.
33000//    req, resp := client.ImportInstanceRequest(params)
33001//
33002//    err := req.Send()
33003//    if err == nil { // resp is now filled
33004//        fmt.Println(resp)
33005//    }
33006//
33007// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportInstance
33008func (c *EC2) ImportInstanceRequest(input *ImportInstanceInput) (req *request.Request, output *ImportInstanceOutput) {
33009	op := &request.Operation{
33010		Name:       opImportInstance,
33011		HTTPMethod: "POST",
33012		HTTPPath:   "/",
33013	}
33014
33015	if input == nil {
33016		input = &ImportInstanceInput{}
33017	}
33018
33019	output = &ImportInstanceOutput{}
33020	req = c.newRequest(op, input, output)
33021	return
33022}
33023
33024// ImportInstance API operation for Amazon Elastic Compute Cloud.
33025//
33026// Creates an import instance task using metadata from the specified disk image.
33027//
33028// This API action supports only single-volume VMs. To import multi-volume VMs,
33029// use ImportImage instead.
33030//
33031// This API action is not supported by the AWS Command Line Interface (AWS CLI).
33032// For information about using the Amazon EC2 CLI, which is deprecated, see
33033// Importing a VM to Amazon EC2 (https://awsdocs.s3.amazonaws.com/EC2/ec2-clt.pdf#UsingVirtualMachinesinAmazonEC2)
33034// in the Amazon EC2 CLI Reference PDF file.
33035//
33036// For information about the import manifest referenced by this API action,
33037// see VM Import Manifest (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
33038//
33039// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
33040// with awserr.Error's Code and Message methods to get detailed information about
33041// the error.
33042//
33043// See the AWS API reference guide for Amazon Elastic Compute Cloud's
33044// API operation ImportInstance for usage and error information.
33045// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportInstance
33046func (c *EC2) ImportInstance(input *ImportInstanceInput) (*ImportInstanceOutput, error) {
33047	req, out := c.ImportInstanceRequest(input)
33048	return out, req.Send()
33049}
33050
33051// ImportInstanceWithContext is the same as ImportInstance with the addition of
33052// the ability to pass a context and additional request options.
33053//
33054// See ImportInstance for details on how to use this API operation.
33055//
33056// The context must be non-nil and will be used for request cancellation. If
33057// the context is nil a panic will occur. In the future the SDK may create
33058// sub-contexts for http.Requests. See https://golang.org/pkg/context/
33059// for more information on using Contexts.
33060func (c *EC2) ImportInstanceWithContext(ctx aws.Context, input *ImportInstanceInput, opts ...request.Option) (*ImportInstanceOutput, error) {
33061	req, out := c.ImportInstanceRequest(input)
33062	req.SetContext(ctx)
33063	req.ApplyOptions(opts...)
33064	return out, req.Send()
33065}
33066
33067const opImportKeyPair = "ImportKeyPair"
33068
33069// ImportKeyPairRequest generates a "aws/request.Request" representing the
33070// client's request for the ImportKeyPair operation. The "output" return
33071// value will be populated with the request's response once the request completes
33072// successfully.
33073//
33074// Use "Send" method on the returned Request to send the API call to the service.
33075// the "output" return value is not valid until after Send returns without error.
33076//
33077// See ImportKeyPair for more information on using the ImportKeyPair
33078// API call, and error handling.
33079//
33080// This method is useful when you want to inject custom logic or configuration
33081// into the SDK's request lifecycle. Such as custom headers, or retry logic.
33082//
33083//
33084//    // Example sending a request using the ImportKeyPairRequest method.
33085//    req, resp := client.ImportKeyPairRequest(params)
33086//
33087//    err := req.Send()
33088//    if err == nil { // resp is now filled
33089//        fmt.Println(resp)
33090//    }
33091//
33092// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportKeyPair
33093func (c *EC2) ImportKeyPairRequest(input *ImportKeyPairInput) (req *request.Request, output *ImportKeyPairOutput) {
33094	op := &request.Operation{
33095		Name:       opImportKeyPair,
33096		HTTPMethod: "POST",
33097		HTTPPath:   "/",
33098	}
33099
33100	if input == nil {
33101		input = &ImportKeyPairInput{}
33102	}
33103
33104	output = &ImportKeyPairOutput{}
33105	req = c.newRequest(op, input, output)
33106	return
33107}
33108
33109// ImportKeyPair API operation for Amazon Elastic Compute Cloud.
33110//
33111// Imports the public key from an RSA key pair that you created with a third-party
33112// tool. Compare this with CreateKeyPair, in which AWS creates the key pair
33113// and gives the keys to you (AWS keeps a copy of the public key). With ImportKeyPair,
33114// you create the key pair and give AWS just the public key. The private key
33115// is never transferred between you and AWS.
33116//
33117// For more information about key pairs, see Key Pairs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
33118// in the Amazon Elastic Compute Cloud User Guide.
33119//
33120// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
33121// with awserr.Error's Code and Message methods to get detailed information about
33122// the error.
33123//
33124// See the AWS API reference guide for Amazon Elastic Compute Cloud's
33125// API operation ImportKeyPair for usage and error information.
33126// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportKeyPair
33127func (c *EC2) ImportKeyPair(input *ImportKeyPairInput) (*ImportKeyPairOutput, error) {
33128	req, out := c.ImportKeyPairRequest(input)
33129	return out, req.Send()
33130}
33131
33132// ImportKeyPairWithContext is the same as ImportKeyPair with the addition of
33133// the ability to pass a context and additional request options.
33134//
33135// See ImportKeyPair for details on how to use this API operation.
33136//
33137// The context must be non-nil and will be used for request cancellation. If
33138// the context is nil a panic will occur. In the future the SDK may create
33139// sub-contexts for http.Requests. See https://golang.org/pkg/context/
33140// for more information on using Contexts.
33141func (c *EC2) ImportKeyPairWithContext(ctx aws.Context, input *ImportKeyPairInput, opts ...request.Option) (*ImportKeyPairOutput, error) {
33142	req, out := c.ImportKeyPairRequest(input)
33143	req.SetContext(ctx)
33144	req.ApplyOptions(opts...)
33145	return out, req.Send()
33146}
33147
33148const opImportSnapshot = "ImportSnapshot"
33149
33150// ImportSnapshotRequest generates a "aws/request.Request" representing the
33151// client's request for the ImportSnapshot operation. The "output" return
33152// value will be populated with the request's response once the request completes
33153// successfully.
33154//
33155// Use "Send" method on the returned Request to send the API call to the service.
33156// the "output" return value is not valid until after Send returns without error.
33157//
33158// See ImportSnapshot for more information on using the ImportSnapshot
33159// API call, and error handling.
33160//
33161// This method is useful when you want to inject custom logic or configuration
33162// into the SDK's request lifecycle. Such as custom headers, or retry logic.
33163//
33164//
33165//    // Example sending a request using the ImportSnapshotRequest method.
33166//    req, resp := client.ImportSnapshotRequest(params)
33167//
33168//    err := req.Send()
33169//    if err == nil { // resp is now filled
33170//        fmt.Println(resp)
33171//    }
33172//
33173// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportSnapshot
33174func (c *EC2) ImportSnapshotRequest(input *ImportSnapshotInput) (req *request.Request, output *ImportSnapshotOutput) {
33175	op := &request.Operation{
33176		Name:       opImportSnapshot,
33177		HTTPMethod: "POST",
33178		HTTPPath:   "/",
33179	}
33180
33181	if input == nil {
33182		input = &ImportSnapshotInput{}
33183	}
33184
33185	output = &ImportSnapshotOutput{}
33186	req = c.newRequest(op, input, output)
33187	return
33188}
33189
33190// ImportSnapshot API operation for Amazon Elastic Compute Cloud.
33191//
33192// Imports a disk into an EBS snapshot.
33193//
33194// For more information, see Importing a disk as a snapshot using VM Import/Export
33195// (https://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-import-snapshot.html)
33196// in the VM Import/Export User Guide.
33197//
33198// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
33199// with awserr.Error's Code and Message methods to get detailed information about
33200// the error.
33201//
33202// See the AWS API reference guide for Amazon Elastic Compute Cloud's
33203// API operation ImportSnapshot for usage and error information.
33204// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportSnapshot
33205func (c *EC2) ImportSnapshot(input *ImportSnapshotInput) (*ImportSnapshotOutput, error) {
33206	req, out := c.ImportSnapshotRequest(input)
33207	return out, req.Send()
33208}
33209
33210// ImportSnapshotWithContext is the same as ImportSnapshot with the addition of
33211// the ability to pass a context and additional request options.
33212//
33213// See ImportSnapshot for details on how to use this API operation.
33214//
33215// The context must be non-nil and will be used for request cancellation. If
33216// the context is nil a panic will occur. In the future the SDK may create
33217// sub-contexts for http.Requests. See https://golang.org/pkg/context/
33218// for more information on using Contexts.
33219func (c *EC2) ImportSnapshotWithContext(ctx aws.Context, input *ImportSnapshotInput, opts ...request.Option) (*ImportSnapshotOutput, error) {
33220	req, out := c.ImportSnapshotRequest(input)
33221	req.SetContext(ctx)
33222	req.ApplyOptions(opts...)
33223	return out, req.Send()
33224}
33225
33226const opImportVolume = "ImportVolume"
33227
33228// ImportVolumeRequest generates a "aws/request.Request" representing the
33229// client's request for the ImportVolume operation. The "output" return
33230// value will be populated with the request's response once the request completes
33231// successfully.
33232//
33233// Use "Send" method on the returned Request to send the API call to the service.
33234// the "output" return value is not valid until after Send returns without error.
33235//
33236// See ImportVolume for more information on using the ImportVolume
33237// API call, and error handling.
33238//
33239// This method is useful when you want to inject custom logic or configuration
33240// into the SDK's request lifecycle. Such as custom headers, or retry logic.
33241//
33242//
33243//    // Example sending a request using the ImportVolumeRequest method.
33244//    req, resp := client.ImportVolumeRequest(params)
33245//
33246//    err := req.Send()
33247//    if err == nil { // resp is now filled
33248//        fmt.Println(resp)
33249//    }
33250//
33251// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportVolume
33252func (c *EC2) ImportVolumeRequest(input *ImportVolumeInput) (req *request.Request, output *ImportVolumeOutput) {
33253	op := &request.Operation{
33254		Name:       opImportVolume,
33255		HTTPMethod: "POST",
33256		HTTPPath:   "/",
33257	}
33258
33259	if input == nil {
33260		input = &ImportVolumeInput{}
33261	}
33262
33263	output = &ImportVolumeOutput{}
33264	req = c.newRequest(op, input, output)
33265	return
33266}
33267
33268// ImportVolume API operation for Amazon Elastic Compute Cloud.
33269//
33270// Creates an import volume task using metadata from the specified disk image.
33271//
33272// This API action supports only single-volume VMs. To import multi-volume VMs,
33273// use ImportImage instead. To import a disk to a snapshot, use ImportSnapshot
33274// instead.
33275//
33276// This API action is not supported by the AWS Command Line Interface (AWS CLI).
33277// For information about using the Amazon EC2 CLI, which is deprecated, see
33278// Importing Disks to Amazon EBS (https://awsdocs.s3.amazonaws.com/EC2/ec2-clt.pdf#importing-your-volumes-into-amazon-ebs)
33279// in the Amazon EC2 CLI Reference PDF file.
33280//
33281// For information about the import manifest referenced by this API action,
33282// see VM Import Manifest (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
33283//
33284// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
33285// with awserr.Error's Code and Message methods to get detailed information about
33286// the error.
33287//
33288// See the AWS API reference guide for Amazon Elastic Compute Cloud's
33289// API operation ImportVolume for usage and error information.
33290// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportVolume
33291func (c *EC2) ImportVolume(input *ImportVolumeInput) (*ImportVolumeOutput, error) {
33292	req, out := c.ImportVolumeRequest(input)
33293	return out, req.Send()
33294}
33295
33296// ImportVolumeWithContext is the same as ImportVolume with the addition of
33297// the ability to pass a context and additional request options.
33298//
33299// See ImportVolume for details on how to use this API operation.
33300//
33301// The context must be non-nil and will be used for request cancellation. If
33302// the context is nil a panic will occur. In the future the SDK may create
33303// sub-contexts for http.Requests. See https://golang.org/pkg/context/
33304// for more information on using Contexts.
33305func (c *EC2) ImportVolumeWithContext(ctx aws.Context, input *ImportVolumeInput, opts ...request.Option) (*ImportVolumeOutput, error) {
33306	req, out := c.ImportVolumeRequest(input)
33307	req.SetContext(ctx)
33308	req.ApplyOptions(opts...)
33309	return out, req.Send()
33310}
33311
33312const opModifyAddressAttribute = "ModifyAddressAttribute"
33313
33314// ModifyAddressAttributeRequest generates a "aws/request.Request" representing the
33315// client's request for the ModifyAddressAttribute operation. The "output" return
33316// value will be populated with the request's response once the request completes
33317// successfully.
33318//
33319// Use "Send" method on the returned Request to send the API call to the service.
33320// the "output" return value is not valid until after Send returns without error.
33321//
33322// See ModifyAddressAttribute for more information on using the ModifyAddressAttribute
33323// API call, and error handling.
33324//
33325// This method is useful when you want to inject custom logic or configuration
33326// into the SDK's request lifecycle. Such as custom headers, or retry logic.
33327//
33328//
33329//    // Example sending a request using the ModifyAddressAttributeRequest method.
33330//    req, resp := client.ModifyAddressAttributeRequest(params)
33331//
33332//    err := req.Send()
33333//    if err == nil { // resp is now filled
33334//        fmt.Println(resp)
33335//    }
33336//
33337// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyAddressAttribute
33338func (c *EC2) ModifyAddressAttributeRequest(input *ModifyAddressAttributeInput) (req *request.Request, output *ModifyAddressAttributeOutput) {
33339	op := &request.Operation{
33340		Name:       opModifyAddressAttribute,
33341		HTTPMethod: "POST",
33342		HTTPPath:   "/",
33343	}
33344
33345	if input == nil {
33346		input = &ModifyAddressAttributeInput{}
33347	}
33348
33349	output = &ModifyAddressAttributeOutput{}
33350	req = c.newRequest(op, input, output)
33351	return
33352}
33353
33354// ModifyAddressAttribute API operation for Amazon Elastic Compute Cloud.
33355//
33356// Modifies an attribute of the specified Elastic IP address. For requirements,
33357// see Using reverse DNS for email applications (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html#Using_Elastic_Addressing_Reverse_DNS).
33358//
33359// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
33360// with awserr.Error's Code and Message methods to get detailed information about
33361// the error.
33362//
33363// See the AWS API reference guide for Amazon Elastic Compute Cloud's
33364// API operation ModifyAddressAttribute for usage and error information.
33365// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyAddressAttribute
33366func (c *EC2) ModifyAddressAttribute(input *ModifyAddressAttributeInput) (*ModifyAddressAttributeOutput, error) {
33367	req, out := c.ModifyAddressAttributeRequest(input)
33368	return out, req.Send()
33369}
33370
33371// ModifyAddressAttributeWithContext is the same as ModifyAddressAttribute with the addition of
33372// the ability to pass a context and additional request options.
33373//
33374// See ModifyAddressAttribute for details on how to use this API operation.
33375//
33376// The context must be non-nil and will be used for request cancellation. If
33377// the context is nil a panic will occur. In the future the SDK may create
33378// sub-contexts for http.Requests. See https://golang.org/pkg/context/
33379// for more information on using Contexts.
33380func (c *EC2) ModifyAddressAttributeWithContext(ctx aws.Context, input *ModifyAddressAttributeInput, opts ...request.Option) (*ModifyAddressAttributeOutput, error) {
33381	req, out := c.ModifyAddressAttributeRequest(input)
33382	req.SetContext(ctx)
33383	req.ApplyOptions(opts...)
33384	return out, req.Send()
33385}
33386
33387const opModifyAvailabilityZoneGroup = "ModifyAvailabilityZoneGroup"
33388
33389// ModifyAvailabilityZoneGroupRequest generates a "aws/request.Request" representing the
33390// client's request for the ModifyAvailabilityZoneGroup operation. The "output" return
33391// value will be populated with the request's response once the request completes
33392// successfully.
33393//
33394// Use "Send" method on the returned Request to send the API call to the service.
33395// the "output" return value is not valid until after Send returns without error.
33396//
33397// See ModifyAvailabilityZoneGroup for more information on using the ModifyAvailabilityZoneGroup
33398// API call, and error handling.
33399//
33400// This method is useful when you want to inject custom logic or configuration
33401// into the SDK's request lifecycle. Such as custom headers, or retry logic.
33402//
33403//
33404//    // Example sending a request using the ModifyAvailabilityZoneGroupRequest method.
33405//    req, resp := client.ModifyAvailabilityZoneGroupRequest(params)
33406//
33407//    err := req.Send()
33408//    if err == nil { // resp is now filled
33409//        fmt.Println(resp)
33410//    }
33411//
33412// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyAvailabilityZoneGroup
33413func (c *EC2) ModifyAvailabilityZoneGroupRequest(input *ModifyAvailabilityZoneGroupInput) (req *request.Request, output *ModifyAvailabilityZoneGroupOutput) {
33414	op := &request.Operation{
33415		Name:       opModifyAvailabilityZoneGroup,
33416		HTTPMethod: "POST",
33417		HTTPPath:   "/",
33418	}
33419
33420	if input == nil {
33421		input = &ModifyAvailabilityZoneGroupInput{}
33422	}
33423
33424	output = &ModifyAvailabilityZoneGroupOutput{}
33425	req = c.newRequest(op, input, output)
33426	return
33427}
33428
33429// ModifyAvailabilityZoneGroup API operation for Amazon Elastic Compute Cloud.
33430//
33431// Changes the opt-in status of the Local Zone and Wavelength Zone group for
33432// your account.
33433//
33434// Use DescribeAvailabilityZones (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAvailabilityZones.html)
33435// to view the value for GroupName.
33436//
33437// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
33438// with awserr.Error's Code and Message methods to get detailed information about
33439// the error.
33440//
33441// See the AWS API reference guide for Amazon Elastic Compute Cloud's
33442// API operation ModifyAvailabilityZoneGroup for usage and error information.
33443// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyAvailabilityZoneGroup
33444func (c *EC2) ModifyAvailabilityZoneGroup(input *ModifyAvailabilityZoneGroupInput) (*ModifyAvailabilityZoneGroupOutput, error) {
33445	req, out := c.ModifyAvailabilityZoneGroupRequest(input)
33446	return out, req.Send()
33447}
33448
33449// ModifyAvailabilityZoneGroupWithContext is the same as ModifyAvailabilityZoneGroup with the addition of
33450// the ability to pass a context and additional request options.
33451//
33452// See ModifyAvailabilityZoneGroup for details on how to use this API operation.
33453//
33454// The context must be non-nil and will be used for request cancellation. If
33455// the context is nil a panic will occur. In the future the SDK may create
33456// sub-contexts for http.Requests. See https://golang.org/pkg/context/
33457// for more information on using Contexts.
33458func (c *EC2) ModifyAvailabilityZoneGroupWithContext(ctx aws.Context, input *ModifyAvailabilityZoneGroupInput, opts ...request.Option) (*ModifyAvailabilityZoneGroupOutput, error) {
33459	req, out := c.ModifyAvailabilityZoneGroupRequest(input)
33460	req.SetContext(ctx)
33461	req.ApplyOptions(opts...)
33462	return out, req.Send()
33463}
33464
33465const opModifyCapacityReservation = "ModifyCapacityReservation"
33466
33467// ModifyCapacityReservationRequest generates a "aws/request.Request" representing the
33468// client's request for the ModifyCapacityReservation operation. The "output" return
33469// value will be populated with the request's response once the request completes
33470// successfully.
33471//
33472// Use "Send" method on the returned Request to send the API call to the service.
33473// the "output" return value is not valid until after Send returns without error.
33474//
33475// See ModifyCapacityReservation for more information on using the ModifyCapacityReservation
33476// API call, and error handling.
33477//
33478// This method is useful when you want to inject custom logic or configuration
33479// into the SDK's request lifecycle. Such as custom headers, or retry logic.
33480//
33481//
33482//    // Example sending a request using the ModifyCapacityReservationRequest method.
33483//    req, resp := client.ModifyCapacityReservationRequest(params)
33484//
33485//    err := req.Send()
33486//    if err == nil { // resp is now filled
33487//        fmt.Println(resp)
33488//    }
33489//
33490// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyCapacityReservation
33491func (c *EC2) ModifyCapacityReservationRequest(input *ModifyCapacityReservationInput) (req *request.Request, output *ModifyCapacityReservationOutput) {
33492	op := &request.Operation{
33493		Name:       opModifyCapacityReservation,
33494		HTTPMethod: "POST",
33495		HTTPPath:   "/",
33496	}
33497
33498	if input == nil {
33499		input = &ModifyCapacityReservationInput{}
33500	}
33501
33502	output = &ModifyCapacityReservationOutput{}
33503	req = c.newRequest(op, input, output)
33504	return
33505}
33506
33507// ModifyCapacityReservation API operation for Amazon Elastic Compute Cloud.
33508//
33509// Modifies a Capacity Reservation's capacity and the conditions under which
33510// it is to be released. You cannot change a Capacity Reservation's instance
33511// type, EBS optimization, instance store settings, platform, Availability Zone,
33512// or instance eligibility. If you need to modify any of these attributes, we
33513// recommend that you cancel the Capacity Reservation, and then create a new
33514// one with the required attributes.
33515//
33516// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
33517// with awserr.Error's Code and Message methods to get detailed information about
33518// the error.
33519//
33520// See the AWS API reference guide for Amazon Elastic Compute Cloud's
33521// API operation ModifyCapacityReservation for usage and error information.
33522// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyCapacityReservation
33523func (c *EC2) ModifyCapacityReservation(input *ModifyCapacityReservationInput) (*ModifyCapacityReservationOutput, error) {
33524	req, out := c.ModifyCapacityReservationRequest(input)
33525	return out, req.Send()
33526}
33527
33528// ModifyCapacityReservationWithContext is the same as ModifyCapacityReservation with the addition of
33529// the ability to pass a context and additional request options.
33530//
33531// See ModifyCapacityReservation for details on how to use this API operation.
33532//
33533// The context must be non-nil and will be used for request cancellation. If
33534// the context is nil a panic will occur. In the future the SDK may create
33535// sub-contexts for http.Requests. See https://golang.org/pkg/context/
33536// for more information on using Contexts.
33537func (c *EC2) ModifyCapacityReservationWithContext(ctx aws.Context, input *ModifyCapacityReservationInput, opts ...request.Option) (*ModifyCapacityReservationOutput, error) {
33538	req, out := c.ModifyCapacityReservationRequest(input)
33539	req.SetContext(ctx)
33540	req.ApplyOptions(opts...)
33541	return out, req.Send()
33542}
33543
33544const opModifyClientVpnEndpoint = "ModifyClientVpnEndpoint"
33545
33546// ModifyClientVpnEndpointRequest generates a "aws/request.Request" representing the
33547// client's request for the ModifyClientVpnEndpoint operation. The "output" return
33548// value will be populated with the request's response once the request completes
33549// successfully.
33550//
33551// Use "Send" method on the returned Request to send the API call to the service.
33552// the "output" return value is not valid until after Send returns without error.
33553//
33554// See ModifyClientVpnEndpoint for more information on using the ModifyClientVpnEndpoint
33555// API call, and error handling.
33556//
33557// This method is useful when you want to inject custom logic or configuration
33558// into the SDK's request lifecycle. Such as custom headers, or retry logic.
33559//
33560//
33561//    // Example sending a request using the ModifyClientVpnEndpointRequest method.
33562//    req, resp := client.ModifyClientVpnEndpointRequest(params)
33563//
33564//    err := req.Send()
33565//    if err == nil { // resp is now filled
33566//        fmt.Println(resp)
33567//    }
33568//
33569// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyClientVpnEndpoint
33570func (c *EC2) ModifyClientVpnEndpointRequest(input *ModifyClientVpnEndpointInput) (req *request.Request, output *ModifyClientVpnEndpointOutput) {
33571	op := &request.Operation{
33572		Name:       opModifyClientVpnEndpoint,
33573		HTTPMethod: "POST",
33574		HTTPPath:   "/",
33575	}
33576
33577	if input == nil {
33578		input = &ModifyClientVpnEndpointInput{}
33579	}
33580
33581	output = &ModifyClientVpnEndpointOutput{}
33582	req = c.newRequest(op, input, output)
33583	return
33584}
33585
33586// ModifyClientVpnEndpoint API operation for Amazon Elastic Compute Cloud.
33587//
33588// Modifies the specified Client VPN endpoint. Modifying the DNS server resets
33589// existing client connections.
33590//
33591// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
33592// with awserr.Error's Code and Message methods to get detailed information about
33593// the error.
33594//
33595// See the AWS API reference guide for Amazon Elastic Compute Cloud's
33596// API operation ModifyClientVpnEndpoint for usage and error information.
33597// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyClientVpnEndpoint
33598func (c *EC2) ModifyClientVpnEndpoint(input *ModifyClientVpnEndpointInput) (*ModifyClientVpnEndpointOutput, error) {
33599	req, out := c.ModifyClientVpnEndpointRequest(input)
33600	return out, req.Send()
33601}
33602
33603// ModifyClientVpnEndpointWithContext is the same as ModifyClientVpnEndpoint with the addition of
33604// the ability to pass a context and additional request options.
33605//
33606// See ModifyClientVpnEndpoint for details on how to use this API operation.
33607//
33608// The context must be non-nil and will be used for request cancellation. If
33609// the context is nil a panic will occur. In the future the SDK may create
33610// sub-contexts for http.Requests. See https://golang.org/pkg/context/
33611// for more information on using Contexts.
33612func (c *EC2) ModifyClientVpnEndpointWithContext(ctx aws.Context, input *ModifyClientVpnEndpointInput, opts ...request.Option) (*ModifyClientVpnEndpointOutput, error) {
33613	req, out := c.ModifyClientVpnEndpointRequest(input)
33614	req.SetContext(ctx)
33615	req.ApplyOptions(opts...)
33616	return out, req.Send()
33617}
33618
33619const opModifyDefaultCreditSpecification = "ModifyDefaultCreditSpecification"
33620
33621// ModifyDefaultCreditSpecificationRequest generates a "aws/request.Request" representing the
33622// client's request for the ModifyDefaultCreditSpecification operation. The "output" return
33623// value will be populated with the request's response once the request completes
33624// successfully.
33625//
33626// Use "Send" method on the returned Request to send the API call to the service.
33627// the "output" return value is not valid until after Send returns without error.
33628//
33629// See ModifyDefaultCreditSpecification for more information on using the ModifyDefaultCreditSpecification
33630// API call, and error handling.
33631//
33632// This method is useful when you want to inject custom logic or configuration
33633// into the SDK's request lifecycle. Such as custom headers, or retry logic.
33634//
33635//
33636//    // Example sending a request using the ModifyDefaultCreditSpecificationRequest method.
33637//    req, resp := client.ModifyDefaultCreditSpecificationRequest(params)
33638//
33639//    err := req.Send()
33640//    if err == nil { // resp is now filled
33641//        fmt.Println(resp)
33642//    }
33643//
33644// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyDefaultCreditSpecification
33645func (c *EC2) ModifyDefaultCreditSpecificationRequest(input *ModifyDefaultCreditSpecificationInput) (req *request.Request, output *ModifyDefaultCreditSpecificationOutput) {
33646	op := &request.Operation{
33647		Name:       opModifyDefaultCreditSpecification,
33648		HTTPMethod: "POST",
33649		HTTPPath:   "/",
33650	}
33651
33652	if input == nil {
33653		input = &ModifyDefaultCreditSpecificationInput{}
33654	}
33655
33656	output = &ModifyDefaultCreditSpecificationOutput{}
33657	req = c.newRequest(op, input, output)
33658	return
33659}
33660
33661// ModifyDefaultCreditSpecification API operation for Amazon Elastic Compute Cloud.
33662//
33663// Modifies the default credit option for CPU usage of burstable performance
33664// instances. The default credit option is set at the account level per AWS
33665// Region, and is specified per instance family. All new burstable performance
33666// instances in the account launch using the default credit option.
33667//
33668// ModifyDefaultCreditSpecification is an asynchronous operation, which works
33669// at an AWS Region level and modifies the credit option for each Availability
33670// Zone. All zones in a Region are updated within five minutes. But if instances
33671// are launched during this operation, they might not get the new credit option
33672// until the zone is updated. To verify whether the update has occurred, you
33673// can call GetDefaultCreditSpecification and check DefaultCreditSpecification
33674// for updates.
33675//
33676// For more information, see Burstable performance instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html)
33677// in the Amazon EC2 User Guide.
33678//
33679// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
33680// with awserr.Error's Code and Message methods to get detailed information about
33681// the error.
33682//
33683// See the AWS API reference guide for Amazon Elastic Compute Cloud's
33684// API operation ModifyDefaultCreditSpecification for usage and error information.
33685// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyDefaultCreditSpecification
33686func (c *EC2) ModifyDefaultCreditSpecification(input *ModifyDefaultCreditSpecificationInput) (*ModifyDefaultCreditSpecificationOutput, error) {
33687	req, out := c.ModifyDefaultCreditSpecificationRequest(input)
33688	return out, req.Send()
33689}
33690
33691// ModifyDefaultCreditSpecificationWithContext is the same as ModifyDefaultCreditSpecification with the addition of
33692// the ability to pass a context and additional request options.
33693//
33694// See ModifyDefaultCreditSpecification for details on how to use this API operation.
33695//
33696// The context must be non-nil and will be used for request cancellation. If
33697// the context is nil a panic will occur. In the future the SDK may create
33698// sub-contexts for http.Requests. See https://golang.org/pkg/context/
33699// for more information on using Contexts.
33700func (c *EC2) ModifyDefaultCreditSpecificationWithContext(ctx aws.Context, input *ModifyDefaultCreditSpecificationInput, opts ...request.Option) (*ModifyDefaultCreditSpecificationOutput, error) {
33701	req, out := c.ModifyDefaultCreditSpecificationRequest(input)
33702	req.SetContext(ctx)
33703	req.ApplyOptions(opts...)
33704	return out, req.Send()
33705}
33706
33707const opModifyEbsDefaultKmsKeyId = "ModifyEbsDefaultKmsKeyId"
33708
33709// ModifyEbsDefaultKmsKeyIdRequest generates a "aws/request.Request" representing the
33710// client's request for the ModifyEbsDefaultKmsKeyId operation. The "output" return
33711// value will be populated with the request's response once the request completes
33712// successfully.
33713//
33714// Use "Send" method on the returned Request to send the API call to the service.
33715// the "output" return value is not valid until after Send returns without error.
33716//
33717// See ModifyEbsDefaultKmsKeyId for more information on using the ModifyEbsDefaultKmsKeyId
33718// API call, and error handling.
33719//
33720// This method is useful when you want to inject custom logic or configuration
33721// into the SDK's request lifecycle. Such as custom headers, or retry logic.
33722//
33723//
33724//    // Example sending a request using the ModifyEbsDefaultKmsKeyIdRequest method.
33725//    req, resp := client.ModifyEbsDefaultKmsKeyIdRequest(params)
33726//
33727//    err := req.Send()
33728//    if err == nil { // resp is now filled
33729//        fmt.Println(resp)
33730//    }
33731//
33732// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyEbsDefaultKmsKeyId
33733func (c *EC2) ModifyEbsDefaultKmsKeyIdRequest(input *ModifyEbsDefaultKmsKeyIdInput) (req *request.Request, output *ModifyEbsDefaultKmsKeyIdOutput) {
33734	op := &request.Operation{
33735		Name:       opModifyEbsDefaultKmsKeyId,
33736		HTTPMethod: "POST",
33737		HTTPPath:   "/",
33738	}
33739
33740	if input == nil {
33741		input = &ModifyEbsDefaultKmsKeyIdInput{}
33742	}
33743
33744	output = &ModifyEbsDefaultKmsKeyIdOutput{}
33745	req = c.newRequest(op, input, output)
33746	return
33747}
33748
33749// ModifyEbsDefaultKmsKeyId API operation for Amazon Elastic Compute Cloud.
33750//
33751// Changes the default customer master key (CMK) for EBS encryption by default
33752// for your account in this Region.
33753//
33754// AWS creates a unique AWS managed CMK in each Region for use with encryption
33755// by default. If you change the default CMK to a symmetric customer managed
33756// CMK, it is used instead of the AWS managed CMK. To reset the default CMK
33757// to the AWS managed CMK for EBS, use ResetEbsDefaultKmsKeyId. Amazon EBS does
33758// not support asymmetric CMKs.
33759//
33760// If you delete or disable the customer managed CMK that you specified for
33761// use with encryption by default, your instances will fail to launch.
33762//
33763// For more information, see Amazon EBS encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
33764// in the Amazon Elastic Compute Cloud User Guide.
33765//
33766// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
33767// with awserr.Error's Code and Message methods to get detailed information about
33768// the error.
33769//
33770// See the AWS API reference guide for Amazon Elastic Compute Cloud's
33771// API operation ModifyEbsDefaultKmsKeyId for usage and error information.
33772// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyEbsDefaultKmsKeyId
33773func (c *EC2) ModifyEbsDefaultKmsKeyId(input *ModifyEbsDefaultKmsKeyIdInput) (*ModifyEbsDefaultKmsKeyIdOutput, error) {
33774	req, out := c.ModifyEbsDefaultKmsKeyIdRequest(input)
33775	return out, req.Send()
33776}
33777
33778// ModifyEbsDefaultKmsKeyIdWithContext is the same as ModifyEbsDefaultKmsKeyId with the addition of
33779// the ability to pass a context and additional request options.
33780//
33781// See ModifyEbsDefaultKmsKeyId for details on how to use this API operation.
33782//
33783// The context must be non-nil and will be used for request cancellation. If
33784// the context is nil a panic will occur. In the future the SDK may create
33785// sub-contexts for http.Requests. See https://golang.org/pkg/context/
33786// for more information on using Contexts.
33787func (c *EC2) ModifyEbsDefaultKmsKeyIdWithContext(ctx aws.Context, input *ModifyEbsDefaultKmsKeyIdInput, opts ...request.Option) (*ModifyEbsDefaultKmsKeyIdOutput, error) {
33788	req, out := c.ModifyEbsDefaultKmsKeyIdRequest(input)
33789	req.SetContext(ctx)
33790	req.ApplyOptions(opts...)
33791	return out, req.Send()
33792}
33793
33794const opModifyFleet = "ModifyFleet"
33795
33796// ModifyFleetRequest generates a "aws/request.Request" representing the
33797// client's request for the ModifyFleet operation. The "output" return
33798// value will be populated with the request's response once the request completes
33799// successfully.
33800//
33801// Use "Send" method on the returned Request to send the API call to the service.
33802// the "output" return value is not valid until after Send returns without error.
33803//
33804// See ModifyFleet for more information on using the ModifyFleet
33805// API call, and error handling.
33806//
33807// This method is useful when you want to inject custom logic or configuration
33808// into the SDK's request lifecycle. Such as custom headers, or retry logic.
33809//
33810//
33811//    // Example sending a request using the ModifyFleetRequest method.
33812//    req, resp := client.ModifyFleetRequest(params)
33813//
33814//    err := req.Send()
33815//    if err == nil { // resp is now filled
33816//        fmt.Println(resp)
33817//    }
33818//
33819// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyFleet
33820func (c *EC2) ModifyFleetRequest(input *ModifyFleetInput) (req *request.Request, output *ModifyFleetOutput) {
33821	op := &request.Operation{
33822		Name:       opModifyFleet,
33823		HTTPMethod: "POST",
33824		HTTPPath:   "/",
33825	}
33826
33827	if input == nil {
33828		input = &ModifyFleetInput{}
33829	}
33830
33831	output = &ModifyFleetOutput{}
33832	req = c.newRequest(op, input, output)
33833	return
33834}
33835
33836// ModifyFleet API operation for Amazon Elastic Compute Cloud.
33837//
33838// Modifies the specified EC2 Fleet.
33839//
33840// You can only modify an EC2 Fleet request of type maintain.
33841//
33842// While the EC2 Fleet is being modified, it is in the modifying state.
33843//
33844// To scale up your EC2 Fleet, increase its target capacity. The EC2 Fleet launches
33845// the additional Spot Instances according to the allocation strategy for the
33846// EC2 Fleet request. If the allocation strategy is lowest-price, the EC2 Fleet
33847// launches instances using the Spot Instance pool with the lowest price. If
33848// the allocation strategy is diversified, the EC2 Fleet distributes the instances
33849// across the Spot Instance pools. If the allocation strategy is capacity-optimized,
33850// EC2 Fleet launches instances from Spot Instance pools with optimal capacity
33851// for the number of instances that are launching.
33852//
33853// To scale down your EC2 Fleet, decrease its target capacity. First, the EC2
33854// Fleet cancels any open requests that exceed the new target capacity. You
33855// can request that the EC2 Fleet terminate Spot Instances until the size of
33856// the fleet no longer exceeds the new target capacity. If the allocation strategy
33857// is lowest-price, the EC2 Fleet terminates the instances with the highest
33858// price per unit. If the allocation strategy is capacity-optimized, the EC2
33859// Fleet terminates the instances in the Spot Instance pools that have the least
33860// available Spot Instance capacity. If the allocation strategy is diversified,
33861// the EC2 Fleet terminates instances across the Spot Instance pools. Alternatively,
33862// you can request that the EC2 Fleet keep the fleet at its current size, but
33863// not replace any Spot Instances that are interrupted or that you terminate
33864// manually.
33865//
33866// If you are finished with your EC2 Fleet for now, but will use it again later,
33867// you can set the target capacity to 0.
33868//
33869// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
33870// with awserr.Error's Code and Message methods to get detailed information about
33871// the error.
33872//
33873// See the AWS API reference guide for Amazon Elastic Compute Cloud's
33874// API operation ModifyFleet for usage and error information.
33875// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyFleet
33876func (c *EC2) ModifyFleet(input *ModifyFleetInput) (*ModifyFleetOutput, error) {
33877	req, out := c.ModifyFleetRequest(input)
33878	return out, req.Send()
33879}
33880
33881// ModifyFleetWithContext is the same as ModifyFleet with the addition of
33882// the ability to pass a context and additional request options.
33883//
33884// See ModifyFleet for details on how to use this API operation.
33885//
33886// The context must be non-nil and will be used for request cancellation. If
33887// the context is nil a panic will occur. In the future the SDK may create
33888// sub-contexts for http.Requests. See https://golang.org/pkg/context/
33889// for more information on using Contexts.
33890func (c *EC2) ModifyFleetWithContext(ctx aws.Context, input *ModifyFleetInput, opts ...request.Option) (*ModifyFleetOutput, error) {
33891	req, out := c.ModifyFleetRequest(input)
33892	req.SetContext(ctx)
33893	req.ApplyOptions(opts...)
33894	return out, req.Send()
33895}
33896
33897const opModifyFpgaImageAttribute = "ModifyFpgaImageAttribute"
33898
33899// ModifyFpgaImageAttributeRequest generates a "aws/request.Request" representing the
33900// client's request for the ModifyFpgaImageAttribute operation. The "output" return
33901// value will be populated with the request's response once the request completes
33902// successfully.
33903//
33904// Use "Send" method on the returned Request to send the API call to the service.
33905// the "output" return value is not valid until after Send returns without error.
33906//
33907// See ModifyFpgaImageAttribute for more information on using the ModifyFpgaImageAttribute
33908// API call, and error handling.
33909//
33910// This method is useful when you want to inject custom logic or configuration
33911// into the SDK's request lifecycle. Such as custom headers, or retry logic.
33912//
33913//
33914//    // Example sending a request using the ModifyFpgaImageAttributeRequest method.
33915//    req, resp := client.ModifyFpgaImageAttributeRequest(params)
33916//
33917//    err := req.Send()
33918//    if err == nil { // resp is now filled
33919//        fmt.Println(resp)
33920//    }
33921//
33922// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyFpgaImageAttribute
33923func (c *EC2) ModifyFpgaImageAttributeRequest(input *ModifyFpgaImageAttributeInput) (req *request.Request, output *ModifyFpgaImageAttributeOutput) {
33924	op := &request.Operation{
33925		Name:       opModifyFpgaImageAttribute,
33926		HTTPMethod: "POST",
33927		HTTPPath:   "/",
33928	}
33929
33930	if input == nil {
33931		input = &ModifyFpgaImageAttributeInput{}
33932	}
33933
33934	output = &ModifyFpgaImageAttributeOutput{}
33935	req = c.newRequest(op, input, output)
33936	return
33937}
33938
33939// ModifyFpgaImageAttribute API operation for Amazon Elastic Compute Cloud.
33940//
33941// Modifies the specified attribute of the specified Amazon FPGA Image (AFI).
33942//
33943// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
33944// with awserr.Error's Code and Message methods to get detailed information about
33945// the error.
33946//
33947// See the AWS API reference guide for Amazon Elastic Compute Cloud's
33948// API operation ModifyFpgaImageAttribute for usage and error information.
33949// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyFpgaImageAttribute
33950func (c *EC2) ModifyFpgaImageAttribute(input *ModifyFpgaImageAttributeInput) (*ModifyFpgaImageAttributeOutput, error) {
33951	req, out := c.ModifyFpgaImageAttributeRequest(input)
33952	return out, req.Send()
33953}
33954
33955// ModifyFpgaImageAttributeWithContext is the same as ModifyFpgaImageAttribute with the addition of
33956// the ability to pass a context and additional request options.
33957//
33958// See ModifyFpgaImageAttribute for details on how to use this API operation.
33959//
33960// The context must be non-nil and will be used for request cancellation. If
33961// the context is nil a panic will occur. In the future the SDK may create
33962// sub-contexts for http.Requests. See https://golang.org/pkg/context/
33963// for more information on using Contexts.
33964func (c *EC2) ModifyFpgaImageAttributeWithContext(ctx aws.Context, input *ModifyFpgaImageAttributeInput, opts ...request.Option) (*ModifyFpgaImageAttributeOutput, error) {
33965	req, out := c.ModifyFpgaImageAttributeRequest(input)
33966	req.SetContext(ctx)
33967	req.ApplyOptions(opts...)
33968	return out, req.Send()
33969}
33970
33971const opModifyHosts = "ModifyHosts"
33972
33973// ModifyHostsRequest generates a "aws/request.Request" representing the
33974// client's request for the ModifyHosts operation. The "output" return
33975// value will be populated with the request's response once the request completes
33976// successfully.
33977//
33978// Use "Send" method on the returned Request to send the API call to the service.
33979// the "output" return value is not valid until after Send returns without error.
33980//
33981// See ModifyHosts for more information on using the ModifyHosts
33982// API call, and error handling.
33983//
33984// This method is useful when you want to inject custom logic or configuration
33985// into the SDK's request lifecycle. Such as custom headers, or retry logic.
33986//
33987//
33988//    // Example sending a request using the ModifyHostsRequest method.
33989//    req, resp := client.ModifyHostsRequest(params)
33990//
33991//    err := req.Send()
33992//    if err == nil { // resp is now filled
33993//        fmt.Println(resp)
33994//    }
33995//
33996// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyHosts
33997func (c *EC2) ModifyHostsRequest(input *ModifyHostsInput) (req *request.Request, output *ModifyHostsOutput) {
33998	op := &request.Operation{
33999		Name:       opModifyHosts,
34000		HTTPMethod: "POST",
34001		HTTPPath:   "/",
34002	}
34003
34004	if input == nil {
34005		input = &ModifyHostsInput{}
34006	}
34007
34008	output = &ModifyHostsOutput{}
34009	req = c.newRequest(op, input, output)
34010	return
34011}
34012
34013// ModifyHosts API operation for Amazon Elastic Compute Cloud.
34014//
34015// Modify the auto-placement setting of a Dedicated Host. When auto-placement
34016// is enabled, any instances that you launch with a tenancy of host but without
34017// a specific host ID are placed onto any available Dedicated Host in your account
34018// that has auto-placement enabled. When auto-placement is disabled, you need
34019// to provide a host ID to have the instance launch onto a specific host. If
34020// no host ID is provided, the instance is launched onto a suitable host with
34021// auto-placement enabled.
34022//
34023// You can also use this API action to modify a Dedicated Host to support either
34024// multiple instance types in an instance family, or to support a specific instance
34025// type only.
34026//
34027// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
34028// with awserr.Error's Code and Message methods to get detailed information about
34029// the error.
34030//
34031// See the AWS API reference guide for Amazon Elastic Compute Cloud's
34032// API operation ModifyHosts for usage and error information.
34033// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyHosts
34034func (c *EC2) ModifyHosts(input *ModifyHostsInput) (*ModifyHostsOutput, error) {
34035	req, out := c.ModifyHostsRequest(input)
34036	return out, req.Send()
34037}
34038
34039// ModifyHostsWithContext is the same as ModifyHosts with the addition of
34040// the ability to pass a context and additional request options.
34041//
34042// See ModifyHosts for details on how to use this API operation.
34043//
34044// The context must be non-nil and will be used for request cancellation. If
34045// the context is nil a panic will occur. In the future the SDK may create
34046// sub-contexts for http.Requests. See https://golang.org/pkg/context/
34047// for more information on using Contexts.
34048func (c *EC2) ModifyHostsWithContext(ctx aws.Context, input *ModifyHostsInput, opts ...request.Option) (*ModifyHostsOutput, error) {
34049	req, out := c.ModifyHostsRequest(input)
34050	req.SetContext(ctx)
34051	req.ApplyOptions(opts...)
34052	return out, req.Send()
34053}
34054
34055const opModifyIdFormat = "ModifyIdFormat"
34056
34057// ModifyIdFormatRequest generates a "aws/request.Request" representing the
34058// client's request for the ModifyIdFormat operation. The "output" return
34059// value will be populated with the request's response once the request completes
34060// successfully.
34061//
34062// Use "Send" method on the returned Request to send the API call to the service.
34063// the "output" return value is not valid until after Send returns without error.
34064//
34065// See ModifyIdFormat for more information on using the ModifyIdFormat
34066// API call, and error handling.
34067//
34068// This method is useful when you want to inject custom logic or configuration
34069// into the SDK's request lifecycle. Such as custom headers, or retry logic.
34070//
34071//
34072//    // Example sending a request using the ModifyIdFormatRequest method.
34073//    req, resp := client.ModifyIdFormatRequest(params)
34074//
34075//    err := req.Send()
34076//    if err == nil { // resp is now filled
34077//        fmt.Println(resp)
34078//    }
34079//
34080// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdFormat
34081func (c *EC2) ModifyIdFormatRequest(input *ModifyIdFormatInput) (req *request.Request, output *ModifyIdFormatOutput) {
34082	op := &request.Operation{
34083		Name:       opModifyIdFormat,
34084		HTTPMethod: "POST",
34085		HTTPPath:   "/",
34086	}
34087
34088	if input == nil {
34089		input = &ModifyIdFormatInput{}
34090	}
34091
34092	output = &ModifyIdFormatOutput{}
34093	req = c.newRequest(op, input, output)
34094	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
34095	return
34096}
34097
34098// ModifyIdFormat API operation for Amazon Elastic Compute Cloud.
34099//
34100// Modifies the ID format for the specified resource on a per-Region basis.
34101// You can specify that resources should receive longer IDs (17-character IDs)
34102// when they are created.
34103//
34104// This request can only be used to modify longer ID settings for resource types
34105// that are within the opt-in period. Resources currently in their opt-in period
34106// include: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation
34107// | elastic-ip-association | export-task | flow-log | image | import-task |
34108// internet-gateway | network-acl | network-acl-association | network-interface
34109// | network-interface-attachment | prefix-list | route-table | route-table-association
34110// | security-group | subnet | subnet-cidr-block-association | vpc | vpc-cidr-block-association
34111// | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
34112//
34113// This setting applies to the IAM user who makes the request; it does not apply
34114// to the entire AWS account. By default, an IAM user defaults to the same settings
34115// as the root user. If you're using this action as the root user, then these
34116// settings apply to the entire account, unless an IAM user explicitly overrides
34117// these settings for themselves. For more information, see Resource IDs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html)
34118// in the Amazon Elastic Compute Cloud User Guide.
34119//
34120// Resources created with longer IDs are visible to all IAM roles and users,
34121// regardless of these settings and provided that they have permission to use
34122// the relevant Describe command for the resource type.
34123//
34124// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
34125// with awserr.Error's Code and Message methods to get detailed information about
34126// the error.
34127//
34128// See the AWS API reference guide for Amazon Elastic Compute Cloud's
34129// API operation ModifyIdFormat for usage and error information.
34130// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdFormat
34131func (c *EC2) ModifyIdFormat(input *ModifyIdFormatInput) (*ModifyIdFormatOutput, error) {
34132	req, out := c.ModifyIdFormatRequest(input)
34133	return out, req.Send()
34134}
34135
34136// ModifyIdFormatWithContext is the same as ModifyIdFormat with the addition of
34137// the ability to pass a context and additional request options.
34138//
34139// See ModifyIdFormat for details on how to use this API operation.
34140//
34141// The context must be non-nil and will be used for request cancellation. If
34142// the context is nil a panic will occur. In the future the SDK may create
34143// sub-contexts for http.Requests. See https://golang.org/pkg/context/
34144// for more information on using Contexts.
34145func (c *EC2) ModifyIdFormatWithContext(ctx aws.Context, input *ModifyIdFormatInput, opts ...request.Option) (*ModifyIdFormatOutput, error) {
34146	req, out := c.ModifyIdFormatRequest(input)
34147	req.SetContext(ctx)
34148	req.ApplyOptions(opts...)
34149	return out, req.Send()
34150}
34151
34152const opModifyIdentityIdFormat = "ModifyIdentityIdFormat"
34153
34154// ModifyIdentityIdFormatRequest generates a "aws/request.Request" representing the
34155// client's request for the ModifyIdentityIdFormat operation. The "output" return
34156// value will be populated with the request's response once the request completes
34157// successfully.
34158//
34159// Use "Send" method on the returned Request to send the API call to the service.
34160// the "output" return value is not valid until after Send returns without error.
34161//
34162// See ModifyIdentityIdFormat for more information on using the ModifyIdentityIdFormat
34163// API call, and error handling.
34164//
34165// This method is useful when you want to inject custom logic or configuration
34166// into the SDK's request lifecycle. Such as custom headers, or retry logic.
34167//
34168//
34169//    // Example sending a request using the ModifyIdentityIdFormatRequest method.
34170//    req, resp := client.ModifyIdentityIdFormatRequest(params)
34171//
34172//    err := req.Send()
34173//    if err == nil { // resp is now filled
34174//        fmt.Println(resp)
34175//    }
34176//
34177// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdentityIdFormat
34178func (c *EC2) ModifyIdentityIdFormatRequest(input *ModifyIdentityIdFormatInput) (req *request.Request, output *ModifyIdentityIdFormatOutput) {
34179	op := &request.Operation{
34180		Name:       opModifyIdentityIdFormat,
34181		HTTPMethod: "POST",
34182		HTTPPath:   "/",
34183	}
34184
34185	if input == nil {
34186		input = &ModifyIdentityIdFormatInput{}
34187	}
34188
34189	output = &ModifyIdentityIdFormatOutput{}
34190	req = c.newRequest(op, input, output)
34191	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
34192	return
34193}
34194
34195// ModifyIdentityIdFormat API operation for Amazon Elastic Compute Cloud.
34196//
34197// Modifies the ID format of a resource for a specified IAM user, IAM role,
34198// or the root user for an account; or all IAM users, IAM roles, and the root
34199// user for an account. You can specify that resources should receive longer
34200// IDs (17-character IDs) when they are created.
34201//
34202// This request can only be used to modify longer ID settings for resource types
34203// that are within the opt-in period. Resources currently in their opt-in period
34204// include: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation
34205// | elastic-ip-association | export-task | flow-log | image | import-task |
34206// internet-gateway | network-acl | network-acl-association | network-interface
34207// | network-interface-attachment | prefix-list | route-table | route-table-association
34208// | security-group | subnet | subnet-cidr-block-association | vpc | vpc-cidr-block-association
34209// | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
34210//
34211// For more information, see Resource IDs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html)
34212// in the Amazon Elastic Compute Cloud User Guide.
34213//
34214// This setting applies to the principal specified in the request; it does not
34215// apply to the principal that makes the request.
34216//
34217// Resources created with longer IDs are visible to all IAM roles and users,
34218// regardless of these settings and provided that they have permission to use
34219// the relevant Describe command for the resource type.
34220//
34221// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
34222// with awserr.Error's Code and Message methods to get detailed information about
34223// the error.
34224//
34225// See the AWS API reference guide for Amazon Elastic Compute Cloud's
34226// API operation ModifyIdentityIdFormat for usage and error information.
34227// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdentityIdFormat
34228func (c *EC2) ModifyIdentityIdFormat(input *ModifyIdentityIdFormatInput) (*ModifyIdentityIdFormatOutput, error) {
34229	req, out := c.ModifyIdentityIdFormatRequest(input)
34230	return out, req.Send()
34231}
34232
34233// ModifyIdentityIdFormatWithContext is the same as ModifyIdentityIdFormat with the addition of
34234// the ability to pass a context and additional request options.
34235//
34236// See ModifyIdentityIdFormat for details on how to use this API operation.
34237//
34238// The context must be non-nil and will be used for request cancellation. If
34239// the context is nil a panic will occur. In the future the SDK may create
34240// sub-contexts for http.Requests. See https://golang.org/pkg/context/
34241// for more information on using Contexts.
34242func (c *EC2) ModifyIdentityIdFormatWithContext(ctx aws.Context, input *ModifyIdentityIdFormatInput, opts ...request.Option) (*ModifyIdentityIdFormatOutput, error) {
34243	req, out := c.ModifyIdentityIdFormatRequest(input)
34244	req.SetContext(ctx)
34245	req.ApplyOptions(opts...)
34246	return out, req.Send()
34247}
34248
34249const opModifyImageAttribute = "ModifyImageAttribute"
34250
34251// ModifyImageAttributeRequest generates a "aws/request.Request" representing the
34252// client's request for the ModifyImageAttribute operation. The "output" return
34253// value will be populated with the request's response once the request completes
34254// successfully.
34255//
34256// Use "Send" method on the returned Request to send the API call to the service.
34257// the "output" return value is not valid until after Send returns without error.
34258//
34259// See ModifyImageAttribute for more information on using the ModifyImageAttribute
34260// API call, and error handling.
34261//
34262// This method is useful when you want to inject custom logic or configuration
34263// into the SDK's request lifecycle. Such as custom headers, or retry logic.
34264//
34265//
34266//    // Example sending a request using the ModifyImageAttributeRequest method.
34267//    req, resp := client.ModifyImageAttributeRequest(params)
34268//
34269//    err := req.Send()
34270//    if err == nil { // resp is now filled
34271//        fmt.Println(resp)
34272//    }
34273//
34274// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyImageAttribute
34275func (c *EC2) ModifyImageAttributeRequest(input *ModifyImageAttributeInput) (req *request.Request, output *ModifyImageAttributeOutput) {
34276	op := &request.Operation{
34277		Name:       opModifyImageAttribute,
34278		HTTPMethod: "POST",
34279		HTTPPath:   "/",
34280	}
34281
34282	if input == nil {
34283		input = &ModifyImageAttributeInput{}
34284	}
34285
34286	output = &ModifyImageAttributeOutput{}
34287	req = c.newRequest(op, input, output)
34288	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
34289	return
34290}
34291
34292// ModifyImageAttribute API operation for Amazon Elastic Compute Cloud.
34293//
34294// Modifies the specified attribute of the specified AMI. You can specify only
34295// one attribute at a time. You can use the Attribute parameter to specify the
34296// attribute or one of the following parameters: Description, LaunchPermission,
34297// or ProductCode.
34298//
34299// AWS Marketplace product codes cannot be modified. Images with an AWS Marketplace
34300// product code cannot be made public.
34301//
34302// To enable the SriovNetSupport enhanced networking attribute of an image,
34303// enable SriovNetSupport on an instance and create an AMI from the instance.
34304//
34305// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
34306// with awserr.Error's Code and Message methods to get detailed information about
34307// the error.
34308//
34309// See the AWS API reference guide for Amazon Elastic Compute Cloud's
34310// API operation ModifyImageAttribute for usage and error information.
34311// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyImageAttribute
34312func (c *EC2) ModifyImageAttribute(input *ModifyImageAttributeInput) (*ModifyImageAttributeOutput, error) {
34313	req, out := c.ModifyImageAttributeRequest(input)
34314	return out, req.Send()
34315}
34316
34317// ModifyImageAttributeWithContext is the same as ModifyImageAttribute with the addition of
34318// the ability to pass a context and additional request options.
34319//
34320// See ModifyImageAttribute for details on how to use this API operation.
34321//
34322// The context must be non-nil and will be used for request cancellation. If
34323// the context is nil a panic will occur. In the future the SDK may create
34324// sub-contexts for http.Requests. See https://golang.org/pkg/context/
34325// for more information on using Contexts.
34326func (c *EC2) ModifyImageAttributeWithContext(ctx aws.Context, input *ModifyImageAttributeInput, opts ...request.Option) (*ModifyImageAttributeOutput, error) {
34327	req, out := c.ModifyImageAttributeRequest(input)
34328	req.SetContext(ctx)
34329	req.ApplyOptions(opts...)
34330	return out, req.Send()
34331}
34332
34333const opModifyInstanceAttribute = "ModifyInstanceAttribute"
34334
34335// ModifyInstanceAttributeRequest generates a "aws/request.Request" representing the
34336// client's request for the ModifyInstanceAttribute operation. The "output" return
34337// value will be populated with the request's response once the request completes
34338// successfully.
34339//
34340// Use "Send" method on the returned Request to send the API call to the service.
34341// the "output" return value is not valid until after Send returns without error.
34342//
34343// See ModifyInstanceAttribute for more information on using the ModifyInstanceAttribute
34344// API call, and error handling.
34345//
34346// This method is useful when you want to inject custom logic or configuration
34347// into the SDK's request lifecycle. Such as custom headers, or retry logic.
34348//
34349//
34350//    // Example sending a request using the ModifyInstanceAttributeRequest method.
34351//    req, resp := client.ModifyInstanceAttributeRequest(params)
34352//
34353//    err := req.Send()
34354//    if err == nil { // resp is now filled
34355//        fmt.Println(resp)
34356//    }
34357//
34358// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceAttribute
34359func (c *EC2) ModifyInstanceAttributeRequest(input *ModifyInstanceAttributeInput) (req *request.Request, output *ModifyInstanceAttributeOutput) {
34360	op := &request.Operation{
34361		Name:       opModifyInstanceAttribute,
34362		HTTPMethod: "POST",
34363		HTTPPath:   "/",
34364	}
34365
34366	if input == nil {
34367		input = &ModifyInstanceAttributeInput{}
34368	}
34369
34370	output = &ModifyInstanceAttributeOutput{}
34371	req = c.newRequest(op, input, output)
34372	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
34373	return
34374}
34375
34376// ModifyInstanceAttribute API operation for Amazon Elastic Compute Cloud.
34377//
34378// Modifies the specified attribute of the specified instance. You can specify
34379// only one attribute at a time.
34380//
34381// Note: Using this action to change the security groups associated with an
34382// elastic network interface (ENI) attached to an instance in a VPC can result
34383// in an error if the instance has more than one ENI. To change the security
34384// groups associated with an ENI attached to an instance that has multiple ENIs,
34385// we recommend that you use the ModifyNetworkInterfaceAttribute action.
34386//
34387// To modify some attributes, the instance must be stopped. For more information,
34388// see Modifying attributes of a stopped instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingAttributesWhileInstanceStopped.html)
34389// in the Amazon EC2 User Guide.
34390//
34391// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
34392// with awserr.Error's Code and Message methods to get detailed information about
34393// the error.
34394//
34395// See the AWS API reference guide for Amazon Elastic Compute Cloud's
34396// API operation ModifyInstanceAttribute for usage and error information.
34397// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceAttribute
34398func (c *EC2) ModifyInstanceAttribute(input *ModifyInstanceAttributeInput) (*ModifyInstanceAttributeOutput, error) {
34399	req, out := c.ModifyInstanceAttributeRequest(input)
34400	return out, req.Send()
34401}
34402
34403// ModifyInstanceAttributeWithContext is the same as ModifyInstanceAttribute with the addition of
34404// the ability to pass a context and additional request options.
34405//
34406// See ModifyInstanceAttribute for details on how to use this API operation.
34407//
34408// The context must be non-nil and will be used for request cancellation. If
34409// the context is nil a panic will occur. In the future the SDK may create
34410// sub-contexts for http.Requests. See https://golang.org/pkg/context/
34411// for more information on using Contexts.
34412func (c *EC2) ModifyInstanceAttributeWithContext(ctx aws.Context, input *ModifyInstanceAttributeInput, opts ...request.Option) (*ModifyInstanceAttributeOutput, error) {
34413	req, out := c.ModifyInstanceAttributeRequest(input)
34414	req.SetContext(ctx)
34415	req.ApplyOptions(opts...)
34416	return out, req.Send()
34417}
34418
34419const opModifyInstanceCapacityReservationAttributes = "ModifyInstanceCapacityReservationAttributes"
34420
34421// ModifyInstanceCapacityReservationAttributesRequest generates a "aws/request.Request" representing the
34422// client's request for the ModifyInstanceCapacityReservationAttributes operation. The "output" return
34423// value will be populated with the request's response once the request completes
34424// successfully.
34425//
34426// Use "Send" method on the returned Request to send the API call to the service.
34427// the "output" return value is not valid until after Send returns without error.
34428//
34429// See ModifyInstanceCapacityReservationAttributes for more information on using the ModifyInstanceCapacityReservationAttributes
34430// API call, and error handling.
34431//
34432// This method is useful when you want to inject custom logic or configuration
34433// into the SDK's request lifecycle. Such as custom headers, or retry logic.
34434//
34435//
34436//    // Example sending a request using the ModifyInstanceCapacityReservationAttributesRequest method.
34437//    req, resp := client.ModifyInstanceCapacityReservationAttributesRequest(params)
34438//
34439//    err := req.Send()
34440//    if err == nil { // resp is now filled
34441//        fmt.Println(resp)
34442//    }
34443//
34444// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceCapacityReservationAttributes
34445func (c *EC2) ModifyInstanceCapacityReservationAttributesRequest(input *ModifyInstanceCapacityReservationAttributesInput) (req *request.Request, output *ModifyInstanceCapacityReservationAttributesOutput) {
34446	op := &request.Operation{
34447		Name:       opModifyInstanceCapacityReservationAttributes,
34448		HTTPMethod: "POST",
34449		HTTPPath:   "/",
34450	}
34451
34452	if input == nil {
34453		input = &ModifyInstanceCapacityReservationAttributesInput{}
34454	}
34455
34456	output = &ModifyInstanceCapacityReservationAttributesOutput{}
34457	req = c.newRequest(op, input, output)
34458	return
34459}
34460
34461// ModifyInstanceCapacityReservationAttributes API operation for Amazon Elastic Compute Cloud.
34462//
34463// Modifies the Capacity Reservation settings for a stopped instance. Use this
34464// action to configure an instance to target a specific Capacity Reservation,
34465// run in any open Capacity Reservation with matching attributes, or run On-Demand
34466// Instance capacity.
34467//
34468// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
34469// with awserr.Error's Code and Message methods to get detailed information about
34470// the error.
34471//
34472// See the AWS API reference guide for Amazon Elastic Compute Cloud's
34473// API operation ModifyInstanceCapacityReservationAttributes for usage and error information.
34474// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceCapacityReservationAttributes
34475func (c *EC2) ModifyInstanceCapacityReservationAttributes(input *ModifyInstanceCapacityReservationAttributesInput) (*ModifyInstanceCapacityReservationAttributesOutput, error) {
34476	req, out := c.ModifyInstanceCapacityReservationAttributesRequest(input)
34477	return out, req.Send()
34478}
34479
34480// ModifyInstanceCapacityReservationAttributesWithContext is the same as ModifyInstanceCapacityReservationAttributes with the addition of
34481// the ability to pass a context and additional request options.
34482//
34483// See ModifyInstanceCapacityReservationAttributes for details on how to use this API operation.
34484//
34485// The context must be non-nil and will be used for request cancellation. If
34486// the context is nil a panic will occur. In the future the SDK may create
34487// sub-contexts for http.Requests. See https://golang.org/pkg/context/
34488// for more information on using Contexts.
34489func (c *EC2) ModifyInstanceCapacityReservationAttributesWithContext(ctx aws.Context, input *ModifyInstanceCapacityReservationAttributesInput, opts ...request.Option) (*ModifyInstanceCapacityReservationAttributesOutput, error) {
34490	req, out := c.ModifyInstanceCapacityReservationAttributesRequest(input)
34491	req.SetContext(ctx)
34492	req.ApplyOptions(opts...)
34493	return out, req.Send()
34494}
34495
34496const opModifyInstanceCreditSpecification = "ModifyInstanceCreditSpecification"
34497
34498// ModifyInstanceCreditSpecificationRequest generates a "aws/request.Request" representing the
34499// client's request for the ModifyInstanceCreditSpecification operation. The "output" return
34500// value will be populated with the request's response once the request completes
34501// successfully.
34502//
34503// Use "Send" method on the returned Request to send the API call to the service.
34504// the "output" return value is not valid until after Send returns without error.
34505//
34506// See ModifyInstanceCreditSpecification for more information on using the ModifyInstanceCreditSpecification
34507// API call, and error handling.
34508//
34509// This method is useful when you want to inject custom logic or configuration
34510// into the SDK's request lifecycle. Such as custom headers, or retry logic.
34511//
34512//
34513//    // Example sending a request using the ModifyInstanceCreditSpecificationRequest method.
34514//    req, resp := client.ModifyInstanceCreditSpecificationRequest(params)
34515//
34516//    err := req.Send()
34517//    if err == nil { // resp is now filled
34518//        fmt.Println(resp)
34519//    }
34520//
34521// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceCreditSpecification
34522func (c *EC2) ModifyInstanceCreditSpecificationRequest(input *ModifyInstanceCreditSpecificationInput) (req *request.Request, output *ModifyInstanceCreditSpecificationOutput) {
34523	op := &request.Operation{
34524		Name:       opModifyInstanceCreditSpecification,
34525		HTTPMethod: "POST",
34526		HTTPPath:   "/",
34527	}
34528
34529	if input == nil {
34530		input = &ModifyInstanceCreditSpecificationInput{}
34531	}
34532
34533	output = &ModifyInstanceCreditSpecificationOutput{}
34534	req = c.newRequest(op, input, output)
34535	return
34536}
34537
34538// ModifyInstanceCreditSpecification API operation for Amazon Elastic Compute Cloud.
34539//
34540// Modifies the credit option for CPU usage on a running or stopped burstable
34541// performance instance. The credit options are standard and unlimited.
34542//
34543// For more information, see Burstable performance instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html)
34544// in the Amazon EC2 User Guide.
34545//
34546// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
34547// with awserr.Error's Code and Message methods to get detailed information about
34548// the error.
34549//
34550// See the AWS API reference guide for Amazon Elastic Compute Cloud's
34551// API operation ModifyInstanceCreditSpecification for usage and error information.
34552// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceCreditSpecification
34553func (c *EC2) ModifyInstanceCreditSpecification(input *ModifyInstanceCreditSpecificationInput) (*ModifyInstanceCreditSpecificationOutput, error) {
34554	req, out := c.ModifyInstanceCreditSpecificationRequest(input)
34555	return out, req.Send()
34556}
34557
34558// ModifyInstanceCreditSpecificationWithContext is the same as ModifyInstanceCreditSpecification with the addition of
34559// the ability to pass a context and additional request options.
34560//
34561// See ModifyInstanceCreditSpecification for details on how to use this API operation.
34562//
34563// The context must be non-nil and will be used for request cancellation. If
34564// the context is nil a panic will occur. In the future the SDK may create
34565// sub-contexts for http.Requests. See https://golang.org/pkg/context/
34566// for more information on using Contexts.
34567func (c *EC2) ModifyInstanceCreditSpecificationWithContext(ctx aws.Context, input *ModifyInstanceCreditSpecificationInput, opts ...request.Option) (*ModifyInstanceCreditSpecificationOutput, error) {
34568	req, out := c.ModifyInstanceCreditSpecificationRequest(input)
34569	req.SetContext(ctx)
34570	req.ApplyOptions(opts...)
34571	return out, req.Send()
34572}
34573
34574const opModifyInstanceEventStartTime = "ModifyInstanceEventStartTime"
34575
34576// ModifyInstanceEventStartTimeRequest generates a "aws/request.Request" representing the
34577// client's request for the ModifyInstanceEventStartTime operation. The "output" return
34578// value will be populated with the request's response once the request completes
34579// successfully.
34580//
34581// Use "Send" method on the returned Request to send the API call to the service.
34582// the "output" return value is not valid until after Send returns without error.
34583//
34584// See ModifyInstanceEventStartTime for more information on using the ModifyInstanceEventStartTime
34585// API call, and error handling.
34586//
34587// This method is useful when you want to inject custom logic or configuration
34588// into the SDK's request lifecycle. Such as custom headers, or retry logic.
34589//
34590//
34591//    // Example sending a request using the ModifyInstanceEventStartTimeRequest method.
34592//    req, resp := client.ModifyInstanceEventStartTimeRequest(params)
34593//
34594//    err := req.Send()
34595//    if err == nil { // resp is now filled
34596//        fmt.Println(resp)
34597//    }
34598//
34599// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceEventStartTime
34600func (c *EC2) ModifyInstanceEventStartTimeRequest(input *ModifyInstanceEventStartTimeInput) (req *request.Request, output *ModifyInstanceEventStartTimeOutput) {
34601	op := &request.Operation{
34602		Name:       opModifyInstanceEventStartTime,
34603		HTTPMethod: "POST",
34604		HTTPPath:   "/",
34605	}
34606
34607	if input == nil {
34608		input = &ModifyInstanceEventStartTimeInput{}
34609	}
34610
34611	output = &ModifyInstanceEventStartTimeOutput{}
34612	req = c.newRequest(op, input, output)
34613	return
34614}
34615
34616// ModifyInstanceEventStartTime API operation for Amazon Elastic Compute Cloud.
34617//
34618// Modifies the start time for a scheduled Amazon EC2 instance event.
34619//
34620// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
34621// with awserr.Error's Code and Message methods to get detailed information about
34622// the error.
34623//
34624// See the AWS API reference guide for Amazon Elastic Compute Cloud's
34625// API operation ModifyInstanceEventStartTime for usage and error information.
34626// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceEventStartTime
34627func (c *EC2) ModifyInstanceEventStartTime(input *ModifyInstanceEventStartTimeInput) (*ModifyInstanceEventStartTimeOutput, error) {
34628	req, out := c.ModifyInstanceEventStartTimeRequest(input)
34629	return out, req.Send()
34630}
34631
34632// ModifyInstanceEventStartTimeWithContext is the same as ModifyInstanceEventStartTime with the addition of
34633// the ability to pass a context and additional request options.
34634//
34635// See ModifyInstanceEventStartTime for details on how to use this API operation.
34636//
34637// The context must be non-nil and will be used for request cancellation. If
34638// the context is nil a panic will occur. In the future the SDK may create
34639// sub-contexts for http.Requests. See https://golang.org/pkg/context/
34640// for more information on using Contexts.
34641func (c *EC2) ModifyInstanceEventStartTimeWithContext(ctx aws.Context, input *ModifyInstanceEventStartTimeInput, opts ...request.Option) (*ModifyInstanceEventStartTimeOutput, error) {
34642	req, out := c.ModifyInstanceEventStartTimeRequest(input)
34643	req.SetContext(ctx)
34644	req.ApplyOptions(opts...)
34645	return out, req.Send()
34646}
34647
34648const opModifyInstanceMetadataOptions = "ModifyInstanceMetadataOptions"
34649
34650// ModifyInstanceMetadataOptionsRequest generates a "aws/request.Request" representing the
34651// client's request for the ModifyInstanceMetadataOptions operation. The "output" return
34652// value will be populated with the request's response once the request completes
34653// successfully.
34654//
34655// Use "Send" method on the returned Request to send the API call to the service.
34656// the "output" return value is not valid until after Send returns without error.
34657//
34658// See ModifyInstanceMetadataOptions for more information on using the ModifyInstanceMetadataOptions
34659// API call, and error handling.
34660//
34661// This method is useful when you want to inject custom logic or configuration
34662// into the SDK's request lifecycle. Such as custom headers, or retry logic.
34663//
34664//
34665//    // Example sending a request using the ModifyInstanceMetadataOptionsRequest method.
34666//    req, resp := client.ModifyInstanceMetadataOptionsRequest(params)
34667//
34668//    err := req.Send()
34669//    if err == nil { // resp is now filled
34670//        fmt.Println(resp)
34671//    }
34672//
34673// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceMetadataOptions
34674func (c *EC2) ModifyInstanceMetadataOptionsRequest(input *ModifyInstanceMetadataOptionsInput) (req *request.Request, output *ModifyInstanceMetadataOptionsOutput) {
34675	op := &request.Operation{
34676		Name:       opModifyInstanceMetadataOptions,
34677		HTTPMethod: "POST",
34678		HTTPPath:   "/",
34679	}
34680
34681	if input == nil {
34682		input = &ModifyInstanceMetadataOptionsInput{}
34683	}
34684
34685	output = &ModifyInstanceMetadataOptionsOutput{}
34686	req = c.newRequest(op, input, output)
34687	return
34688}
34689
34690// ModifyInstanceMetadataOptions API operation for Amazon Elastic Compute Cloud.
34691//
34692// Modify the instance metadata parameters on a running or stopped instance.
34693// When you modify the parameters on a stopped instance, they are applied when
34694// the instance is started. When you modify the parameters on a running instance,
34695// the API responds with a state of “pending”. After the parameter modifications
34696// are successfully applied to the instance, the state of the modifications
34697// changes from “pending” to “applied” in subsequent describe-instances
34698// API calls. For more information, see Instance metadata and user data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)
34699// in the Amazon EC2 User Guide.
34700//
34701// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
34702// with awserr.Error's Code and Message methods to get detailed information about
34703// the error.
34704//
34705// See the AWS API reference guide for Amazon Elastic Compute Cloud's
34706// API operation ModifyInstanceMetadataOptions for usage and error information.
34707// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceMetadataOptions
34708func (c *EC2) ModifyInstanceMetadataOptions(input *ModifyInstanceMetadataOptionsInput) (*ModifyInstanceMetadataOptionsOutput, error) {
34709	req, out := c.ModifyInstanceMetadataOptionsRequest(input)
34710	return out, req.Send()
34711}
34712
34713// ModifyInstanceMetadataOptionsWithContext is the same as ModifyInstanceMetadataOptions with the addition of
34714// the ability to pass a context and additional request options.
34715//
34716// See ModifyInstanceMetadataOptions for details on how to use this API operation.
34717//
34718// The context must be non-nil and will be used for request cancellation. If
34719// the context is nil a panic will occur. In the future the SDK may create
34720// sub-contexts for http.Requests. See https://golang.org/pkg/context/
34721// for more information on using Contexts.
34722func (c *EC2) ModifyInstanceMetadataOptionsWithContext(ctx aws.Context, input *ModifyInstanceMetadataOptionsInput, opts ...request.Option) (*ModifyInstanceMetadataOptionsOutput, error) {
34723	req, out := c.ModifyInstanceMetadataOptionsRequest(input)
34724	req.SetContext(ctx)
34725	req.ApplyOptions(opts...)
34726	return out, req.Send()
34727}
34728
34729const opModifyInstancePlacement = "ModifyInstancePlacement"
34730
34731// ModifyInstancePlacementRequest generates a "aws/request.Request" representing the
34732// client's request for the ModifyInstancePlacement operation. The "output" return
34733// value will be populated with the request's response once the request completes
34734// successfully.
34735//
34736// Use "Send" method on the returned Request to send the API call to the service.
34737// the "output" return value is not valid until after Send returns without error.
34738//
34739// See ModifyInstancePlacement for more information on using the ModifyInstancePlacement
34740// API call, and error handling.
34741//
34742// This method is useful when you want to inject custom logic or configuration
34743// into the SDK's request lifecycle. Such as custom headers, or retry logic.
34744//
34745//
34746//    // Example sending a request using the ModifyInstancePlacementRequest method.
34747//    req, resp := client.ModifyInstancePlacementRequest(params)
34748//
34749//    err := req.Send()
34750//    if err == nil { // resp is now filled
34751//        fmt.Println(resp)
34752//    }
34753//
34754// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstancePlacement
34755func (c *EC2) ModifyInstancePlacementRequest(input *ModifyInstancePlacementInput) (req *request.Request, output *ModifyInstancePlacementOutput) {
34756	op := &request.Operation{
34757		Name:       opModifyInstancePlacement,
34758		HTTPMethod: "POST",
34759		HTTPPath:   "/",
34760	}
34761
34762	if input == nil {
34763		input = &ModifyInstancePlacementInput{}
34764	}
34765
34766	output = &ModifyInstancePlacementOutput{}
34767	req = c.newRequest(op, input, output)
34768	return
34769}
34770
34771// ModifyInstancePlacement API operation for Amazon Elastic Compute Cloud.
34772//
34773// Modifies the placement attributes for a specified instance. You can do the
34774// following:
34775//
34776//    * Modify the affinity between an instance and a Dedicated Host (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-overview.html).
34777//    When affinity is set to host and the instance is not associated with a
34778//    specific Dedicated Host, the next time the instance is launched, it is
34779//    automatically associated with the host on which it lands. If the instance
34780//    is restarted or rebooted, this relationship persists.
34781//
34782//    * Change the Dedicated Host with which an instance is associated.
34783//
34784//    * Change the instance tenancy of an instance from host to dedicated, or
34785//    from dedicated to host.
34786//
34787//    * Move an instance to or from a placement group (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html).
34788//
34789// At least one attribute for affinity, host ID, tenancy, or placement group
34790// name must be specified in the request. Affinity and tenancy can be modified
34791// in the same request.
34792//
34793// To modify the host ID, tenancy, placement group, or partition for an instance,
34794// the instance must be in the stopped state.
34795//
34796// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
34797// with awserr.Error's Code and Message methods to get detailed information about
34798// the error.
34799//
34800// See the AWS API reference guide for Amazon Elastic Compute Cloud's
34801// API operation ModifyInstancePlacement for usage and error information.
34802// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstancePlacement
34803func (c *EC2) ModifyInstancePlacement(input *ModifyInstancePlacementInput) (*ModifyInstancePlacementOutput, error) {
34804	req, out := c.ModifyInstancePlacementRequest(input)
34805	return out, req.Send()
34806}
34807
34808// ModifyInstancePlacementWithContext is the same as ModifyInstancePlacement with the addition of
34809// the ability to pass a context and additional request options.
34810//
34811// See ModifyInstancePlacement for details on how to use this API operation.
34812//
34813// The context must be non-nil and will be used for request cancellation. If
34814// the context is nil a panic will occur. In the future the SDK may create
34815// sub-contexts for http.Requests. See https://golang.org/pkg/context/
34816// for more information on using Contexts.
34817func (c *EC2) ModifyInstancePlacementWithContext(ctx aws.Context, input *ModifyInstancePlacementInput, opts ...request.Option) (*ModifyInstancePlacementOutput, error) {
34818	req, out := c.ModifyInstancePlacementRequest(input)
34819	req.SetContext(ctx)
34820	req.ApplyOptions(opts...)
34821	return out, req.Send()
34822}
34823
34824const opModifyLaunchTemplate = "ModifyLaunchTemplate"
34825
34826// ModifyLaunchTemplateRequest generates a "aws/request.Request" representing the
34827// client's request for the ModifyLaunchTemplate operation. The "output" return
34828// value will be populated with the request's response once the request completes
34829// successfully.
34830//
34831// Use "Send" method on the returned Request to send the API call to the service.
34832// the "output" return value is not valid until after Send returns without error.
34833//
34834// See ModifyLaunchTemplate for more information on using the ModifyLaunchTemplate
34835// API call, and error handling.
34836//
34837// This method is useful when you want to inject custom logic or configuration
34838// into the SDK's request lifecycle. Such as custom headers, or retry logic.
34839//
34840//
34841//    // Example sending a request using the ModifyLaunchTemplateRequest method.
34842//    req, resp := client.ModifyLaunchTemplateRequest(params)
34843//
34844//    err := req.Send()
34845//    if err == nil { // resp is now filled
34846//        fmt.Println(resp)
34847//    }
34848//
34849// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyLaunchTemplate
34850func (c *EC2) ModifyLaunchTemplateRequest(input *ModifyLaunchTemplateInput) (req *request.Request, output *ModifyLaunchTemplateOutput) {
34851	op := &request.Operation{
34852		Name:       opModifyLaunchTemplate,
34853		HTTPMethod: "POST",
34854		HTTPPath:   "/",
34855	}
34856
34857	if input == nil {
34858		input = &ModifyLaunchTemplateInput{}
34859	}
34860
34861	output = &ModifyLaunchTemplateOutput{}
34862	req = c.newRequest(op, input, output)
34863	return
34864}
34865
34866// ModifyLaunchTemplate API operation for Amazon Elastic Compute Cloud.
34867//
34868// Modifies a launch template. You can specify which version of the launch template
34869// to set as the default version. When launching an instance, the default version
34870// applies when a launch template version is not specified.
34871//
34872// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
34873// with awserr.Error's Code and Message methods to get detailed information about
34874// the error.
34875//
34876// See the AWS API reference guide for Amazon Elastic Compute Cloud's
34877// API operation ModifyLaunchTemplate for usage and error information.
34878// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyLaunchTemplate
34879func (c *EC2) ModifyLaunchTemplate(input *ModifyLaunchTemplateInput) (*ModifyLaunchTemplateOutput, error) {
34880	req, out := c.ModifyLaunchTemplateRequest(input)
34881	return out, req.Send()
34882}
34883
34884// ModifyLaunchTemplateWithContext is the same as ModifyLaunchTemplate with the addition of
34885// the ability to pass a context and additional request options.
34886//
34887// See ModifyLaunchTemplate for details on how to use this API operation.
34888//
34889// The context must be non-nil and will be used for request cancellation. If
34890// the context is nil a panic will occur. In the future the SDK may create
34891// sub-contexts for http.Requests. See https://golang.org/pkg/context/
34892// for more information on using Contexts.
34893func (c *EC2) ModifyLaunchTemplateWithContext(ctx aws.Context, input *ModifyLaunchTemplateInput, opts ...request.Option) (*ModifyLaunchTemplateOutput, error) {
34894	req, out := c.ModifyLaunchTemplateRequest(input)
34895	req.SetContext(ctx)
34896	req.ApplyOptions(opts...)
34897	return out, req.Send()
34898}
34899
34900const opModifyManagedPrefixList = "ModifyManagedPrefixList"
34901
34902// ModifyManagedPrefixListRequest generates a "aws/request.Request" representing the
34903// client's request for the ModifyManagedPrefixList operation. The "output" return
34904// value will be populated with the request's response once the request completes
34905// successfully.
34906//
34907// Use "Send" method on the returned Request to send the API call to the service.
34908// the "output" return value is not valid until after Send returns without error.
34909//
34910// See ModifyManagedPrefixList for more information on using the ModifyManagedPrefixList
34911// API call, and error handling.
34912//
34913// This method is useful when you want to inject custom logic or configuration
34914// into the SDK's request lifecycle. Such as custom headers, or retry logic.
34915//
34916//
34917//    // Example sending a request using the ModifyManagedPrefixListRequest method.
34918//    req, resp := client.ModifyManagedPrefixListRequest(params)
34919//
34920//    err := req.Send()
34921//    if err == nil { // resp is now filled
34922//        fmt.Println(resp)
34923//    }
34924//
34925// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyManagedPrefixList
34926func (c *EC2) ModifyManagedPrefixListRequest(input *ModifyManagedPrefixListInput) (req *request.Request, output *ModifyManagedPrefixListOutput) {
34927	op := &request.Operation{
34928		Name:       opModifyManagedPrefixList,
34929		HTTPMethod: "POST",
34930		HTTPPath:   "/",
34931	}
34932
34933	if input == nil {
34934		input = &ModifyManagedPrefixListInput{}
34935	}
34936
34937	output = &ModifyManagedPrefixListOutput{}
34938	req = c.newRequest(op, input, output)
34939	return
34940}
34941
34942// ModifyManagedPrefixList API operation for Amazon Elastic Compute Cloud.
34943//
34944// Modifies the specified managed prefix list.
34945//
34946// Adding or removing entries in a prefix list creates a new version of the
34947// prefix list. Changing the name of the prefix list does not affect the version.
34948//
34949// If you specify a current version number that does not match the true current
34950// version number, the request fails.
34951//
34952// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
34953// with awserr.Error's Code and Message methods to get detailed information about
34954// the error.
34955//
34956// See the AWS API reference guide for Amazon Elastic Compute Cloud's
34957// API operation ModifyManagedPrefixList for usage and error information.
34958// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyManagedPrefixList
34959func (c *EC2) ModifyManagedPrefixList(input *ModifyManagedPrefixListInput) (*ModifyManagedPrefixListOutput, error) {
34960	req, out := c.ModifyManagedPrefixListRequest(input)
34961	return out, req.Send()
34962}
34963
34964// ModifyManagedPrefixListWithContext is the same as ModifyManagedPrefixList with the addition of
34965// the ability to pass a context and additional request options.
34966//
34967// See ModifyManagedPrefixList for details on how to use this API operation.
34968//
34969// The context must be non-nil and will be used for request cancellation. If
34970// the context is nil a panic will occur. In the future the SDK may create
34971// sub-contexts for http.Requests. See https://golang.org/pkg/context/
34972// for more information on using Contexts.
34973func (c *EC2) ModifyManagedPrefixListWithContext(ctx aws.Context, input *ModifyManagedPrefixListInput, opts ...request.Option) (*ModifyManagedPrefixListOutput, error) {
34974	req, out := c.ModifyManagedPrefixListRequest(input)
34975	req.SetContext(ctx)
34976	req.ApplyOptions(opts...)
34977	return out, req.Send()
34978}
34979
34980const opModifyNetworkInterfaceAttribute = "ModifyNetworkInterfaceAttribute"
34981
34982// ModifyNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the
34983// client's request for the ModifyNetworkInterfaceAttribute operation. The "output" return
34984// value will be populated with the request's response once the request completes
34985// successfully.
34986//
34987// Use "Send" method on the returned Request to send the API call to the service.
34988// the "output" return value is not valid until after Send returns without error.
34989//
34990// See ModifyNetworkInterfaceAttribute for more information on using the ModifyNetworkInterfaceAttribute
34991// API call, and error handling.
34992//
34993// This method is useful when you want to inject custom logic or configuration
34994// into the SDK's request lifecycle. Such as custom headers, or retry logic.
34995//
34996//
34997//    // Example sending a request using the ModifyNetworkInterfaceAttributeRequest method.
34998//    req, resp := client.ModifyNetworkInterfaceAttributeRequest(params)
34999//
35000//    err := req.Send()
35001//    if err == nil { // resp is now filled
35002//        fmt.Println(resp)
35003//    }
35004//
35005// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyNetworkInterfaceAttribute
35006func (c *EC2) ModifyNetworkInterfaceAttributeRequest(input *ModifyNetworkInterfaceAttributeInput) (req *request.Request, output *ModifyNetworkInterfaceAttributeOutput) {
35007	op := &request.Operation{
35008		Name:       opModifyNetworkInterfaceAttribute,
35009		HTTPMethod: "POST",
35010		HTTPPath:   "/",
35011	}
35012
35013	if input == nil {
35014		input = &ModifyNetworkInterfaceAttributeInput{}
35015	}
35016
35017	output = &ModifyNetworkInterfaceAttributeOutput{}
35018	req = c.newRequest(op, input, output)
35019	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
35020	return
35021}
35022
35023// ModifyNetworkInterfaceAttribute API operation for Amazon Elastic Compute Cloud.
35024//
35025// Modifies the specified network interface attribute. You can specify only
35026// one attribute at a time. You can use this action to attach and detach security
35027// groups from an existing EC2 instance.
35028//
35029// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
35030// with awserr.Error's Code and Message methods to get detailed information about
35031// the error.
35032//
35033// See the AWS API reference guide for Amazon Elastic Compute Cloud's
35034// API operation ModifyNetworkInterfaceAttribute for usage and error information.
35035// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyNetworkInterfaceAttribute
35036func (c *EC2) ModifyNetworkInterfaceAttribute(input *ModifyNetworkInterfaceAttributeInput) (*ModifyNetworkInterfaceAttributeOutput, error) {
35037	req, out := c.ModifyNetworkInterfaceAttributeRequest(input)
35038	return out, req.Send()
35039}
35040
35041// ModifyNetworkInterfaceAttributeWithContext is the same as ModifyNetworkInterfaceAttribute with the addition of
35042// the ability to pass a context and additional request options.
35043//
35044// See ModifyNetworkInterfaceAttribute for details on how to use this API operation.
35045//
35046// The context must be non-nil and will be used for request cancellation. If
35047// the context is nil a panic will occur. In the future the SDK may create
35048// sub-contexts for http.Requests. See https://golang.org/pkg/context/
35049// for more information on using Contexts.
35050func (c *EC2) ModifyNetworkInterfaceAttributeWithContext(ctx aws.Context, input *ModifyNetworkInterfaceAttributeInput, opts ...request.Option) (*ModifyNetworkInterfaceAttributeOutput, error) {
35051	req, out := c.ModifyNetworkInterfaceAttributeRequest(input)
35052	req.SetContext(ctx)
35053	req.ApplyOptions(opts...)
35054	return out, req.Send()
35055}
35056
35057const opModifyReservedInstances = "ModifyReservedInstances"
35058
35059// ModifyReservedInstancesRequest generates a "aws/request.Request" representing the
35060// client's request for the ModifyReservedInstances operation. The "output" return
35061// value will be populated with the request's response once the request completes
35062// successfully.
35063//
35064// Use "Send" method on the returned Request to send the API call to the service.
35065// the "output" return value is not valid until after Send returns without error.
35066//
35067// See ModifyReservedInstances for more information on using the ModifyReservedInstances
35068// API call, and error handling.
35069//
35070// This method is useful when you want to inject custom logic or configuration
35071// into the SDK's request lifecycle. Such as custom headers, or retry logic.
35072//
35073//
35074//    // Example sending a request using the ModifyReservedInstancesRequest method.
35075//    req, resp := client.ModifyReservedInstancesRequest(params)
35076//
35077//    err := req.Send()
35078//    if err == nil { // resp is now filled
35079//        fmt.Println(resp)
35080//    }
35081//
35082// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyReservedInstances
35083func (c *EC2) ModifyReservedInstancesRequest(input *ModifyReservedInstancesInput) (req *request.Request, output *ModifyReservedInstancesOutput) {
35084	op := &request.Operation{
35085		Name:       opModifyReservedInstances,
35086		HTTPMethod: "POST",
35087		HTTPPath:   "/",
35088	}
35089
35090	if input == nil {
35091		input = &ModifyReservedInstancesInput{}
35092	}
35093
35094	output = &ModifyReservedInstancesOutput{}
35095	req = c.newRequest(op, input, output)
35096	return
35097}
35098
35099// ModifyReservedInstances API operation for Amazon Elastic Compute Cloud.
35100//
35101// Modifies the Availability Zone, instance count, instance type, or network
35102// platform (EC2-Classic or EC2-VPC) of your Reserved Instances. The Reserved
35103// Instances to be modified must be identical, except for Availability Zone,
35104// network platform, and instance type.
35105//
35106// For more information, see Modifying Reserved Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html)
35107// in the Amazon EC2 User Guide.
35108//
35109// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
35110// with awserr.Error's Code and Message methods to get detailed information about
35111// the error.
35112//
35113// See the AWS API reference guide for Amazon Elastic Compute Cloud's
35114// API operation ModifyReservedInstances for usage and error information.
35115// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyReservedInstances
35116func (c *EC2) ModifyReservedInstances(input *ModifyReservedInstancesInput) (*ModifyReservedInstancesOutput, error) {
35117	req, out := c.ModifyReservedInstancesRequest(input)
35118	return out, req.Send()
35119}
35120
35121// ModifyReservedInstancesWithContext is the same as ModifyReservedInstances with the addition of
35122// the ability to pass a context and additional request options.
35123//
35124// See ModifyReservedInstances for details on how to use this API operation.
35125//
35126// The context must be non-nil and will be used for request cancellation. If
35127// the context is nil a panic will occur. In the future the SDK may create
35128// sub-contexts for http.Requests. See https://golang.org/pkg/context/
35129// for more information on using Contexts.
35130func (c *EC2) ModifyReservedInstancesWithContext(ctx aws.Context, input *ModifyReservedInstancesInput, opts ...request.Option) (*ModifyReservedInstancesOutput, error) {
35131	req, out := c.ModifyReservedInstancesRequest(input)
35132	req.SetContext(ctx)
35133	req.ApplyOptions(opts...)
35134	return out, req.Send()
35135}
35136
35137const opModifySnapshotAttribute = "ModifySnapshotAttribute"
35138
35139// ModifySnapshotAttributeRequest generates a "aws/request.Request" representing the
35140// client's request for the ModifySnapshotAttribute operation. The "output" return
35141// value will be populated with the request's response once the request completes
35142// successfully.
35143//
35144// Use "Send" method on the returned Request to send the API call to the service.
35145// the "output" return value is not valid until after Send returns without error.
35146//
35147// See ModifySnapshotAttribute for more information on using the ModifySnapshotAttribute
35148// API call, and error handling.
35149//
35150// This method is useful when you want to inject custom logic or configuration
35151// into the SDK's request lifecycle. Such as custom headers, or retry logic.
35152//
35153//
35154//    // Example sending a request using the ModifySnapshotAttributeRequest method.
35155//    req, resp := client.ModifySnapshotAttributeRequest(params)
35156//
35157//    err := req.Send()
35158//    if err == nil { // resp is now filled
35159//        fmt.Println(resp)
35160//    }
35161//
35162// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySnapshotAttribute
35163func (c *EC2) ModifySnapshotAttributeRequest(input *ModifySnapshotAttributeInput) (req *request.Request, output *ModifySnapshotAttributeOutput) {
35164	op := &request.Operation{
35165		Name:       opModifySnapshotAttribute,
35166		HTTPMethod: "POST",
35167		HTTPPath:   "/",
35168	}
35169
35170	if input == nil {
35171		input = &ModifySnapshotAttributeInput{}
35172	}
35173
35174	output = &ModifySnapshotAttributeOutput{}
35175	req = c.newRequest(op, input, output)
35176	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
35177	return
35178}
35179
35180// ModifySnapshotAttribute API operation for Amazon Elastic Compute Cloud.
35181//
35182// Adds or removes permission settings for the specified snapshot. You may add
35183// or remove specified AWS account IDs from a snapshot's list of create volume
35184// permissions, but you cannot do both in a single operation. If you need to
35185// both add and remove account IDs for a snapshot, you must use multiple operations.
35186// You can make up to 500 modifications to a snapshot in a single operation.
35187//
35188// Encrypted snapshots and snapshots with AWS Marketplace product codes cannot
35189// be made public. Snapshots encrypted with your default CMK cannot be shared
35190// with other accounts.
35191//
35192// For more information about modifying snapshot permissions, see Sharing snapshots
35193// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html)
35194// in the Amazon Elastic Compute Cloud User Guide.
35195//
35196// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
35197// with awserr.Error's Code and Message methods to get detailed information about
35198// the error.
35199//
35200// See the AWS API reference guide for Amazon Elastic Compute Cloud's
35201// API operation ModifySnapshotAttribute for usage and error information.
35202// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySnapshotAttribute
35203func (c *EC2) ModifySnapshotAttribute(input *ModifySnapshotAttributeInput) (*ModifySnapshotAttributeOutput, error) {
35204	req, out := c.ModifySnapshotAttributeRequest(input)
35205	return out, req.Send()
35206}
35207
35208// ModifySnapshotAttributeWithContext is the same as ModifySnapshotAttribute with the addition of
35209// the ability to pass a context and additional request options.
35210//
35211// See ModifySnapshotAttribute for details on how to use this API operation.
35212//
35213// The context must be non-nil and will be used for request cancellation. If
35214// the context is nil a panic will occur. In the future the SDK may create
35215// sub-contexts for http.Requests. See https://golang.org/pkg/context/
35216// for more information on using Contexts.
35217func (c *EC2) ModifySnapshotAttributeWithContext(ctx aws.Context, input *ModifySnapshotAttributeInput, opts ...request.Option) (*ModifySnapshotAttributeOutput, error) {
35218	req, out := c.ModifySnapshotAttributeRequest(input)
35219	req.SetContext(ctx)
35220	req.ApplyOptions(opts...)
35221	return out, req.Send()
35222}
35223
35224const opModifySpotFleetRequest = "ModifySpotFleetRequest"
35225
35226// ModifySpotFleetRequestRequest generates a "aws/request.Request" representing the
35227// client's request for the ModifySpotFleetRequest operation. The "output" return
35228// value will be populated with the request's response once the request completes
35229// successfully.
35230//
35231// Use "Send" method on the returned Request to send the API call to the service.
35232// the "output" return value is not valid until after Send returns without error.
35233//
35234// See ModifySpotFleetRequest for more information on using the ModifySpotFleetRequest
35235// API call, and error handling.
35236//
35237// This method is useful when you want to inject custom logic or configuration
35238// into the SDK's request lifecycle. Such as custom headers, or retry logic.
35239//
35240//
35241//    // Example sending a request using the ModifySpotFleetRequestRequest method.
35242//    req, resp := client.ModifySpotFleetRequestRequest(params)
35243//
35244//    err := req.Send()
35245//    if err == nil { // resp is now filled
35246//        fmt.Println(resp)
35247//    }
35248//
35249// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySpotFleetRequest
35250func (c *EC2) ModifySpotFleetRequestRequest(input *ModifySpotFleetRequestInput) (req *request.Request, output *ModifySpotFleetRequestOutput) {
35251	op := &request.Operation{
35252		Name:       opModifySpotFleetRequest,
35253		HTTPMethod: "POST",
35254		HTTPPath:   "/",
35255	}
35256
35257	if input == nil {
35258		input = &ModifySpotFleetRequestInput{}
35259	}
35260
35261	output = &ModifySpotFleetRequestOutput{}
35262	req = c.newRequest(op, input, output)
35263	return
35264}
35265
35266// ModifySpotFleetRequest API operation for Amazon Elastic Compute Cloud.
35267//
35268// Modifies the specified Spot Fleet request.
35269//
35270// You can only modify a Spot Fleet request of type maintain.
35271//
35272// While the Spot Fleet request is being modified, it is in the modifying state.
35273//
35274// To scale up your Spot Fleet, increase its target capacity. The Spot Fleet
35275// launches the additional Spot Instances according to the allocation strategy
35276// for the Spot Fleet request. If the allocation strategy is lowestPrice, the
35277// Spot Fleet launches instances using the Spot Instance pool with the lowest
35278// price. If the allocation strategy is diversified, the Spot Fleet distributes
35279// the instances across the Spot Instance pools. If the allocation strategy
35280// is capacityOptimized, Spot Fleet launches instances from Spot Instance pools
35281// with optimal capacity for the number of instances that are launching.
35282//
35283// To scale down your Spot Fleet, decrease its target capacity. First, the Spot
35284// Fleet cancels any open requests that exceed the new target capacity. You
35285// can request that the Spot Fleet terminate Spot Instances until the size of
35286// the fleet no longer exceeds the new target capacity. If the allocation strategy
35287// is lowestPrice, the Spot Fleet terminates the instances with the highest
35288// price per unit. If the allocation strategy is capacityOptimized, the Spot
35289// Fleet terminates the instances in the Spot Instance pools that have the least
35290// available Spot Instance capacity. If the allocation strategy is diversified,
35291// the Spot Fleet terminates instances across the Spot Instance pools. Alternatively,
35292// you can request that the Spot Fleet keep the fleet at its current size, but
35293// not replace any Spot Instances that are interrupted or that you terminate
35294// manually.
35295//
35296// If you are finished with your Spot Fleet for now, but will use it again later,
35297// you can set the target capacity to 0.
35298//
35299// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
35300// with awserr.Error's Code and Message methods to get detailed information about
35301// the error.
35302//
35303// See the AWS API reference guide for Amazon Elastic Compute Cloud's
35304// API operation ModifySpotFleetRequest for usage and error information.
35305// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySpotFleetRequest
35306func (c *EC2) ModifySpotFleetRequest(input *ModifySpotFleetRequestInput) (*ModifySpotFleetRequestOutput, error) {
35307	req, out := c.ModifySpotFleetRequestRequest(input)
35308	return out, req.Send()
35309}
35310
35311// ModifySpotFleetRequestWithContext is the same as ModifySpotFleetRequest with the addition of
35312// the ability to pass a context and additional request options.
35313//
35314// See ModifySpotFleetRequest for details on how to use this API operation.
35315//
35316// The context must be non-nil and will be used for request cancellation. If
35317// the context is nil a panic will occur. In the future the SDK may create
35318// sub-contexts for http.Requests. See https://golang.org/pkg/context/
35319// for more information on using Contexts.
35320func (c *EC2) ModifySpotFleetRequestWithContext(ctx aws.Context, input *ModifySpotFleetRequestInput, opts ...request.Option) (*ModifySpotFleetRequestOutput, error) {
35321	req, out := c.ModifySpotFleetRequestRequest(input)
35322	req.SetContext(ctx)
35323	req.ApplyOptions(opts...)
35324	return out, req.Send()
35325}
35326
35327const opModifySubnetAttribute = "ModifySubnetAttribute"
35328
35329// ModifySubnetAttributeRequest generates a "aws/request.Request" representing the
35330// client's request for the ModifySubnetAttribute operation. The "output" return
35331// value will be populated with the request's response once the request completes
35332// successfully.
35333//
35334// Use "Send" method on the returned Request to send the API call to the service.
35335// the "output" return value is not valid until after Send returns without error.
35336//
35337// See ModifySubnetAttribute for more information on using the ModifySubnetAttribute
35338// API call, and error handling.
35339//
35340// This method is useful when you want to inject custom logic or configuration
35341// into the SDK's request lifecycle. Such as custom headers, or retry logic.
35342//
35343//
35344//    // Example sending a request using the ModifySubnetAttributeRequest method.
35345//    req, resp := client.ModifySubnetAttributeRequest(params)
35346//
35347//    err := req.Send()
35348//    if err == nil { // resp is now filled
35349//        fmt.Println(resp)
35350//    }
35351//
35352// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySubnetAttribute
35353func (c *EC2) ModifySubnetAttributeRequest(input *ModifySubnetAttributeInput) (req *request.Request, output *ModifySubnetAttributeOutput) {
35354	op := &request.Operation{
35355		Name:       opModifySubnetAttribute,
35356		HTTPMethod: "POST",
35357		HTTPPath:   "/",
35358	}
35359
35360	if input == nil {
35361		input = &ModifySubnetAttributeInput{}
35362	}
35363
35364	output = &ModifySubnetAttributeOutput{}
35365	req = c.newRequest(op, input, output)
35366	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
35367	return
35368}
35369
35370// ModifySubnetAttribute API operation for Amazon Elastic Compute Cloud.
35371//
35372// Modifies a subnet attribute. You can only modify one attribute at a time.
35373//
35374// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
35375// with awserr.Error's Code and Message methods to get detailed information about
35376// the error.
35377//
35378// See the AWS API reference guide for Amazon Elastic Compute Cloud's
35379// API operation ModifySubnetAttribute for usage and error information.
35380// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySubnetAttribute
35381func (c *EC2) ModifySubnetAttribute(input *ModifySubnetAttributeInput) (*ModifySubnetAttributeOutput, error) {
35382	req, out := c.ModifySubnetAttributeRequest(input)
35383	return out, req.Send()
35384}
35385
35386// ModifySubnetAttributeWithContext is the same as ModifySubnetAttribute with the addition of
35387// the ability to pass a context and additional request options.
35388//
35389// See ModifySubnetAttribute for details on how to use this API operation.
35390//
35391// The context must be non-nil and will be used for request cancellation. If
35392// the context is nil a panic will occur. In the future the SDK may create
35393// sub-contexts for http.Requests. See https://golang.org/pkg/context/
35394// for more information on using Contexts.
35395func (c *EC2) ModifySubnetAttributeWithContext(ctx aws.Context, input *ModifySubnetAttributeInput, opts ...request.Option) (*ModifySubnetAttributeOutput, error) {
35396	req, out := c.ModifySubnetAttributeRequest(input)
35397	req.SetContext(ctx)
35398	req.ApplyOptions(opts...)
35399	return out, req.Send()
35400}
35401
35402const opModifyTrafficMirrorFilterNetworkServices = "ModifyTrafficMirrorFilterNetworkServices"
35403
35404// ModifyTrafficMirrorFilterNetworkServicesRequest generates a "aws/request.Request" representing the
35405// client's request for the ModifyTrafficMirrorFilterNetworkServices operation. The "output" return
35406// value will be populated with the request's response once the request completes
35407// successfully.
35408//
35409// Use "Send" method on the returned Request to send the API call to the service.
35410// the "output" return value is not valid until after Send returns without error.
35411//
35412// See ModifyTrafficMirrorFilterNetworkServices for more information on using the ModifyTrafficMirrorFilterNetworkServices
35413// API call, and error handling.
35414//
35415// This method is useful when you want to inject custom logic or configuration
35416// into the SDK's request lifecycle. Such as custom headers, or retry logic.
35417//
35418//
35419//    // Example sending a request using the ModifyTrafficMirrorFilterNetworkServicesRequest method.
35420//    req, resp := client.ModifyTrafficMirrorFilterNetworkServicesRequest(params)
35421//
35422//    err := req.Send()
35423//    if err == nil { // resp is now filled
35424//        fmt.Println(resp)
35425//    }
35426//
35427// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTrafficMirrorFilterNetworkServices
35428func (c *EC2) ModifyTrafficMirrorFilterNetworkServicesRequest(input *ModifyTrafficMirrorFilterNetworkServicesInput) (req *request.Request, output *ModifyTrafficMirrorFilterNetworkServicesOutput) {
35429	op := &request.Operation{
35430		Name:       opModifyTrafficMirrorFilterNetworkServices,
35431		HTTPMethod: "POST",
35432		HTTPPath:   "/",
35433	}
35434
35435	if input == nil {
35436		input = &ModifyTrafficMirrorFilterNetworkServicesInput{}
35437	}
35438
35439	output = &ModifyTrafficMirrorFilterNetworkServicesOutput{}
35440	req = c.newRequest(op, input, output)
35441	return
35442}
35443
35444// ModifyTrafficMirrorFilterNetworkServices API operation for Amazon Elastic Compute Cloud.
35445//
35446// Allows or restricts mirroring network services.
35447//
35448// By default, Amazon DNS network services are not eligible for Traffic Mirror.
35449// Use AddNetworkServices to add network services to a Traffic Mirror filter.
35450// When a network service is added to the Traffic Mirror filter, all traffic
35451// related to that network service will be mirrored. When you no longer want
35452// to mirror network services, use RemoveNetworkServices to remove the network
35453// services from the Traffic Mirror filter.
35454//
35455// For information about filter rule properties, see Network Services (https://docs.aws.amazon.com/vpc/latest/mirroring/traffic-mirroring-considerations.html)
35456// in the Traffic Mirroring User Guide .
35457//
35458// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
35459// with awserr.Error's Code and Message methods to get detailed information about
35460// the error.
35461//
35462// See the AWS API reference guide for Amazon Elastic Compute Cloud's
35463// API operation ModifyTrafficMirrorFilterNetworkServices for usage and error information.
35464// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTrafficMirrorFilterNetworkServices
35465func (c *EC2) ModifyTrafficMirrorFilterNetworkServices(input *ModifyTrafficMirrorFilterNetworkServicesInput) (*ModifyTrafficMirrorFilterNetworkServicesOutput, error) {
35466	req, out := c.ModifyTrafficMirrorFilterNetworkServicesRequest(input)
35467	return out, req.Send()
35468}
35469
35470// ModifyTrafficMirrorFilterNetworkServicesWithContext is the same as ModifyTrafficMirrorFilterNetworkServices with the addition of
35471// the ability to pass a context and additional request options.
35472//
35473// See ModifyTrafficMirrorFilterNetworkServices for details on how to use this API operation.
35474//
35475// The context must be non-nil and will be used for request cancellation. If
35476// the context is nil a panic will occur. In the future the SDK may create
35477// sub-contexts for http.Requests. See https://golang.org/pkg/context/
35478// for more information on using Contexts.
35479func (c *EC2) ModifyTrafficMirrorFilterNetworkServicesWithContext(ctx aws.Context, input *ModifyTrafficMirrorFilterNetworkServicesInput, opts ...request.Option) (*ModifyTrafficMirrorFilterNetworkServicesOutput, error) {
35480	req, out := c.ModifyTrafficMirrorFilterNetworkServicesRequest(input)
35481	req.SetContext(ctx)
35482	req.ApplyOptions(opts...)
35483	return out, req.Send()
35484}
35485
35486const opModifyTrafficMirrorFilterRule = "ModifyTrafficMirrorFilterRule"
35487
35488// ModifyTrafficMirrorFilterRuleRequest generates a "aws/request.Request" representing the
35489// client's request for the ModifyTrafficMirrorFilterRule operation. The "output" return
35490// value will be populated with the request's response once the request completes
35491// successfully.
35492//
35493// Use "Send" method on the returned Request to send the API call to the service.
35494// the "output" return value is not valid until after Send returns without error.
35495//
35496// See ModifyTrafficMirrorFilterRule for more information on using the ModifyTrafficMirrorFilterRule
35497// API call, and error handling.
35498//
35499// This method is useful when you want to inject custom logic or configuration
35500// into the SDK's request lifecycle. Such as custom headers, or retry logic.
35501//
35502//
35503//    // Example sending a request using the ModifyTrafficMirrorFilterRuleRequest method.
35504//    req, resp := client.ModifyTrafficMirrorFilterRuleRequest(params)
35505//
35506//    err := req.Send()
35507//    if err == nil { // resp is now filled
35508//        fmt.Println(resp)
35509//    }
35510//
35511// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTrafficMirrorFilterRule
35512func (c *EC2) ModifyTrafficMirrorFilterRuleRequest(input *ModifyTrafficMirrorFilterRuleInput) (req *request.Request, output *ModifyTrafficMirrorFilterRuleOutput) {
35513	op := &request.Operation{
35514		Name:       opModifyTrafficMirrorFilterRule,
35515		HTTPMethod: "POST",
35516		HTTPPath:   "/",
35517	}
35518
35519	if input == nil {
35520		input = &ModifyTrafficMirrorFilterRuleInput{}
35521	}
35522
35523	output = &ModifyTrafficMirrorFilterRuleOutput{}
35524	req = c.newRequest(op, input, output)
35525	return
35526}
35527
35528// ModifyTrafficMirrorFilterRule API operation for Amazon Elastic Compute Cloud.
35529//
35530// Modifies the specified Traffic Mirror rule.
35531//
35532// DestinationCidrBlock and SourceCidrBlock must both be an IPv4 range or an
35533// IPv6 range.
35534//
35535// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
35536// with awserr.Error's Code and Message methods to get detailed information about
35537// the error.
35538//
35539// See the AWS API reference guide for Amazon Elastic Compute Cloud's
35540// API operation ModifyTrafficMirrorFilterRule for usage and error information.
35541// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTrafficMirrorFilterRule
35542func (c *EC2) ModifyTrafficMirrorFilterRule(input *ModifyTrafficMirrorFilterRuleInput) (*ModifyTrafficMirrorFilterRuleOutput, error) {
35543	req, out := c.ModifyTrafficMirrorFilterRuleRequest(input)
35544	return out, req.Send()
35545}
35546
35547// ModifyTrafficMirrorFilterRuleWithContext is the same as ModifyTrafficMirrorFilterRule with the addition of
35548// the ability to pass a context and additional request options.
35549//
35550// See ModifyTrafficMirrorFilterRule for details on how to use this API operation.
35551//
35552// The context must be non-nil and will be used for request cancellation. If
35553// the context is nil a panic will occur. In the future the SDK may create
35554// sub-contexts for http.Requests. See https://golang.org/pkg/context/
35555// for more information on using Contexts.
35556func (c *EC2) ModifyTrafficMirrorFilterRuleWithContext(ctx aws.Context, input *ModifyTrafficMirrorFilterRuleInput, opts ...request.Option) (*ModifyTrafficMirrorFilterRuleOutput, error) {
35557	req, out := c.ModifyTrafficMirrorFilterRuleRequest(input)
35558	req.SetContext(ctx)
35559	req.ApplyOptions(opts...)
35560	return out, req.Send()
35561}
35562
35563const opModifyTrafficMirrorSession = "ModifyTrafficMirrorSession"
35564
35565// ModifyTrafficMirrorSessionRequest generates a "aws/request.Request" representing the
35566// client's request for the ModifyTrafficMirrorSession operation. The "output" return
35567// value will be populated with the request's response once the request completes
35568// successfully.
35569//
35570// Use "Send" method on the returned Request to send the API call to the service.
35571// the "output" return value is not valid until after Send returns without error.
35572//
35573// See ModifyTrafficMirrorSession for more information on using the ModifyTrafficMirrorSession
35574// API call, and error handling.
35575//
35576// This method is useful when you want to inject custom logic or configuration
35577// into the SDK's request lifecycle. Such as custom headers, or retry logic.
35578//
35579//
35580//    // Example sending a request using the ModifyTrafficMirrorSessionRequest method.
35581//    req, resp := client.ModifyTrafficMirrorSessionRequest(params)
35582//
35583//    err := req.Send()
35584//    if err == nil { // resp is now filled
35585//        fmt.Println(resp)
35586//    }
35587//
35588// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTrafficMirrorSession
35589func (c *EC2) ModifyTrafficMirrorSessionRequest(input *ModifyTrafficMirrorSessionInput) (req *request.Request, output *ModifyTrafficMirrorSessionOutput) {
35590	op := &request.Operation{
35591		Name:       opModifyTrafficMirrorSession,
35592		HTTPMethod: "POST",
35593		HTTPPath:   "/",
35594	}
35595
35596	if input == nil {
35597		input = &ModifyTrafficMirrorSessionInput{}
35598	}
35599
35600	output = &ModifyTrafficMirrorSessionOutput{}
35601	req = c.newRequest(op, input, output)
35602	return
35603}
35604
35605// ModifyTrafficMirrorSession API operation for Amazon Elastic Compute Cloud.
35606//
35607// Modifies a Traffic Mirror session.
35608//
35609// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
35610// with awserr.Error's Code and Message methods to get detailed information about
35611// the error.
35612//
35613// See the AWS API reference guide for Amazon Elastic Compute Cloud's
35614// API operation ModifyTrafficMirrorSession for usage and error information.
35615// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTrafficMirrorSession
35616func (c *EC2) ModifyTrafficMirrorSession(input *ModifyTrafficMirrorSessionInput) (*ModifyTrafficMirrorSessionOutput, error) {
35617	req, out := c.ModifyTrafficMirrorSessionRequest(input)
35618	return out, req.Send()
35619}
35620
35621// ModifyTrafficMirrorSessionWithContext is the same as ModifyTrafficMirrorSession with the addition of
35622// the ability to pass a context and additional request options.
35623//
35624// See ModifyTrafficMirrorSession for details on how to use this API operation.
35625//
35626// The context must be non-nil and will be used for request cancellation. If
35627// the context is nil a panic will occur. In the future the SDK may create
35628// sub-contexts for http.Requests. See https://golang.org/pkg/context/
35629// for more information on using Contexts.
35630func (c *EC2) ModifyTrafficMirrorSessionWithContext(ctx aws.Context, input *ModifyTrafficMirrorSessionInput, opts ...request.Option) (*ModifyTrafficMirrorSessionOutput, error) {
35631	req, out := c.ModifyTrafficMirrorSessionRequest(input)
35632	req.SetContext(ctx)
35633	req.ApplyOptions(opts...)
35634	return out, req.Send()
35635}
35636
35637const opModifyTransitGateway = "ModifyTransitGateway"
35638
35639// ModifyTransitGatewayRequest generates a "aws/request.Request" representing the
35640// client's request for the ModifyTransitGateway operation. The "output" return
35641// value will be populated with the request's response once the request completes
35642// successfully.
35643//
35644// Use "Send" method on the returned Request to send the API call to the service.
35645// the "output" return value is not valid until after Send returns without error.
35646//
35647// See ModifyTransitGateway for more information on using the ModifyTransitGateway
35648// API call, and error handling.
35649//
35650// This method is useful when you want to inject custom logic or configuration
35651// into the SDK's request lifecycle. Such as custom headers, or retry logic.
35652//
35653//
35654//    // Example sending a request using the ModifyTransitGatewayRequest method.
35655//    req, resp := client.ModifyTransitGatewayRequest(params)
35656//
35657//    err := req.Send()
35658//    if err == nil { // resp is now filled
35659//        fmt.Println(resp)
35660//    }
35661//
35662// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTransitGateway
35663func (c *EC2) ModifyTransitGatewayRequest(input *ModifyTransitGatewayInput) (req *request.Request, output *ModifyTransitGatewayOutput) {
35664	op := &request.Operation{
35665		Name:       opModifyTransitGateway,
35666		HTTPMethod: "POST",
35667		HTTPPath:   "/",
35668	}
35669
35670	if input == nil {
35671		input = &ModifyTransitGatewayInput{}
35672	}
35673
35674	output = &ModifyTransitGatewayOutput{}
35675	req = c.newRequest(op, input, output)
35676	return
35677}
35678
35679// ModifyTransitGateway API operation for Amazon Elastic Compute Cloud.
35680//
35681// Modifies the specified transit gateway. When you modify a transit gateway,
35682// the modified options are applied to new transit gateway attachments only.
35683// Your existing transit gateway attachments are not modified.
35684//
35685// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
35686// with awserr.Error's Code and Message methods to get detailed information about
35687// the error.
35688//
35689// See the AWS API reference guide for Amazon Elastic Compute Cloud's
35690// API operation ModifyTransitGateway for usage and error information.
35691// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTransitGateway
35692func (c *EC2) ModifyTransitGateway(input *ModifyTransitGatewayInput) (*ModifyTransitGatewayOutput, error) {
35693	req, out := c.ModifyTransitGatewayRequest(input)
35694	return out, req.Send()
35695}
35696
35697// ModifyTransitGatewayWithContext is the same as ModifyTransitGateway with the addition of
35698// the ability to pass a context and additional request options.
35699//
35700// See ModifyTransitGateway for details on how to use this API operation.
35701//
35702// The context must be non-nil and will be used for request cancellation. If
35703// the context is nil a panic will occur. In the future the SDK may create
35704// sub-contexts for http.Requests. See https://golang.org/pkg/context/
35705// for more information on using Contexts.
35706func (c *EC2) ModifyTransitGatewayWithContext(ctx aws.Context, input *ModifyTransitGatewayInput, opts ...request.Option) (*ModifyTransitGatewayOutput, error) {
35707	req, out := c.ModifyTransitGatewayRequest(input)
35708	req.SetContext(ctx)
35709	req.ApplyOptions(opts...)
35710	return out, req.Send()
35711}
35712
35713const opModifyTransitGatewayPrefixListReference = "ModifyTransitGatewayPrefixListReference"
35714
35715// ModifyTransitGatewayPrefixListReferenceRequest generates a "aws/request.Request" representing the
35716// client's request for the ModifyTransitGatewayPrefixListReference operation. The "output" return
35717// value will be populated with the request's response once the request completes
35718// successfully.
35719//
35720// Use "Send" method on the returned Request to send the API call to the service.
35721// the "output" return value is not valid until after Send returns without error.
35722//
35723// See ModifyTransitGatewayPrefixListReference for more information on using the ModifyTransitGatewayPrefixListReference
35724// API call, and error handling.
35725//
35726// This method is useful when you want to inject custom logic or configuration
35727// into the SDK's request lifecycle. Such as custom headers, or retry logic.
35728//
35729//
35730//    // Example sending a request using the ModifyTransitGatewayPrefixListReferenceRequest method.
35731//    req, resp := client.ModifyTransitGatewayPrefixListReferenceRequest(params)
35732//
35733//    err := req.Send()
35734//    if err == nil { // resp is now filled
35735//        fmt.Println(resp)
35736//    }
35737//
35738// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTransitGatewayPrefixListReference
35739func (c *EC2) ModifyTransitGatewayPrefixListReferenceRequest(input *ModifyTransitGatewayPrefixListReferenceInput) (req *request.Request, output *ModifyTransitGatewayPrefixListReferenceOutput) {
35740	op := &request.Operation{
35741		Name:       opModifyTransitGatewayPrefixListReference,
35742		HTTPMethod: "POST",
35743		HTTPPath:   "/",
35744	}
35745
35746	if input == nil {
35747		input = &ModifyTransitGatewayPrefixListReferenceInput{}
35748	}
35749
35750	output = &ModifyTransitGatewayPrefixListReferenceOutput{}
35751	req = c.newRequest(op, input, output)
35752	return
35753}
35754
35755// ModifyTransitGatewayPrefixListReference API operation for Amazon Elastic Compute Cloud.
35756//
35757// Modifies a reference (route) to a prefix list in a specified transit gateway
35758// route table.
35759//
35760// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
35761// with awserr.Error's Code and Message methods to get detailed information about
35762// the error.
35763//
35764// See the AWS API reference guide for Amazon Elastic Compute Cloud's
35765// API operation ModifyTransitGatewayPrefixListReference for usage and error information.
35766// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTransitGatewayPrefixListReference
35767func (c *EC2) ModifyTransitGatewayPrefixListReference(input *ModifyTransitGatewayPrefixListReferenceInput) (*ModifyTransitGatewayPrefixListReferenceOutput, error) {
35768	req, out := c.ModifyTransitGatewayPrefixListReferenceRequest(input)
35769	return out, req.Send()
35770}
35771
35772// ModifyTransitGatewayPrefixListReferenceWithContext is the same as ModifyTransitGatewayPrefixListReference with the addition of
35773// the ability to pass a context and additional request options.
35774//
35775// See ModifyTransitGatewayPrefixListReference for details on how to use this API operation.
35776//
35777// The context must be non-nil and will be used for request cancellation. If
35778// the context is nil a panic will occur. In the future the SDK may create
35779// sub-contexts for http.Requests. See https://golang.org/pkg/context/
35780// for more information on using Contexts.
35781func (c *EC2) ModifyTransitGatewayPrefixListReferenceWithContext(ctx aws.Context, input *ModifyTransitGatewayPrefixListReferenceInput, opts ...request.Option) (*ModifyTransitGatewayPrefixListReferenceOutput, error) {
35782	req, out := c.ModifyTransitGatewayPrefixListReferenceRequest(input)
35783	req.SetContext(ctx)
35784	req.ApplyOptions(opts...)
35785	return out, req.Send()
35786}
35787
35788const opModifyTransitGatewayVpcAttachment = "ModifyTransitGatewayVpcAttachment"
35789
35790// ModifyTransitGatewayVpcAttachmentRequest generates a "aws/request.Request" representing the
35791// client's request for the ModifyTransitGatewayVpcAttachment operation. The "output" return
35792// value will be populated with the request's response once the request completes
35793// successfully.
35794//
35795// Use "Send" method on the returned Request to send the API call to the service.
35796// the "output" return value is not valid until after Send returns without error.
35797//
35798// See ModifyTransitGatewayVpcAttachment for more information on using the ModifyTransitGatewayVpcAttachment
35799// API call, and error handling.
35800//
35801// This method is useful when you want to inject custom logic or configuration
35802// into the SDK's request lifecycle. Such as custom headers, or retry logic.
35803//
35804//
35805//    // Example sending a request using the ModifyTransitGatewayVpcAttachmentRequest method.
35806//    req, resp := client.ModifyTransitGatewayVpcAttachmentRequest(params)
35807//
35808//    err := req.Send()
35809//    if err == nil { // resp is now filled
35810//        fmt.Println(resp)
35811//    }
35812//
35813// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTransitGatewayVpcAttachment
35814func (c *EC2) ModifyTransitGatewayVpcAttachmentRequest(input *ModifyTransitGatewayVpcAttachmentInput) (req *request.Request, output *ModifyTransitGatewayVpcAttachmentOutput) {
35815	op := &request.Operation{
35816		Name:       opModifyTransitGatewayVpcAttachment,
35817		HTTPMethod: "POST",
35818		HTTPPath:   "/",
35819	}
35820
35821	if input == nil {
35822		input = &ModifyTransitGatewayVpcAttachmentInput{}
35823	}
35824
35825	output = &ModifyTransitGatewayVpcAttachmentOutput{}
35826	req = c.newRequest(op, input, output)
35827	return
35828}
35829
35830// ModifyTransitGatewayVpcAttachment API operation for Amazon Elastic Compute Cloud.
35831//
35832// Modifies the specified VPC attachment.
35833//
35834// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
35835// with awserr.Error's Code and Message methods to get detailed information about
35836// the error.
35837//
35838// See the AWS API reference guide for Amazon Elastic Compute Cloud's
35839// API operation ModifyTransitGatewayVpcAttachment for usage and error information.
35840// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTransitGatewayVpcAttachment
35841func (c *EC2) ModifyTransitGatewayVpcAttachment(input *ModifyTransitGatewayVpcAttachmentInput) (*ModifyTransitGatewayVpcAttachmentOutput, error) {
35842	req, out := c.ModifyTransitGatewayVpcAttachmentRequest(input)
35843	return out, req.Send()
35844}
35845
35846// ModifyTransitGatewayVpcAttachmentWithContext is the same as ModifyTransitGatewayVpcAttachment with the addition of
35847// the ability to pass a context and additional request options.
35848//
35849// See ModifyTransitGatewayVpcAttachment for details on how to use this API operation.
35850//
35851// The context must be non-nil and will be used for request cancellation. If
35852// the context is nil a panic will occur. In the future the SDK may create
35853// sub-contexts for http.Requests. See https://golang.org/pkg/context/
35854// for more information on using Contexts.
35855func (c *EC2) ModifyTransitGatewayVpcAttachmentWithContext(ctx aws.Context, input *ModifyTransitGatewayVpcAttachmentInput, opts ...request.Option) (*ModifyTransitGatewayVpcAttachmentOutput, error) {
35856	req, out := c.ModifyTransitGatewayVpcAttachmentRequest(input)
35857	req.SetContext(ctx)
35858	req.ApplyOptions(opts...)
35859	return out, req.Send()
35860}
35861
35862const opModifyVolume = "ModifyVolume"
35863
35864// ModifyVolumeRequest generates a "aws/request.Request" representing the
35865// client's request for the ModifyVolume operation. The "output" return
35866// value will be populated with the request's response once the request completes
35867// successfully.
35868//
35869// Use "Send" method on the returned Request to send the API call to the service.
35870// the "output" return value is not valid until after Send returns without error.
35871//
35872// See ModifyVolume for more information on using the ModifyVolume
35873// API call, and error handling.
35874//
35875// This method is useful when you want to inject custom logic or configuration
35876// into the SDK's request lifecycle. Such as custom headers, or retry logic.
35877//
35878//
35879//    // Example sending a request using the ModifyVolumeRequest method.
35880//    req, resp := client.ModifyVolumeRequest(params)
35881//
35882//    err := req.Send()
35883//    if err == nil { // resp is now filled
35884//        fmt.Println(resp)
35885//    }
35886//
35887// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolume
35888func (c *EC2) ModifyVolumeRequest(input *ModifyVolumeInput) (req *request.Request, output *ModifyVolumeOutput) {
35889	op := &request.Operation{
35890		Name:       opModifyVolume,
35891		HTTPMethod: "POST",
35892		HTTPPath:   "/",
35893	}
35894
35895	if input == nil {
35896		input = &ModifyVolumeInput{}
35897	}
35898
35899	output = &ModifyVolumeOutput{}
35900	req = c.newRequest(op, input, output)
35901	return
35902}
35903
35904// ModifyVolume API operation for Amazon Elastic Compute Cloud.
35905//
35906// You can modify several parameters of an existing EBS volume, including volume
35907// size, volume type, and IOPS capacity. If your EBS volume is attached to a
35908// current-generation EC2 instance type, you might be able to apply these changes
35909// without stopping the instance or detaching the volume from it. For more information
35910// about modifying an EBS volume running Linux, see Modifying the size, IOPS,
35911// or type of an EBS volume on Linux (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html).
35912// For more information about modifying an EBS volume running Windows, see Modifying
35913// the size, IOPS, or type of an EBS volume on Windows (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-expand-volume.html).
35914//
35915// When you complete a resize operation on your volume, you need to extend the
35916// volume's file-system size to take advantage of the new storage capacity.
35917// For information about extending a Linux file system, see Extending a Linux
35918// file system (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#recognize-expanded-volume-linux).
35919// For information about extending a Windows file system, see Extending a Windows
35920// file system (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-expand-volume.html#recognize-expanded-volume-windows).
35921//
35922// You can use CloudWatch Events to check the status of a modification to an
35923// EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch
35924// Events User Guide (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/).
35925// You can also track the status of a modification using DescribeVolumesModifications.
35926// For information about tracking status changes using either method, see Monitoring
35927// volume modifications (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#monitoring_mods).
35928//
35929// With previous-generation instance types, resizing an EBS volume might require
35930// detaching and reattaching the volume or stopping and restarting the instance.
35931// For more information, see Amazon EBS Elastic Volumes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modify-volume.html)
35932// (Linux) or Amazon EBS Elastic Volumes (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-modify-volume.html)
35933// (Windows).
35934//
35935// If you reach the maximum volume modification rate per volume limit, you will
35936// need to wait at least six hours before applying further modifications to
35937// the affected EBS volume.
35938//
35939// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
35940// with awserr.Error's Code and Message methods to get detailed information about
35941// the error.
35942//
35943// See the AWS API reference guide for Amazon Elastic Compute Cloud's
35944// API operation ModifyVolume for usage and error information.
35945// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolume
35946func (c *EC2) ModifyVolume(input *ModifyVolumeInput) (*ModifyVolumeOutput, error) {
35947	req, out := c.ModifyVolumeRequest(input)
35948	return out, req.Send()
35949}
35950
35951// ModifyVolumeWithContext is the same as ModifyVolume with the addition of
35952// the ability to pass a context and additional request options.
35953//
35954// See ModifyVolume for details on how to use this API operation.
35955//
35956// The context must be non-nil and will be used for request cancellation. If
35957// the context is nil a panic will occur. In the future the SDK may create
35958// sub-contexts for http.Requests. See https://golang.org/pkg/context/
35959// for more information on using Contexts.
35960func (c *EC2) ModifyVolumeWithContext(ctx aws.Context, input *ModifyVolumeInput, opts ...request.Option) (*ModifyVolumeOutput, error) {
35961	req, out := c.ModifyVolumeRequest(input)
35962	req.SetContext(ctx)
35963	req.ApplyOptions(opts...)
35964	return out, req.Send()
35965}
35966
35967const opModifyVolumeAttribute = "ModifyVolumeAttribute"
35968
35969// ModifyVolumeAttributeRequest generates a "aws/request.Request" representing the
35970// client's request for the ModifyVolumeAttribute operation. The "output" return
35971// value will be populated with the request's response once the request completes
35972// successfully.
35973//
35974// Use "Send" method on the returned Request to send the API call to the service.
35975// the "output" return value is not valid until after Send returns without error.
35976//
35977// See ModifyVolumeAttribute for more information on using the ModifyVolumeAttribute
35978// API call, and error handling.
35979//
35980// This method is useful when you want to inject custom logic or configuration
35981// into the SDK's request lifecycle. Such as custom headers, or retry logic.
35982//
35983//
35984//    // Example sending a request using the ModifyVolumeAttributeRequest method.
35985//    req, resp := client.ModifyVolumeAttributeRequest(params)
35986//
35987//    err := req.Send()
35988//    if err == nil { // resp is now filled
35989//        fmt.Println(resp)
35990//    }
35991//
35992// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolumeAttribute
35993func (c *EC2) ModifyVolumeAttributeRequest(input *ModifyVolumeAttributeInput) (req *request.Request, output *ModifyVolumeAttributeOutput) {
35994	op := &request.Operation{
35995		Name:       opModifyVolumeAttribute,
35996		HTTPMethod: "POST",
35997		HTTPPath:   "/",
35998	}
35999
36000	if input == nil {
36001		input = &ModifyVolumeAttributeInput{}
36002	}
36003
36004	output = &ModifyVolumeAttributeOutput{}
36005	req = c.newRequest(op, input, output)
36006	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
36007	return
36008}
36009
36010// ModifyVolumeAttribute API operation for Amazon Elastic Compute Cloud.
36011//
36012// Modifies a volume attribute.
36013//
36014// By default, all I/O operations for the volume are suspended when the data
36015// on the volume is determined to be potentially inconsistent, to prevent undetectable,
36016// latent data corruption. The I/O access to the volume can be resumed by first
36017// enabling I/O access and then checking the data consistency on your volume.
36018//
36019// You can change the default behavior to resume I/O operations. We recommend
36020// that you change this only for boot volumes or for volumes that are stateless
36021// or disposable.
36022//
36023// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
36024// with awserr.Error's Code and Message methods to get detailed information about
36025// the error.
36026//
36027// See the AWS API reference guide for Amazon Elastic Compute Cloud's
36028// API operation ModifyVolumeAttribute for usage and error information.
36029// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolumeAttribute
36030func (c *EC2) ModifyVolumeAttribute(input *ModifyVolumeAttributeInput) (*ModifyVolumeAttributeOutput, error) {
36031	req, out := c.ModifyVolumeAttributeRequest(input)
36032	return out, req.Send()
36033}
36034
36035// ModifyVolumeAttributeWithContext is the same as ModifyVolumeAttribute with the addition of
36036// the ability to pass a context and additional request options.
36037//
36038// See ModifyVolumeAttribute for details on how to use this API operation.
36039//
36040// The context must be non-nil and will be used for request cancellation. If
36041// the context is nil a panic will occur. In the future the SDK may create
36042// sub-contexts for http.Requests. See https://golang.org/pkg/context/
36043// for more information on using Contexts.
36044func (c *EC2) ModifyVolumeAttributeWithContext(ctx aws.Context, input *ModifyVolumeAttributeInput, opts ...request.Option) (*ModifyVolumeAttributeOutput, error) {
36045	req, out := c.ModifyVolumeAttributeRequest(input)
36046	req.SetContext(ctx)
36047	req.ApplyOptions(opts...)
36048	return out, req.Send()
36049}
36050
36051const opModifyVpcAttribute = "ModifyVpcAttribute"
36052
36053// ModifyVpcAttributeRequest generates a "aws/request.Request" representing the
36054// client's request for the ModifyVpcAttribute operation. The "output" return
36055// value will be populated with the request's response once the request completes
36056// successfully.
36057//
36058// Use "Send" method on the returned Request to send the API call to the service.
36059// the "output" return value is not valid until after Send returns without error.
36060//
36061// See ModifyVpcAttribute for more information on using the ModifyVpcAttribute
36062// API call, and error handling.
36063//
36064// This method is useful when you want to inject custom logic or configuration
36065// into the SDK's request lifecycle. Such as custom headers, or retry logic.
36066//
36067//
36068//    // Example sending a request using the ModifyVpcAttributeRequest method.
36069//    req, resp := client.ModifyVpcAttributeRequest(params)
36070//
36071//    err := req.Send()
36072//    if err == nil { // resp is now filled
36073//        fmt.Println(resp)
36074//    }
36075//
36076// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcAttribute
36077func (c *EC2) ModifyVpcAttributeRequest(input *ModifyVpcAttributeInput) (req *request.Request, output *ModifyVpcAttributeOutput) {
36078	op := &request.Operation{
36079		Name:       opModifyVpcAttribute,
36080		HTTPMethod: "POST",
36081		HTTPPath:   "/",
36082	}
36083
36084	if input == nil {
36085		input = &ModifyVpcAttributeInput{}
36086	}
36087
36088	output = &ModifyVpcAttributeOutput{}
36089	req = c.newRequest(op, input, output)
36090	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
36091	return
36092}
36093
36094// ModifyVpcAttribute API operation for Amazon Elastic Compute Cloud.
36095//
36096// Modifies the specified attribute of the specified VPC.
36097//
36098// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
36099// with awserr.Error's Code and Message methods to get detailed information about
36100// the error.
36101//
36102// See the AWS API reference guide for Amazon Elastic Compute Cloud's
36103// API operation ModifyVpcAttribute for usage and error information.
36104// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcAttribute
36105func (c *EC2) ModifyVpcAttribute(input *ModifyVpcAttributeInput) (*ModifyVpcAttributeOutput, error) {
36106	req, out := c.ModifyVpcAttributeRequest(input)
36107	return out, req.Send()
36108}
36109
36110// ModifyVpcAttributeWithContext is the same as ModifyVpcAttribute with the addition of
36111// the ability to pass a context and additional request options.
36112//
36113// See ModifyVpcAttribute for details on how to use this API operation.
36114//
36115// The context must be non-nil and will be used for request cancellation. If
36116// the context is nil a panic will occur. In the future the SDK may create
36117// sub-contexts for http.Requests. See https://golang.org/pkg/context/
36118// for more information on using Contexts.
36119func (c *EC2) ModifyVpcAttributeWithContext(ctx aws.Context, input *ModifyVpcAttributeInput, opts ...request.Option) (*ModifyVpcAttributeOutput, error) {
36120	req, out := c.ModifyVpcAttributeRequest(input)
36121	req.SetContext(ctx)
36122	req.ApplyOptions(opts...)
36123	return out, req.Send()
36124}
36125
36126const opModifyVpcEndpoint = "ModifyVpcEndpoint"
36127
36128// ModifyVpcEndpointRequest generates a "aws/request.Request" representing the
36129// client's request for the ModifyVpcEndpoint operation. The "output" return
36130// value will be populated with the request's response once the request completes
36131// successfully.
36132//
36133// Use "Send" method on the returned Request to send the API call to the service.
36134// the "output" return value is not valid until after Send returns without error.
36135//
36136// See ModifyVpcEndpoint for more information on using the ModifyVpcEndpoint
36137// API call, and error handling.
36138//
36139// This method is useful when you want to inject custom logic or configuration
36140// into the SDK's request lifecycle. Such as custom headers, or retry logic.
36141//
36142//
36143//    // Example sending a request using the ModifyVpcEndpointRequest method.
36144//    req, resp := client.ModifyVpcEndpointRequest(params)
36145//
36146//    err := req.Send()
36147//    if err == nil { // resp is now filled
36148//        fmt.Println(resp)
36149//    }
36150//
36151// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpoint
36152func (c *EC2) ModifyVpcEndpointRequest(input *ModifyVpcEndpointInput) (req *request.Request, output *ModifyVpcEndpointOutput) {
36153	op := &request.Operation{
36154		Name:       opModifyVpcEndpoint,
36155		HTTPMethod: "POST",
36156		HTTPPath:   "/",
36157	}
36158
36159	if input == nil {
36160		input = &ModifyVpcEndpointInput{}
36161	}
36162
36163	output = &ModifyVpcEndpointOutput{}
36164	req = c.newRequest(op, input, output)
36165	return
36166}
36167
36168// ModifyVpcEndpoint API operation for Amazon Elastic Compute Cloud.
36169//
36170// Modifies attributes of a specified VPC endpoint. The attributes that you
36171// can modify depend on the type of VPC endpoint (interface, gateway, or Gateway
36172// Load Balancer). For more information, see VPC Endpoints (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html)
36173// in the Amazon Virtual Private Cloud User Guide.
36174//
36175// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
36176// with awserr.Error's Code and Message methods to get detailed information about
36177// the error.
36178//
36179// See the AWS API reference guide for Amazon Elastic Compute Cloud's
36180// API operation ModifyVpcEndpoint for usage and error information.
36181// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpoint
36182func (c *EC2) ModifyVpcEndpoint(input *ModifyVpcEndpointInput) (*ModifyVpcEndpointOutput, error) {
36183	req, out := c.ModifyVpcEndpointRequest(input)
36184	return out, req.Send()
36185}
36186
36187// ModifyVpcEndpointWithContext is the same as ModifyVpcEndpoint with the addition of
36188// the ability to pass a context and additional request options.
36189//
36190// See ModifyVpcEndpoint for details on how to use this API operation.
36191//
36192// The context must be non-nil and will be used for request cancellation. If
36193// the context is nil a panic will occur. In the future the SDK may create
36194// sub-contexts for http.Requests. See https://golang.org/pkg/context/
36195// for more information on using Contexts.
36196func (c *EC2) ModifyVpcEndpointWithContext(ctx aws.Context, input *ModifyVpcEndpointInput, opts ...request.Option) (*ModifyVpcEndpointOutput, error) {
36197	req, out := c.ModifyVpcEndpointRequest(input)
36198	req.SetContext(ctx)
36199	req.ApplyOptions(opts...)
36200	return out, req.Send()
36201}
36202
36203const opModifyVpcEndpointConnectionNotification = "ModifyVpcEndpointConnectionNotification"
36204
36205// ModifyVpcEndpointConnectionNotificationRequest generates a "aws/request.Request" representing the
36206// client's request for the ModifyVpcEndpointConnectionNotification operation. The "output" return
36207// value will be populated with the request's response once the request completes
36208// successfully.
36209//
36210// Use "Send" method on the returned Request to send the API call to the service.
36211// the "output" return value is not valid until after Send returns without error.
36212//
36213// See ModifyVpcEndpointConnectionNotification for more information on using the ModifyVpcEndpointConnectionNotification
36214// API call, and error handling.
36215//
36216// This method is useful when you want to inject custom logic or configuration
36217// into the SDK's request lifecycle. Such as custom headers, or retry logic.
36218//
36219//
36220//    // Example sending a request using the ModifyVpcEndpointConnectionNotificationRequest method.
36221//    req, resp := client.ModifyVpcEndpointConnectionNotificationRequest(params)
36222//
36223//    err := req.Send()
36224//    if err == nil { // resp is now filled
36225//        fmt.Println(resp)
36226//    }
36227//
36228// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointConnectionNotification
36229func (c *EC2) ModifyVpcEndpointConnectionNotificationRequest(input *ModifyVpcEndpointConnectionNotificationInput) (req *request.Request, output *ModifyVpcEndpointConnectionNotificationOutput) {
36230	op := &request.Operation{
36231		Name:       opModifyVpcEndpointConnectionNotification,
36232		HTTPMethod: "POST",
36233		HTTPPath:   "/",
36234	}
36235
36236	if input == nil {
36237		input = &ModifyVpcEndpointConnectionNotificationInput{}
36238	}
36239
36240	output = &ModifyVpcEndpointConnectionNotificationOutput{}
36241	req = c.newRequest(op, input, output)
36242	return
36243}
36244
36245// ModifyVpcEndpointConnectionNotification API operation for Amazon Elastic Compute Cloud.
36246//
36247// Modifies a connection notification for VPC endpoint or VPC endpoint service.
36248// You can change the SNS topic for the notification, or the events for which
36249// to be notified.
36250//
36251// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
36252// with awserr.Error's Code and Message methods to get detailed information about
36253// the error.
36254//
36255// See the AWS API reference guide for Amazon Elastic Compute Cloud's
36256// API operation ModifyVpcEndpointConnectionNotification for usage and error information.
36257// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointConnectionNotification
36258func (c *EC2) ModifyVpcEndpointConnectionNotification(input *ModifyVpcEndpointConnectionNotificationInput) (*ModifyVpcEndpointConnectionNotificationOutput, error) {
36259	req, out := c.ModifyVpcEndpointConnectionNotificationRequest(input)
36260	return out, req.Send()
36261}
36262
36263// ModifyVpcEndpointConnectionNotificationWithContext is the same as ModifyVpcEndpointConnectionNotification with the addition of
36264// the ability to pass a context and additional request options.
36265//
36266// See ModifyVpcEndpointConnectionNotification for details on how to use this API operation.
36267//
36268// The context must be non-nil and will be used for request cancellation. If
36269// the context is nil a panic will occur. In the future the SDK may create
36270// sub-contexts for http.Requests. See https://golang.org/pkg/context/
36271// for more information on using Contexts.
36272func (c *EC2) ModifyVpcEndpointConnectionNotificationWithContext(ctx aws.Context, input *ModifyVpcEndpointConnectionNotificationInput, opts ...request.Option) (*ModifyVpcEndpointConnectionNotificationOutput, error) {
36273	req, out := c.ModifyVpcEndpointConnectionNotificationRequest(input)
36274	req.SetContext(ctx)
36275	req.ApplyOptions(opts...)
36276	return out, req.Send()
36277}
36278
36279const opModifyVpcEndpointServiceConfiguration = "ModifyVpcEndpointServiceConfiguration"
36280
36281// ModifyVpcEndpointServiceConfigurationRequest generates a "aws/request.Request" representing the
36282// client's request for the ModifyVpcEndpointServiceConfiguration operation. The "output" return
36283// value will be populated with the request's response once the request completes
36284// successfully.
36285//
36286// Use "Send" method on the returned Request to send the API call to the service.
36287// the "output" return value is not valid until after Send returns without error.
36288//
36289// See ModifyVpcEndpointServiceConfiguration for more information on using the ModifyVpcEndpointServiceConfiguration
36290// API call, and error handling.
36291//
36292// This method is useful when you want to inject custom logic or configuration
36293// into the SDK's request lifecycle. Such as custom headers, or retry logic.
36294//
36295//
36296//    // Example sending a request using the ModifyVpcEndpointServiceConfigurationRequest method.
36297//    req, resp := client.ModifyVpcEndpointServiceConfigurationRequest(params)
36298//
36299//    err := req.Send()
36300//    if err == nil { // resp is now filled
36301//        fmt.Println(resp)
36302//    }
36303//
36304// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointServiceConfiguration
36305func (c *EC2) ModifyVpcEndpointServiceConfigurationRequest(input *ModifyVpcEndpointServiceConfigurationInput) (req *request.Request, output *ModifyVpcEndpointServiceConfigurationOutput) {
36306	op := &request.Operation{
36307		Name:       opModifyVpcEndpointServiceConfiguration,
36308		HTTPMethod: "POST",
36309		HTTPPath:   "/",
36310	}
36311
36312	if input == nil {
36313		input = &ModifyVpcEndpointServiceConfigurationInput{}
36314	}
36315
36316	output = &ModifyVpcEndpointServiceConfigurationOutput{}
36317	req = c.newRequest(op, input, output)
36318	return
36319}
36320
36321// ModifyVpcEndpointServiceConfiguration API operation for Amazon Elastic Compute Cloud.
36322//
36323// Modifies the attributes of your VPC endpoint service configuration. You can
36324// change the Network Load Balancers or Gateway Load Balancers for your service,
36325// and you can specify whether acceptance is required for requests to connect
36326// to your endpoint service through an interface VPC endpoint.
36327//
36328// If you set or modify the private DNS name, you must prove that you own the
36329// private DNS domain name. For more information, see VPC Endpoint Service Private
36330// DNS Name Verification (https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-services-dns-validation.html)
36331// in the Amazon Virtual Private Cloud User Guide.
36332//
36333// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
36334// with awserr.Error's Code and Message methods to get detailed information about
36335// the error.
36336//
36337// See the AWS API reference guide for Amazon Elastic Compute Cloud's
36338// API operation ModifyVpcEndpointServiceConfiguration for usage and error information.
36339// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointServiceConfiguration
36340func (c *EC2) ModifyVpcEndpointServiceConfiguration(input *ModifyVpcEndpointServiceConfigurationInput) (*ModifyVpcEndpointServiceConfigurationOutput, error) {
36341	req, out := c.ModifyVpcEndpointServiceConfigurationRequest(input)
36342	return out, req.Send()
36343}
36344
36345// ModifyVpcEndpointServiceConfigurationWithContext is the same as ModifyVpcEndpointServiceConfiguration with the addition of
36346// the ability to pass a context and additional request options.
36347//
36348// See ModifyVpcEndpointServiceConfiguration for details on how to use this API operation.
36349//
36350// The context must be non-nil and will be used for request cancellation. If
36351// the context is nil a panic will occur. In the future the SDK may create
36352// sub-contexts for http.Requests. See https://golang.org/pkg/context/
36353// for more information on using Contexts.
36354func (c *EC2) ModifyVpcEndpointServiceConfigurationWithContext(ctx aws.Context, input *ModifyVpcEndpointServiceConfigurationInput, opts ...request.Option) (*ModifyVpcEndpointServiceConfigurationOutput, error) {
36355	req, out := c.ModifyVpcEndpointServiceConfigurationRequest(input)
36356	req.SetContext(ctx)
36357	req.ApplyOptions(opts...)
36358	return out, req.Send()
36359}
36360
36361const opModifyVpcEndpointServicePermissions = "ModifyVpcEndpointServicePermissions"
36362
36363// ModifyVpcEndpointServicePermissionsRequest generates a "aws/request.Request" representing the
36364// client's request for the ModifyVpcEndpointServicePermissions operation. The "output" return
36365// value will be populated with the request's response once the request completes
36366// successfully.
36367//
36368// Use "Send" method on the returned Request to send the API call to the service.
36369// the "output" return value is not valid until after Send returns without error.
36370//
36371// See ModifyVpcEndpointServicePermissions for more information on using the ModifyVpcEndpointServicePermissions
36372// API call, and error handling.
36373//
36374// This method is useful when you want to inject custom logic or configuration
36375// into the SDK's request lifecycle. Such as custom headers, or retry logic.
36376//
36377//
36378//    // Example sending a request using the ModifyVpcEndpointServicePermissionsRequest method.
36379//    req, resp := client.ModifyVpcEndpointServicePermissionsRequest(params)
36380//
36381//    err := req.Send()
36382//    if err == nil { // resp is now filled
36383//        fmt.Println(resp)
36384//    }
36385//
36386// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointServicePermissions
36387func (c *EC2) ModifyVpcEndpointServicePermissionsRequest(input *ModifyVpcEndpointServicePermissionsInput) (req *request.Request, output *ModifyVpcEndpointServicePermissionsOutput) {
36388	op := &request.Operation{
36389		Name:       opModifyVpcEndpointServicePermissions,
36390		HTTPMethod: "POST",
36391		HTTPPath:   "/",
36392	}
36393
36394	if input == nil {
36395		input = &ModifyVpcEndpointServicePermissionsInput{}
36396	}
36397
36398	output = &ModifyVpcEndpointServicePermissionsOutput{}
36399	req = c.newRequest(op, input, output)
36400	return
36401}
36402
36403// ModifyVpcEndpointServicePermissions API operation for Amazon Elastic Compute Cloud.
36404//
36405// Modifies the permissions for your VPC endpoint service (https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html).
36406// You can add or remove permissions for service consumers (IAM users, IAM roles,
36407// and AWS accounts) to connect to your endpoint service.
36408//
36409// If you grant permissions to all principals, the service is public. Any users
36410// who know the name of a public service can send a request to attach an endpoint.
36411// If the service does not require manual approval, attachments are automatically
36412// approved.
36413//
36414// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
36415// with awserr.Error's Code and Message methods to get detailed information about
36416// the error.
36417//
36418// See the AWS API reference guide for Amazon Elastic Compute Cloud's
36419// API operation ModifyVpcEndpointServicePermissions for usage and error information.
36420// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointServicePermissions
36421func (c *EC2) ModifyVpcEndpointServicePermissions(input *ModifyVpcEndpointServicePermissionsInput) (*ModifyVpcEndpointServicePermissionsOutput, error) {
36422	req, out := c.ModifyVpcEndpointServicePermissionsRequest(input)
36423	return out, req.Send()
36424}
36425
36426// ModifyVpcEndpointServicePermissionsWithContext is the same as ModifyVpcEndpointServicePermissions with the addition of
36427// the ability to pass a context and additional request options.
36428//
36429// See ModifyVpcEndpointServicePermissions for details on how to use this API operation.
36430//
36431// The context must be non-nil and will be used for request cancellation. If
36432// the context is nil a panic will occur. In the future the SDK may create
36433// sub-contexts for http.Requests. See https://golang.org/pkg/context/
36434// for more information on using Contexts.
36435func (c *EC2) ModifyVpcEndpointServicePermissionsWithContext(ctx aws.Context, input *ModifyVpcEndpointServicePermissionsInput, opts ...request.Option) (*ModifyVpcEndpointServicePermissionsOutput, error) {
36436	req, out := c.ModifyVpcEndpointServicePermissionsRequest(input)
36437	req.SetContext(ctx)
36438	req.ApplyOptions(opts...)
36439	return out, req.Send()
36440}
36441
36442const opModifyVpcPeeringConnectionOptions = "ModifyVpcPeeringConnectionOptions"
36443
36444// ModifyVpcPeeringConnectionOptionsRequest generates a "aws/request.Request" representing the
36445// client's request for the ModifyVpcPeeringConnectionOptions operation. The "output" return
36446// value will be populated with the request's response once the request completes
36447// successfully.
36448//
36449// Use "Send" method on the returned Request to send the API call to the service.
36450// the "output" return value is not valid until after Send returns without error.
36451//
36452// See ModifyVpcPeeringConnectionOptions for more information on using the ModifyVpcPeeringConnectionOptions
36453// API call, and error handling.
36454//
36455// This method is useful when you want to inject custom logic or configuration
36456// into the SDK's request lifecycle. Such as custom headers, or retry logic.
36457//
36458//
36459//    // Example sending a request using the ModifyVpcPeeringConnectionOptionsRequest method.
36460//    req, resp := client.ModifyVpcPeeringConnectionOptionsRequest(params)
36461//
36462//    err := req.Send()
36463//    if err == nil { // resp is now filled
36464//        fmt.Println(resp)
36465//    }
36466//
36467// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcPeeringConnectionOptions
36468func (c *EC2) ModifyVpcPeeringConnectionOptionsRequest(input *ModifyVpcPeeringConnectionOptionsInput) (req *request.Request, output *ModifyVpcPeeringConnectionOptionsOutput) {
36469	op := &request.Operation{
36470		Name:       opModifyVpcPeeringConnectionOptions,
36471		HTTPMethod: "POST",
36472		HTTPPath:   "/",
36473	}
36474
36475	if input == nil {
36476		input = &ModifyVpcPeeringConnectionOptionsInput{}
36477	}
36478
36479	output = &ModifyVpcPeeringConnectionOptionsOutput{}
36480	req = c.newRequest(op, input, output)
36481	return
36482}
36483
36484// ModifyVpcPeeringConnectionOptions API operation for Amazon Elastic Compute Cloud.
36485//
36486// Modifies the VPC peering connection options on one side of a VPC peering
36487// connection. You can do the following:
36488//
36489//    * Enable/disable communication over the peering connection between an
36490//    EC2-Classic instance that's linked to your VPC (using ClassicLink) and
36491//    instances in the peer VPC.
36492//
36493//    * Enable/disable communication over the peering connection between instances
36494//    in your VPC and an EC2-Classic instance that's linked to the peer VPC.
36495//
36496//    * Enable/disable the ability to resolve public DNS hostnames to private
36497//    IP addresses when queried from instances in the peer VPC.
36498//
36499// If the peered VPCs are in the same AWS account, you can enable DNS resolution
36500// for queries from the local VPC. This ensures that queries from the local
36501// VPC resolve to private IP addresses in the peer VPC. This option is not available
36502// if the peered VPCs are in different AWS accounts or different Regions. For
36503// peered VPCs in different AWS accounts, each AWS account owner must initiate
36504// a separate request to modify the peering connection options. For inter-region
36505// peering connections, you must use the Region for the requester VPC to modify
36506// the requester VPC peering options and the Region for the accepter VPC to
36507// modify the accepter VPC peering options. To verify which VPCs are the accepter
36508// and the requester for a VPC peering connection, use the DescribeVpcPeeringConnections
36509// command.
36510//
36511// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
36512// with awserr.Error's Code and Message methods to get detailed information about
36513// the error.
36514//
36515// See the AWS API reference guide for Amazon Elastic Compute Cloud's
36516// API operation ModifyVpcPeeringConnectionOptions for usage and error information.
36517// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcPeeringConnectionOptions
36518func (c *EC2) ModifyVpcPeeringConnectionOptions(input *ModifyVpcPeeringConnectionOptionsInput) (*ModifyVpcPeeringConnectionOptionsOutput, error) {
36519	req, out := c.ModifyVpcPeeringConnectionOptionsRequest(input)
36520	return out, req.Send()
36521}
36522
36523// ModifyVpcPeeringConnectionOptionsWithContext is the same as ModifyVpcPeeringConnectionOptions with the addition of
36524// the ability to pass a context and additional request options.
36525//
36526// See ModifyVpcPeeringConnectionOptions for details on how to use this API operation.
36527//
36528// The context must be non-nil and will be used for request cancellation. If
36529// the context is nil a panic will occur. In the future the SDK may create
36530// sub-contexts for http.Requests. See https://golang.org/pkg/context/
36531// for more information on using Contexts.
36532func (c *EC2) ModifyVpcPeeringConnectionOptionsWithContext(ctx aws.Context, input *ModifyVpcPeeringConnectionOptionsInput, opts ...request.Option) (*ModifyVpcPeeringConnectionOptionsOutput, error) {
36533	req, out := c.ModifyVpcPeeringConnectionOptionsRequest(input)
36534	req.SetContext(ctx)
36535	req.ApplyOptions(opts...)
36536	return out, req.Send()
36537}
36538
36539const opModifyVpcTenancy = "ModifyVpcTenancy"
36540
36541// ModifyVpcTenancyRequest generates a "aws/request.Request" representing the
36542// client's request for the ModifyVpcTenancy operation. The "output" return
36543// value will be populated with the request's response once the request completes
36544// successfully.
36545//
36546// Use "Send" method on the returned Request to send the API call to the service.
36547// the "output" return value is not valid until after Send returns without error.
36548//
36549// See ModifyVpcTenancy for more information on using the ModifyVpcTenancy
36550// API call, and error handling.
36551//
36552// This method is useful when you want to inject custom logic or configuration
36553// into the SDK's request lifecycle. Such as custom headers, or retry logic.
36554//
36555//
36556//    // Example sending a request using the ModifyVpcTenancyRequest method.
36557//    req, resp := client.ModifyVpcTenancyRequest(params)
36558//
36559//    err := req.Send()
36560//    if err == nil { // resp is now filled
36561//        fmt.Println(resp)
36562//    }
36563//
36564// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcTenancy
36565func (c *EC2) ModifyVpcTenancyRequest(input *ModifyVpcTenancyInput) (req *request.Request, output *ModifyVpcTenancyOutput) {
36566	op := &request.Operation{
36567		Name:       opModifyVpcTenancy,
36568		HTTPMethod: "POST",
36569		HTTPPath:   "/",
36570	}
36571
36572	if input == nil {
36573		input = &ModifyVpcTenancyInput{}
36574	}
36575
36576	output = &ModifyVpcTenancyOutput{}
36577	req = c.newRequest(op, input, output)
36578	return
36579}
36580
36581// ModifyVpcTenancy API operation for Amazon Elastic Compute Cloud.
36582//
36583// Modifies the instance tenancy attribute of the specified VPC. You can change
36584// the instance tenancy attribute of a VPC to default only. You cannot change
36585// the instance tenancy attribute to dedicated.
36586//
36587// After you modify the tenancy of the VPC, any new instances that you launch
36588// into the VPC have a tenancy of default, unless you specify otherwise during
36589// launch. The tenancy of any existing instances in the VPC is not affected.
36590//
36591// For more information, see Dedicated Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html)
36592// in the Amazon Elastic Compute Cloud User Guide.
36593//
36594// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
36595// with awserr.Error's Code and Message methods to get detailed information about
36596// the error.
36597//
36598// See the AWS API reference guide for Amazon Elastic Compute Cloud's
36599// API operation ModifyVpcTenancy for usage and error information.
36600// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcTenancy
36601func (c *EC2) ModifyVpcTenancy(input *ModifyVpcTenancyInput) (*ModifyVpcTenancyOutput, error) {
36602	req, out := c.ModifyVpcTenancyRequest(input)
36603	return out, req.Send()
36604}
36605
36606// ModifyVpcTenancyWithContext is the same as ModifyVpcTenancy with the addition of
36607// the ability to pass a context and additional request options.
36608//
36609// See ModifyVpcTenancy for details on how to use this API operation.
36610//
36611// The context must be non-nil and will be used for request cancellation. If
36612// the context is nil a panic will occur. In the future the SDK may create
36613// sub-contexts for http.Requests. See https://golang.org/pkg/context/
36614// for more information on using Contexts.
36615func (c *EC2) ModifyVpcTenancyWithContext(ctx aws.Context, input *ModifyVpcTenancyInput, opts ...request.Option) (*ModifyVpcTenancyOutput, error) {
36616	req, out := c.ModifyVpcTenancyRequest(input)
36617	req.SetContext(ctx)
36618	req.ApplyOptions(opts...)
36619	return out, req.Send()
36620}
36621
36622const opModifyVpnConnection = "ModifyVpnConnection"
36623
36624// ModifyVpnConnectionRequest generates a "aws/request.Request" representing the
36625// client's request for the ModifyVpnConnection operation. The "output" return
36626// value will be populated with the request's response once the request completes
36627// successfully.
36628//
36629// Use "Send" method on the returned Request to send the API call to the service.
36630// the "output" return value is not valid until after Send returns without error.
36631//
36632// See ModifyVpnConnection for more information on using the ModifyVpnConnection
36633// API call, and error handling.
36634//
36635// This method is useful when you want to inject custom logic or configuration
36636// into the SDK's request lifecycle. Such as custom headers, or retry logic.
36637//
36638//
36639//    // Example sending a request using the ModifyVpnConnectionRequest method.
36640//    req, resp := client.ModifyVpnConnectionRequest(params)
36641//
36642//    err := req.Send()
36643//    if err == nil { // resp is now filled
36644//        fmt.Println(resp)
36645//    }
36646//
36647// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpnConnection
36648func (c *EC2) ModifyVpnConnectionRequest(input *ModifyVpnConnectionInput) (req *request.Request, output *ModifyVpnConnectionOutput) {
36649	op := &request.Operation{
36650		Name:       opModifyVpnConnection,
36651		HTTPMethod: "POST",
36652		HTTPPath:   "/",
36653	}
36654
36655	if input == nil {
36656		input = &ModifyVpnConnectionInput{}
36657	}
36658
36659	output = &ModifyVpnConnectionOutput{}
36660	req = c.newRequest(op, input, output)
36661	return
36662}
36663
36664// ModifyVpnConnection API operation for Amazon Elastic Compute Cloud.
36665//
36666// Modifies the customer gateway or the target gateway of an AWS Site-to-Site
36667// VPN connection. To modify the target gateway, the following migration options
36668// are available:
36669//
36670//    * An existing virtual private gateway to a new virtual private gateway
36671//
36672//    * An existing virtual private gateway to a transit gateway
36673//
36674//    * An existing transit gateway to a new transit gateway
36675//
36676//    * An existing transit gateway to a virtual private gateway
36677//
36678// Before you perform the migration to the new gateway, you must configure the
36679// new gateway. Use CreateVpnGateway to create a virtual private gateway, or
36680// CreateTransitGateway to create a transit gateway.
36681//
36682// This step is required when you migrate from a virtual private gateway with
36683// static routes to a transit gateway.
36684//
36685// You must delete the static routes before you migrate to the new gateway.
36686//
36687// Keep a copy of the static route before you delete it. You will need to add
36688// back these routes to the transit gateway after the VPN connection migration
36689// is complete.
36690//
36691// After you migrate to the new gateway, you might need to modify your VPC route
36692// table. Use CreateRoute and DeleteRoute to make the changes described in VPN
36693// Gateway Target Modification Required VPC Route Table Updates (https://docs.aws.amazon.com/vpn/latest/s2svpn/modify-vpn-target.html#step-update-routing)
36694// in the AWS Site-to-Site VPN User Guide.
36695//
36696// When the new gateway is a transit gateway, modify the transit gateway route
36697// table to allow traffic between the VPC and the AWS Site-to-Site VPN connection.
36698// Use CreateTransitGatewayRoute to add the routes.
36699//
36700// If you deleted VPN static routes, you must add the static routes to the transit
36701// gateway route table.
36702//
36703// After you perform this operation, the AWS VPN endpoint's IP addresses on
36704// the AWS side and the tunnel options remain intact. Your AWS Site-to-Site
36705// VPN connection will be temporarily unavailable for a brief period while we
36706// provision the new endpoints.
36707//
36708// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
36709// with awserr.Error's Code and Message methods to get detailed information about
36710// the error.
36711//
36712// See the AWS API reference guide for Amazon Elastic Compute Cloud's
36713// API operation ModifyVpnConnection for usage and error information.
36714// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpnConnection
36715func (c *EC2) ModifyVpnConnection(input *ModifyVpnConnectionInput) (*ModifyVpnConnectionOutput, error) {
36716	req, out := c.ModifyVpnConnectionRequest(input)
36717	return out, req.Send()
36718}
36719
36720// ModifyVpnConnectionWithContext is the same as ModifyVpnConnection with the addition of
36721// the ability to pass a context and additional request options.
36722//
36723// See ModifyVpnConnection for details on how to use this API operation.
36724//
36725// The context must be non-nil and will be used for request cancellation. If
36726// the context is nil a panic will occur. In the future the SDK may create
36727// sub-contexts for http.Requests. See https://golang.org/pkg/context/
36728// for more information on using Contexts.
36729func (c *EC2) ModifyVpnConnectionWithContext(ctx aws.Context, input *ModifyVpnConnectionInput, opts ...request.Option) (*ModifyVpnConnectionOutput, error) {
36730	req, out := c.ModifyVpnConnectionRequest(input)
36731	req.SetContext(ctx)
36732	req.ApplyOptions(opts...)
36733	return out, req.Send()
36734}
36735
36736const opModifyVpnConnectionOptions = "ModifyVpnConnectionOptions"
36737
36738// ModifyVpnConnectionOptionsRequest generates a "aws/request.Request" representing the
36739// client's request for the ModifyVpnConnectionOptions operation. The "output" return
36740// value will be populated with the request's response once the request completes
36741// successfully.
36742//
36743// Use "Send" method on the returned Request to send the API call to the service.
36744// the "output" return value is not valid until after Send returns without error.
36745//
36746// See ModifyVpnConnectionOptions for more information on using the ModifyVpnConnectionOptions
36747// API call, and error handling.
36748//
36749// This method is useful when you want to inject custom logic or configuration
36750// into the SDK's request lifecycle. Such as custom headers, or retry logic.
36751//
36752//
36753//    // Example sending a request using the ModifyVpnConnectionOptionsRequest method.
36754//    req, resp := client.ModifyVpnConnectionOptionsRequest(params)
36755//
36756//    err := req.Send()
36757//    if err == nil { // resp is now filled
36758//        fmt.Println(resp)
36759//    }
36760//
36761// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpnConnectionOptions
36762func (c *EC2) ModifyVpnConnectionOptionsRequest(input *ModifyVpnConnectionOptionsInput) (req *request.Request, output *ModifyVpnConnectionOptionsOutput) {
36763	op := &request.Operation{
36764		Name:       opModifyVpnConnectionOptions,
36765		HTTPMethod: "POST",
36766		HTTPPath:   "/",
36767	}
36768
36769	if input == nil {
36770		input = &ModifyVpnConnectionOptionsInput{}
36771	}
36772
36773	output = &ModifyVpnConnectionOptionsOutput{}
36774	req = c.newRequest(op, input, output)
36775	return
36776}
36777
36778// ModifyVpnConnectionOptions API operation for Amazon Elastic Compute Cloud.
36779//
36780// Modifies the connection options for your Site-to-Site VPN connection.
36781//
36782// When you modify the VPN connection options, the VPN endpoint IP addresses
36783// on the AWS side do not change, and the tunnel options do not change. Your
36784// VPN connection will be temporarily unavailable for a brief period while the
36785// VPN connection is updated.
36786//
36787// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
36788// with awserr.Error's Code and Message methods to get detailed information about
36789// the error.
36790//
36791// See the AWS API reference guide for Amazon Elastic Compute Cloud's
36792// API operation ModifyVpnConnectionOptions for usage and error information.
36793// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpnConnectionOptions
36794func (c *EC2) ModifyVpnConnectionOptions(input *ModifyVpnConnectionOptionsInput) (*ModifyVpnConnectionOptionsOutput, error) {
36795	req, out := c.ModifyVpnConnectionOptionsRequest(input)
36796	return out, req.Send()
36797}
36798
36799// ModifyVpnConnectionOptionsWithContext is the same as ModifyVpnConnectionOptions with the addition of
36800// the ability to pass a context and additional request options.
36801//
36802// See ModifyVpnConnectionOptions for details on how to use this API operation.
36803//
36804// The context must be non-nil and will be used for request cancellation. If
36805// the context is nil a panic will occur. In the future the SDK may create
36806// sub-contexts for http.Requests. See https://golang.org/pkg/context/
36807// for more information on using Contexts.
36808func (c *EC2) ModifyVpnConnectionOptionsWithContext(ctx aws.Context, input *ModifyVpnConnectionOptionsInput, opts ...request.Option) (*ModifyVpnConnectionOptionsOutput, error) {
36809	req, out := c.ModifyVpnConnectionOptionsRequest(input)
36810	req.SetContext(ctx)
36811	req.ApplyOptions(opts...)
36812	return out, req.Send()
36813}
36814
36815const opModifyVpnTunnelCertificate = "ModifyVpnTunnelCertificate"
36816
36817// ModifyVpnTunnelCertificateRequest generates a "aws/request.Request" representing the
36818// client's request for the ModifyVpnTunnelCertificate operation. The "output" return
36819// value will be populated with the request's response once the request completes
36820// successfully.
36821//
36822// Use "Send" method on the returned Request to send the API call to the service.
36823// the "output" return value is not valid until after Send returns without error.
36824//
36825// See ModifyVpnTunnelCertificate for more information on using the ModifyVpnTunnelCertificate
36826// API call, and error handling.
36827//
36828// This method is useful when you want to inject custom logic or configuration
36829// into the SDK's request lifecycle. Such as custom headers, or retry logic.
36830//
36831//
36832//    // Example sending a request using the ModifyVpnTunnelCertificateRequest method.
36833//    req, resp := client.ModifyVpnTunnelCertificateRequest(params)
36834//
36835//    err := req.Send()
36836//    if err == nil { // resp is now filled
36837//        fmt.Println(resp)
36838//    }
36839//
36840// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpnTunnelCertificate
36841func (c *EC2) ModifyVpnTunnelCertificateRequest(input *ModifyVpnTunnelCertificateInput) (req *request.Request, output *ModifyVpnTunnelCertificateOutput) {
36842	op := &request.Operation{
36843		Name:       opModifyVpnTunnelCertificate,
36844		HTTPMethod: "POST",
36845		HTTPPath:   "/",
36846	}
36847
36848	if input == nil {
36849		input = &ModifyVpnTunnelCertificateInput{}
36850	}
36851
36852	output = &ModifyVpnTunnelCertificateOutput{}
36853	req = c.newRequest(op, input, output)
36854	return
36855}
36856
36857// ModifyVpnTunnelCertificate API operation for Amazon Elastic Compute Cloud.
36858//
36859// Modifies the VPN tunnel endpoint certificate.
36860//
36861// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
36862// with awserr.Error's Code and Message methods to get detailed information about
36863// the error.
36864//
36865// See the AWS API reference guide for Amazon Elastic Compute Cloud's
36866// API operation ModifyVpnTunnelCertificate for usage and error information.
36867// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpnTunnelCertificate
36868func (c *EC2) ModifyVpnTunnelCertificate(input *ModifyVpnTunnelCertificateInput) (*ModifyVpnTunnelCertificateOutput, error) {
36869	req, out := c.ModifyVpnTunnelCertificateRequest(input)
36870	return out, req.Send()
36871}
36872
36873// ModifyVpnTunnelCertificateWithContext is the same as ModifyVpnTunnelCertificate with the addition of
36874// the ability to pass a context and additional request options.
36875//
36876// See ModifyVpnTunnelCertificate for details on how to use this API operation.
36877//
36878// The context must be non-nil and will be used for request cancellation. If
36879// the context is nil a panic will occur. In the future the SDK may create
36880// sub-contexts for http.Requests. See https://golang.org/pkg/context/
36881// for more information on using Contexts.
36882func (c *EC2) ModifyVpnTunnelCertificateWithContext(ctx aws.Context, input *ModifyVpnTunnelCertificateInput, opts ...request.Option) (*ModifyVpnTunnelCertificateOutput, error) {
36883	req, out := c.ModifyVpnTunnelCertificateRequest(input)
36884	req.SetContext(ctx)
36885	req.ApplyOptions(opts...)
36886	return out, req.Send()
36887}
36888
36889const opModifyVpnTunnelOptions = "ModifyVpnTunnelOptions"
36890
36891// ModifyVpnTunnelOptionsRequest generates a "aws/request.Request" representing the
36892// client's request for the ModifyVpnTunnelOptions operation. The "output" return
36893// value will be populated with the request's response once the request completes
36894// successfully.
36895//
36896// Use "Send" method on the returned Request to send the API call to the service.
36897// the "output" return value is not valid until after Send returns without error.
36898//
36899// See ModifyVpnTunnelOptions for more information on using the ModifyVpnTunnelOptions
36900// API call, and error handling.
36901//
36902// This method is useful when you want to inject custom logic or configuration
36903// into the SDK's request lifecycle. Such as custom headers, or retry logic.
36904//
36905//
36906//    // Example sending a request using the ModifyVpnTunnelOptionsRequest method.
36907//    req, resp := client.ModifyVpnTunnelOptionsRequest(params)
36908//
36909//    err := req.Send()
36910//    if err == nil { // resp is now filled
36911//        fmt.Println(resp)
36912//    }
36913//
36914// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpnTunnelOptions
36915func (c *EC2) ModifyVpnTunnelOptionsRequest(input *ModifyVpnTunnelOptionsInput) (req *request.Request, output *ModifyVpnTunnelOptionsOutput) {
36916	op := &request.Operation{
36917		Name:       opModifyVpnTunnelOptions,
36918		HTTPMethod: "POST",
36919		HTTPPath:   "/",
36920	}
36921
36922	if input == nil {
36923		input = &ModifyVpnTunnelOptionsInput{}
36924	}
36925
36926	output = &ModifyVpnTunnelOptionsOutput{}
36927	req = c.newRequest(op, input, output)
36928	return
36929}
36930
36931// ModifyVpnTunnelOptions API operation for Amazon Elastic Compute Cloud.
36932//
36933// Modifies the options for a VPN tunnel in an AWS Site-to-Site VPN connection.
36934// You can modify multiple options for a tunnel in a single request, but you
36935// can only modify one tunnel at a time. For more information, see Site-to-Site
36936// VPN Tunnel Options for Your Site-to-Site VPN Connection (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPNTunnels.html)
36937// in the AWS Site-to-Site VPN User Guide.
36938//
36939// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
36940// with awserr.Error's Code and Message methods to get detailed information about
36941// the error.
36942//
36943// See the AWS API reference guide for Amazon Elastic Compute Cloud's
36944// API operation ModifyVpnTunnelOptions for usage and error information.
36945// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpnTunnelOptions
36946func (c *EC2) ModifyVpnTunnelOptions(input *ModifyVpnTunnelOptionsInput) (*ModifyVpnTunnelOptionsOutput, error) {
36947	req, out := c.ModifyVpnTunnelOptionsRequest(input)
36948	return out, req.Send()
36949}
36950
36951// ModifyVpnTunnelOptionsWithContext is the same as ModifyVpnTunnelOptions with the addition of
36952// the ability to pass a context and additional request options.
36953//
36954// See ModifyVpnTunnelOptions for details on how to use this API operation.
36955//
36956// The context must be non-nil and will be used for request cancellation. If
36957// the context is nil a panic will occur. In the future the SDK may create
36958// sub-contexts for http.Requests. See https://golang.org/pkg/context/
36959// for more information on using Contexts.
36960func (c *EC2) ModifyVpnTunnelOptionsWithContext(ctx aws.Context, input *ModifyVpnTunnelOptionsInput, opts ...request.Option) (*ModifyVpnTunnelOptionsOutput, error) {
36961	req, out := c.ModifyVpnTunnelOptionsRequest(input)
36962	req.SetContext(ctx)
36963	req.ApplyOptions(opts...)
36964	return out, req.Send()
36965}
36966
36967const opMonitorInstances = "MonitorInstances"
36968
36969// MonitorInstancesRequest generates a "aws/request.Request" representing the
36970// client's request for the MonitorInstances operation. The "output" return
36971// value will be populated with the request's response once the request completes
36972// successfully.
36973//
36974// Use "Send" method on the returned Request to send the API call to the service.
36975// the "output" return value is not valid until after Send returns without error.
36976//
36977// See MonitorInstances for more information on using the MonitorInstances
36978// API call, and error handling.
36979//
36980// This method is useful when you want to inject custom logic or configuration
36981// into the SDK's request lifecycle. Such as custom headers, or retry logic.
36982//
36983//
36984//    // Example sending a request using the MonitorInstancesRequest method.
36985//    req, resp := client.MonitorInstancesRequest(params)
36986//
36987//    err := req.Send()
36988//    if err == nil { // resp is now filled
36989//        fmt.Println(resp)
36990//    }
36991//
36992// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MonitorInstances
36993func (c *EC2) MonitorInstancesRequest(input *MonitorInstancesInput) (req *request.Request, output *MonitorInstancesOutput) {
36994	op := &request.Operation{
36995		Name:       opMonitorInstances,
36996		HTTPMethod: "POST",
36997		HTTPPath:   "/",
36998	}
36999
37000	if input == nil {
37001		input = &MonitorInstancesInput{}
37002	}
37003
37004	output = &MonitorInstancesOutput{}
37005	req = c.newRequest(op, input, output)
37006	return
37007}
37008
37009// MonitorInstances API operation for Amazon Elastic Compute Cloud.
37010//
37011// Enables detailed monitoring for a running instance. Otherwise, basic monitoring
37012// is enabled. For more information, see Monitoring your instances and volumes
37013// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html)
37014// in the Amazon EC2 User Guide.
37015//
37016// To disable detailed monitoring, see .
37017//
37018// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
37019// with awserr.Error's Code and Message methods to get detailed information about
37020// the error.
37021//
37022// See the AWS API reference guide for Amazon Elastic Compute Cloud's
37023// API operation MonitorInstances for usage and error information.
37024// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MonitorInstances
37025func (c *EC2) MonitorInstances(input *MonitorInstancesInput) (*MonitorInstancesOutput, error) {
37026	req, out := c.MonitorInstancesRequest(input)
37027	return out, req.Send()
37028}
37029
37030// MonitorInstancesWithContext is the same as MonitorInstances with the addition of
37031// the ability to pass a context and additional request options.
37032//
37033// See MonitorInstances for details on how to use this API operation.
37034//
37035// The context must be non-nil and will be used for request cancellation. If
37036// the context is nil a panic will occur. In the future the SDK may create
37037// sub-contexts for http.Requests. See https://golang.org/pkg/context/
37038// for more information on using Contexts.
37039func (c *EC2) MonitorInstancesWithContext(ctx aws.Context, input *MonitorInstancesInput, opts ...request.Option) (*MonitorInstancesOutput, error) {
37040	req, out := c.MonitorInstancesRequest(input)
37041	req.SetContext(ctx)
37042	req.ApplyOptions(opts...)
37043	return out, req.Send()
37044}
37045
37046const opMoveAddressToVpc = "MoveAddressToVpc"
37047
37048// MoveAddressToVpcRequest generates a "aws/request.Request" representing the
37049// client's request for the MoveAddressToVpc operation. The "output" return
37050// value will be populated with the request's response once the request completes
37051// successfully.
37052//
37053// Use "Send" method on the returned Request to send the API call to the service.
37054// the "output" return value is not valid until after Send returns without error.
37055//
37056// See MoveAddressToVpc for more information on using the MoveAddressToVpc
37057// API call, and error handling.
37058//
37059// This method is useful when you want to inject custom logic or configuration
37060// into the SDK's request lifecycle. Such as custom headers, or retry logic.
37061//
37062//
37063//    // Example sending a request using the MoveAddressToVpcRequest method.
37064//    req, resp := client.MoveAddressToVpcRequest(params)
37065//
37066//    err := req.Send()
37067//    if err == nil { // resp is now filled
37068//        fmt.Println(resp)
37069//    }
37070//
37071// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MoveAddressToVpc
37072func (c *EC2) MoveAddressToVpcRequest(input *MoveAddressToVpcInput) (req *request.Request, output *MoveAddressToVpcOutput) {
37073	op := &request.Operation{
37074		Name:       opMoveAddressToVpc,
37075		HTTPMethod: "POST",
37076		HTTPPath:   "/",
37077	}
37078
37079	if input == nil {
37080		input = &MoveAddressToVpcInput{}
37081	}
37082
37083	output = &MoveAddressToVpcOutput{}
37084	req = c.newRequest(op, input, output)
37085	return
37086}
37087
37088// MoveAddressToVpc API operation for Amazon Elastic Compute Cloud.
37089//
37090// Moves an Elastic IP address from the EC2-Classic platform to the EC2-VPC
37091// platform. The Elastic IP address must be allocated to your account for more
37092// than 24 hours, and it must not be associated with an instance. After the
37093// Elastic IP address is moved, it is no longer available for use in the EC2-Classic
37094// platform, unless you move it back using the RestoreAddressToClassic request.
37095// You cannot move an Elastic IP address that was originally allocated for use
37096// in the EC2-VPC platform to the EC2-Classic platform.
37097//
37098// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
37099// with awserr.Error's Code and Message methods to get detailed information about
37100// the error.
37101//
37102// See the AWS API reference guide for Amazon Elastic Compute Cloud's
37103// API operation MoveAddressToVpc for usage and error information.
37104// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MoveAddressToVpc
37105func (c *EC2) MoveAddressToVpc(input *MoveAddressToVpcInput) (*MoveAddressToVpcOutput, error) {
37106	req, out := c.MoveAddressToVpcRequest(input)
37107	return out, req.Send()
37108}
37109
37110// MoveAddressToVpcWithContext is the same as MoveAddressToVpc with the addition of
37111// the ability to pass a context and additional request options.
37112//
37113// See MoveAddressToVpc for details on how to use this API operation.
37114//
37115// The context must be non-nil and will be used for request cancellation. If
37116// the context is nil a panic will occur. In the future the SDK may create
37117// sub-contexts for http.Requests. See https://golang.org/pkg/context/
37118// for more information on using Contexts.
37119func (c *EC2) MoveAddressToVpcWithContext(ctx aws.Context, input *MoveAddressToVpcInput, opts ...request.Option) (*MoveAddressToVpcOutput, error) {
37120	req, out := c.MoveAddressToVpcRequest(input)
37121	req.SetContext(ctx)
37122	req.ApplyOptions(opts...)
37123	return out, req.Send()
37124}
37125
37126const opProvisionByoipCidr = "ProvisionByoipCidr"
37127
37128// ProvisionByoipCidrRequest generates a "aws/request.Request" representing the
37129// client's request for the ProvisionByoipCidr operation. The "output" return
37130// value will be populated with the request's response once the request completes
37131// successfully.
37132//
37133// Use "Send" method on the returned Request to send the API call to the service.
37134// the "output" return value is not valid until after Send returns without error.
37135//
37136// See ProvisionByoipCidr for more information on using the ProvisionByoipCidr
37137// API call, and error handling.
37138//
37139// This method is useful when you want to inject custom logic or configuration
37140// into the SDK's request lifecycle. Such as custom headers, or retry logic.
37141//
37142//
37143//    // Example sending a request using the ProvisionByoipCidrRequest method.
37144//    req, resp := client.ProvisionByoipCidrRequest(params)
37145//
37146//    err := req.Send()
37147//    if err == nil { // resp is now filled
37148//        fmt.Println(resp)
37149//    }
37150//
37151// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ProvisionByoipCidr
37152func (c *EC2) ProvisionByoipCidrRequest(input *ProvisionByoipCidrInput) (req *request.Request, output *ProvisionByoipCidrOutput) {
37153	op := &request.Operation{
37154		Name:       opProvisionByoipCidr,
37155		HTTPMethod: "POST",
37156		HTTPPath:   "/",
37157	}
37158
37159	if input == nil {
37160		input = &ProvisionByoipCidrInput{}
37161	}
37162
37163	output = &ProvisionByoipCidrOutput{}
37164	req = c.newRequest(op, input, output)
37165	return
37166}
37167
37168// ProvisionByoipCidr API operation for Amazon Elastic Compute Cloud.
37169//
37170// Provisions an IPv4 or IPv6 address range for use with your AWS resources
37171// through bring your own IP addresses (BYOIP) and creates a corresponding address
37172// pool. After the address range is provisioned, it is ready to be advertised
37173// using AdvertiseByoipCidr.
37174//
37175// AWS verifies that you own the address range and are authorized to advertise
37176// it. You must ensure that the address range is registered to you and that
37177// you created an RPKI ROA to authorize Amazon ASNs 16509 and 14618 to advertise
37178// the address range. For more information, see Bring Your Own IP Addresses
37179// (BYOIP) (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html)
37180// in the Amazon Elastic Compute Cloud User Guide.
37181//
37182// Provisioning an address range is an asynchronous operation, so the call returns
37183// immediately, but the address range is not ready to use until its status changes
37184// from pending-provision to provisioned. To monitor the status of an address
37185// range, use DescribeByoipCidrs. To allocate an Elastic IP address from your
37186// IPv4 address pool, use AllocateAddress with either the specific address from
37187// the address pool or the ID of the address pool.
37188//
37189// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
37190// with awserr.Error's Code and Message methods to get detailed information about
37191// the error.
37192//
37193// See the AWS API reference guide for Amazon Elastic Compute Cloud's
37194// API operation ProvisionByoipCidr for usage and error information.
37195// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ProvisionByoipCidr
37196func (c *EC2) ProvisionByoipCidr(input *ProvisionByoipCidrInput) (*ProvisionByoipCidrOutput, error) {
37197	req, out := c.ProvisionByoipCidrRequest(input)
37198	return out, req.Send()
37199}
37200
37201// ProvisionByoipCidrWithContext is the same as ProvisionByoipCidr with the addition of
37202// the ability to pass a context and additional request options.
37203//
37204// See ProvisionByoipCidr for details on how to use this API operation.
37205//
37206// The context must be non-nil and will be used for request cancellation. If
37207// the context is nil a panic will occur. In the future the SDK may create
37208// sub-contexts for http.Requests. See https://golang.org/pkg/context/
37209// for more information on using Contexts.
37210func (c *EC2) ProvisionByoipCidrWithContext(ctx aws.Context, input *ProvisionByoipCidrInput, opts ...request.Option) (*ProvisionByoipCidrOutput, error) {
37211	req, out := c.ProvisionByoipCidrRequest(input)
37212	req.SetContext(ctx)
37213	req.ApplyOptions(opts...)
37214	return out, req.Send()
37215}
37216
37217const opPurchaseHostReservation = "PurchaseHostReservation"
37218
37219// PurchaseHostReservationRequest generates a "aws/request.Request" representing the
37220// client's request for the PurchaseHostReservation operation. The "output" return
37221// value will be populated with the request's response once the request completes
37222// successfully.
37223//
37224// Use "Send" method on the returned Request to send the API call to the service.
37225// the "output" return value is not valid until after Send returns without error.
37226//
37227// See PurchaseHostReservation for more information on using the PurchaseHostReservation
37228// API call, and error handling.
37229//
37230// This method is useful when you want to inject custom logic or configuration
37231// into the SDK's request lifecycle. Such as custom headers, or retry logic.
37232//
37233//
37234//    // Example sending a request using the PurchaseHostReservationRequest method.
37235//    req, resp := client.PurchaseHostReservationRequest(params)
37236//
37237//    err := req.Send()
37238//    if err == nil { // resp is now filled
37239//        fmt.Println(resp)
37240//    }
37241//
37242// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseHostReservation
37243func (c *EC2) PurchaseHostReservationRequest(input *PurchaseHostReservationInput) (req *request.Request, output *PurchaseHostReservationOutput) {
37244	op := &request.Operation{
37245		Name:       opPurchaseHostReservation,
37246		HTTPMethod: "POST",
37247		HTTPPath:   "/",
37248	}
37249
37250	if input == nil {
37251		input = &PurchaseHostReservationInput{}
37252	}
37253
37254	output = &PurchaseHostReservationOutput{}
37255	req = c.newRequest(op, input, output)
37256	return
37257}
37258
37259// PurchaseHostReservation API operation for Amazon Elastic Compute Cloud.
37260//
37261// Purchase a reservation with configurations that match those of your Dedicated
37262// Host. You must have active Dedicated Hosts in your account before you purchase
37263// a reservation. This action results in the specified reservation being purchased
37264// and charged to your account.
37265//
37266// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
37267// with awserr.Error's Code and Message methods to get detailed information about
37268// the error.
37269//
37270// See the AWS API reference guide for Amazon Elastic Compute Cloud's
37271// API operation PurchaseHostReservation for usage and error information.
37272// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseHostReservation
37273func (c *EC2) PurchaseHostReservation(input *PurchaseHostReservationInput) (*PurchaseHostReservationOutput, error) {
37274	req, out := c.PurchaseHostReservationRequest(input)
37275	return out, req.Send()
37276}
37277
37278// PurchaseHostReservationWithContext is the same as PurchaseHostReservation with the addition of
37279// the ability to pass a context and additional request options.
37280//
37281// See PurchaseHostReservation for details on how to use this API operation.
37282//
37283// The context must be non-nil and will be used for request cancellation. If
37284// the context is nil a panic will occur. In the future the SDK may create
37285// sub-contexts for http.Requests. See https://golang.org/pkg/context/
37286// for more information on using Contexts.
37287func (c *EC2) PurchaseHostReservationWithContext(ctx aws.Context, input *PurchaseHostReservationInput, opts ...request.Option) (*PurchaseHostReservationOutput, error) {
37288	req, out := c.PurchaseHostReservationRequest(input)
37289	req.SetContext(ctx)
37290	req.ApplyOptions(opts...)
37291	return out, req.Send()
37292}
37293
37294const opPurchaseReservedInstancesOffering = "PurchaseReservedInstancesOffering"
37295
37296// PurchaseReservedInstancesOfferingRequest generates a "aws/request.Request" representing the
37297// client's request for the PurchaseReservedInstancesOffering operation. The "output" return
37298// value will be populated with the request's response once the request completes
37299// successfully.
37300//
37301// Use "Send" method on the returned Request to send the API call to the service.
37302// the "output" return value is not valid until after Send returns without error.
37303//
37304// See PurchaseReservedInstancesOffering for more information on using the PurchaseReservedInstancesOffering
37305// API call, and error handling.
37306//
37307// This method is useful when you want to inject custom logic or configuration
37308// into the SDK's request lifecycle. Such as custom headers, or retry logic.
37309//
37310//
37311//    // Example sending a request using the PurchaseReservedInstancesOfferingRequest method.
37312//    req, resp := client.PurchaseReservedInstancesOfferingRequest(params)
37313//
37314//    err := req.Send()
37315//    if err == nil { // resp is now filled
37316//        fmt.Println(resp)
37317//    }
37318//
37319// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseReservedInstancesOffering
37320func (c *EC2) PurchaseReservedInstancesOfferingRequest(input *PurchaseReservedInstancesOfferingInput) (req *request.Request, output *PurchaseReservedInstancesOfferingOutput) {
37321	op := &request.Operation{
37322		Name:       opPurchaseReservedInstancesOffering,
37323		HTTPMethod: "POST",
37324		HTTPPath:   "/",
37325	}
37326
37327	if input == nil {
37328		input = &PurchaseReservedInstancesOfferingInput{}
37329	}
37330
37331	output = &PurchaseReservedInstancesOfferingOutput{}
37332	req = c.newRequest(op, input, output)
37333	return
37334}
37335
37336// PurchaseReservedInstancesOffering API operation for Amazon Elastic Compute Cloud.
37337//
37338// Purchases a Reserved Instance for use with your account. With Reserved Instances,
37339// you pay a lower hourly rate compared to On-Demand instance pricing.
37340//
37341// Use DescribeReservedInstancesOfferings to get a list of Reserved Instance
37342// offerings that match your specifications. After you've purchased a Reserved
37343// Instance, you can check for your new Reserved Instance with DescribeReservedInstances.
37344//
37345// To queue a purchase for a future date and time, specify a purchase time.
37346// If you do not specify a purchase time, the default is the current time.
37347//
37348// For more information, see Reserved Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html)
37349// and Reserved Instance Marketplace (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
37350// in the Amazon EC2 User Guide.
37351//
37352// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
37353// with awserr.Error's Code and Message methods to get detailed information about
37354// the error.
37355//
37356// See the AWS API reference guide for Amazon Elastic Compute Cloud's
37357// API operation PurchaseReservedInstancesOffering for usage and error information.
37358// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseReservedInstancesOffering
37359func (c *EC2) PurchaseReservedInstancesOffering(input *PurchaseReservedInstancesOfferingInput) (*PurchaseReservedInstancesOfferingOutput, error) {
37360	req, out := c.PurchaseReservedInstancesOfferingRequest(input)
37361	return out, req.Send()
37362}
37363
37364// PurchaseReservedInstancesOfferingWithContext is the same as PurchaseReservedInstancesOffering with the addition of
37365// the ability to pass a context and additional request options.
37366//
37367// See PurchaseReservedInstancesOffering for details on how to use this API operation.
37368//
37369// The context must be non-nil and will be used for request cancellation. If
37370// the context is nil a panic will occur. In the future the SDK may create
37371// sub-contexts for http.Requests. See https://golang.org/pkg/context/
37372// for more information on using Contexts.
37373func (c *EC2) PurchaseReservedInstancesOfferingWithContext(ctx aws.Context, input *PurchaseReservedInstancesOfferingInput, opts ...request.Option) (*PurchaseReservedInstancesOfferingOutput, error) {
37374	req, out := c.PurchaseReservedInstancesOfferingRequest(input)
37375	req.SetContext(ctx)
37376	req.ApplyOptions(opts...)
37377	return out, req.Send()
37378}
37379
37380const opPurchaseScheduledInstances = "PurchaseScheduledInstances"
37381
37382// PurchaseScheduledInstancesRequest generates a "aws/request.Request" representing the
37383// client's request for the PurchaseScheduledInstances operation. The "output" return
37384// value will be populated with the request's response once the request completes
37385// successfully.
37386//
37387// Use "Send" method on the returned Request to send the API call to the service.
37388// the "output" return value is not valid until after Send returns without error.
37389//
37390// See PurchaseScheduledInstances for more information on using the PurchaseScheduledInstances
37391// API call, and error handling.
37392//
37393// This method is useful when you want to inject custom logic or configuration
37394// into the SDK's request lifecycle. Such as custom headers, or retry logic.
37395//
37396//
37397//    // Example sending a request using the PurchaseScheduledInstancesRequest method.
37398//    req, resp := client.PurchaseScheduledInstancesRequest(params)
37399//
37400//    err := req.Send()
37401//    if err == nil { // resp is now filled
37402//        fmt.Println(resp)
37403//    }
37404//
37405// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseScheduledInstances
37406func (c *EC2) PurchaseScheduledInstancesRequest(input *PurchaseScheduledInstancesInput) (req *request.Request, output *PurchaseScheduledInstancesOutput) {
37407	op := &request.Operation{
37408		Name:       opPurchaseScheduledInstances,
37409		HTTPMethod: "POST",
37410		HTTPPath:   "/",
37411	}
37412
37413	if input == nil {
37414		input = &PurchaseScheduledInstancesInput{}
37415	}
37416
37417	output = &PurchaseScheduledInstancesOutput{}
37418	req = c.newRequest(op, input, output)
37419	return
37420}
37421
37422// PurchaseScheduledInstances API operation for Amazon Elastic Compute Cloud.
37423//
37424// Purchases the Scheduled Instances with the specified schedule.
37425//
37426// Scheduled Instances enable you to purchase Amazon EC2 compute capacity by
37427// the hour for a one-year term. Before you can purchase a Scheduled Instance,
37428// you must call DescribeScheduledInstanceAvailability to check for available
37429// schedules and obtain a purchase token. After you purchase a Scheduled Instance,
37430// you must call RunScheduledInstances during each scheduled time period.
37431//
37432// After you purchase a Scheduled Instance, you can't cancel, modify, or resell
37433// your purchase.
37434//
37435// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
37436// with awserr.Error's Code and Message methods to get detailed information about
37437// the error.
37438//
37439// See the AWS API reference guide for Amazon Elastic Compute Cloud's
37440// API operation PurchaseScheduledInstances for usage and error information.
37441// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseScheduledInstances
37442func (c *EC2) PurchaseScheduledInstances(input *PurchaseScheduledInstancesInput) (*PurchaseScheduledInstancesOutput, error) {
37443	req, out := c.PurchaseScheduledInstancesRequest(input)
37444	return out, req.Send()
37445}
37446
37447// PurchaseScheduledInstancesWithContext is the same as PurchaseScheduledInstances with the addition of
37448// the ability to pass a context and additional request options.
37449//
37450// See PurchaseScheduledInstances for details on how to use this API operation.
37451//
37452// The context must be non-nil and will be used for request cancellation. If
37453// the context is nil a panic will occur. In the future the SDK may create
37454// sub-contexts for http.Requests. See https://golang.org/pkg/context/
37455// for more information on using Contexts.
37456func (c *EC2) PurchaseScheduledInstancesWithContext(ctx aws.Context, input *PurchaseScheduledInstancesInput, opts ...request.Option) (*PurchaseScheduledInstancesOutput, error) {
37457	req, out := c.PurchaseScheduledInstancesRequest(input)
37458	req.SetContext(ctx)
37459	req.ApplyOptions(opts...)
37460	return out, req.Send()
37461}
37462
37463const opRebootInstances = "RebootInstances"
37464
37465// RebootInstancesRequest generates a "aws/request.Request" representing the
37466// client's request for the RebootInstances operation. The "output" return
37467// value will be populated with the request's response once the request completes
37468// successfully.
37469//
37470// Use "Send" method on the returned Request to send the API call to the service.
37471// the "output" return value is not valid until after Send returns without error.
37472//
37473// See RebootInstances for more information on using the RebootInstances
37474// API call, and error handling.
37475//
37476// This method is useful when you want to inject custom logic or configuration
37477// into the SDK's request lifecycle. Such as custom headers, or retry logic.
37478//
37479//
37480//    // Example sending a request using the RebootInstancesRequest method.
37481//    req, resp := client.RebootInstancesRequest(params)
37482//
37483//    err := req.Send()
37484//    if err == nil { // resp is now filled
37485//        fmt.Println(resp)
37486//    }
37487//
37488// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RebootInstances
37489func (c *EC2) RebootInstancesRequest(input *RebootInstancesInput) (req *request.Request, output *RebootInstancesOutput) {
37490	op := &request.Operation{
37491		Name:       opRebootInstances,
37492		HTTPMethod: "POST",
37493		HTTPPath:   "/",
37494	}
37495
37496	if input == nil {
37497		input = &RebootInstancesInput{}
37498	}
37499
37500	output = &RebootInstancesOutput{}
37501	req = c.newRequest(op, input, output)
37502	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
37503	return
37504}
37505
37506// RebootInstances API operation for Amazon Elastic Compute Cloud.
37507//
37508// Requests a reboot of the specified instances. This operation is asynchronous;
37509// it only queues a request to reboot the specified instances. The operation
37510// succeeds if the instances are valid and belong to you. Requests to reboot
37511// terminated instances are ignored.
37512//
37513// If an instance does not cleanly shut down within a few minutes, Amazon EC2
37514// performs a hard reboot.
37515//
37516// For more information about troubleshooting, see Getting console output and
37517// rebooting instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-console.html)
37518// in the Amazon EC2 User Guide.
37519//
37520// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
37521// with awserr.Error's Code and Message methods to get detailed information about
37522// the error.
37523//
37524// See the AWS API reference guide for Amazon Elastic Compute Cloud's
37525// API operation RebootInstances for usage and error information.
37526// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RebootInstances
37527func (c *EC2) RebootInstances(input *RebootInstancesInput) (*RebootInstancesOutput, error) {
37528	req, out := c.RebootInstancesRequest(input)
37529	return out, req.Send()
37530}
37531
37532// RebootInstancesWithContext is the same as RebootInstances with the addition of
37533// the ability to pass a context and additional request options.
37534//
37535// See RebootInstances for details on how to use this API operation.
37536//
37537// The context must be non-nil and will be used for request cancellation. If
37538// the context is nil a panic will occur. In the future the SDK may create
37539// sub-contexts for http.Requests. See https://golang.org/pkg/context/
37540// for more information on using Contexts.
37541func (c *EC2) RebootInstancesWithContext(ctx aws.Context, input *RebootInstancesInput, opts ...request.Option) (*RebootInstancesOutput, error) {
37542	req, out := c.RebootInstancesRequest(input)
37543	req.SetContext(ctx)
37544	req.ApplyOptions(opts...)
37545	return out, req.Send()
37546}
37547
37548const opRegisterImage = "RegisterImage"
37549
37550// RegisterImageRequest generates a "aws/request.Request" representing the
37551// client's request for the RegisterImage operation. The "output" return
37552// value will be populated with the request's response once the request completes
37553// successfully.
37554//
37555// Use "Send" method on the returned Request to send the API call to the service.
37556// the "output" return value is not valid until after Send returns without error.
37557//
37558// See RegisterImage for more information on using the RegisterImage
37559// API call, and error handling.
37560//
37561// This method is useful when you want to inject custom logic or configuration
37562// into the SDK's request lifecycle. Such as custom headers, or retry logic.
37563//
37564//
37565//    // Example sending a request using the RegisterImageRequest method.
37566//    req, resp := client.RegisterImageRequest(params)
37567//
37568//    err := req.Send()
37569//    if err == nil { // resp is now filled
37570//        fmt.Println(resp)
37571//    }
37572//
37573// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterImage
37574func (c *EC2) RegisterImageRequest(input *RegisterImageInput) (req *request.Request, output *RegisterImageOutput) {
37575	op := &request.Operation{
37576		Name:       opRegisterImage,
37577		HTTPMethod: "POST",
37578		HTTPPath:   "/",
37579	}
37580
37581	if input == nil {
37582		input = &RegisterImageInput{}
37583	}
37584
37585	output = &RegisterImageOutput{}
37586	req = c.newRequest(op, input, output)
37587	return
37588}
37589
37590// RegisterImage API operation for Amazon Elastic Compute Cloud.
37591//
37592// Registers an AMI. When you're creating an AMI, this is the final step you
37593// must complete before you can launch an instance from the AMI. For more information
37594// about creating AMIs, see Creating your own AMIs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami.html)
37595// in the Amazon Elastic Compute Cloud User Guide.
37596//
37597// For Amazon EBS-backed instances, CreateImage creates and registers the AMI
37598// in a single request, so you don't have to register the AMI yourself.
37599//
37600// If needed, you can deregister an AMI at any time. Any modifications you make
37601// to an AMI backed by an instance store volume invalidates its registration.
37602// If you make changes to an image, deregister the previous image and register
37603// the new image.
37604//
37605// Register a snapshot of a root device volume
37606//
37607// You can use RegisterImage to create an Amazon EBS-backed Linux AMI from a
37608// snapshot of a root device volume. You specify the snapshot using a block
37609// device mapping. You can't set the encryption state of the volume using the
37610// block device mapping. If the snapshot is encrypted, or encryption by default
37611// is enabled, the root volume of an instance launched from the AMI is encrypted.
37612//
37613// For more information, see Create a Linux AMI from a snapshot (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html#creating-launching-ami-from-snapshot)
37614// and Use encryption with EBS-backed AMIs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIEncryption.html)
37615// in the Amazon Elastic Compute Cloud User Guide.
37616//
37617// AWS Marketplace product codes
37618//
37619// If any snapshots have AWS Marketplace product codes, they are copied to the
37620// new AMI.
37621//
37622// Windows and some Linux distributions, such as Red Hat Enterprise Linux (RHEL)
37623// and SUSE Linux Enterprise Server (SLES), use the EC2 billing product code
37624// associated with an AMI to verify the subscription status for package updates.
37625// To create a new AMI for operating systems that require a billing product
37626// code, instead of registering the AMI, do the following to preserve the billing
37627// product code association:
37628//
37629// Launch an instance from an existing AMI with that billing product code.
37630//
37631// Customize the instance.
37632//
37633// Create an AMI from the instance using CreateImage.
37634//
37635// If you purchase a Reserved Instance to apply to an On-Demand Instance that
37636// was launched from an AMI with a billing product code, make sure that the
37637// Reserved Instance has the matching billing product code. If you purchase
37638// a Reserved Instance without the matching billing product code, the Reserved
37639// Instance will not be applied to the On-Demand Instance. For information about
37640// how to obtain the platform details and billing information of an AMI, see
37641// Obtaining billing information (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-billing-info.html)
37642// in the Amazon Elastic Compute Cloud User Guide.
37643//
37644// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
37645// with awserr.Error's Code and Message methods to get detailed information about
37646// the error.
37647//
37648// See the AWS API reference guide for Amazon Elastic Compute Cloud's
37649// API operation RegisterImage for usage and error information.
37650// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterImage
37651func (c *EC2) RegisterImage(input *RegisterImageInput) (*RegisterImageOutput, error) {
37652	req, out := c.RegisterImageRequest(input)
37653	return out, req.Send()
37654}
37655
37656// RegisterImageWithContext is the same as RegisterImage with the addition of
37657// the ability to pass a context and additional request options.
37658//
37659// See RegisterImage for details on how to use this API operation.
37660//
37661// The context must be non-nil and will be used for request cancellation. If
37662// the context is nil a panic will occur. In the future the SDK may create
37663// sub-contexts for http.Requests. See https://golang.org/pkg/context/
37664// for more information on using Contexts.
37665func (c *EC2) RegisterImageWithContext(ctx aws.Context, input *RegisterImageInput, opts ...request.Option) (*RegisterImageOutput, error) {
37666	req, out := c.RegisterImageRequest(input)
37667	req.SetContext(ctx)
37668	req.ApplyOptions(opts...)
37669	return out, req.Send()
37670}
37671
37672const opRegisterInstanceEventNotificationAttributes = "RegisterInstanceEventNotificationAttributes"
37673
37674// RegisterInstanceEventNotificationAttributesRequest generates a "aws/request.Request" representing the
37675// client's request for the RegisterInstanceEventNotificationAttributes operation. The "output" return
37676// value will be populated with the request's response once the request completes
37677// successfully.
37678//
37679// Use "Send" method on the returned Request to send the API call to the service.
37680// the "output" return value is not valid until after Send returns without error.
37681//
37682// See RegisterInstanceEventNotificationAttributes for more information on using the RegisterInstanceEventNotificationAttributes
37683// API call, and error handling.
37684//
37685// This method is useful when you want to inject custom logic or configuration
37686// into the SDK's request lifecycle. Such as custom headers, or retry logic.
37687//
37688//
37689//    // Example sending a request using the RegisterInstanceEventNotificationAttributesRequest method.
37690//    req, resp := client.RegisterInstanceEventNotificationAttributesRequest(params)
37691//
37692//    err := req.Send()
37693//    if err == nil { // resp is now filled
37694//        fmt.Println(resp)
37695//    }
37696//
37697// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterInstanceEventNotificationAttributes
37698func (c *EC2) RegisterInstanceEventNotificationAttributesRequest(input *RegisterInstanceEventNotificationAttributesInput) (req *request.Request, output *RegisterInstanceEventNotificationAttributesOutput) {
37699	op := &request.Operation{
37700		Name:       opRegisterInstanceEventNotificationAttributes,
37701		HTTPMethod: "POST",
37702		HTTPPath:   "/",
37703	}
37704
37705	if input == nil {
37706		input = &RegisterInstanceEventNotificationAttributesInput{}
37707	}
37708
37709	output = &RegisterInstanceEventNotificationAttributesOutput{}
37710	req = c.newRequest(op, input, output)
37711	return
37712}
37713
37714// RegisterInstanceEventNotificationAttributes API operation for Amazon Elastic Compute Cloud.
37715//
37716// Registers a set of tag keys to include in scheduled event notifications for
37717// your resources.
37718//
37719// To remove tags, use .
37720//
37721// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
37722// with awserr.Error's Code and Message methods to get detailed information about
37723// the error.
37724//
37725// See the AWS API reference guide for Amazon Elastic Compute Cloud's
37726// API operation RegisterInstanceEventNotificationAttributes for usage and error information.
37727// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterInstanceEventNotificationAttributes
37728func (c *EC2) RegisterInstanceEventNotificationAttributes(input *RegisterInstanceEventNotificationAttributesInput) (*RegisterInstanceEventNotificationAttributesOutput, error) {
37729	req, out := c.RegisterInstanceEventNotificationAttributesRequest(input)
37730	return out, req.Send()
37731}
37732
37733// RegisterInstanceEventNotificationAttributesWithContext is the same as RegisterInstanceEventNotificationAttributes with the addition of
37734// the ability to pass a context and additional request options.
37735//
37736// See RegisterInstanceEventNotificationAttributes for details on how to use this API operation.
37737//
37738// The context must be non-nil and will be used for request cancellation. If
37739// the context is nil a panic will occur. In the future the SDK may create
37740// sub-contexts for http.Requests. See https://golang.org/pkg/context/
37741// for more information on using Contexts.
37742func (c *EC2) RegisterInstanceEventNotificationAttributesWithContext(ctx aws.Context, input *RegisterInstanceEventNotificationAttributesInput, opts ...request.Option) (*RegisterInstanceEventNotificationAttributesOutput, error) {
37743	req, out := c.RegisterInstanceEventNotificationAttributesRequest(input)
37744	req.SetContext(ctx)
37745	req.ApplyOptions(opts...)
37746	return out, req.Send()
37747}
37748
37749const opRegisterTransitGatewayMulticastGroupMembers = "RegisterTransitGatewayMulticastGroupMembers"
37750
37751// RegisterTransitGatewayMulticastGroupMembersRequest generates a "aws/request.Request" representing the
37752// client's request for the RegisterTransitGatewayMulticastGroupMembers operation. The "output" return
37753// value will be populated with the request's response once the request completes
37754// successfully.
37755//
37756// Use "Send" method on the returned Request to send the API call to the service.
37757// the "output" return value is not valid until after Send returns without error.
37758//
37759// See RegisterTransitGatewayMulticastGroupMembers for more information on using the RegisterTransitGatewayMulticastGroupMembers
37760// API call, and error handling.
37761//
37762// This method is useful when you want to inject custom logic or configuration
37763// into the SDK's request lifecycle. Such as custom headers, or retry logic.
37764//
37765//
37766//    // Example sending a request using the RegisterTransitGatewayMulticastGroupMembersRequest method.
37767//    req, resp := client.RegisterTransitGatewayMulticastGroupMembersRequest(params)
37768//
37769//    err := req.Send()
37770//    if err == nil { // resp is now filled
37771//        fmt.Println(resp)
37772//    }
37773//
37774// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterTransitGatewayMulticastGroupMembers
37775func (c *EC2) RegisterTransitGatewayMulticastGroupMembersRequest(input *RegisterTransitGatewayMulticastGroupMembersInput) (req *request.Request, output *RegisterTransitGatewayMulticastGroupMembersOutput) {
37776	op := &request.Operation{
37777		Name:       opRegisterTransitGatewayMulticastGroupMembers,
37778		HTTPMethod: "POST",
37779		HTTPPath:   "/",
37780	}
37781
37782	if input == nil {
37783		input = &RegisterTransitGatewayMulticastGroupMembersInput{}
37784	}
37785
37786	output = &RegisterTransitGatewayMulticastGroupMembersOutput{}
37787	req = c.newRequest(op, input, output)
37788	return
37789}
37790
37791// RegisterTransitGatewayMulticastGroupMembers API operation for Amazon Elastic Compute Cloud.
37792//
37793// Registers members (network interfaces) with the transit gateway multicast
37794// group. A member is a network interface associated with a supported EC2 instance
37795// that receives multicast traffic. For information about supported instances,
37796// see Multicast Consideration (https://docs.aws.amazon.com/vpc/latest/tgw/transit-gateway-limits.html#multicast-limits)
37797// in Amazon VPC Transit Gateways.
37798//
37799// After you add the members, use SearchTransitGatewayMulticastGroups (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SearchTransitGatewayMulticastGroups.html)
37800// to verify that the members were added to the transit gateway multicast group.
37801//
37802// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
37803// with awserr.Error's Code and Message methods to get detailed information about
37804// the error.
37805//
37806// See the AWS API reference guide for Amazon Elastic Compute Cloud's
37807// API operation RegisterTransitGatewayMulticastGroupMembers for usage and error information.
37808// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterTransitGatewayMulticastGroupMembers
37809func (c *EC2) RegisterTransitGatewayMulticastGroupMembers(input *RegisterTransitGatewayMulticastGroupMembersInput) (*RegisterTransitGatewayMulticastGroupMembersOutput, error) {
37810	req, out := c.RegisterTransitGatewayMulticastGroupMembersRequest(input)
37811	return out, req.Send()
37812}
37813
37814// RegisterTransitGatewayMulticastGroupMembersWithContext is the same as RegisterTransitGatewayMulticastGroupMembers with the addition of
37815// the ability to pass a context and additional request options.
37816//
37817// See RegisterTransitGatewayMulticastGroupMembers for details on how to use this API operation.
37818//
37819// The context must be non-nil and will be used for request cancellation. If
37820// the context is nil a panic will occur. In the future the SDK may create
37821// sub-contexts for http.Requests. See https://golang.org/pkg/context/
37822// for more information on using Contexts.
37823func (c *EC2) RegisterTransitGatewayMulticastGroupMembersWithContext(ctx aws.Context, input *RegisterTransitGatewayMulticastGroupMembersInput, opts ...request.Option) (*RegisterTransitGatewayMulticastGroupMembersOutput, error) {
37824	req, out := c.RegisterTransitGatewayMulticastGroupMembersRequest(input)
37825	req.SetContext(ctx)
37826	req.ApplyOptions(opts...)
37827	return out, req.Send()
37828}
37829
37830const opRegisterTransitGatewayMulticastGroupSources = "RegisterTransitGatewayMulticastGroupSources"
37831
37832// RegisterTransitGatewayMulticastGroupSourcesRequest generates a "aws/request.Request" representing the
37833// client's request for the RegisterTransitGatewayMulticastGroupSources operation. The "output" return
37834// value will be populated with the request's response once the request completes
37835// successfully.
37836//
37837// Use "Send" method on the returned Request to send the API call to the service.
37838// the "output" return value is not valid until after Send returns without error.
37839//
37840// See RegisterTransitGatewayMulticastGroupSources for more information on using the RegisterTransitGatewayMulticastGroupSources
37841// API call, and error handling.
37842//
37843// This method is useful when you want to inject custom logic or configuration
37844// into the SDK's request lifecycle. Such as custom headers, or retry logic.
37845//
37846//
37847//    // Example sending a request using the RegisterTransitGatewayMulticastGroupSourcesRequest method.
37848//    req, resp := client.RegisterTransitGatewayMulticastGroupSourcesRequest(params)
37849//
37850//    err := req.Send()
37851//    if err == nil { // resp is now filled
37852//        fmt.Println(resp)
37853//    }
37854//
37855// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterTransitGatewayMulticastGroupSources
37856func (c *EC2) RegisterTransitGatewayMulticastGroupSourcesRequest(input *RegisterTransitGatewayMulticastGroupSourcesInput) (req *request.Request, output *RegisterTransitGatewayMulticastGroupSourcesOutput) {
37857	op := &request.Operation{
37858		Name:       opRegisterTransitGatewayMulticastGroupSources,
37859		HTTPMethod: "POST",
37860		HTTPPath:   "/",
37861	}
37862
37863	if input == nil {
37864		input = &RegisterTransitGatewayMulticastGroupSourcesInput{}
37865	}
37866
37867	output = &RegisterTransitGatewayMulticastGroupSourcesOutput{}
37868	req = c.newRequest(op, input, output)
37869	return
37870}
37871
37872// RegisterTransitGatewayMulticastGroupSources API operation for Amazon Elastic Compute Cloud.
37873//
37874// Registers sources (network interfaces) with the specified transit gateway
37875// multicast group.
37876//
37877// A multicast source is a network interface attached to a supported instance
37878// that sends multicast traffic. For information about supported instances,
37879// see Multicast Considerations (https://docs.aws.amazon.com/vpc/latest/tgw/transit-gateway-limits.html#multicast-limits)
37880// in Amazon VPC Transit Gateways.
37881//
37882// After you add the source, use SearchTransitGatewayMulticastGroups (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SearchTransitGatewayMulticastGroups.html)
37883// to verify that the source was added to the multicast group.
37884//
37885// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
37886// with awserr.Error's Code and Message methods to get detailed information about
37887// the error.
37888//
37889// See the AWS API reference guide for Amazon Elastic Compute Cloud's
37890// API operation RegisterTransitGatewayMulticastGroupSources for usage and error information.
37891// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterTransitGatewayMulticastGroupSources
37892func (c *EC2) RegisterTransitGatewayMulticastGroupSources(input *RegisterTransitGatewayMulticastGroupSourcesInput) (*RegisterTransitGatewayMulticastGroupSourcesOutput, error) {
37893	req, out := c.RegisterTransitGatewayMulticastGroupSourcesRequest(input)
37894	return out, req.Send()
37895}
37896
37897// RegisterTransitGatewayMulticastGroupSourcesWithContext is the same as RegisterTransitGatewayMulticastGroupSources with the addition of
37898// the ability to pass a context and additional request options.
37899//
37900// See RegisterTransitGatewayMulticastGroupSources for details on how to use this API operation.
37901//
37902// The context must be non-nil and will be used for request cancellation. If
37903// the context is nil a panic will occur. In the future the SDK may create
37904// sub-contexts for http.Requests. See https://golang.org/pkg/context/
37905// for more information on using Contexts.
37906func (c *EC2) RegisterTransitGatewayMulticastGroupSourcesWithContext(ctx aws.Context, input *RegisterTransitGatewayMulticastGroupSourcesInput, opts ...request.Option) (*RegisterTransitGatewayMulticastGroupSourcesOutput, error) {
37907	req, out := c.RegisterTransitGatewayMulticastGroupSourcesRequest(input)
37908	req.SetContext(ctx)
37909	req.ApplyOptions(opts...)
37910	return out, req.Send()
37911}
37912
37913const opRejectTransitGatewayMulticastDomainAssociations = "RejectTransitGatewayMulticastDomainAssociations"
37914
37915// RejectTransitGatewayMulticastDomainAssociationsRequest generates a "aws/request.Request" representing the
37916// client's request for the RejectTransitGatewayMulticastDomainAssociations operation. The "output" return
37917// value will be populated with the request's response once the request completes
37918// successfully.
37919//
37920// Use "Send" method on the returned Request to send the API call to the service.
37921// the "output" return value is not valid until after Send returns without error.
37922//
37923// See RejectTransitGatewayMulticastDomainAssociations for more information on using the RejectTransitGatewayMulticastDomainAssociations
37924// API call, and error handling.
37925//
37926// This method is useful when you want to inject custom logic or configuration
37927// into the SDK's request lifecycle. Such as custom headers, or retry logic.
37928//
37929//
37930//    // Example sending a request using the RejectTransitGatewayMulticastDomainAssociationsRequest method.
37931//    req, resp := client.RejectTransitGatewayMulticastDomainAssociationsRequest(params)
37932//
37933//    err := req.Send()
37934//    if err == nil { // resp is now filled
37935//        fmt.Println(resp)
37936//    }
37937//
37938// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectTransitGatewayMulticastDomainAssociations
37939func (c *EC2) RejectTransitGatewayMulticastDomainAssociationsRequest(input *RejectTransitGatewayMulticastDomainAssociationsInput) (req *request.Request, output *RejectTransitGatewayMulticastDomainAssociationsOutput) {
37940	op := &request.Operation{
37941		Name:       opRejectTransitGatewayMulticastDomainAssociations,
37942		HTTPMethod: "POST",
37943		HTTPPath:   "/",
37944	}
37945
37946	if input == nil {
37947		input = &RejectTransitGatewayMulticastDomainAssociationsInput{}
37948	}
37949
37950	output = &RejectTransitGatewayMulticastDomainAssociationsOutput{}
37951	req = c.newRequest(op, input, output)
37952	return
37953}
37954
37955// RejectTransitGatewayMulticastDomainAssociations API operation for Amazon Elastic Compute Cloud.
37956//
37957// Rejects a request to associate cross-account subnets with a transit gateway
37958// multicast domain.
37959//
37960// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
37961// with awserr.Error's Code and Message methods to get detailed information about
37962// the error.
37963//
37964// See the AWS API reference guide for Amazon Elastic Compute Cloud's
37965// API operation RejectTransitGatewayMulticastDomainAssociations for usage and error information.
37966// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectTransitGatewayMulticastDomainAssociations
37967func (c *EC2) RejectTransitGatewayMulticastDomainAssociations(input *RejectTransitGatewayMulticastDomainAssociationsInput) (*RejectTransitGatewayMulticastDomainAssociationsOutput, error) {
37968	req, out := c.RejectTransitGatewayMulticastDomainAssociationsRequest(input)
37969	return out, req.Send()
37970}
37971
37972// RejectTransitGatewayMulticastDomainAssociationsWithContext is the same as RejectTransitGatewayMulticastDomainAssociations with the addition of
37973// the ability to pass a context and additional request options.
37974//
37975// See RejectTransitGatewayMulticastDomainAssociations for details on how to use this API operation.
37976//
37977// The context must be non-nil and will be used for request cancellation. If
37978// the context is nil a panic will occur. In the future the SDK may create
37979// sub-contexts for http.Requests. See https://golang.org/pkg/context/
37980// for more information on using Contexts.
37981func (c *EC2) RejectTransitGatewayMulticastDomainAssociationsWithContext(ctx aws.Context, input *RejectTransitGatewayMulticastDomainAssociationsInput, opts ...request.Option) (*RejectTransitGatewayMulticastDomainAssociationsOutput, error) {
37982	req, out := c.RejectTransitGatewayMulticastDomainAssociationsRequest(input)
37983	req.SetContext(ctx)
37984	req.ApplyOptions(opts...)
37985	return out, req.Send()
37986}
37987
37988const opRejectTransitGatewayPeeringAttachment = "RejectTransitGatewayPeeringAttachment"
37989
37990// RejectTransitGatewayPeeringAttachmentRequest generates a "aws/request.Request" representing the
37991// client's request for the RejectTransitGatewayPeeringAttachment operation. The "output" return
37992// value will be populated with the request's response once the request completes
37993// successfully.
37994//
37995// Use "Send" method on the returned Request to send the API call to the service.
37996// the "output" return value is not valid until after Send returns without error.
37997//
37998// See RejectTransitGatewayPeeringAttachment for more information on using the RejectTransitGatewayPeeringAttachment
37999// API call, and error handling.
38000//
38001// This method is useful when you want to inject custom logic or configuration
38002// into the SDK's request lifecycle. Such as custom headers, or retry logic.
38003//
38004//
38005//    // Example sending a request using the RejectTransitGatewayPeeringAttachmentRequest method.
38006//    req, resp := client.RejectTransitGatewayPeeringAttachmentRequest(params)
38007//
38008//    err := req.Send()
38009//    if err == nil { // resp is now filled
38010//        fmt.Println(resp)
38011//    }
38012//
38013// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectTransitGatewayPeeringAttachment
38014func (c *EC2) RejectTransitGatewayPeeringAttachmentRequest(input *RejectTransitGatewayPeeringAttachmentInput) (req *request.Request, output *RejectTransitGatewayPeeringAttachmentOutput) {
38015	op := &request.Operation{
38016		Name:       opRejectTransitGatewayPeeringAttachment,
38017		HTTPMethod: "POST",
38018		HTTPPath:   "/",
38019	}
38020
38021	if input == nil {
38022		input = &RejectTransitGatewayPeeringAttachmentInput{}
38023	}
38024
38025	output = &RejectTransitGatewayPeeringAttachmentOutput{}
38026	req = c.newRequest(op, input, output)
38027	return
38028}
38029
38030// RejectTransitGatewayPeeringAttachment API operation for Amazon Elastic Compute Cloud.
38031//
38032// Rejects a transit gateway peering attachment request.
38033//
38034// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
38035// with awserr.Error's Code and Message methods to get detailed information about
38036// the error.
38037//
38038// See the AWS API reference guide for Amazon Elastic Compute Cloud's
38039// API operation RejectTransitGatewayPeeringAttachment for usage and error information.
38040// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectTransitGatewayPeeringAttachment
38041func (c *EC2) RejectTransitGatewayPeeringAttachment(input *RejectTransitGatewayPeeringAttachmentInput) (*RejectTransitGatewayPeeringAttachmentOutput, error) {
38042	req, out := c.RejectTransitGatewayPeeringAttachmentRequest(input)
38043	return out, req.Send()
38044}
38045
38046// RejectTransitGatewayPeeringAttachmentWithContext is the same as RejectTransitGatewayPeeringAttachment with the addition of
38047// the ability to pass a context and additional request options.
38048//
38049// See RejectTransitGatewayPeeringAttachment for details on how to use this API operation.
38050//
38051// The context must be non-nil and will be used for request cancellation. If
38052// the context is nil a panic will occur. In the future the SDK may create
38053// sub-contexts for http.Requests. See https://golang.org/pkg/context/
38054// for more information on using Contexts.
38055func (c *EC2) RejectTransitGatewayPeeringAttachmentWithContext(ctx aws.Context, input *RejectTransitGatewayPeeringAttachmentInput, opts ...request.Option) (*RejectTransitGatewayPeeringAttachmentOutput, error) {
38056	req, out := c.RejectTransitGatewayPeeringAttachmentRequest(input)
38057	req.SetContext(ctx)
38058	req.ApplyOptions(opts...)
38059	return out, req.Send()
38060}
38061
38062const opRejectTransitGatewayVpcAttachment = "RejectTransitGatewayVpcAttachment"
38063
38064// RejectTransitGatewayVpcAttachmentRequest generates a "aws/request.Request" representing the
38065// client's request for the RejectTransitGatewayVpcAttachment operation. The "output" return
38066// value will be populated with the request's response once the request completes
38067// successfully.
38068//
38069// Use "Send" method on the returned Request to send the API call to the service.
38070// the "output" return value is not valid until after Send returns without error.
38071//
38072// See RejectTransitGatewayVpcAttachment for more information on using the RejectTransitGatewayVpcAttachment
38073// API call, and error handling.
38074//
38075// This method is useful when you want to inject custom logic or configuration
38076// into the SDK's request lifecycle. Such as custom headers, or retry logic.
38077//
38078//
38079//    // Example sending a request using the RejectTransitGatewayVpcAttachmentRequest method.
38080//    req, resp := client.RejectTransitGatewayVpcAttachmentRequest(params)
38081//
38082//    err := req.Send()
38083//    if err == nil { // resp is now filled
38084//        fmt.Println(resp)
38085//    }
38086//
38087// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectTransitGatewayVpcAttachment
38088func (c *EC2) RejectTransitGatewayVpcAttachmentRequest(input *RejectTransitGatewayVpcAttachmentInput) (req *request.Request, output *RejectTransitGatewayVpcAttachmentOutput) {
38089	op := &request.Operation{
38090		Name:       opRejectTransitGatewayVpcAttachment,
38091		HTTPMethod: "POST",
38092		HTTPPath:   "/",
38093	}
38094
38095	if input == nil {
38096		input = &RejectTransitGatewayVpcAttachmentInput{}
38097	}
38098
38099	output = &RejectTransitGatewayVpcAttachmentOutput{}
38100	req = c.newRequest(op, input, output)
38101	return
38102}
38103
38104// RejectTransitGatewayVpcAttachment API operation for Amazon Elastic Compute Cloud.
38105//
38106// Rejects a request to attach a VPC to a transit gateway.
38107//
38108// The VPC attachment must be in the pendingAcceptance state. Use DescribeTransitGatewayVpcAttachments
38109// to view your pending VPC attachment requests. Use AcceptTransitGatewayVpcAttachment
38110// to accept a VPC attachment request.
38111//
38112// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
38113// with awserr.Error's Code and Message methods to get detailed information about
38114// the error.
38115//
38116// See the AWS API reference guide for Amazon Elastic Compute Cloud's
38117// API operation RejectTransitGatewayVpcAttachment for usage and error information.
38118// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectTransitGatewayVpcAttachment
38119func (c *EC2) RejectTransitGatewayVpcAttachment(input *RejectTransitGatewayVpcAttachmentInput) (*RejectTransitGatewayVpcAttachmentOutput, error) {
38120	req, out := c.RejectTransitGatewayVpcAttachmentRequest(input)
38121	return out, req.Send()
38122}
38123
38124// RejectTransitGatewayVpcAttachmentWithContext is the same as RejectTransitGatewayVpcAttachment with the addition of
38125// the ability to pass a context and additional request options.
38126//
38127// See RejectTransitGatewayVpcAttachment for details on how to use this API operation.
38128//
38129// The context must be non-nil and will be used for request cancellation. If
38130// the context is nil a panic will occur. In the future the SDK may create
38131// sub-contexts for http.Requests. See https://golang.org/pkg/context/
38132// for more information on using Contexts.
38133func (c *EC2) RejectTransitGatewayVpcAttachmentWithContext(ctx aws.Context, input *RejectTransitGatewayVpcAttachmentInput, opts ...request.Option) (*RejectTransitGatewayVpcAttachmentOutput, error) {
38134	req, out := c.RejectTransitGatewayVpcAttachmentRequest(input)
38135	req.SetContext(ctx)
38136	req.ApplyOptions(opts...)
38137	return out, req.Send()
38138}
38139
38140const opRejectVpcEndpointConnections = "RejectVpcEndpointConnections"
38141
38142// RejectVpcEndpointConnectionsRequest generates a "aws/request.Request" representing the
38143// client's request for the RejectVpcEndpointConnections operation. The "output" return
38144// value will be populated with the request's response once the request completes
38145// successfully.
38146//
38147// Use "Send" method on the returned Request to send the API call to the service.
38148// the "output" return value is not valid until after Send returns without error.
38149//
38150// See RejectVpcEndpointConnections for more information on using the RejectVpcEndpointConnections
38151// API call, and error handling.
38152//
38153// This method is useful when you want to inject custom logic or configuration
38154// into the SDK's request lifecycle. Such as custom headers, or retry logic.
38155//
38156//
38157//    // Example sending a request using the RejectVpcEndpointConnectionsRequest method.
38158//    req, resp := client.RejectVpcEndpointConnectionsRequest(params)
38159//
38160//    err := req.Send()
38161//    if err == nil { // resp is now filled
38162//        fmt.Println(resp)
38163//    }
38164//
38165// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcEndpointConnections
38166func (c *EC2) RejectVpcEndpointConnectionsRequest(input *RejectVpcEndpointConnectionsInput) (req *request.Request, output *RejectVpcEndpointConnectionsOutput) {
38167	op := &request.Operation{
38168		Name:       opRejectVpcEndpointConnections,
38169		HTTPMethod: "POST",
38170		HTTPPath:   "/",
38171	}
38172
38173	if input == nil {
38174		input = &RejectVpcEndpointConnectionsInput{}
38175	}
38176
38177	output = &RejectVpcEndpointConnectionsOutput{}
38178	req = c.newRequest(op, input, output)
38179	return
38180}
38181
38182// RejectVpcEndpointConnections API operation for Amazon Elastic Compute Cloud.
38183//
38184// Rejects one or more VPC endpoint connection requests to your VPC endpoint
38185// service.
38186//
38187// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
38188// with awserr.Error's Code and Message methods to get detailed information about
38189// the error.
38190//
38191// See the AWS API reference guide for Amazon Elastic Compute Cloud's
38192// API operation RejectVpcEndpointConnections for usage and error information.
38193// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcEndpointConnections
38194func (c *EC2) RejectVpcEndpointConnections(input *RejectVpcEndpointConnectionsInput) (*RejectVpcEndpointConnectionsOutput, error) {
38195	req, out := c.RejectVpcEndpointConnectionsRequest(input)
38196	return out, req.Send()
38197}
38198
38199// RejectVpcEndpointConnectionsWithContext is the same as RejectVpcEndpointConnections with the addition of
38200// the ability to pass a context and additional request options.
38201//
38202// See RejectVpcEndpointConnections for details on how to use this API operation.
38203//
38204// The context must be non-nil and will be used for request cancellation. If
38205// the context is nil a panic will occur. In the future the SDK may create
38206// sub-contexts for http.Requests. See https://golang.org/pkg/context/
38207// for more information on using Contexts.
38208func (c *EC2) RejectVpcEndpointConnectionsWithContext(ctx aws.Context, input *RejectVpcEndpointConnectionsInput, opts ...request.Option) (*RejectVpcEndpointConnectionsOutput, error) {
38209	req, out := c.RejectVpcEndpointConnectionsRequest(input)
38210	req.SetContext(ctx)
38211	req.ApplyOptions(opts...)
38212	return out, req.Send()
38213}
38214
38215const opRejectVpcPeeringConnection = "RejectVpcPeeringConnection"
38216
38217// RejectVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
38218// client's request for the RejectVpcPeeringConnection operation. The "output" return
38219// value will be populated with the request's response once the request completes
38220// successfully.
38221//
38222// Use "Send" method on the returned Request to send the API call to the service.
38223// the "output" return value is not valid until after Send returns without error.
38224//
38225// See RejectVpcPeeringConnection for more information on using the RejectVpcPeeringConnection
38226// API call, and error handling.
38227//
38228// This method is useful when you want to inject custom logic or configuration
38229// into the SDK's request lifecycle. Such as custom headers, or retry logic.
38230//
38231//
38232//    // Example sending a request using the RejectVpcPeeringConnectionRequest method.
38233//    req, resp := client.RejectVpcPeeringConnectionRequest(params)
38234//
38235//    err := req.Send()
38236//    if err == nil { // resp is now filled
38237//        fmt.Println(resp)
38238//    }
38239//
38240// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcPeeringConnection
38241func (c *EC2) RejectVpcPeeringConnectionRequest(input *RejectVpcPeeringConnectionInput) (req *request.Request, output *RejectVpcPeeringConnectionOutput) {
38242	op := &request.Operation{
38243		Name:       opRejectVpcPeeringConnection,
38244		HTTPMethod: "POST",
38245		HTTPPath:   "/",
38246	}
38247
38248	if input == nil {
38249		input = &RejectVpcPeeringConnectionInput{}
38250	}
38251
38252	output = &RejectVpcPeeringConnectionOutput{}
38253	req = c.newRequest(op, input, output)
38254	return
38255}
38256
38257// RejectVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
38258//
38259// Rejects a VPC peering connection request. The VPC peering connection must
38260// be in the pending-acceptance state. Use the DescribeVpcPeeringConnections
38261// request to view your outstanding VPC peering connection requests. To delete
38262// an active VPC peering connection, or to delete a VPC peering connection request
38263// that you initiated, use DeleteVpcPeeringConnection.
38264//
38265// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
38266// with awserr.Error's Code and Message methods to get detailed information about
38267// the error.
38268//
38269// See the AWS API reference guide for Amazon Elastic Compute Cloud's
38270// API operation RejectVpcPeeringConnection for usage and error information.
38271// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcPeeringConnection
38272func (c *EC2) RejectVpcPeeringConnection(input *RejectVpcPeeringConnectionInput) (*RejectVpcPeeringConnectionOutput, error) {
38273	req, out := c.RejectVpcPeeringConnectionRequest(input)
38274	return out, req.Send()
38275}
38276
38277// RejectVpcPeeringConnectionWithContext is the same as RejectVpcPeeringConnection with the addition of
38278// the ability to pass a context and additional request options.
38279//
38280// See RejectVpcPeeringConnection for details on how to use this API operation.
38281//
38282// The context must be non-nil and will be used for request cancellation. If
38283// the context is nil a panic will occur. In the future the SDK may create
38284// sub-contexts for http.Requests. See https://golang.org/pkg/context/
38285// for more information on using Contexts.
38286func (c *EC2) RejectVpcPeeringConnectionWithContext(ctx aws.Context, input *RejectVpcPeeringConnectionInput, opts ...request.Option) (*RejectVpcPeeringConnectionOutput, error) {
38287	req, out := c.RejectVpcPeeringConnectionRequest(input)
38288	req.SetContext(ctx)
38289	req.ApplyOptions(opts...)
38290	return out, req.Send()
38291}
38292
38293const opReleaseAddress = "ReleaseAddress"
38294
38295// ReleaseAddressRequest generates a "aws/request.Request" representing the
38296// client's request for the ReleaseAddress operation. The "output" return
38297// value will be populated with the request's response once the request completes
38298// successfully.
38299//
38300// Use "Send" method on the returned Request to send the API call to the service.
38301// the "output" return value is not valid until after Send returns without error.
38302//
38303// See ReleaseAddress for more information on using the ReleaseAddress
38304// API call, and error handling.
38305//
38306// This method is useful when you want to inject custom logic or configuration
38307// into the SDK's request lifecycle. Such as custom headers, or retry logic.
38308//
38309//
38310//    // Example sending a request using the ReleaseAddressRequest method.
38311//    req, resp := client.ReleaseAddressRequest(params)
38312//
38313//    err := req.Send()
38314//    if err == nil { // resp is now filled
38315//        fmt.Println(resp)
38316//    }
38317//
38318// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseAddress
38319func (c *EC2) ReleaseAddressRequest(input *ReleaseAddressInput) (req *request.Request, output *ReleaseAddressOutput) {
38320	op := &request.Operation{
38321		Name:       opReleaseAddress,
38322		HTTPMethod: "POST",
38323		HTTPPath:   "/",
38324	}
38325
38326	if input == nil {
38327		input = &ReleaseAddressInput{}
38328	}
38329
38330	output = &ReleaseAddressOutput{}
38331	req = c.newRequest(op, input, output)
38332	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
38333	return
38334}
38335
38336// ReleaseAddress API operation for Amazon Elastic Compute Cloud.
38337//
38338// Releases the specified Elastic IP address.
38339//
38340// [EC2-Classic, default VPC] Releasing an Elastic IP address automatically
38341// disassociates it from any instance that it's associated with. To disassociate
38342// an Elastic IP address without releasing it, use DisassociateAddress.
38343//
38344// [Nondefault VPC] You must use DisassociateAddress to disassociate the Elastic
38345// IP address before you can release it. Otherwise, Amazon EC2 returns an error
38346// (InvalidIPAddress.InUse).
38347//
38348// After releasing an Elastic IP address, it is released to the IP address pool.
38349// Be sure to update your DNS records and any servers or devices that communicate
38350// with the address. If you attempt to release an Elastic IP address that you
38351// already released, you'll get an AuthFailure error if the address is already
38352// allocated to another AWS account.
38353//
38354// [EC2-VPC] After you release an Elastic IP address for use in a VPC, you might
38355// be able to recover it. For more information, see AllocateAddress.
38356//
38357// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
38358// with awserr.Error's Code and Message methods to get detailed information about
38359// the error.
38360//
38361// See the AWS API reference guide for Amazon Elastic Compute Cloud's
38362// API operation ReleaseAddress for usage and error information.
38363// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseAddress
38364func (c *EC2) ReleaseAddress(input *ReleaseAddressInput) (*ReleaseAddressOutput, error) {
38365	req, out := c.ReleaseAddressRequest(input)
38366	return out, req.Send()
38367}
38368
38369// ReleaseAddressWithContext is the same as ReleaseAddress with the addition of
38370// the ability to pass a context and additional request options.
38371//
38372// See ReleaseAddress for details on how to use this API operation.
38373//
38374// The context must be non-nil and will be used for request cancellation. If
38375// the context is nil a panic will occur. In the future the SDK may create
38376// sub-contexts for http.Requests. See https://golang.org/pkg/context/
38377// for more information on using Contexts.
38378func (c *EC2) ReleaseAddressWithContext(ctx aws.Context, input *ReleaseAddressInput, opts ...request.Option) (*ReleaseAddressOutput, error) {
38379	req, out := c.ReleaseAddressRequest(input)
38380	req.SetContext(ctx)
38381	req.ApplyOptions(opts...)
38382	return out, req.Send()
38383}
38384
38385const opReleaseHosts = "ReleaseHosts"
38386
38387// ReleaseHostsRequest generates a "aws/request.Request" representing the
38388// client's request for the ReleaseHosts operation. The "output" return
38389// value will be populated with the request's response once the request completes
38390// successfully.
38391//
38392// Use "Send" method on the returned Request to send the API call to the service.
38393// the "output" return value is not valid until after Send returns without error.
38394//
38395// See ReleaseHosts for more information on using the ReleaseHosts
38396// API call, and error handling.
38397//
38398// This method is useful when you want to inject custom logic or configuration
38399// into the SDK's request lifecycle. Such as custom headers, or retry logic.
38400//
38401//
38402//    // Example sending a request using the ReleaseHostsRequest method.
38403//    req, resp := client.ReleaseHostsRequest(params)
38404//
38405//    err := req.Send()
38406//    if err == nil { // resp is now filled
38407//        fmt.Println(resp)
38408//    }
38409//
38410// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseHosts
38411func (c *EC2) ReleaseHostsRequest(input *ReleaseHostsInput) (req *request.Request, output *ReleaseHostsOutput) {
38412	op := &request.Operation{
38413		Name:       opReleaseHosts,
38414		HTTPMethod: "POST",
38415		HTTPPath:   "/",
38416	}
38417
38418	if input == nil {
38419		input = &ReleaseHostsInput{}
38420	}
38421
38422	output = &ReleaseHostsOutput{}
38423	req = c.newRequest(op, input, output)
38424	return
38425}
38426
38427// ReleaseHosts API operation for Amazon Elastic Compute Cloud.
38428//
38429// When you no longer want to use an On-Demand Dedicated Host it can be released.
38430// On-Demand billing is stopped and the host goes into released state. The host
38431// ID of Dedicated Hosts that have been released can no longer be specified
38432// in another request, for example, to modify the host. You must stop or terminate
38433// all instances on a host before it can be released.
38434//
38435// When Dedicated Hosts are released, it may take some time for them to stop
38436// counting toward your limit and you may receive capacity errors when trying
38437// to allocate new Dedicated Hosts. Wait a few minutes and then try again.
38438//
38439// Released hosts still appear in a DescribeHosts response.
38440//
38441// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
38442// with awserr.Error's Code and Message methods to get detailed information about
38443// the error.
38444//
38445// See the AWS API reference guide for Amazon Elastic Compute Cloud's
38446// API operation ReleaseHosts for usage and error information.
38447// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseHosts
38448func (c *EC2) ReleaseHosts(input *ReleaseHostsInput) (*ReleaseHostsOutput, error) {
38449	req, out := c.ReleaseHostsRequest(input)
38450	return out, req.Send()
38451}
38452
38453// ReleaseHostsWithContext is the same as ReleaseHosts with the addition of
38454// the ability to pass a context and additional request options.
38455//
38456// See ReleaseHosts for details on how to use this API operation.
38457//
38458// The context must be non-nil and will be used for request cancellation. If
38459// the context is nil a panic will occur. In the future the SDK may create
38460// sub-contexts for http.Requests. See https://golang.org/pkg/context/
38461// for more information on using Contexts.
38462func (c *EC2) ReleaseHostsWithContext(ctx aws.Context, input *ReleaseHostsInput, opts ...request.Option) (*ReleaseHostsOutput, error) {
38463	req, out := c.ReleaseHostsRequest(input)
38464	req.SetContext(ctx)
38465	req.ApplyOptions(opts...)
38466	return out, req.Send()
38467}
38468
38469const opReplaceIamInstanceProfileAssociation = "ReplaceIamInstanceProfileAssociation"
38470
38471// ReplaceIamInstanceProfileAssociationRequest generates a "aws/request.Request" representing the
38472// client's request for the ReplaceIamInstanceProfileAssociation operation. The "output" return
38473// value will be populated with the request's response once the request completes
38474// successfully.
38475//
38476// Use "Send" method on the returned Request to send the API call to the service.
38477// the "output" return value is not valid until after Send returns without error.
38478//
38479// See ReplaceIamInstanceProfileAssociation for more information on using the ReplaceIamInstanceProfileAssociation
38480// API call, and error handling.
38481//
38482// This method is useful when you want to inject custom logic or configuration
38483// into the SDK's request lifecycle. Such as custom headers, or retry logic.
38484//
38485//
38486//    // Example sending a request using the ReplaceIamInstanceProfileAssociationRequest method.
38487//    req, resp := client.ReplaceIamInstanceProfileAssociationRequest(params)
38488//
38489//    err := req.Send()
38490//    if err == nil { // resp is now filled
38491//        fmt.Println(resp)
38492//    }
38493//
38494// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceIamInstanceProfileAssociation
38495func (c *EC2) ReplaceIamInstanceProfileAssociationRequest(input *ReplaceIamInstanceProfileAssociationInput) (req *request.Request, output *ReplaceIamInstanceProfileAssociationOutput) {
38496	op := &request.Operation{
38497		Name:       opReplaceIamInstanceProfileAssociation,
38498		HTTPMethod: "POST",
38499		HTTPPath:   "/",
38500	}
38501
38502	if input == nil {
38503		input = &ReplaceIamInstanceProfileAssociationInput{}
38504	}
38505
38506	output = &ReplaceIamInstanceProfileAssociationOutput{}
38507	req = c.newRequest(op, input, output)
38508	return
38509}
38510
38511// ReplaceIamInstanceProfileAssociation API operation for Amazon Elastic Compute Cloud.
38512//
38513// Replaces an IAM instance profile for the specified running instance. You
38514// can use this action to change the IAM instance profile that's associated
38515// with an instance without having to disassociate the existing IAM instance
38516// profile first.
38517//
38518// Use DescribeIamInstanceProfileAssociations to get the association ID.
38519//
38520// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
38521// with awserr.Error's Code and Message methods to get detailed information about
38522// the error.
38523//
38524// See the AWS API reference guide for Amazon Elastic Compute Cloud's
38525// API operation ReplaceIamInstanceProfileAssociation for usage and error information.
38526// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceIamInstanceProfileAssociation
38527func (c *EC2) ReplaceIamInstanceProfileAssociation(input *ReplaceIamInstanceProfileAssociationInput) (*ReplaceIamInstanceProfileAssociationOutput, error) {
38528	req, out := c.ReplaceIamInstanceProfileAssociationRequest(input)
38529	return out, req.Send()
38530}
38531
38532// ReplaceIamInstanceProfileAssociationWithContext is the same as ReplaceIamInstanceProfileAssociation with the addition of
38533// the ability to pass a context and additional request options.
38534//
38535// See ReplaceIamInstanceProfileAssociation for details on how to use this API operation.
38536//
38537// The context must be non-nil and will be used for request cancellation. If
38538// the context is nil a panic will occur. In the future the SDK may create
38539// sub-contexts for http.Requests. See https://golang.org/pkg/context/
38540// for more information on using Contexts.
38541func (c *EC2) ReplaceIamInstanceProfileAssociationWithContext(ctx aws.Context, input *ReplaceIamInstanceProfileAssociationInput, opts ...request.Option) (*ReplaceIamInstanceProfileAssociationOutput, error) {
38542	req, out := c.ReplaceIamInstanceProfileAssociationRequest(input)
38543	req.SetContext(ctx)
38544	req.ApplyOptions(opts...)
38545	return out, req.Send()
38546}
38547
38548const opReplaceNetworkAclAssociation = "ReplaceNetworkAclAssociation"
38549
38550// ReplaceNetworkAclAssociationRequest generates a "aws/request.Request" representing the
38551// client's request for the ReplaceNetworkAclAssociation operation. The "output" return
38552// value will be populated with the request's response once the request completes
38553// successfully.
38554//
38555// Use "Send" method on the returned Request to send the API call to the service.
38556// the "output" return value is not valid until after Send returns without error.
38557//
38558// See ReplaceNetworkAclAssociation for more information on using the ReplaceNetworkAclAssociation
38559// API call, and error handling.
38560//
38561// This method is useful when you want to inject custom logic or configuration
38562// into the SDK's request lifecycle. Such as custom headers, or retry logic.
38563//
38564//
38565//    // Example sending a request using the ReplaceNetworkAclAssociationRequest method.
38566//    req, resp := client.ReplaceNetworkAclAssociationRequest(params)
38567//
38568//    err := req.Send()
38569//    if err == nil { // resp is now filled
38570//        fmt.Println(resp)
38571//    }
38572//
38573// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclAssociation
38574func (c *EC2) ReplaceNetworkAclAssociationRequest(input *ReplaceNetworkAclAssociationInput) (req *request.Request, output *ReplaceNetworkAclAssociationOutput) {
38575	op := &request.Operation{
38576		Name:       opReplaceNetworkAclAssociation,
38577		HTTPMethod: "POST",
38578		HTTPPath:   "/",
38579	}
38580
38581	if input == nil {
38582		input = &ReplaceNetworkAclAssociationInput{}
38583	}
38584
38585	output = &ReplaceNetworkAclAssociationOutput{}
38586	req = c.newRequest(op, input, output)
38587	return
38588}
38589
38590// ReplaceNetworkAclAssociation API operation for Amazon Elastic Compute Cloud.
38591//
38592// Changes which network ACL a subnet is associated with. By default when you
38593// create a subnet, it's automatically associated with the default network ACL.
38594// For more information, see Network ACLs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ACLs.html)
38595// in the Amazon Virtual Private Cloud User Guide.
38596//
38597// This is an idempotent operation.
38598//
38599// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
38600// with awserr.Error's Code and Message methods to get detailed information about
38601// the error.
38602//
38603// See the AWS API reference guide for Amazon Elastic Compute Cloud's
38604// API operation ReplaceNetworkAclAssociation for usage and error information.
38605// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclAssociation
38606func (c *EC2) ReplaceNetworkAclAssociation(input *ReplaceNetworkAclAssociationInput) (*ReplaceNetworkAclAssociationOutput, error) {
38607	req, out := c.ReplaceNetworkAclAssociationRequest(input)
38608	return out, req.Send()
38609}
38610
38611// ReplaceNetworkAclAssociationWithContext is the same as ReplaceNetworkAclAssociation with the addition of
38612// the ability to pass a context and additional request options.
38613//
38614// See ReplaceNetworkAclAssociation for details on how to use this API operation.
38615//
38616// The context must be non-nil and will be used for request cancellation. If
38617// the context is nil a panic will occur. In the future the SDK may create
38618// sub-contexts for http.Requests. See https://golang.org/pkg/context/
38619// for more information on using Contexts.
38620func (c *EC2) ReplaceNetworkAclAssociationWithContext(ctx aws.Context, input *ReplaceNetworkAclAssociationInput, opts ...request.Option) (*ReplaceNetworkAclAssociationOutput, error) {
38621	req, out := c.ReplaceNetworkAclAssociationRequest(input)
38622	req.SetContext(ctx)
38623	req.ApplyOptions(opts...)
38624	return out, req.Send()
38625}
38626
38627const opReplaceNetworkAclEntry = "ReplaceNetworkAclEntry"
38628
38629// ReplaceNetworkAclEntryRequest generates a "aws/request.Request" representing the
38630// client's request for the ReplaceNetworkAclEntry operation. The "output" return
38631// value will be populated with the request's response once the request completes
38632// successfully.
38633//
38634// Use "Send" method on the returned Request to send the API call to the service.
38635// the "output" return value is not valid until after Send returns without error.
38636//
38637// See ReplaceNetworkAclEntry for more information on using the ReplaceNetworkAclEntry
38638// API call, and error handling.
38639//
38640// This method is useful when you want to inject custom logic or configuration
38641// into the SDK's request lifecycle. Such as custom headers, or retry logic.
38642//
38643//
38644//    // Example sending a request using the ReplaceNetworkAclEntryRequest method.
38645//    req, resp := client.ReplaceNetworkAclEntryRequest(params)
38646//
38647//    err := req.Send()
38648//    if err == nil { // resp is now filled
38649//        fmt.Println(resp)
38650//    }
38651//
38652// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclEntry
38653func (c *EC2) ReplaceNetworkAclEntryRequest(input *ReplaceNetworkAclEntryInput) (req *request.Request, output *ReplaceNetworkAclEntryOutput) {
38654	op := &request.Operation{
38655		Name:       opReplaceNetworkAclEntry,
38656		HTTPMethod: "POST",
38657		HTTPPath:   "/",
38658	}
38659
38660	if input == nil {
38661		input = &ReplaceNetworkAclEntryInput{}
38662	}
38663
38664	output = &ReplaceNetworkAclEntryOutput{}
38665	req = c.newRequest(op, input, output)
38666	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
38667	return
38668}
38669
38670// ReplaceNetworkAclEntry API operation for Amazon Elastic Compute Cloud.
38671//
38672// Replaces an entry (rule) in a network ACL. For more information, see Network
38673// ACLs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ACLs.html) in
38674// the Amazon Virtual Private Cloud User Guide.
38675//
38676// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
38677// with awserr.Error's Code and Message methods to get detailed information about
38678// the error.
38679//
38680// See the AWS API reference guide for Amazon Elastic Compute Cloud's
38681// API operation ReplaceNetworkAclEntry for usage and error information.
38682// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclEntry
38683func (c *EC2) ReplaceNetworkAclEntry(input *ReplaceNetworkAclEntryInput) (*ReplaceNetworkAclEntryOutput, error) {
38684	req, out := c.ReplaceNetworkAclEntryRequest(input)
38685	return out, req.Send()
38686}
38687
38688// ReplaceNetworkAclEntryWithContext is the same as ReplaceNetworkAclEntry with the addition of
38689// the ability to pass a context and additional request options.
38690//
38691// See ReplaceNetworkAclEntry for details on how to use this API operation.
38692//
38693// The context must be non-nil and will be used for request cancellation. If
38694// the context is nil a panic will occur. In the future the SDK may create
38695// sub-contexts for http.Requests. See https://golang.org/pkg/context/
38696// for more information on using Contexts.
38697func (c *EC2) ReplaceNetworkAclEntryWithContext(ctx aws.Context, input *ReplaceNetworkAclEntryInput, opts ...request.Option) (*ReplaceNetworkAclEntryOutput, error) {
38698	req, out := c.ReplaceNetworkAclEntryRequest(input)
38699	req.SetContext(ctx)
38700	req.ApplyOptions(opts...)
38701	return out, req.Send()
38702}
38703
38704const opReplaceRoute = "ReplaceRoute"
38705
38706// ReplaceRouteRequest generates a "aws/request.Request" representing the
38707// client's request for the ReplaceRoute operation. The "output" return
38708// value will be populated with the request's response once the request completes
38709// successfully.
38710//
38711// Use "Send" method on the returned Request to send the API call to the service.
38712// the "output" return value is not valid until after Send returns without error.
38713//
38714// See ReplaceRoute for more information on using the ReplaceRoute
38715// API call, and error handling.
38716//
38717// This method is useful when you want to inject custom logic or configuration
38718// into the SDK's request lifecycle. Such as custom headers, or retry logic.
38719//
38720//
38721//    // Example sending a request using the ReplaceRouteRequest method.
38722//    req, resp := client.ReplaceRouteRequest(params)
38723//
38724//    err := req.Send()
38725//    if err == nil { // resp is now filled
38726//        fmt.Println(resp)
38727//    }
38728//
38729// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRoute
38730func (c *EC2) ReplaceRouteRequest(input *ReplaceRouteInput) (req *request.Request, output *ReplaceRouteOutput) {
38731	op := &request.Operation{
38732		Name:       opReplaceRoute,
38733		HTTPMethod: "POST",
38734		HTTPPath:   "/",
38735	}
38736
38737	if input == nil {
38738		input = &ReplaceRouteInput{}
38739	}
38740
38741	output = &ReplaceRouteOutput{}
38742	req = c.newRequest(op, input, output)
38743	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
38744	return
38745}
38746
38747// ReplaceRoute API operation for Amazon Elastic Compute Cloud.
38748//
38749// Replaces an existing route within a route table in a VPC. You must provide
38750// only one of the following: internet gateway, virtual private gateway, NAT
38751// instance, NAT gateway, VPC peering connection, network interface, egress-only
38752// internet gateway, or transit gateway.
38753//
38754// For more information, see Route Tables (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html)
38755// in the Amazon Virtual Private Cloud User Guide.
38756//
38757// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
38758// with awserr.Error's Code and Message methods to get detailed information about
38759// the error.
38760//
38761// See the AWS API reference guide for Amazon Elastic Compute Cloud's
38762// API operation ReplaceRoute for usage and error information.
38763// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRoute
38764func (c *EC2) ReplaceRoute(input *ReplaceRouteInput) (*ReplaceRouteOutput, error) {
38765	req, out := c.ReplaceRouteRequest(input)
38766	return out, req.Send()
38767}
38768
38769// ReplaceRouteWithContext is the same as ReplaceRoute with the addition of
38770// the ability to pass a context and additional request options.
38771//
38772// See ReplaceRoute for details on how to use this API operation.
38773//
38774// The context must be non-nil and will be used for request cancellation. If
38775// the context is nil a panic will occur. In the future the SDK may create
38776// sub-contexts for http.Requests. See https://golang.org/pkg/context/
38777// for more information on using Contexts.
38778func (c *EC2) ReplaceRouteWithContext(ctx aws.Context, input *ReplaceRouteInput, opts ...request.Option) (*ReplaceRouteOutput, error) {
38779	req, out := c.ReplaceRouteRequest(input)
38780	req.SetContext(ctx)
38781	req.ApplyOptions(opts...)
38782	return out, req.Send()
38783}
38784
38785const opReplaceRouteTableAssociation = "ReplaceRouteTableAssociation"
38786
38787// ReplaceRouteTableAssociationRequest generates a "aws/request.Request" representing the
38788// client's request for the ReplaceRouteTableAssociation operation. The "output" return
38789// value will be populated with the request's response once the request completes
38790// successfully.
38791//
38792// Use "Send" method on the returned Request to send the API call to the service.
38793// the "output" return value is not valid until after Send returns without error.
38794//
38795// See ReplaceRouteTableAssociation for more information on using the ReplaceRouteTableAssociation
38796// API call, and error handling.
38797//
38798// This method is useful when you want to inject custom logic or configuration
38799// into the SDK's request lifecycle. Such as custom headers, or retry logic.
38800//
38801//
38802//    // Example sending a request using the ReplaceRouteTableAssociationRequest method.
38803//    req, resp := client.ReplaceRouteTableAssociationRequest(params)
38804//
38805//    err := req.Send()
38806//    if err == nil { // resp is now filled
38807//        fmt.Println(resp)
38808//    }
38809//
38810// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRouteTableAssociation
38811func (c *EC2) ReplaceRouteTableAssociationRequest(input *ReplaceRouteTableAssociationInput) (req *request.Request, output *ReplaceRouteTableAssociationOutput) {
38812	op := &request.Operation{
38813		Name:       opReplaceRouteTableAssociation,
38814		HTTPMethod: "POST",
38815		HTTPPath:   "/",
38816	}
38817
38818	if input == nil {
38819		input = &ReplaceRouteTableAssociationInput{}
38820	}
38821
38822	output = &ReplaceRouteTableAssociationOutput{}
38823	req = c.newRequest(op, input, output)
38824	return
38825}
38826
38827// ReplaceRouteTableAssociation API operation for Amazon Elastic Compute Cloud.
38828//
38829// Changes the route table associated with a given subnet, internet gateway,
38830// or virtual private gateway in a VPC. After the operation completes, the subnet
38831// or gateway uses the routes in the new route table. For more information about
38832// route tables, see Route Tables (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html)
38833// in the Amazon Virtual Private Cloud User Guide.
38834//
38835// You can also use this operation to change which table is the main route table
38836// in the VPC. Specify the main route table's association ID and the route table
38837// ID of the new main route table.
38838//
38839// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
38840// with awserr.Error's Code and Message methods to get detailed information about
38841// the error.
38842//
38843// See the AWS API reference guide for Amazon Elastic Compute Cloud's
38844// API operation ReplaceRouteTableAssociation for usage and error information.
38845// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRouteTableAssociation
38846func (c *EC2) ReplaceRouteTableAssociation(input *ReplaceRouteTableAssociationInput) (*ReplaceRouteTableAssociationOutput, error) {
38847	req, out := c.ReplaceRouteTableAssociationRequest(input)
38848	return out, req.Send()
38849}
38850
38851// ReplaceRouteTableAssociationWithContext is the same as ReplaceRouteTableAssociation with the addition of
38852// the ability to pass a context and additional request options.
38853//
38854// See ReplaceRouteTableAssociation for details on how to use this API operation.
38855//
38856// The context must be non-nil and will be used for request cancellation. If
38857// the context is nil a panic will occur. In the future the SDK may create
38858// sub-contexts for http.Requests. See https://golang.org/pkg/context/
38859// for more information on using Contexts.
38860func (c *EC2) ReplaceRouteTableAssociationWithContext(ctx aws.Context, input *ReplaceRouteTableAssociationInput, opts ...request.Option) (*ReplaceRouteTableAssociationOutput, error) {
38861	req, out := c.ReplaceRouteTableAssociationRequest(input)
38862	req.SetContext(ctx)
38863	req.ApplyOptions(opts...)
38864	return out, req.Send()
38865}
38866
38867const opReplaceTransitGatewayRoute = "ReplaceTransitGatewayRoute"
38868
38869// ReplaceTransitGatewayRouteRequest generates a "aws/request.Request" representing the
38870// client's request for the ReplaceTransitGatewayRoute operation. The "output" return
38871// value will be populated with the request's response once the request completes
38872// successfully.
38873//
38874// Use "Send" method on the returned Request to send the API call to the service.
38875// the "output" return value is not valid until after Send returns without error.
38876//
38877// See ReplaceTransitGatewayRoute for more information on using the ReplaceTransitGatewayRoute
38878// API call, and error handling.
38879//
38880// This method is useful when you want to inject custom logic or configuration
38881// into the SDK's request lifecycle. Such as custom headers, or retry logic.
38882//
38883//
38884//    // Example sending a request using the ReplaceTransitGatewayRouteRequest method.
38885//    req, resp := client.ReplaceTransitGatewayRouteRequest(params)
38886//
38887//    err := req.Send()
38888//    if err == nil { // resp is now filled
38889//        fmt.Println(resp)
38890//    }
38891//
38892// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceTransitGatewayRoute
38893func (c *EC2) ReplaceTransitGatewayRouteRequest(input *ReplaceTransitGatewayRouteInput) (req *request.Request, output *ReplaceTransitGatewayRouteOutput) {
38894	op := &request.Operation{
38895		Name:       opReplaceTransitGatewayRoute,
38896		HTTPMethod: "POST",
38897		HTTPPath:   "/",
38898	}
38899
38900	if input == nil {
38901		input = &ReplaceTransitGatewayRouteInput{}
38902	}
38903
38904	output = &ReplaceTransitGatewayRouteOutput{}
38905	req = c.newRequest(op, input, output)
38906	return
38907}
38908
38909// ReplaceTransitGatewayRoute API operation for Amazon Elastic Compute Cloud.
38910//
38911// Replaces the specified route in the specified transit gateway route table.
38912//
38913// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
38914// with awserr.Error's Code and Message methods to get detailed information about
38915// the error.
38916//
38917// See the AWS API reference guide for Amazon Elastic Compute Cloud's
38918// API operation ReplaceTransitGatewayRoute for usage and error information.
38919// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceTransitGatewayRoute
38920func (c *EC2) ReplaceTransitGatewayRoute(input *ReplaceTransitGatewayRouteInput) (*ReplaceTransitGatewayRouteOutput, error) {
38921	req, out := c.ReplaceTransitGatewayRouteRequest(input)
38922	return out, req.Send()
38923}
38924
38925// ReplaceTransitGatewayRouteWithContext is the same as ReplaceTransitGatewayRoute with the addition of
38926// the ability to pass a context and additional request options.
38927//
38928// See ReplaceTransitGatewayRoute for details on how to use this API operation.
38929//
38930// The context must be non-nil and will be used for request cancellation. If
38931// the context is nil a panic will occur. In the future the SDK may create
38932// sub-contexts for http.Requests. See https://golang.org/pkg/context/
38933// for more information on using Contexts.
38934func (c *EC2) ReplaceTransitGatewayRouteWithContext(ctx aws.Context, input *ReplaceTransitGatewayRouteInput, opts ...request.Option) (*ReplaceTransitGatewayRouteOutput, error) {
38935	req, out := c.ReplaceTransitGatewayRouteRequest(input)
38936	req.SetContext(ctx)
38937	req.ApplyOptions(opts...)
38938	return out, req.Send()
38939}
38940
38941const opReportInstanceStatus = "ReportInstanceStatus"
38942
38943// ReportInstanceStatusRequest generates a "aws/request.Request" representing the
38944// client's request for the ReportInstanceStatus operation. The "output" return
38945// value will be populated with the request's response once the request completes
38946// successfully.
38947//
38948// Use "Send" method on the returned Request to send the API call to the service.
38949// the "output" return value is not valid until after Send returns without error.
38950//
38951// See ReportInstanceStatus for more information on using the ReportInstanceStatus
38952// API call, and error handling.
38953//
38954// This method is useful when you want to inject custom logic or configuration
38955// into the SDK's request lifecycle. Such as custom headers, or retry logic.
38956//
38957//
38958//    // Example sending a request using the ReportInstanceStatusRequest method.
38959//    req, resp := client.ReportInstanceStatusRequest(params)
38960//
38961//    err := req.Send()
38962//    if err == nil { // resp is now filled
38963//        fmt.Println(resp)
38964//    }
38965//
38966// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReportInstanceStatus
38967func (c *EC2) ReportInstanceStatusRequest(input *ReportInstanceStatusInput) (req *request.Request, output *ReportInstanceStatusOutput) {
38968	op := &request.Operation{
38969		Name:       opReportInstanceStatus,
38970		HTTPMethod: "POST",
38971		HTTPPath:   "/",
38972	}
38973
38974	if input == nil {
38975		input = &ReportInstanceStatusInput{}
38976	}
38977
38978	output = &ReportInstanceStatusOutput{}
38979	req = c.newRequest(op, input, output)
38980	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
38981	return
38982}
38983
38984// ReportInstanceStatus API operation for Amazon Elastic Compute Cloud.
38985//
38986// Submits feedback about the status of an instance. The instance must be in
38987// the running state. If your experience with the instance differs from the
38988// instance status returned by DescribeInstanceStatus, use ReportInstanceStatus
38989// to report your experience with the instance. Amazon EC2 collects this information
38990// to improve the accuracy of status checks.
38991//
38992// Use of this action does not change the value returned by DescribeInstanceStatus.
38993//
38994// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
38995// with awserr.Error's Code and Message methods to get detailed information about
38996// the error.
38997//
38998// See the AWS API reference guide for Amazon Elastic Compute Cloud's
38999// API operation ReportInstanceStatus for usage and error information.
39000// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReportInstanceStatus
39001func (c *EC2) ReportInstanceStatus(input *ReportInstanceStatusInput) (*ReportInstanceStatusOutput, error) {
39002	req, out := c.ReportInstanceStatusRequest(input)
39003	return out, req.Send()
39004}
39005
39006// ReportInstanceStatusWithContext is the same as ReportInstanceStatus with the addition of
39007// the ability to pass a context and additional request options.
39008//
39009// See ReportInstanceStatus for details on how to use this API operation.
39010//
39011// The context must be non-nil and will be used for request cancellation. If
39012// the context is nil a panic will occur. In the future the SDK may create
39013// sub-contexts for http.Requests. See https://golang.org/pkg/context/
39014// for more information on using Contexts.
39015func (c *EC2) ReportInstanceStatusWithContext(ctx aws.Context, input *ReportInstanceStatusInput, opts ...request.Option) (*ReportInstanceStatusOutput, error) {
39016	req, out := c.ReportInstanceStatusRequest(input)
39017	req.SetContext(ctx)
39018	req.ApplyOptions(opts...)
39019	return out, req.Send()
39020}
39021
39022const opRequestSpotFleet = "RequestSpotFleet"
39023
39024// RequestSpotFleetRequest generates a "aws/request.Request" representing the
39025// client's request for the RequestSpotFleet operation. The "output" return
39026// value will be populated with the request's response once the request completes
39027// successfully.
39028//
39029// Use "Send" method on the returned Request to send the API call to the service.
39030// the "output" return value is not valid until after Send returns without error.
39031//
39032// See RequestSpotFleet for more information on using the RequestSpotFleet
39033// API call, and error handling.
39034//
39035// This method is useful when you want to inject custom logic or configuration
39036// into the SDK's request lifecycle. Such as custom headers, or retry logic.
39037//
39038//
39039//    // Example sending a request using the RequestSpotFleetRequest method.
39040//    req, resp := client.RequestSpotFleetRequest(params)
39041//
39042//    err := req.Send()
39043//    if err == nil { // resp is now filled
39044//        fmt.Println(resp)
39045//    }
39046//
39047// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotFleet
39048func (c *EC2) RequestSpotFleetRequest(input *RequestSpotFleetInput) (req *request.Request, output *RequestSpotFleetOutput) {
39049	op := &request.Operation{
39050		Name:       opRequestSpotFleet,
39051		HTTPMethod: "POST",
39052		HTTPPath:   "/",
39053	}
39054
39055	if input == nil {
39056		input = &RequestSpotFleetInput{}
39057	}
39058
39059	output = &RequestSpotFleetOutput{}
39060	req = c.newRequest(op, input, output)
39061	return
39062}
39063
39064// RequestSpotFleet API operation for Amazon Elastic Compute Cloud.
39065//
39066// Creates a Spot Fleet request.
39067//
39068// The Spot Fleet request specifies the total target capacity and the On-Demand
39069// target capacity. Amazon EC2 calculates the difference between the total capacity
39070// and On-Demand capacity, and launches the difference as Spot capacity.
39071//
39072// You can submit a single request that includes multiple launch specifications
39073// that vary by instance type, AMI, Availability Zone, or subnet.
39074//
39075// By default, the Spot Fleet requests Spot Instances in the Spot Instance pool
39076// where the price per unit is the lowest. Each launch specification can include
39077// its own instance weighting that reflects the value of the instance type to
39078// your application workload.
39079//
39080// Alternatively, you can specify that the Spot Fleet distribute the target
39081// capacity across the Spot pools included in its launch specifications. By
39082// ensuring that the Spot Instances in your Spot Fleet are in different Spot
39083// pools, you can improve the availability of your fleet.
39084//
39085// You can specify tags for the Spot Fleet request and instances launched by
39086// the fleet. You cannot tag other resource types in a Spot Fleet request because
39087// only the spot-fleet-request and instance resource types are supported.
39088//
39089// For more information, see Spot Fleet requests (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html)
39090// in the Amazon EC2 User Guide for Linux Instances.
39091//
39092// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
39093// with awserr.Error's Code and Message methods to get detailed information about
39094// the error.
39095//
39096// See the AWS API reference guide for Amazon Elastic Compute Cloud's
39097// API operation RequestSpotFleet for usage and error information.
39098// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotFleet
39099func (c *EC2) RequestSpotFleet(input *RequestSpotFleetInput) (*RequestSpotFleetOutput, error) {
39100	req, out := c.RequestSpotFleetRequest(input)
39101	return out, req.Send()
39102}
39103
39104// RequestSpotFleetWithContext is the same as RequestSpotFleet with the addition of
39105// the ability to pass a context and additional request options.
39106//
39107// See RequestSpotFleet for details on how to use this API operation.
39108//
39109// The context must be non-nil and will be used for request cancellation. If
39110// the context is nil a panic will occur. In the future the SDK may create
39111// sub-contexts for http.Requests. See https://golang.org/pkg/context/
39112// for more information on using Contexts.
39113func (c *EC2) RequestSpotFleetWithContext(ctx aws.Context, input *RequestSpotFleetInput, opts ...request.Option) (*RequestSpotFleetOutput, error) {
39114	req, out := c.RequestSpotFleetRequest(input)
39115	req.SetContext(ctx)
39116	req.ApplyOptions(opts...)
39117	return out, req.Send()
39118}
39119
39120const opRequestSpotInstances = "RequestSpotInstances"
39121
39122// RequestSpotInstancesRequest generates a "aws/request.Request" representing the
39123// client's request for the RequestSpotInstances operation. The "output" return
39124// value will be populated with the request's response once the request completes
39125// successfully.
39126//
39127// Use "Send" method on the returned Request to send the API call to the service.
39128// the "output" return value is not valid until after Send returns without error.
39129//
39130// See RequestSpotInstances for more information on using the RequestSpotInstances
39131// API call, and error handling.
39132//
39133// This method is useful when you want to inject custom logic or configuration
39134// into the SDK's request lifecycle. Such as custom headers, or retry logic.
39135//
39136//
39137//    // Example sending a request using the RequestSpotInstancesRequest method.
39138//    req, resp := client.RequestSpotInstancesRequest(params)
39139//
39140//    err := req.Send()
39141//    if err == nil { // resp is now filled
39142//        fmt.Println(resp)
39143//    }
39144//
39145// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotInstances
39146func (c *EC2) RequestSpotInstancesRequest(input *RequestSpotInstancesInput) (req *request.Request, output *RequestSpotInstancesOutput) {
39147	op := &request.Operation{
39148		Name:       opRequestSpotInstances,
39149		HTTPMethod: "POST",
39150		HTTPPath:   "/",
39151	}
39152
39153	if input == nil {
39154		input = &RequestSpotInstancesInput{}
39155	}
39156
39157	output = &RequestSpotInstancesOutput{}
39158	req = c.newRequest(op, input, output)
39159	return
39160}
39161
39162// RequestSpotInstances API operation for Amazon Elastic Compute Cloud.
39163//
39164// Creates a Spot Instance request.
39165//
39166// For more information, see Spot Instance requests (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html)
39167// in the Amazon EC2 User Guide for Linux Instances.
39168//
39169// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
39170// with awserr.Error's Code and Message methods to get detailed information about
39171// the error.
39172//
39173// See the AWS API reference guide for Amazon Elastic Compute Cloud's
39174// API operation RequestSpotInstances for usage and error information.
39175// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotInstances
39176func (c *EC2) RequestSpotInstances(input *RequestSpotInstancesInput) (*RequestSpotInstancesOutput, error) {
39177	req, out := c.RequestSpotInstancesRequest(input)
39178	return out, req.Send()
39179}
39180
39181// RequestSpotInstancesWithContext is the same as RequestSpotInstances with the addition of
39182// the ability to pass a context and additional request options.
39183//
39184// See RequestSpotInstances for details on how to use this API operation.
39185//
39186// The context must be non-nil and will be used for request cancellation. If
39187// the context is nil a panic will occur. In the future the SDK may create
39188// sub-contexts for http.Requests. See https://golang.org/pkg/context/
39189// for more information on using Contexts.
39190func (c *EC2) RequestSpotInstancesWithContext(ctx aws.Context, input *RequestSpotInstancesInput, opts ...request.Option) (*RequestSpotInstancesOutput, error) {
39191	req, out := c.RequestSpotInstancesRequest(input)
39192	req.SetContext(ctx)
39193	req.ApplyOptions(opts...)
39194	return out, req.Send()
39195}
39196
39197const opResetAddressAttribute = "ResetAddressAttribute"
39198
39199// ResetAddressAttributeRequest generates a "aws/request.Request" representing the
39200// client's request for the ResetAddressAttribute operation. The "output" return
39201// value will be populated with the request's response once the request completes
39202// successfully.
39203//
39204// Use "Send" method on the returned Request to send the API call to the service.
39205// the "output" return value is not valid until after Send returns without error.
39206//
39207// See ResetAddressAttribute for more information on using the ResetAddressAttribute
39208// API call, and error handling.
39209//
39210// This method is useful when you want to inject custom logic or configuration
39211// into the SDK's request lifecycle. Such as custom headers, or retry logic.
39212//
39213//
39214//    // Example sending a request using the ResetAddressAttributeRequest method.
39215//    req, resp := client.ResetAddressAttributeRequest(params)
39216//
39217//    err := req.Send()
39218//    if err == nil { // resp is now filled
39219//        fmt.Println(resp)
39220//    }
39221//
39222// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetAddressAttribute
39223func (c *EC2) ResetAddressAttributeRequest(input *ResetAddressAttributeInput) (req *request.Request, output *ResetAddressAttributeOutput) {
39224	op := &request.Operation{
39225		Name:       opResetAddressAttribute,
39226		HTTPMethod: "POST",
39227		HTTPPath:   "/",
39228	}
39229
39230	if input == nil {
39231		input = &ResetAddressAttributeInput{}
39232	}
39233
39234	output = &ResetAddressAttributeOutput{}
39235	req = c.newRequest(op, input, output)
39236	return
39237}
39238
39239// ResetAddressAttribute API operation for Amazon Elastic Compute Cloud.
39240//
39241// Resets the attribute of the specified IP address. For requirements, see Using
39242// reverse DNS for email applications (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html#Using_Elastic_Addressing_Reverse_DNS).
39243//
39244// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
39245// with awserr.Error's Code and Message methods to get detailed information about
39246// the error.
39247//
39248// See the AWS API reference guide for Amazon Elastic Compute Cloud's
39249// API operation ResetAddressAttribute for usage and error information.
39250// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetAddressAttribute
39251func (c *EC2) ResetAddressAttribute(input *ResetAddressAttributeInput) (*ResetAddressAttributeOutput, error) {
39252	req, out := c.ResetAddressAttributeRequest(input)
39253	return out, req.Send()
39254}
39255
39256// ResetAddressAttributeWithContext is the same as ResetAddressAttribute with the addition of
39257// the ability to pass a context and additional request options.
39258//
39259// See ResetAddressAttribute for details on how to use this API operation.
39260//
39261// The context must be non-nil and will be used for request cancellation. If
39262// the context is nil a panic will occur. In the future the SDK may create
39263// sub-contexts for http.Requests. See https://golang.org/pkg/context/
39264// for more information on using Contexts.
39265func (c *EC2) ResetAddressAttributeWithContext(ctx aws.Context, input *ResetAddressAttributeInput, opts ...request.Option) (*ResetAddressAttributeOutput, error) {
39266	req, out := c.ResetAddressAttributeRequest(input)
39267	req.SetContext(ctx)
39268	req.ApplyOptions(opts...)
39269	return out, req.Send()
39270}
39271
39272const opResetEbsDefaultKmsKeyId = "ResetEbsDefaultKmsKeyId"
39273
39274// ResetEbsDefaultKmsKeyIdRequest generates a "aws/request.Request" representing the
39275// client's request for the ResetEbsDefaultKmsKeyId operation. The "output" return
39276// value will be populated with the request's response once the request completes
39277// successfully.
39278//
39279// Use "Send" method on the returned Request to send the API call to the service.
39280// the "output" return value is not valid until after Send returns without error.
39281//
39282// See ResetEbsDefaultKmsKeyId for more information on using the ResetEbsDefaultKmsKeyId
39283// API call, and error handling.
39284//
39285// This method is useful when you want to inject custom logic or configuration
39286// into the SDK's request lifecycle. Such as custom headers, or retry logic.
39287//
39288//
39289//    // Example sending a request using the ResetEbsDefaultKmsKeyIdRequest method.
39290//    req, resp := client.ResetEbsDefaultKmsKeyIdRequest(params)
39291//
39292//    err := req.Send()
39293//    if err == nil { // resp is now filled
39294//        fmt.Println(resp)
39295//    }
39296//
39297// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetEbsDefaultKmsKeyId
39298func (c *EC2) ResetEbsDefaultKmsKeyIdRequest(input *ResetEbsDefaultKmsKeyIdInput) (req *request.Request, output *ResetEbsDefaultKmsKeyIdOutput) {
39299	op := &request.Operation{
39300		Name:       opResetEbsDefaultKmsKeyId,
39301		HTTPMethod: "POST",
39302		HTTPPath:   "/",
39303	}
39304
39305	if input == nil {
39306		input = &ResetEbsDefaultKmsKeyIdInput{}
39307	}
39308
39309	output = &ResetEbsDefaultKmsKeyIdOutput{}
39310	req = c.newRequest(op, input, output)
39311	return
39312}
39313
39314// ResetEbsDefaultKmsKeyId API operation for Amazon Elastic Compute Cloud.
39315//
39316// Resets the default customer master key (CMK) for EBS encryption for your
39317// account in this Region to the AWS managed CMK for EBS.
39318//
39319// After resetting the default CMK to the AWS managed CMK, you can continue
39320// to encrypt by a customer managed CMK by specifying it when you create the
39321// volume. For more information, see Amazon EBS encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
39322// in the Amazon Elastic Compute Cloud User Guide.
39323//
39324// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
39325// with awserr.Error's Code and Message methods to get detailed information about
39326// the error.
39327//
39328// See the AWS API reference guide for Amazon Elastic Compute Cloud's
39329// API operation ResetEbsDefaultKmsKeyId for usage and error information.
39330// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetEbsDefaultKmsKeyId
39331func (c *EC2) ResetEbsDefaultKmsKeyId(input *ResetEbsDefaultKmsKeyIdInput) (*ResetEbsDefaultKmsKeyIdOutput, error) {
39332	req, out := c.ResetEbsDefaultKmsKeyIdRequest(input)
39333	return out, req.Send()
39334}
39335
39336// ResetEbsDefaultKmsKeyIdWithContext is the same as ResetEbsDefaultKmsKeyId with the addition of
39337// the ability to pass a context and additional request options.
39338//
39339// See ResetEbsDefaultKmsKeyId for details on how to use this API operation.
39340//
39341// The context must be non-nil and will be used for request cancellation. If
39342// the context is nil a panic will occur. In the future the SDK may create
39343// sub-contexts for http.Requests. See https://golang.org/pkg/context/
39344// for more information on using Contexts.
39345func (c *EC2) ResetEbsDefaultKmsKeyIdWithContext(ctx aws.Context, input *ResetEbsDefaultKmsKeyIdInput, opts ...request.Option) (*ResetEbsDefaultKmsKeyIdOutput, error) {
39346	req, out := c.ResetEbsDefaultKmsKeyIdRequest(input)
39347	req.SetContext(ctx)
39348	req.ApplyOptions(opts...)
39349	return out, req.Send()
39350}
39351
39352const opResetFpgaImageAttribute = "ResetFpgaImageAttribute"
39353
39354// ResetFpgaImageAttributeRequest generates a "aws/request.Request" representing the
39355// client's request for the ResetFpgaImageAttribute operation. The "output" return
39356// value will be populated with the request's response once the request completes
39357// successfully.
39358//
39359// Use "Send" method on the returned Request to send the API call to the service.
39360// the "output" return value is not valid until after Send returns without error.
39361//
39362// See ResetFpgaImageAttribute for more information on using the ResetFpgaImageAttribute
39363// API call, and error handling.
39364//
39365// This method is useful when you want to inject custom logic or configuration
39366// into the SDK's request lifecycle. Such as custom headers, or retry logic.
39367//
39368//
39369//    // Example sending a request using the ResetFpgaImageAttributeRequest method.
39370//    req, resp := client.ResetFpgaImageAttributeRequest(params)
39371//
39372//    err := req.Send()
39373//    if err == nil { // resp is now filled
39374//        fmt.Println(resp)
39375//    }
39376//
39377// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetFpgaImageAttribute
39378func (c *EC2) ResetFpgaImageAttributeRequest(input *ResetFpgaImageAttributeInput) (req *request.Request, output *ResetFpgaImageAttributeOutput) {
39379	op := &request.Operation{
39380		Name:       opResetFpgaImageAttribute,
39381		HTTPMethod: "POST",
39382		HTTPPath:   "/",
39383	}
39384
39385	if input == nil {
39386		input = &ResetFpgaImageAttributeInput{}
39387	}
39388
39389	output = &ResetFpgaImageAttributeOutput{}
39390	req = c.newRequest(op, input, output)
39391	return
39392}
39393
39394// ResetFpgaImageAttribute API operation for Amazon Elastic Compute Cloud.
39395//
39396// Resets the specified attribute of the specified Amazon FPGA Image (AFI) to
39397// its default value. You can only reset the load permission attribute.
39398//
39399// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
39400// with awserr.Error's Code and Message methods to get detailed information about
39401// the error.
39402//
39403// See the AWS API reference guide for Amazon Elastic Compute Cloud's
39404// API operation ResetFpgaImageAttribute for usage and error information.
39405// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetFpgaImageAttribute
39406func (c *EC2) ResetFpgaImageAttribute(input *ResetFpgaImageAttributeInput) (*ResetFpgaImageAttributeOutput, error) {
39407	req, out := c.ResetFpgaImageAttributeRequest(input)
39408	return out, req.Send()
39409}
39410
39411// ResetFpgaImageAttributeWithContext is the same as ResetFpgaImageAttribute with the addition of
39412// the ability to pass a context and additional request options.
39413//
39414// See ResetFpgaImageAttribute for details on how to use this API operation.
39415//
39416// The context must be non-nil and will be used for request cancellation. If
39417// the context is nil a panic will occur. In the future the SDK may create
39418// sub-contexts for http.Requests. See https://golang.org/pkg/context/
39419// for more information on using Contexts.
39420func (c *EC2) ResetFpgaImageAttributeWithContext(ctx aws.Context, input *ResetFpgaImageAttributeInput, opts ...request.Option) (*ResetFpgaImageAttributeOutput, error) {
39421	req, out := c.ResetFpgaImageAttributeRequest(input)
39422	req.SetContext(ctx)
39423	req.ApplyOptions(opts...)
39424	return out, req.Send()
39425}
39426
39427const opResetImageAttribute = "ResetImageAttribute"
39428
39429// ResetImageAttributeRequest generates a "aws/request.Request" representing the
39430// client's request for the ResetImageAttribute operation. The "output" return
39431// value will be populated with the request's response once the request completes
39432// successfully.
39433//
39434// Use "Send" method on the returned Request to send the API call to the service.
39435// the "output" return value is not valid until after Send returns without error.
39436//
39437// See ResetImageAttribute for more information on using the ResetImageAttribute
39438// API call, and error handling.
39439//
39440// This method is useful when you want to inject custom logic or configuration
39441// into the SDK's request lifecycle. Such as custom headers, or retry logic.
39442//
39443//
39444//    // Example sending a request using the ResetImageAttributeRequest method.
39445//    req, resp := client.ResetImageAttributeRequest(params)
39446//
39447//    err := req.Send()
39448//    if err == nil { // resp is now filled
39449//        fmt.Println(resp)
39450//    }
39451//
39452// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetImageAttribute
39453func (c *EC2) ResetImageAttributeRequest(input *ResetImageAttributeInput) (req *request.Request, output *ResetImageAttributeOutput) {
39454	op := &request.Operation{
39455		Name:       opResetImageAttribute,
39456		HTTPMethod: "POST",
39457		HTTPPath:   "/",
39458	}
39459
39460	if input == nil {
39461		input = &ResetImageAttributeInput{}
39462	}
39463
39464	output = &ResetImageAttributeOutput{}
39465	req = c.newRequest(op, input, output)
39466	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
39467	return
39468}
39469
39470// ResetImageAttribute API operation for Amazon Elastic Compute Cloud.
39471//
39472// Resets an attribute of an AMI to its default value.
39473//
39474// The productCodes attribute can't be reset.
39475//
39476// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
39477// with awserr.Error's Code and Message methods to get detailed information about
39478// the error.
39479//
39480// See the AWS API reference guide for Amazon Elastic Compute Cloud's
39481// API operation ResetImageAttribute for usage and error information.
39482// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetImageAttribute
39483func (c *EC2) ResetImageAttribute(input *ResetImageAttributeInput) (*ResetImageAttributeOutput, error) {
39484	req, out := c.ResetImageAttributeRequest(input)
39485	return out, req.Send()
39486}
39487
39488// ResetImageAttributeWithContext is the same as ResetImageAttribute with the addition of
39489// the ability to pass a context and additional request options.
39490//
39491// See ResetImageAttribute for details on how to use this API operation.
39492//
39493// The context must be non-nil and will be used for request cancellation. If
39494// the context is nil a panic will occur. In the future the SDK may create
39495// sub-contexts for http.Requests. See https://golang.org/pkg/context/
39496// for more information on using Contexts.
39497func (c *EC2) ResetImageAttributeWithContext(ctx aws.Context, input *ResetImageAttributeInput, opts ...request.Option) (*ResetImageAttributeOutput, error) {
39498	req, out := c.ResetImageAttributeRequest(input)
39499	req.SetContext(ctx)
39500	req.ApplyOptions(opts...)
39501	return out, req.Send()
39502}
39503
39504const opResetInstanceAttribute = "ResetInstanceAttribute"
39505
39506// ResetInstanceAttributeRequest generates a "aws/request.Request" representing the
39507// client's request for the ResetInstanceAttribute operation. The "output" return
39508// value will be populated with the request's response once the request completes
39509// successfully.
39510//
39511// Use "Send" method on the returned Request to send the API call to the service.
39512// the "output" return value is not valid until after Send returns without error.
39513//
39514// See ResetInstanceAttribute for more information on using the ResetInstanceAttribute
39515// API call, and error handling.
39516//
39517// This method is useful when you want to inject custom logic or configuration
39518// into the SDK's request lifecycle. Such as custom headers, or retry logic.
39519//
39520//
39521//    // Example sending a request using the ResetInstanceAttributeRequest method.
39522//    req, resp := client.ResetInstanceAttributeRequest(params)
39523//
39524//    err := req.Send()
39525//    if err == nil { // resp is now filled
39526//        fmt.Println(resp)
39527//    }
39528//
39529// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetInstanceAttribute
39530func (c *EC2) ResetInstanceAttributeRequest(input *ResetInstanceAttributeInput) (req *request.Request, output *ResetInstanceAttributeOutput) {
39531	op := &request.Operation{
39532		Name:       opResetInstanceAttribute,
39533		HTTPMethod: "POST",
39534		HTTPPath:   "/",
39535	}
39536
39537	if input == nil {
39538		input = &ResetInstanceAttributeInput{}
39539	}
39540
39541	output = &ResetInstanceAttributeOutput{}
39542	req = c.newRequest(op, input, output)
39543	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
39544	return
39545}
39546
39547// ResetInstanceAttribute API operation for Amazon Elastic Compute Cloud.
39548//
39549// Resets an attribute of an instance to its default value. To reset the kernel
39550// or ramdisk, the instance must be in a stopped state. To reset the sourceDestCheck,
39551// the instance can be either running or stopped.
39552//
39553// The sourceDestCheck attribute controls whether source/destination checking
39554// is enabled. The default value is true, which means checking is enabled. This
39555// value must be false for a NAT instance to perform NAT. For more information,
39556// see NAT Instances (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html)
39557// in the Amazon VPC User Guide.
39558//
39559// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
39560// with awserr.Error's Code and Message methods to get detailed information about
39561// the error.
39562//
39563// See the AWS API reference guide for Amazon Elastic Compute Cloud's
39564// API operation ResetInstanceAttribute for usage and error information.
39565// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetInstanceAttribute
39566func (c *EC2) ResetInstanceAttribute(input *ResetInstanceAttributeInput) (*ResetInstanceAttributeOutput, error) {
39567	req, out := c.ResetInstanceAttributeRequest(input)
39568	return out, req.Send()
39569}
39570
39571// ResetInstanceAttributeWithContext is the same as ResetInstanceAttribute with the addition of
39572// the ability to pass a context and additional request options.
39573//
39574// See ResetInstanceAttribute for details on how to use this API operation.
39575//
39576// The context must be non-nil and will be used for request cancellation. If
39577// the context is nil a panic will occur. In the future the SDK may create
39578// sub-contexts for http.Requests. See https://golang.org/pkg/context/
39579// for more information on using Contexts.
39580func (c *EC2) ResetInstanceAttributeWithContext(ctx aws.Context, input *ResetInstanceAttributeInput, opts ...request.Option) (*ResetInstanceAttributeOutput, error) {
39581	req, out := c.ResetInstanceAttributeRequest(input)
39582	req.SetContext(ctx)
39583	req.ApplyOptions(opts...)
39584	return out, req.Send()
39585}
39586
39587const opResetNetworkInterfaceAttribute = "ResetNetworkInterfaceAttribute"
39588
39589// ResetNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the
39590// client's request for the ResetNetworkInterfaceAttribute operation. The "output" return
39591// value will be populated with the request's response once the request completes
39592// successfully.
39593//
39594// Use "Send" method on the returned Request to send the API call to the service.
39595// the "output" return value is not valid until after Send returns without error.
39596//
39597// See ResetNetworkInterfaceAttribute for more information on using the ResetNetworkInterfaceAttribute
39598// API call, and error handling.
39599//
39600// This method is useful when you want to inject custom logic or configuration
39601// into the SDK's request lifecycle. Such as custom headers, or retry logic.
39602//
39603//
39604//    // Example sending a request using the ResetNetworkInterfaceAttributeRequest method.
39605//    req, resp := client.ResetNetworkInterfaceAttributeRequest(params)
39606//
39607//    err := req.Send()
39608//    if err == nil { // resp is now filled
39609//        fmt.Println(resp)
39610//    }
39611//
39612// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetNetworkInterfaceAttribute
39613func (c *EC2) ResetNetworkInterfaceAttributeRequest(input *ResetNetworkInterfaceAttributeInput) (req *request.Request, output *ResetNetworkInterfaceAttributeOutput) {
39614	op := &request.Operation{
39615		Name:       opResetNetworkInterfaceAttribute,
39616		HTTPMethod: "POST",
39617		HTTPPath:   "/",
39618	}
39619
39620	if input == nil {
39621		input = &ResetNetworkInterfaceAttributeInput{}
39622	}
39623
39624	output = &ResetNetworkInterfaceAttributeOutput{}
39625	req = c.newRequest(op, input, output)
39626	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
39627	return
39628}
39629
39630// ResetNetworkInterfaceAttribute API operation for Amazon Elastic Compute Cloud.
39631//
39632// Resets a network interface attribute. You can specify only one attribute
39633// at a time.
39634//
39635// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
39636// with awserr.Error's Code and Message methods to get detailed information about
39637// the error.
39638//
39639// See the AWS API reference guide for Amazon Elastic Compute Cloud's
39640// API operation ResetNetworkInterfaceAttribute for usage and error information.
39641// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetNetworkInterfaceAttribute
39642func (c *EC2) ResetNetworkInterfaceAttribute(input *ResetNetworkInterfaceAttributeInput) (*ResetNetworkInterfaceAttributeOutput, error) {
39643	req, out := c.ResetNetworkInterfaceAttributeRequest(input)
39644	return out, req.Send()
39645}
39646
39647// ResetNetworkInterfaceAttributeWithContext is the same as ResetNetworkInterfaceAttribute with the addition of
39648// the ability to pass a context and additional request options.
39649//
39650// See ResetNetworkInterfaceAttribute for details on how to use this API operation.
39651//
39652// The context must be non-nil and will be used for request cancellation. If
39653// the context is nil a panic will occur. In the future the SDK may create
39654// sub-contexts for http.Requests. See https://golang.org/pkg/context/
39655// for more information on using Contexts.
39656func (c *EC2) ResetNetworkInterfaceAttributeWithContext(ctx aws.Context, input *ResetNetworkInterfaceAttributeInput, opts ...request.Option) (*ResetNetworkInterfaceAttributeOutput, error) {
39657	req, out := c.ResetNetworkInterfaceAttributeRequest(input)
39658	req.SetContext(ctx)
39659	req.ApplyOptions(opts...)
39660	return out, req.Send()
39661}
39662
39663const opResetSnapshotAttribute = "ResetSnapshotAttribute"
39664
39665// ResetSnapshotAttributeRequest generates a "aws/request.Request" representing the
39666// client's request for the ResetSnapshotAttribute operation. The "output" return
39667// value will be populated with the request's response once the request completes
39668// successfully.
39669//
39670// Use "Send" method on the returned Request to send the API call to the service.
39671// the "output" return value is not valid until after Send returns without error.
39672//
39673// See ResetSnapshotAttribute for more information on using the ResetSnapshotAttribute
39674// API call, and error handling.
39675//
39676// This method is useful when you want to inject custom logic or configuration
39677// into the SDK's request lifecycle. Such as custom headers, or retry logic.
39678//
39679//
39680//    // Example sending a request using the ResetSnapshotAttributeRequest method.
39681//    req, resp := client.ResetSnapshotAttributeRequest(params)
39682//
39683//    err := req.Send()
39684//    if err == nil { // resp is now filled
39685//        fmt.Println(resp)
39686//    }
39687//
39688// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetSnapshotAttribute
39689func (c *EC2) ResetSnapshotAttributeRequest(input *ResetSnapshotAttributeInput) (req *request.Request, output *ResetSnapshotAttributeOutput) {
39690	op := &request.Operation{
39691		Name:       opResetSnapshotAttribute,
39692		HTTPMethod: "POST",
39693		HTTPPath:   "/",
39694	}
39695
39696	if input == nil {
39697		input = &ResetSnapshotAttributeInput{}
39698	}
39699
39700	output = &ResetSnapshotAttributeOutput{}
39701	req = c.newRequest(op, input, output)
39702	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
39703	return
39704}
39705
39706// ResetSnapshotAttribute API operation for Amazon Elastic Compute Cloud.
39707//
39708// Resets permission settings for the specified snapshot.
39709//
39710// For more information about modifying snapshot permissions, see Sharing snapshots
39711// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html)
39712// in the Amazon Elastic Compute Cloud User Guide.
39713//
39714// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
39715// with awserr.Error's Code and Message methods to get detailed information about
39716// the error.
39717//
39718// See the AWS API reference guide for Amazon Elastic Compute Cloud's
39719// API operation ResetSnapshotAttribute for usage and error information.
39720// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetSnapshotAttribute
39721func (c *EC2) ResetSnapshotAttribute(input *ResetSnapshotAttributeInput) (*ResetSnapshotAttributeOutput, error) {
39722	req, out := c.ResetSnapshotAttributeRequest(input)
39723	return out, req.Send()
39724}
39725
39726// ResetSnapshotAttributeWithContext is the same as ResetSnapshotAttribute with the addition of
39727// the ability to pass a context and additional request options.
39728//
39729// See ResetSnapshotAttribute for details on how to use this API operation.
39730//
39731// The context must be non-nil and will be used for request cancellation. If
39732// the context is nil a panic will occur. In the future the SDK may create
39733// sub-contexts for http.Requests. See https://golang.org/pkg/context/
39734// for more information on using Contexts.
39735func (c *EC2) ResetSnapshotAttributeWithContext(ctx aws.Context, input *ResetSnapshotAttributeInput, opts ...request.Option) (*ResetSnapshotAttributeOutput, error) {
39736	req, out := c.ResetSnapshotAttributeRequest(input)
39737	req.SetContext(ctx)
39738	req.ApplyOptions(opts...)
39739	return out, req.Send()
39740}
39741
39742const opRestoreAddressToClassic = "RestoreAddressToClassic"
39743
39744// RestoreAddressToClassicRequest generates a "aws/request.Request" representing the
39745// client's request for the RestoreAddressToClassic operation. The "output" return
39746// value will be populated with the request's response once the request completes
39747// successfully.
39748//
39749// Use "Send" method on the returned Request to send the API call to the service.
39750// the "output" return value is not valid until after Send returns without error.
39751//
39752// See RestoreAddressToClassic for more information on using the RestoreAddressToClassic
39753// API call, and error handling.
39754//
39755// This method is useful when you want to inject custom logic or configuration
39756// into the SDK's request lifecycle. Such as custom headers, or retry logic.
39757//
39758//
39759//    // Example sending a request using the RestoreAddressToClassicRequest method.
39760//    req, resp := client.RestoreAddressToClassicRequest(params)
39761//
39762//    err := req.Send()
39763//    if err == nil { // resp is now filled
39764//        fmt.Println(resp)
39765//    }
39766//
39767// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreAddressToClassic
39768func (c *EC2) RestoreAddressToClassicRequest(input *RestoreAddressToClassicInput) (req *request.Request, output *RestoreAddressToClassicOutput) {
39769	op := &request.Operation{
39770		Name:       opRestoreAddressToClassic,
39771		HTTPMethod: "POST",
39772		HTTPPath:   "/",
39773	}
39774
39775	if input == nil {
39776		input = &RestoreAddressToClassicInput{}
39777	}
39778
39779	output = &RestoreAddressToClassicOutput{}
39780	req = c.newRequest(op, input, output)
39781	return
39782}
39783
39784// RestoreAddressToClassic API operation for Amazon Elastic Compute Cloud.
39785//
39786// Restores an Elastic IP address that was previously moved to the EC2-VPC platform
39787// back to the EC2-Classic platform. You cannot move an Elastic IP address that
39788// was originally allocated for use in EC2-VPC. The Elastic IP address must
39789// not be associated with an instance or network interface.
39790//
39791// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
39792// with awserr.Error's Code and Message methods to get detailed information about
39793// the error.
39794//
39795// See the AWS API reference guide for Amazon Elastic Compute Cloud's
39796// API operation RestoreAddressToClassic for usage and error information.
39797// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreAddressToClassic
39798func (c *EC2) RestoreAddressToClassic(input *RestoreAddressToClassicInput) (*RestoreAddressToClassicOutput, error) {
39799	req, out := c.RestoreAddressToClassicRequest(input)
39800	return out, req.Send()
39801}
39802
39803// RestoreAddressToClassicWithContext is the same as RestoreAddressToClassic with the addition of
39804// the ability to pass a context and additional request options.
39805//
39806// See RestoreAddressToClassic for details on how to use this API operation.
39807//
39808// The context must be non-nil and will be used for request cancellation. If
39809// the context is nil a panic will occur. In the future the SDK may create
39810// sub-contexts for http.Requests. See https://golang.org/pkg/context/
39811// for more information on using Contexts.
39812func (c *EC2) RestoreAddressToClassicWithContext(ctx aws.Context, input *RestoreAddressToClassicInput, opts ...request.Option) (*RestoreAddressToClassicOutput, error) {
39813	req, out := c.RestoreAddressToClassicRequest(input)
39814	req.SetContext(ctx)
39815	req.ApplyOptions(opts...)
39816	return out, req.Send()
39817}
39818
39819const opRestoreManagedPrefixListVersion = "RestoreManagedPrefixListVersion"
39820
39821// RestoreManagedPrefixListVersionRequest generates a "aws/request.Request" representing the
39822// client's request for the RestoreManagedPrefixListVersion operation. The "output" return
39823// value will be populated with the request's response once the request completes
39824// successfully.
39825//
39826// Use "Send" method on the returned Request to send the API call to the service.
39827// the "output" return value is not valid until after Send returns without error.
39828//
39829// See RestoreManagedPrefixListVersion for more information on using the RestoreManagedPrefixListVersion
39830// API call, and error handling.
39831//
39832// This method is useful when you want to inject custom logic or configuration
39833// into the SDK's request lifecycle. Such as custom headers, or retry logic.
39834//
39835//
39836//    // Example sending a request using the RestoreManagedPrefixListVersionRequest method.
39837//    req, resp := client.RestoreManagedPrefixListVersionRequest(params)
39838//
39839//    err := req.Send()
39840//    if err == nil { // resp is now filled
39841//        fmt.Println(resp)
39842//    }
39843//
39844// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreManagedPrefixListVersion
39845func (c *EC2) RestoreManagedPrefixListVersionRequest(input *RestoreManagedPrefixListVersionInput) (req *request.Request, output *RestoreManagedPrefixListVersionOutput) {
39846	op := &request.Operation{
39847		Name:       opRestoreManagedPrefixListVersion,
39848		HTTPMethod: "POST",
39849		HTTPPath:   "/",
39850	}
39851
39852	if input == nil {
39853		input = &RestoreManagedPrefixListVersionInput{}
39854	}
39855
39856	output = &RestoreManagedPrefixListVersionOutput{}
39857	req = c.newRequest(op, input, output)
39858	return
39859}
39860
39861// RestoreManagedPrefixListVersion API operation for Amazon Elastic Compute Cloud.
39862//
39863// Restores the entries from a previous version of a managed prefix list to
39864// a new version of the prefix list.
39865//
39866// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
39867// with awserr.Error's Code and Message methods to get detailed information about
39868// the error.
39869//
39870// See the AWS API reference guide for Amazon Elastic Compute Cloud's
39871// API operation RestoreManagedPrefixListVersion for usage and error information.
39872// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreManagedPrefixListVersion
39873func (c *EC2) RestoreManagedPrefixListVersion(input *RestoreManagedPrefixListVersionInput) (*RestoreManagedPrefixListVersionOutput, error) {
39874	req, out := c.RestoreManagedPrefixListVersionRequest(input)
39875	return out, req.Send()
39876}
39877
39878// RestoreManagedPrefixListVersionWithContext is the same as RestoreManagedPrefixListVersion with the addition of
39879// the ability to pass a context and additional request options.
39880//
39881// See RestoreManagedPrefixListVersion for details on how to use this API operation.
39882//
39883// The context must be non-nil and will be used for request cancellation. If
39884// the context is nil a panic will occur. In the future the SDK may create
39885// sub-contexts for http.Requests. See https://golang.org/pkg/context/
39886// for more information on using Contexts.
39887func (c *EC2) RestoreManagedPrefixListVersionWithContext(ctx aws.Context, input *RestoreManagedPrefixListVersionInput, opts ...request.Option) (*RestoreManagedPrefixListVersionOutput, error) {
39888	req, out := c.RestoreManagedPrefixListVersionRequest(input)
39889	req.SetContext(ctx)
39890	req.ApplyOptions(opts...)
39891	return out, req.Send()
39892}
39893
39894const opRevokeClientVpnIngress = "RevokeClientVpnIngress"
39895
39896// RevokeClientVpnIngressRequest generates a "aws/request.Request" representing the
39897// client's request for the RevokeClientVpnIngress operation. The "output" return
39898// value will be populated with the request's response once the request completes
39899// successfully.
39900//
39901// Use "Send" method on the returned Request to send the API call to the service.
39902// the "output" return value is not valid until after Send returns without error.
39903//
39904// See RevokeClientVpnIngress for more information on using the RevokeClientVpnIngress
39905// API call, and error handling.
39906//
39907// This method is useful when you want to inject custom logic or configuration
39908// into the SDK's request lifecycle. Such as custom headers, or retry logic.
39909//
39910//
39911//    // Example sending a request using the RevokeClientVpnIngressRequest method.
39912//    req, resp := client.RevokeClientVpnIngressRequest(params)
39913//
39914//    err := req.Send()
39915//    if err == nil { // resp is now filled
39916//        fmt.Println(resp)
39917//    }
39918//
39919// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeClientVpnIngress
39920func (c *EC2) RevokeClientVpnIngressRequest(input *RevokeClientVpnIngressInput) (req *request.Request, output *RevokeClientVpnIngressOutput) {
39921	op := &request.Operation{
39922		Name:       opRevokeClientVpnIngress,
39923		HTTPMethod: "POST",
39924		HTTPPath:   "/",
39925	}
39926
39927	if input == nil {
39928		input = &RevokeClientVpnIngressInput{}
39929	}
39930
39931	output = &RevokeClientVpnIngressOutput{}
39932	req = c.newRequest(op, input, output)
39933	return
39934}
39935
39936// RevokeClientVpnIngress API operation for Amazon Elastic Compute Cloud.
39937//
39938// Removes an ingress authorization rule from a Client VPN endpoint.
39939//
39940// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
39941// with awserr.Error's Code and Message methods to get detailed information about
39942// the error.
39943//
39944// See the AWS API reference guide for Amazon Elastic Compute Cloud's
39945// API operation RevokeClientVpnIngress for usage and error information.
39946// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeClientVpnIngress
39947func (c *EC2) RevokeClientVpnIngress(input *RevokeClientVpnIngressInput) (*RevokeClientVpnIngressOutput, error) {
39948	req, out := c.RevokeClientVpnIngressRequest(input)
39949	return out, req.Send()
39950}
39951
39952// RevokeClientVpnIngressWithContext is the same as RevokeClientVpnIngress with the addition of
39953// the ability to pass a context and additional request options.
39954//
39955// See RevokeClientVpnIngress for details on how to use this API operation.
39956//
39957// The context must be non-nil and will be used for request cancellation. If
39958// the context is nil a panic will occur. In the future the SDK may create
39959// sub-contexts for http.Requests. See https://golang.org/pkg/context/
39960// for more information on using Contexts.
39961func (c *EC2) RevokeClientVpnIngressWithContext(ctx aws.Context, input *RevokeClientVpnIngressInput, opts ...request.Option) (*RevokeClientVpnIngressOutput, error) {
39962	req, out := c.RevokeClientVpnIngressRequest(input)
39963	req.SetContext(ctx)
39964	req.ApplyOptions(opts...)
39965	return out, req.Send()
39966}
39967
39968const opRevokeSecurityGroupEgress = "RevokeSecurityGroupEgress"
39969
39970// RevokeSecurityGroupEgressRequest generates a "aws/request.Request" representing the
39971// client's request for the RevokeSecurityGroupEgress operation. The "output" return
39972// value will be populated with the request's response once the request completes
39973// successfully.
39974//
39975// Use "Send" method on the returned Request to send the API call to the service.
39976// the "output" return value is not valid until after Send returns without error.
39977//
39978// See RevokeSecurityGroupEgress for more information on using the RevokeSecurityGroupEgress
39979// API call, and error handling.
39980//
39981// This method is useful when you want to inject custom logic or configuration
39982// into the SDK's request lifecycle. Such as custom headers, or retry logic.
39983//
39984//
39985//    // Example sending a request using the RevokeSecurityGroupEgressRequest method.
39986//    req, resp := client.RevokeSecurityGroupEgressRequest(params)
39987//
39988//    err := req.Send()
39989//    if err == nil { // resp is now filled
39990//        fmt.Println(resp)
39991//    }
39992//
39993// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupEgress
39994func (c *EC2) RevokeSecurityGroupEgressRequest(input *RevokeSecurityGroupEgressInput) (req *request.Request, output *RevokeSecurityGroupEgressOutput) {
39995	op := &request.Operation{
39996		Name:       opRevokeSecurityGroupEgress,
39997		HTTPMethod: "POST",
39998		HTTPPath:   "/",
39999	}
40000
40001	if input == nil {
40002		input = &RevokeSecurityGroupEgressInput{}
40003	}
40004
40005	output = &RevokeSecurityGroupEgressOutput{}
40006	req = c.newRequest(op, input, output)
40007	return
40008}
40009
40010// RevokeSecurityGroupEgress API operation for Amazon Elastic Compute Cloud.
40011//
40012// [VPC only] Removes the specified egress rules from a security group for EC2-VPC.
40013// This action does not apply to security groups for use in EC2-Classic. To
40014// remove a rule, the values that you specify (for example, ports) must match
40015// the existing rule's values exactly.
40016//
40017// [Default VPC] If the values you specify do not match the existing rule's
40018// values, no error is returned, and the output describes the security group
40019// rules that were not revoked.
40020//
40021// AWS recommends that you use DescribeSecurityGroups to verify that the rule
40022// has been removed.
40023//
40024// Each rule consists of the protocol and the IPv4 or IPv6 CIDR range or source
40025// security group. For the TCP and UDP protocols, you must also specify the
40026// destination port or range of ports. For the ICMP protocol, you must also
40027// specify the ICMP type and code. If the security group rule has a description,
40028// you do not have to specify the description to revoke the rule.
40029//
40030// Rule changes are propagated to instances within the security group as quickly
40031// as possible. However, a small delay might occur.
40032//
40033// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
40034// with awserr.Error's Code and Message methods to get detailed information about
40035// the error.
40036//
40037// See the AWS API reference guide for Amazon Elastic Compute Cloud's
40038// API operation RevokeSecurityGroupEgress for usage and error information.
40039// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupEgress
40040func (c *EC2) RevokeSecurityGroupEgress(input *RevokeSecurityGroupEgressInput) (*RevokeSecurityGroupEgressOutput, error) {
40041	req, out := c.RevokeSecurityGroupEgressRequest(input)
40042	return out, req.Send()
40043}
40044
40045// RevokeSecurityGroupEgressWithContext is the same as RevokeSecurityGroupEgress with the addition of
40046// the ability to pass a context and additional request options.
40047//
40048// See RevokeSecurityGroupEgress for details on how to use this API operation.
40049//
40050// The context must be non-nil and will be used for request cancellation. If
40051// the context is nil a panic will occur. In the future the SDK may create
40052// sub-contexts for http.Requests. See https://golang.org/pkg/context/
40053// for more information on using Contexts.
40054func (c *EC2) RevokeSecurityGroupEgressWithContext(ctx aws.Context, input *RevokeSecurityGroupEgressInput, opts ...request.Option) (*RevokeSecurityGroupEgressOutput, error) {
40055	req, out := c.RevokeSecurityGroupEgressRequest(input)
40056	req.SetContext(ctx)
40057	req.ApplyOptions(opts...)
40058	return out, req.Send()
40059}
40060
40061const opRevokeSecurityGroupIngress = "RevokeSecurityGroupIngress"
40062
40063// RevokeSecurityGroupIngressRequest generates a "aws/request.Request" representing the
40064// client's request for the RevokeSecurityGroupIngress operation. The "output" return
40065// value will be populated with the request's response once the request completes
40066// successfully.
40067//
40068// Use "Send" method on the returned Request to send the API call to the service.
40069// the "output" return value is not valid until after Send returns without error.
40070//
40071// See RevokeSecurityGroupIngress for more information on using the RevokeSecurityGroupIngress
40072// API call, and error handling.
40073//
40074// This method is useful when you want to inject custom logic or configuration
40075// into the SDK's request lifecycle. Such as custom headers, or retry logic.
40076//
40077//
40078//    // Example sending a request using the RevokeSecurityGroupIngressRequest method.
40079//    req, resp := client.RevokeSecurityGroupIngressRequest(params)
40080//
40081//    err := req.Send()
40082//    if err == nil { // resp is now filled
40083//        fmt.Println(resp)
40084//    }
40085//
40086// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupIngress
40087func (c *EC2) RevokeSecurityGroupIngressRequest(input *RevokeSecurityGroupIngressInput) (req *request.Request, output *RevokeSecurityGroupIngressOutput) {
40088	op := &request.Operation{
40089		Name:       opRevokeSecurityGroupIngress,
40090		HTTPMethod: "POST",
40091		HTTPPath:   "/",
40092	}
40093
40094	if input == nil {
40095		input = &RevokeSecurityGroupIngressInput{}
40096	}
40097
40098	output = &RevokeSecurityGroupIngressOutput{}
40099	req = c.newRequest(op, input, output)
40100	return
40101}
40102
40103// RevokeSecurityGroupIngress API operation for Amazon Elastic Compute Cloud.
40104//
40105// Removes the specified ingress rules from a security group. To remove a rule,
40106// the values that you specify (for example, ports) must match the existing
40107// rule's values exactly.
40108//
40109// [EC2-Classic , default VPC] If the values you specify do not match the existing
40110// rule's values, no error is returned, and the output describes the security
40111// group rules that were not revoked.
40112//
40113// AWS recommends that you use DescribeSecurityGroups to verify that the rule
40114// has been removed.
40115//
40116// Each rule consists of the protocol and the CIDR range or source security
40117// group. For the TCP and UDP protocols, you must also specify the destination
40118// port or range of ports. For the ICMP protocol, you must also specify the
40119// ICMP type and code. If the security group rule has a description, you do
40120// not have to specify the description to revoke the rule.
40121//
40122// Rule changes are propagated to instances within the security group as quickly
40123// as possible. However, a small delay might occur.
40124//
40125// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
40126// with awserr.Error's Code and Message methods to get detailed information about
40127// the error.
40128//
40129// See the AWS API reference guide for Amazon Elastic Compute Cloud's
40130// API operation RevokeSecurityGroupIngress for usage and error information.
40131// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupIngress
40132func (c *EC2) RevokeSecurityGroupIngress(input *RevokeSecurityGroupIngressInput) (*RevokeSecurityGroupIngressOutput, error) {
40133	req, out := c.RevokeSecurityGroupIngressRequest(input)
40134	return out, req.Send()
40135}
40136
40137// RevokeSecurityGroupIngressWithContext is the same as RevokeSecurityGroupIngress with the addition of
40138// the ability to pass a context and additional request options.
40139//
40140// See RevokeSecurityGroupIngress for details on how to use this API operation.
40141//
40142// The context must be non-nil and will be used for request cancellation. If
40143// the context is nil a panic will occur. In the future the SDK may create
40144// sub-contexts for http.Requests. See https://golang.org/pkg/context/
40145// for more information on using Contexts.
40146func (c *EC2) RevokeSecurityGroupIngressWithContext(ctx aws.Context, input *RevokeSecurityGroupIngressInput, opts ...request.Option) (*RevokeSecurityGroupIngressOutput, error) {
40147	req, out := c.RevokeSecurityGroupIngressRequest(input)
40148	req.SetContext(ctx)
40149	req.ApplyOptions(opts...)
40150	return out, req.Send()
40151}
40152
40153const opRunInstances = "RunInstances"
40154
40155// RunInstancesRequest generates a "aws/request.Request" representing the
40156// client's request for the RunInstances operation. The "output" return
40157// value will be populated with the request's response once the request completes
40158// successfully.
40159//
40160// Use "Send" method on the returned Request to send the API call to the service.
40161// the "output" return value is not valid until after Send returns without error.
40162//
40163// See RunInstances for more information on using the RunInstances
40164// API call, and error handling.
40165//
40166// This method is useful when you want to inject custom logic or configuration
40167// into the SDK's request lifecycle. Such as custom headers, or retry logic.
40168//
40169//
40170//    // Example sending a request using the RunInstancesRequest method.
40171//    req, resp := client.RunInstancesRequest(params)
40172//
40173//    err := req.Send()
40174//    if err == nil { // resp is now filled
40175//        fmt.Println(resp)
40176//    }
40177//
40178// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunInstances
40179func (c *EC2) RunInstancesRequest(input *RunInstancesInput) (req *request.Request, output *Reservation) {
40180	op := &request.Operation{
40181		Name:       opRunInstances,
40182		HTTPMethod: "POST",
40183		HTTPPath:   "/",
40184	}
40185
40186	if input == nil {
40187		input = &RunInstancesInput{}
40188	}
40189
40190	output = &Reservation{}
40191	req = c.newRequest(op, input, output)
40192	return
40193}
40194
40195// RunInstances API operation for Amazon Elastic Compute Cloud.
40196//
40197// Launches the specified number of instances using an AMI for which you have
40198// permissions.
40199//
40200// You can specify a number of options, or leave the default options. The following
40201// rules apply:
40202//
40203//    * [EC2-VPC] If you don't specify a subnet ID, we choose a default subnet
40204//    from your default VPC for you. If you don't have a default VPC, you must
40205//    specify a subnet ID in the request.
40206//
40207//    * [EC2-Classic] If don't specify an Availability Zone, we choose one for
40208//    you.
40209//
40210//    * Some instance types must be launched into a VPC. If you do not have
40211//    a default VPC, or if you do not specify a subnet ID, the request fails.
40212//    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).
40213//
40214//    * [EC2-VPC] All instances have a network interface with a primary private
40215//    IPv4 address. If you don't specify this address, we choose one from the
40216//    IPv4 range of your subnet.
40217//
40218//    * Not all instance types support IPv6 addresses. For more information,
40219//    see Instance types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html).
40220//
40221//    * If you don't specify a security group ID, we use the default security
40222//    group. For more information, see Security groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html).
40223//
40224//    * If any of the AMIs have a product code attached for which the user has
40225//    not subscribed, the request fails.
40226//
40227// You can create a launch template (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html),
40228// which is a resource that contains the parameters to launch an instance. When
40229// you launch an instance using RunInstances, you can specify the launch template
40230// instead of specifying the launch parameters.
40231//
40232// To ensure faster instance launches, break up large requests into smaller
40233// batches. For example, create five separate launch requests for 100 instances
40234// each instead of one launch request for 500 instances.
40235//
40236// An instance is ready for you to use when it's in the running state. You can
40237// check the state of your instance using DescribeInstances. You can tag instances
40238// and EBS volumes during launch, after launch, or both. For more information,
40239// see CreateTags and Tagging your Amazon EC2 resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html).
40240//
40241// Linux instances have access to the public key of the key pair at boot. You
40242// can use this key to provide secure access to the instance. Amazon EC2 public
40243// images use this feature to provide secure access without passwords. For more
40244// information, see Key pairs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html).
40245//
40246// For troubleshooting, see What to do if an instance immediately terminates
40247// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_InstanceStraightToTerminated.html),
40248// and Troubleshooting connecting to your instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html).
40249//
40250// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
40251// with awserr.Error's Code and Message methods to get detailed information about
40252// the error.
40253//
40254// See the AWS API reference guide for Amazon Elastic Compute Cloud's
40255// API operation RunInstances for usage and error information.
40256// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunInstances
40257func (c *EC2) RunInstances(input *RunInstancesInput) (*Reservation, error) {
40258	req, out := c.RunInstancesRequest(input)
40259	return out, req.Send()
40260}
40261
40262// RunInstancesWithContext is the same as RunInstances with the addition of
40263// the ability to pass a context and additional request options.
40264//
40265// See RunInstances for details on how to use this API operation.
40266//
40267// The context must be non-nil and will be used for request cancellation. If
40268// the context is nil a panic will occur. In the future the SDK may create
40269// sub-contexts for http.Requests. See https://golang.org/pkg/context/
40270// for more information on using Contexts.
40271func (c *EC2) RunInstancesWithContext(ctx aws.Context, input *RunInstancesInput, opts ...request.Option) (*Reservation, error) {
40272	req, out := c.RunInstancesRequest(input)
40273	req.SetContext(ctx)
40274	req.ApplyOptions(opts...)
40275	return out, req.Send()
40276}
40277
40278const opRunScheduledInstances = "RunScheduledInstances"
40279
40280// RunScheduledInstancesRequest generates a "aws/request.Request" representing the
40281// client's request for the RunScheduledInstances operation. The "output" return
40282// value will be populated with the request's response once the request completes
40283// successfully.
40284//
40285// Use "Send" method on the returned Request to send the API call to the service.
40286// the "output" return value is not valid until after Send returns without error.
40287//
40288// See RunScheduledInstances for more information on using the RunScheduledInstances
40289// API call, and error handling.
40290//
40291// This method is useful when you want to inject custom logic or configuration
40292// into the SDK's request lifecycle. Such as custom headers, or retry logic.
40293//
40294//
40295//    // Example sending a request using the RunScheduledInstancesRequest method.
40296//    req, resp := client.RunScheduledInstancesRequest(params)
40297//
40298//    err := req.Send()
40299//    if err == nil { // resp is now filled
40300//        fmt.Println(resp)
40301//    }
40302//
40303// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunScheduledInstances
40304func (c *EC2) RunScheduledInstancesRequest(input *RunScheduledInstancesInput) (req *request.Request, output *RunScheduledInstancesOutput) {
40305	op := &request.Operation{
40306		Name:       opRunScheduledInstances,
40307		HTTPMethod: "POST",
40308		HTTPPath:   "/",
40309	}
40310
40311	if input == nil {
40312		input = &RunScheduledInstancesInput{}
40313	}
40314
40315	output = &RunScheduledInstancesOutput{}
40316	req = c.newRequest(op, input, output)
40317	return
40318}
40319
40320// RunScheduledInstances API operation for Amazon Elastic Compute Cloud.
40321//
40322// Launches the specified Scheduled Instances.
40323//
40324// Before you can launch a Scheduled Instance, you must purchase it and obtain
40325// an identifier using PurchaseScheduledInstances.
40326//
40327// You must launch a Scheduled Instance during its scheduled time period. You
40328// can't stop or reboot a Scheduled Instance, but you can terminate it as needed.
40329// If you terminate a Scheduled Instance before the current scheduled time period
40330// ends, you can launch it again after a few minutes. For more information,
40331// see Scheduled Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-scheduled-instances.html)
40332// in the Amazon EC2 User Guide.
40333//
40334// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
40335// with awserr.Error's Code and Message methods to get detailed information about
40336// the error.
40337//
40338// See the AWS API reference guide for Amazon Elastic Compute Cloud's
40339// API operation RunScheduledInstances for usage and error information.
40340// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunScheduledInstances
40341func (c *EC2) RunScheduledInstances(input *RunScheduledInstancesInput) (*RunScheduledInstancesOutput, error) {
40342	req, out := c.RunScheduledInstancesRequest(input)
40343	return out, req.Send()
40344}
40345
40346// RunScheduledInstancesWithContext is the same as RunScheduledInstances with the addition of
40347// the ability to pass a context and additional request options.
40348//
40349// See RunScheduledInstances for details on how to use this API operation.
40350//
40351// The context must be non-nil and will be used for request cancellation. If
40352// the context is nil a panic will occur. In the future the SDK may create
40353// sub-contexts for http.Requests. See https://golang.org/pkg/context/
40354// for more information on using Contexts.
40355func (c *EC2) RunScheduledInstancesWithContext(ctx aws.Context, input *RunScheduledInstancesInput, opts ...request.Option) (*RunScheduledInstancesOutput, error) {
40356	req, out := c.RunScheduledInstancesRequest(input)
40357	req.SetContext(ctx)
40358	req.ApplyOptions(opts...)
40359	return out, req.Send()
40360}
40361
40362const opSearchLocalGatewayRoutes = "SearchLocalGatewayRoutes"
40363
40364// SearchLocalGatewayRoutesRequest generates a "aws/request.Request" representing the
40365// client's request for the SearchLocalGatewayRoutes operation. The "output" return
40366// value will be populated with the request's response once the request completes
40367// successfully.
40368//
40369// Use "Send" method on the returned Request to send the API call to the service.
40370// the "output" return value is not valid until after Send returns without error.
40371//
40372// See SearchLocalGatewayRoutes for more information on using the SearchLocalGatewayRoutes
40373// API call, and error handling.
40374//
40375// This method is useful when you want to inject custom logic or configuration
40376// into the SDK's request lifecycle. Such as custom headers, or retry logic.
40377//
40378//
40379//    // Example sending a request using the SearchLocalGatewayRoutesRequest method.
40380//    req, resp := client.SearchLocalGatewayRoutesRequest(params)
40381//
40382//    err := req.Send()
40383//    if err == nil { // resp is now filled
40384//        fmt.Println(resp)
40385//    }
40386//
40387// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SearchLocalGatewayRoutes
40388func (c *EC2) SearchLocalGatewayRoutesRequest(input *SearchLocalGatewayRoutesInput) (req *request.Request, output *SearchLocalGatewayRoutesOutput) {
40389	op := &request.Operation{
40390		Name:       opSearchLocalGatewayRoutes,
40391		HTTPMethod: "POST",
40392		HTTPPath:   "/",
40393		Paginator: &request.Paginator{
40394			InputTokens:     []string{"NextToken"},
40395			OutputTokens:    []string{"NextToken"},
40396			LimitToken:      "MaxResults",
40397			TruncationToken: "",
40398		},
40399	}
40400
40401	if input == nil {
40402		input = &SearchLocalGatewayRoutesInput{}
40403	}
40404
40405	output = &SearchLocalGatewayRoutesOutput{}
40406	req = c.newRequest(op, input, output)
40407	return
40408}
40409
40410// SearchLocalGatewayRoutes API operation for Amazon Elastic Compute Cloud.
40411//
40412// Searches for routes in the specified local gateway route table.
40413//
40414// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
40415// with awserr.Error's Code and Message methods to get detailed information about
40416// the error.
40417//
40418// See the AWS API reference guide for Amazon Elastic Compute Cloud's
40419// API operation SearchLocalGatewayRoutes for usage and error information.
40420// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SearchLocalGatewayRoutes
40421func (c *EC2) SearchLocalGatewayRoutes(input *SearchLocalGatewayRoutesInput) (*SearchLocalGatewayRoutesOutput, error) {
40422	req, out := c.SearchLocalGatewayRoutesRequest(input)
40423	return out, req.Send()
40424}
40425
40426// SearchLocalGatewayRoutesWithContext is the same as SearchLocalGatewayRoutes with the addition of
40427// the ability to pass a context and additional request options.
40428//
40429// See SearchLocalGatewayRoutes for details on how to use this API operation.
40430//
40431// The context must be non-nil and will be used for request cancellation. If
40432// the context is nil a panic will occur. In the future the SDK may create
40433// sub-contexts for http.Requests. See https://golang.org/pkg/context/
40434// for more information on using Contexts.
40435func (c *EC2) SearchLocalGatewayRoutesWithContext(ctx aws.Context, input *SearchLocalGatewayRoutesInput, opts ...request.Option) (*SearchLocalGatewayRoutesOutput, error) {
40436	req, out := c.SearchLocalGatewayRoutesRequest(input)
40437	req.SetContext(ctx)
40438	req.ApplyOptions(opts...)
40439	return out, req.Send()
40440}
40441
40442// SearchLocalGatewayRoutesPages iterates over the pages of a SearchLocalGatewayRoutes operation,
40443// calling the "fn" function with the response data for each page. To stop
40444// iterating, return false from the fn function.
40445//
40446// See SearchLocalGatewayRoutes method for more information on how to use this operation.
40447//
40448// Note: This operation can generate multiple requests to a service.
40449//
40450//    // Example iterating over at most 3 pages of a SearchLocalGatewayRoutes operation.
40451//    pageNum := 0
40452//    err := client.SearchLocalGatewayRoutesPages(params,
40453//        func(page *ec2.SearchLocalGatewayRoutesOutput, lastPage bool) bool {
40454//            pageNum++
40455//            fmt.Println(page)
40456//            return pageNum <= 3
40457//        })
40458//
40459func (c *EC2) SearchLocalGatewayRoutesPages(input *SearchLocalGatewayRoutesInput, fn func(*SearchLocalGatewayRoutesOutput, bool) bool) error {
40460	return c.SearchLocalGatewayRoutesPagesWithContext(aws.BackgroundContext(), input, fn)
40461}
40462
40463// SearchLocalGatewayRoutesPagesWithContext same as SearchLocalGatewayRoutesPages except
40464// it takes a Context and allows setting request options on the pages.
40465//
40466// The context must be non-nil and will be used for request cancellation. If
40467// the context is nil a panic will occur. In the future the SDK may create
40468// sub-contexts for http.Requests. See https://golang.org/pkg/context/
40469// for more information on using Contexts.
40470func (c *EC2) SearchLocalGatewayRoutesPagesWithContext(ctx aws.Context, input *SearchLocalGatewayRoutesInput, fn func(*SearchLocalGatewayRoutesOutput, bool) bool, opts ...request.Option) error {
40471	p := request.Pagination{
40472		NewRequest: func() (*request.Request, error) {
40473			var inCpy *SearchLocalGatewayRoutesInput
40474			if input != nil {
40475				tmp := *input
40476				inCpy = &tmp
40477			}
40478			req, _ := c.SearchLocalGatewayRoutesRequest(inCpy)
40479			req.SetContext(ctx)
40480			req.ApplyOptions(opts...)
40481			return req, nil
40482		},
40483	}
40484
40485	for p.Next() {
40486		if !fn(p.Page().(*SearchLocalGatewayRoutesOutput), !p.HasNextPage()) {
40487			break
40488		}
40489	}
40490
40491	return p.Err()
40492}
40493
40494const opSearchTransitGatewayMulticastGroups = "SearchTransitGatewayMulticastGroups"
40495
40496// SearchTransitGatewayMulticastGroupsRequest generates a "aws/request.Request" representing the
40497// client's request for the SearchTransitGatewayMulticastGroups operation. The "output" return
40498// value will be populated with the request's response once the request completes
40499// successfully.
40500//
40501// Use "Send" method on the returned Request to send the API call to the service.
40502// the "output" return value is not valid until after Send returns without error.
40503//
40504// See SearchTransitGatewayMulticastGroups for more information on using the SearchTransitGatewayMulticastGroups
40505// API call, and error handling.
40506//
40507// This method is useful when you want to inject custom logic or configuration
40508// into the SDK's request lifecycle. Such as custom headers, or retry logic.
40509//
40510//
40511//    // Example sending a request using the SearchTransitGatewayMulticastGroupsRequest method.
40512//    req, resp := client.SearchTransitGatewayMulticastGroupsRequest(params)
40513//
40514//    err := req.Send()
40515//    if err == nil { // resp is now filled
40516//        fmt.Println(resp)
40517//    }
40518//
40519// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SearchTransitGatewayMulticastGroups
40520func (c *EC2) SearchTransitGatewayMulticastGroupsRequest(input *SearchTransitGatewayMulticastGroupsInput) (req *request.Request, output *SearchTransitGatewayMulticastGroupsOutput) {
40521	op := &request.Operation{
40522		Name:       opSearchTransitGatewayMulticastGroups,
40523		HTTPMethod: "POST",
40524		HTTPPath:   "/",
40525		Paginator: &request.Paginator{
40526			InputTokens:     []string{"NextToken"},
40527			OutputTokens:    []string{"NextToken"},
40528			LimitToken:      "MaxResults",
40529			TruncationToken: "",
40530		},
40531	}
40532
40533	if input == nil {
40534		input = &SearchTransitGatewayMulticastGroupsInput{}
40535	}
40536
40537	output = &SearchTransitGatewayMulticastGroupsOutput{}
40538	req = c.newRequest(op, input, output)
40539	return
40540}
40541
40542// SearchTransitGatewayMulticastGroups API operation for Amazon Elastic Compute Cloud.
40543//
40544// Searches one or more transit gateway multicast groups and returns the group
40545// membership information.
40546//
40547// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
40548// with awserr.Error's Code and Message methods to get detailed information about
40549// the error.
40550//
40551// See the AWS API reference guide for Amazon Elastic Compute Cloud's
40552// API operation SearchTransitGatewayMulticastGroups for usage and error information.
40553// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SearchTransitGatewayMulticastGroups
40554func (c *EC2) SearchTransitGatewayMulticastGroups(input *SearchTransitGatewayMulticastGroupsInput) (*SearchTransitGatewayMulticastGroupsOutput, error) {
40555	req, out := c.SearchTransitGatewayMulticastGroupsRequest(input)
40556	return out, req.Send()
40557}
40558
40559// SearchTransitGatewayMulticastGroupsWithContext is the same as SearchTransitGatewayMulticastGroups with the addition of
40560// the ability to pass a context and additional request options.
40561//
40562// See SearchTransitGatewayMulticastGroups for details on how to use this API operation.
40563//
40564// The context must be non-nil and will be used for request cancellation. If
40565// the context is nil a panic will occur. In the future the SDK may create
40566// sub-contexts for http.Requests. See https://golang.org/pkg/context/
40567// for more information on using Contexts.
40568func (c *EC2) SearchTransitGatewayMulticastGroupsWithContext(ctx aws.Context, input *SearchTransitGatewayMulticastGroupsInput, opts ...request.Option) (*SearchTransitGatewayMulticastGroupsOutput, error) {
40569	req, out := c.SearchTransitGatewayMulticastGroupsRequest(input)
40570	req.SetContext(ctx)
40571	req.ApplyOptions(opts...)
40572	return out, req.Send()
40573}
40574
40575// SearchTransitGatewayMulticastGroupsPages iterates over the pages of a SearchTransitGatewayMulticastGroups operation,
40576// calling the "fn" function with the response data for each page. To stop
40577// iterating, return false from the fn function.
40578//
40579// See SearchTransitGatewayMulticastGroups method for more information on how to use this operation.
40580//
40581// Note: This operation can generate multiple requests to a service.
40582//
40583//    // Example iterating over at most 3 pages of a SearchTransitGatewayMulticastGroups operation.
40584//    pageNum := 0
40585//    err := client.SearchTransitGatewayMulticastGroupsPages(params,
40586//        func(page *ec2.SearchTransitGatewayMulticastGroupsOutput, lastPage bool) bool {
40587//            pageNum++
40588//            fmt.Println(page)
40589//            return pageNum <= 3
40590//        })
40591//
40592func (c *EC2) SearchTransitGatewayMulticastGroupsPages(input *SearchTransitGatewayMulticastGroupsInput, fn func(*SearchTransitGatewayMulticastGroupsOutput, bool) bool) error {
40593	return c.SearchTransitGatewayMulticastGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
40594}
40595
40596// SearchTransitGatewayMulticastGroupsPagesWithContext same as SearchTransitGatewayMulticastGroupsPages except
40597// it takes a Context and allows setting request options on the pages.
40598//
40599// The context must be non-nil and will be used for request cancellation. If
40600// the context is nil a panic will occur. In the future the SDK may create
40601// sub-contexts for http.Requests. See https://golang.org/pkg/context/
40602// for more information on using Contexts.
40603func (c *EC2) SearchTransitGatewayMulticastGroupsPagesWithContext(ctx aws.Context, input *SearchTransitGatewayMulticastGroupsInput, fn func(*SearchTransitGatewayMulticastGroupsOutput, bool) bool, opts ...request.Option) error {
40604	p := request.Pagination{
40605		NewRequest: func() (*request.Request, error) {
40606			var inCpy *SearchTransitGatewayMulticastGroupsInput
40607			if input != nil {
40608				tmp := *input
40609				inCpy = &tmp
40610			}
40611			req, _ := c.SearchTransitGatewayMulticastGroupsRequest(inCpy)
40612			req.SetContext(ctx)
40613			req.ApplyOptions(opts...)
40614			return req, nil
40615		},
40616	}
40617
40618	for p.Next() {
40619		if !fn(p.Page().(*SearchTransitGatewayMulticastGroupsOutput), !p.HasNextPage()) {
40620			break
40621		}
40622	}
40623
40624	return p.Err()
40625}
40626
40627const opSearchTransitGatewayRoutes = "SearchTransitGatewayRoutes"
40628
40629// SearchTransitGatewayRoutesRequest generates a "aws/request.Request" representing the
40630// client's request for the SearchTransitGatewayRoutes operation. The "output" return
40631// value will be populated with the request's response once the request completes
40632// successfully.
40633//
40634// Use "Send" method on the returned Request to send the API call to the service.
40635// the "output" return value is not valid until after Send returns without error.
40636//
40637// See SearchTransitGatewayRoutes for more information on using the SearchTransitGatewayRoutes
40638// API call, and error handling.
40639//
40640// This method is useful when you want to inject custom logic or configuration
40641// into the SDK's request lifecycle. Such as custom headers, or retry logic.
40642//
40643//
40644//    // Example sending a request using the SearchTransitGatewayRoutesRequest method.
40645//    req, resp := client.SearchTransitGatewayRoutesRequest(params)
40646//
40647//    err := req.Send()
40648//    if err == nil { // resp is now filled
40649//        fmt.Println(resp)
40650//    }
40651//
40652// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SearchTransitGatewayRoutes
40653func (c *EC2) SearchTransitGatewayRoutesRequest(input *SearchTransitGatewayRoutesInput) (req *request.Request, output *SearchTransitGatewayRoutesOutput) {
40654	op := &request.Operation{
40655		Name:       opSearchTransitGatewayRoutes,
40656		HTTPMethod: "POST",
40657		HTTPPath:   "/",
40658	}
40659
40660	if input == nil {
40661		input = &SearchTransitGatewayRoutesInput{}
40662	}
40663
40664	output = &SearchTransitGatewayRoutesOutput{}
40665	req = c.newRequest(op, input, output)
40666	return
40667}
40668
40669// SearchTransitGatewayRoutes API operation for Amazon Elastic Compute Cloud.
40670//
40671// Searches for routes in the specified transit gateway route table.
40672//
40673// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
40674// with awserr.Error's Code and Message methods to get detailed information about
40675// the error.
40676//
40677// See the AWS API reference guide for Amazon Elastic Compute Cloud's
40678// API operation SearchTransitGatewayRoutes for usage and error information.
40679// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SearchTransitGatewayRoutes
40680func (c *EC2) SearchTransitGatewayRoutes(input *SearchTransitGatewayRoutesInput) (*SearchTransitGatewayRoutesOutput, error) {
40681	req, out := c.SearchTransitGatewayRoutesRequest(input)
40682	return out, req.Send()
40683}
40684
40685// SearchTransitGatewayRoutesWithContext is the same as SearchTransitGatewayRoutes with the addition of
40686// the ability to pass a context and additional request options.
40687//
40688// See SearchTransitGatewayRoutes for details on how to use this API operation.
40689//
40690// The context must be non-nil and will be used for request cancellation. If
40691// the context is nil a panic will occur. In the future the SDK may create
40692// sub-contexts for http.Requests. See https://golang.org/pkg/context/
40693// for more information on using Contexts.
40694func (c *EC2) SearchTransitGatewayRoutesWithContext(ctx aws.Context, input *SearchTransitGatewayRoutesInput, opts ...request.Option) (*SearchTransitGatewayRoutesOutput, error) {
40695	req, out := c.SearchTransitGatewayRoutesRequest(input)
40696	req.SetContext(ctx)
40697	req.ApplyOptions(opts...)
40698	return out, req.Send()
40699}
40700
40701const opSendDiagnosticInterrupt = "SendDiagnosticInterrupt"
40702
40703// SendDiagnosticInterruptRequest generates a "aws/request.Request" representing the
40704// client's request for the SendDiagnosticInterrupt operation. The "output" return
40705// value will be populated with the request's response once the request completes
40706// successfully.
40707//
40708// Use "Send" method on the returned Request to send the API call to the service.
40709// the "output" return value is not valid until after Send returns without error.
40710//
40711// See SendDiagnosticInterrupt for more information on using the SendDiagnosticInterrupt
40712// API call, and error handling.
40713//
40714// This method is useful when you want to inject custom logic or configuration
40715// into the SDK's request lifecycle. Such as custom headers, or retry logic.
40716//
40717//
40718//    // Example sending a request using the SendDiagnosticInterruptRequest method.
40719//    req, resp := client.SendDiagnosticInterruptRequest(params)
40720//
40721//    err := req.Send()
40722//    if err == nil { // resp is now filled
40723//        fmt.Println(resp)
40724//    }
40725//
40726// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SendDiagnosticInterrupt
40727func (c *EC2) SendDiagnosticInterruptRequest(input *SendDiagnosticInterruptInput) (req *request.Request, output *SendDiagnosticInterruptOutput) {
40728	op := &request.Operation{
40729		Name:       opSendDiagnosticInterrupt,
40730		HTTPMethod: "POST",
40731		HTTPPath:   "/",
40732	}
40733
40734	if input == nil {
40735		input = &SendDiagnosticInterruptInput{}
40736	}
40737
40738	output = &SendDiagnosticInterruptOutput{}
40739	req = c.newRequest(op, input, output)
40740	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
40741	return
40742}
40743
40744// SendDiagnosticInterrupt API operation for Amazon Elastic Compute Cloud.
40745//
40746// Sends a diagnostic interrupt to the specified Amazon EC2 instance to trigger
40747// a kernel panic (on Linux instances), or a blue screen/stop error (on Windows
40748// instances). For instances based on Intel and AMD processors, the interrupt
40749// is received as a non-maskable interrupt (NMI).
40750//
40751// In general, the operating system crashes and reboots when a kernel panic
40752// or stop error is triggered. The operating system can also be configured to
40753// perform diagnostic tasks, such as generating a memory dump file, loading
40754// a secondary kernel, or obtaining a call trace.
40755//
40756// Before sending a diagnostic interrupt to your instance, ensure that its operating
40757// system is configured to perform the required diagnostic tasks.
40758//
40759// For more information about configuring your operating system to generate
40760// a crash dump when a kernel panic or stop error occurs, see Send a diagnostic
40761// interrupt (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/diagnostic-interrupt.html)
40762// (Linux instances) or Send a Diagnostic Interrupt (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/diagnostic-interrupt.html)
40763// (Windows instances).
40764//
40765// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
40766// with awserr.Error's Code and Message methods to get detailed information about
40767// the error.
40768//
40769// See the AWS API reference guide for Amazon Elastic Compute Cloud's
40770// API operation SendDiagnosticInterrupt for usage and error information.
40771// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SendDiagnosticInterrupt
40772func (c *EC2) SendDiagnosticInterrupt(input *SendDiagnosticInterruptInput) (*SendDiagnosticInterruptOutput, error) {
40773	req, out := c.SendDiagnosticInterruptRequest(input)
40774	return out, req.Send()
40775}
40776
40777// SendDiagnosticInterruptWithContext is the same as SendDiagnosticInterrupt with the addition of
40778// the ability to pass a context and additional request options.
40779//
40780// See SendDiagnosticInterrupt for details on how to use this API operation.
40781//
40782// The context must be non-nil and will be used for request cancellation. If
40783// the context is nil a panic will occur. In the future the SDK may create
40784// sub-contexts for http.Requests. See https://golang.org/pkg/context/
40785// for more information on using Contexts.
40786func (c *EC2) SendDiagnosticInterruptWithContext(ctx aws.Context, input *SendDiagnosticInterruptInput, opts ...request.Option) (*SendDiagnosticInterruptOutput, error) {
40787	req, out := c.SendDiagnosticInterruptRequest(input)
40788	req.SetContext(ctx)
40789	req.ApplyOptions(opts...)
40790	return out, req.Send()
40791}
40792
40793const opStartInstances = "StartInstances"
40794
40795// StartInstancesRequest generates a "aws/request.Request" representing the
40796// client's request for the StartInstances operation. The "output" return
40797// value will be populated with the request's response once the request completes
40798// successfully.
40799//
40800// Use "Send" method on the returned Request to send the API call to the service.
40801// the "output" return value is not valid until after Send returns without error.
40802//
40803// See StartInstances for more information on using the StartInstances
40804// API call, and error handling.
40805//
40806// This method is useful when you want to inject custom logic or configuration
40807// into the SDK's request lifecycle. Such as custom headers, or retry logic.
40808//
40809//
40810//    // Example sending a request using the StartInstancesRequest method.
40811//    req, resp := client.StartInstancesRequest(params)
40812//
40813//    err := req.Send()
40814//    if err == nil { // resp is now filled
40815//        fmt.Println(resp)
40816//    }
40817//
40818// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartInstances
40819func (c *EC2) StartInstancesRequest(input *StartInstancesInput) (req *request.Request, output *StartInstancesOutput) {
40820	op := &request.Operation{
40821		Name:       opStartInstances,
40822		HTTPMethod: "POST",
40823		HTTPPath:   "/",
40824	}
40825
40826	if input == nil {
40827		input = &StartInstancesInput{}
40828	}
40829
40830	output = &StartInstancesOutput{}
40831	req = c.newRequest(op, input, output)
40832	return
40833}
40834
40835// StartInstances API operation for Amazon Elastic Compute Cloud.
40836//
40837// Starts an Amazon EBS-backed instance that you've previously stopped.
40838//
40839// Instances that use Amazon EBS volumes as their root devices can be quickly
40840// stopped and started. When an instance is stopped, the compute resources are
40841// released and you are not billed for instance usage. However, your root partition
40842// Amazon EBS volume remains and continues to persist your data, and you are
40843// charged for Amazon EBS volume usage. You can restart your instance at any
40844// time. Every time you start your Windows instance, Amazon EC2 charges you
40845// for a full instance hour. If you stop and restart your Windows instance,
40846// a new instance hour begins and Amazon EC2 charges you for another full instance
40847// hour even if you are still within the same 60-minute period when it was stopped.
40848// Every time you start your Linux instance, Amazon EC2 charges a one-minute
40849// minimum for instance usage, and thereafter charges per second for instance
40850// usage.
40851//
40852// Before stopping an instance, make sure it is in a state from which it can
40853// be restarted. Stopping an instance does not preserve data stored in RAM.
40854//
40855// Performing this operation on an instance that uses an instance store as its
40856// root device returns an error.
40857//
40858// For more information, see Stopping instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html)
40859// in the Amazon EC2 User Guide.
40860//
40861// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
40862// with awserr.Error's Code and Message methods to get detailed information about
40863// the error.
40864//
40865// See the AWS API reference guide for Amazon Elastic Compute Cloud's
40866// API operation StartInstances for usage and error information.
40867// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartInstances
40868func (c *EC2) StartInstances(input *StartInstancesInput) (*StartInstancesOutput, error) {
40869	req, out := c.StartInstancesRequest(input)
40870	return out, req.Send()
40871}
40872
40873// StartInstancesWithContext is the same as StartInstances with the addition of
40874// the ability to pass a context and additional request options.
40875//
40876// See StartInstances for details on how to use this API operation.
40877//
40878// The context must be non-nil and will be used for request cancellation. If
40879// the context is nil a panic will occur. In the future the SDK may create
40880// sub-contexts for http.Requests. See https://golang.org/pkg/context/
40881// for more information on using Contexts.
40882func (c *EC2) StartInstancesWithContext(ctx aws.Context, input *StartInstancesInput, opts ...request.Option) (*StartInstancesOutput, error) {
40883	req, out := c.StartInstancesRequest(input)
40884	req.SetContext(ctx)
40885	req.ApplyOptions(opts...)
40886	return out, req.Send()
40887}
40888
40889const opStartNetworkInsightsAnalysis = "StartNetworkInsightsAnalysis"
40890
40891// StartNetworkInsightsAnalysisRequest generates a "aws/request.Request" representing the
40892// client's request for the StartNetworkInsightsAnalysis operation. The "output" return
40893// value will be populated with the request's response once the request completes
40894// successfully.
40895//
40896// Use "Send" method on the returned Request to send the API call to the service.
40897// the "output" return value is not valid until after Send returns without error.
40898//
40899// See StartNetworkInsightsAnalysis for more information on using the StartNetworkInsightsAnalysis
40900// API call, and error handling.
40901//
40902// This method is useful when you want to inject custom logic or configuration
40903// into the SDK's request lifecycle. Such as custom headers, or retry logic.
40904//
40905//
40906//    // Example sending a request using the StartNetworkInsightsAnalysisRequest method.
40907//    req, resp := client.StartNetworkInsightsAnalysisRequest(params)
40908//
40909//    err := req.Send()
40910//    if err == nil { // resp is now filled
40911//        fmt.Println(resp)
40912//    }
40913//
40914// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartNetworkInsightsAnalysis
40915func (c *EC2) StartNetworkInsightsAnalysisRequest(input *StartNetworkInsightsAnalysisInput) (req *request.Request, output *StartNetworkInsightsAnalysisOutput) {
40916	op := &request.Operation{
40917		Name:       opStartNetworkInsightsAnalysis,
40918		HTTPMethod: "POST",
40919		HTTPPath:   "/",
40920	}
40921
40922	if input == nil {
40923		input = &StartNetworkInsightsAnalysisInput{}
40924	}
40925
40926	output = &StartNetworkInsightsAnalysisOutput{}
40927	req = c.newRequest(op, input, output)
40928	return
40929}
40930
40931// StartNetworkInsightsAnalysis API operation for Amazon Elastic Compute Cloud.
40932//
40933// Starts analyzing the specified path. If the path is reachable, the operation
40934// returns the shortest feasible path.
40935//
40936// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
40937// with awserr.Error's Code and Message methods to get detailed information about
40938// the error.
40939//
40940// See the AWS API reference guide for Amazon Elastic Compute Cloud's
40941// API operation StartNetworkInsightsAnalysis for usage and error information.
40942// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartNetworkInsightsAnalysis
40943func (c *EC2) StartNetworkInsightsAnalysis(input *StartNetworkInsightsAnalysisInput) (*StartNetworkInsightsAnalysisOutput, error) {
40944	req, out := c.StartNetworkInsightsAnalysisRequest(input)
40945	return out, req.Send()
40946}
40947
40948// StartNetworkInsightsAnalysisWithContext is the same as StartNetworkInsightsAnalysis with the addition of
40949// the ability to pass a context and additional request options.
40950//
40951// See StartNetworkInsightsAnalysis for details on how to use this API operation.
40952//
40953// The context must be non-nil and will be used for request cancellation. If
40954// the context is nil a panic will occur. In the future the SDK may create
40955// sub-contexts for http.Requests. See https://golang.org/pkg/context/
40956// for more information on using Contexts.
40957func (c *EC2) StartNetworkInsightsAnalysisWithContext(ctx aws.Context, input *StartNetworkInsightsAnalysisInput, opts ...request.Option) (*StartNetworkInsightsAnalysisOutput, error) {
40958	req, out := c.StartNetworkInsightsAnalysisRequest(input)
40959	req.SetContext(ctx)
40960	req.ApplyOptions(opts...)
40961	return out, req.Send()
40962}
40963
40964const opStartVpcEndpointServicePrivateDnsVerification = "StartVpcEndpointServicePrivateDnsVerification"
40965
40966// StartVpcEndpointServicePrivateDnsVerificationRequest generates a "aws/request.Request" representing the
40967// client's request for the StartVpcEndpointServicePrivateDnsVerification operation. The "output" return
40968// value will be populated with the request's response once the request completes
40969// successfully.
40970//
40971// Use "Send" method on the returned Request to send the API call to the service.
40972// the "output" return value is not valid until after Send returns without error.
40973//
40974// See StartVpcEndpointServicePrivateDnsVerification for more information on using the StartVpcEndpointServicePrivateDnsVerification
40975// API call, and error handling.
40976//
40977// This method is useful when you want to inject custom logic or configuration
40978// into the SDK's request lifecycle. Such as custom headers, or retry logic.
40979//
40980//
40981//    // Example sending a request using the StartVpcEndpointServicePrivateDnsVerificationRequest method.
40982//    req, resp := client.StartVpcEndpointServicePrivateDnsVerificationRequest(params)
40983//
40984//    err := req.Send()
40985//    if err == nil { // resp is now filled
40986//        fmt.Println(resp)
40987//    }
40988//
40989// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartVpcEndpointServicePrivateDnsVerification
40990func (c *EC2) StartVpcEndpointServicePrivateDnsVerificationRequest(input *StartVpcEndpointServicePrivateDnsVerificationInput) (req *request.Request, output *StartVpcEndpointServicePrivateDnsVerificationOutput) {
40991	op := &request.Operation{
40992		Name:       opStartVpcEndpointServicePrivateDnsVerification,
40993		HTTPMethod: "POST",
40994		HTTPPath:   "/",
40995	}
40996
40997	if input == nil {
40998		input = &StartVpcEndpointServicePrivateDnsVerificationInput{}
40999	}
41000
41001	output = &StartVpcEndpointServicePrivateDnsVerificationOutput{}
41002	req = c.newRequest(op, input, output)
41003	return
41004}
41005
41006// StartVpcEndpointServicePrivateDnsVerification API operation for Amazon Elastic Compute Cloud.
41007//
41008// Initiates the verification process to prove that the service provider owns
41009// the private DNS name domain for the endpoint service.
41010//
41011// The service provider must successfully perform the verification before the
41012// consumer can use the name to access the service.
41013//
41014// Before the service provider runs this command, they must add a record to
41015// the DNS server. For more information, see Adding a TXT Record to Your Domain's
41016// DNS Server (https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-services-dns-validation.html#add-dns-txt-record)
41017// in the Amazon VPC User Guide.
41018//
41019// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
41020// with awserr.Error's Code and Message methods to get detailed information about
41021// the error.
41022//
41023// See the AWS API reference guide for Amazon Elastic Compute Cloud's
41024// API operation StartVpcEndpointServicePrivateDnsVerification for usage and error information.
41025// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartVpcEndpointServicePrivateDnsVerification
41026func (c *EC2) StartVpcEndpointServicePrivateDnsVerification(input *StartVpcEndpointServicePrivateDnsVerificationInput) (*StartVpcEndpointServicePrivateDnsVerificationOutput, error) {
41027	req, out := c.StartVpcEndpointServicePrivateDnsVerificationRequest(input)
41028	return out, req.Send()
41029}
41030
41031// StartVpcEndpointServicePrivateDnsVerificationWithContext is the same as StartVpcEndpointServicePrivateDnsVerification with the addition of
41032// the ability to pass a context and additional request options.
41033//
41034// See StartVpcEndpointServicePrivateDnsVerification for details on how to use this API operation.
41035//
41036// The context must be non-nil and will be used for request cancellation. If
41037// the context is nil a panic will occur. In the future the SDK may create
41038// sub-contexts for http.Requests. See https://golang.org/pkg/context/
41039// for more information on using Contexts.
41040func (c *EC2) StartVpcEndpointServicePrivateDnsVerificationWithContext(ctx aws.Context, input *StartVpcEndpointServicePrivateDnsVerificationInput, opts ...request.Option) (*StartVpcEndpointServicePrivateDnsVerificationOutput, error) {
41041	req, out := c.StartVpcEndpointServicePrivateDnsVerificationRequest(input)
41042	req.SetContext(ctx)
41043	req.ApplyOptions(opts...)
41044	return out, req.Send()
41045}
41046
41047const opStopInstances = "StopInstances"
41048
41049// StopInstancesRequest generates a "aws/request.Request" representing the
41050// client's request for the StopInstances operation. The "output" return
41051// value will be populated with the request's response once the request completes
41052// successfully.
41053//
41054// Use "Send" method on the returned Request to send the API call to the service.
41055// the "output" return value is not valid until after Send returns without error.
41056//
41057// See StopInstances for more information on using the StopInstances
41058// API call, and error handling.
41059//
41060// This method is useful when you want to inject custom logic or configuration
41061// into the SDK's request lifecycle. Such as custom headers, or retry logic.
41062//
41063//
41064//    // Example sending a request using the StopInstancesRequest method.
41065//    req, resp := client.StopInstancesRequest(params)
41066//
41067//    err := req.Send()
41068//    if err == nil { // resp is now filled
41069//        fmt.Println(resp)
41070//    }
41071//
41072// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StopInstances
41073func (c *EC2) StopInstancesRequest(input *StopInstancesInput) (req *request.Request, output *StopInstancesOutput) {
41074	op := &request.Operation{
41075		Name:       opStopInstances,
41076		HTTPMethod: "POST",
41077		HTTPPath:   "/",
41078	}
41079
41080	if input == nil {
41081		input = &StopInstancesInput{}
41082	}
41083
41084	output = &StopInstancesOutput{}
41085	req = c.newRequest(op, input, output)
41086	return
41087}
41088
41089// StopInstances API operation for Amazon Elastic Compute Cloud.
41090//
41091// Stops an Amazon EBS-backed instance.
41092//
41093// You can use the Stop action to hibernate an instance if the instance is enabled
41094// for hibernation (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#enabling-hibernation)
41095// and it meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites).
41096// For more information, see Hibernate your instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
41097// in the Amazon EC2 User Guide.
41098//
41099// We don't charge usage for a stopped instance, or data transfer fees; however,
41100// your root partition Amazon EBS volume remains and continues to persist your
41101// data, and you are charged for Amazon EBS volume usage. Every time you start
41102// your Windows instance, Amazon EC2 charges you for a full instance hour. If
41103// you stop and restart your Windows instance, a new instance hour begins and
41104// Amazon EC2 charges you for another full instance hour even if you are still
41105// within the same 60-minute period when it was stopped. Every time you start
41106// your Linux instance, Amazon EC2 charges a one-minute minimum for instance
41107// usage, and thereafter charges per second for instance usage.
41108//
41109// You can't stop or hibernate instance store-backed instances. You can't use
41110// the Stop action to hibernate Spot Instances, but you can specify that Amazon
41111// EC2 should hibernate Spot Instances when they are interrupted. For more information,
41112// see Hibernating interrupted Spot Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-interruptions.html#hibernate-spot-instances)
41113// in the Amazon EC2 User Guide.
41114//
41115// When you stop or hibernate an instance, we shut it down. You can restart
41116// your instance at any time. Before stopping or hibernating an instance, make
41117// sure it is in a state from which it can be restarted. Stopping an instance
41118// does not preserve data stored in RAM, but hibernating an instance does preserve
41119// data stored in RAM. If an instance cannot hibernate successfully, a normal
41120// shutdown occurs.
41121//
41122// Stopping and hibernating an instance is different to rebooting or terminating
41123// it. For example, when you stop or hibernate an instance, the root device
41124// and any other devices attached to the instance persist. When you terminate
41125// an instance, the root device and any other devices attached during the instance
41126// launch are automatically deleted. For more information about the differences
41127// between rebooting, stopping, hibernating, and terminating instances, see
41128// Instance lifecycle (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html)
41129// in the Amazon EC2 User Guide.
41130//
41131// When you stop an instance, we attempt to shut it down forcibly after a short
41132// while. If your instance appears stuck in the stopping state after a period
41133// of time, there may be an issue with the underlying host computer. For more
41134// information, see Troubleshooting stopping your instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesStopping.html)
41135// in the Amazon EC2 User Guide.
41136//
41137// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
41138// with awserr.Error's Code and Message methods to get detailed information about
41139// the error.
41140//
41141// See the AWS API reference guide for Amazon Elastic Compute Cloud's
41142// API operation StopInstances for usage and error information.
41143// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StopInstances
41144func (c *EC2) StopInstances(input *StopInstancesInput) (*StopInstancesOutput, error) {
41145	req, out := c.StopInstancesRequest(input)
41146	return out, req.Send()
41147}
41148
41149// StopInstancesWithContext is the same as StopInstances with the addition of
41150// the ability to pass a context and additional request options.
41151//
41152// See StopInstances for details on how to use this API operation.
41153//
41154// The context must be non-nil and will be used for request cancellation. If
41155// the context is nil a panic will occur. In the future the SDK may create
41156// sub-contexts for http.Requests. See https://golang.org/pkg/context/
41157// for more information on using Contexts.
41158func (c *EC2) StopInstancesWithContext(ctx aws.Context, input *StopInstancesInput, opts ...request.Option) (*StopInstancesOutput, error) {
41159	req, out := c.StopInstancesRequest(input)
41160	req.SetContext(ctx)
41161	req.ApplyOptions(opts...)
41162	return out, req.Send()
41163}
41164
41165const opTerminateClientVpnConnections = "TerminateClientVpnConnections"
41166
41167// TerminateClientVpnConnectionsRequest generates a "aws/request.Request" representing the
41168// client's request for the TerminateClientVpnConnections operation. The "output" return
41169// value will be populated with the request's response once the request completes
41170// successfully.
41171//
41172// Use "Send" method on the returned Request to send the API call to the service.
41173// the "output" return value is not valid until after Send returns without error.
41174//
41175// See TerminateClientVpnConnections for more information on using the TerminateClientVpnConnections
41176// API call, and error handling.
41177//
41178// This method is useful when you want to inject custom logic or configuration
41179// into the SDK's request lifecycle. Such as custom headers, or retry logic.
41180//
41181//
41182//    // Example sending a request using the TerminateClientVpnConnectionsRequest method.
41183//    req, resp := client.TerminateClientVpnConnectionsRequest(params)
41184//
41185//    err := req.Send()
41186//    if err == nil { // resp is now filled
41187//        fmt.Println(resp)
41188//    }
41189//
41190// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateClientVpnConnections
41191func (c *EC2) TerminateClientVpnConnectionsRequest(input *TerminateClientVpnConnectionsInput) (req *request.Request, output *TerminateClientVpnConnectionsOutput) {
41192	op := &request.Operation{
41193		Name:       opTerminateClientVpnConnections,
41194		HTTPMethod: "POST",
41195		HTTPPath:   "/",
41196	}
41197
41198	if input == nil {
41199		input = &TerminateClientVpnConnectionsInput{}
41200	}
41201
41202	output = &TerminateClientVpnConnectionsOutput{}
41203	req = c.newRequest(op, input, output)
41204	return
41205}
41206
41207// TerminateClientVpnConnections API operation for Amazon Elastic Compute Cloud.
41208//
41209// Terminates active Client VPN endpoint connections. This action can be used
41210// to terminate a specific client connection, or up to five connections established
41211// by a specific user.
41212//
41213// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
41214// with awserr.Error's Code and Message methods to get detailed information about
41215// the error.
41216//
41217// See the AWS API reference guide for Amazon Elastic Compute Cloud's
41218// API operation TerminateClientVpnConnections for usage and error information.
41219// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateClientVpnConnections
41220func (c *EC2) TerminateClientVpnConnections(input *TerminateClientVpnConnectionsInput) (*TerminateClientVpnConnectionsOutput, error) {
41221	req, out := c.TerminateClientVpnConnectionsRequest(input)
41222	return out, req.Send()
41223}
41224
41225// TerminateClientVpnConnectionsWithContext is the same as TerminateClientVpnConnections with the addition of
41226// the ability to pass a context and additional request options.
41227//
41228// See TerminateClientVpnConnections for details on how to use this API operation.
41229//
41230// The context must be non-nil and will be used for request cancellation. If
41231// the context is nil a panic will occur. In the future the SDK may create
41232// sub-contexts for http.Requests. See https://golang.org/pkg/context/
41233// for more information on using Contexts.
41234func (c *EC2) TerminateClientVpnConnectionsWithContext(ctx aws.Context, input *TerminateClientVpnConnectionsInput, opts ...request.Option) (*TerminateClientVpnConnectionsOutput, error) {
41235	req, out := c.TerminateClientVpnConnectionsRequest(input)
41236	req.SetContext(ctx)
41237	req.ApplyOptions(opts...)
41238	return out, req.Send()
41239}
41240
41241const opTerminateInstances = "TerminateInstances"
41242
41243// TerminateInstancesRequest generates a "aws/request.Request" representing the
41244// client's request for the TerminateInstances operation. The "output" return
41245// value will be populated with the request's response once the request completes
41246// successfully.
41247//
41248// Use "Send" method on the returned Request to send the API call to the service.
41249// the "output" return value is not valid until after Send returns without error.
41250//
41251// See TerminateInstances for more information on using the TerminateInstances
41252// API call, and error handling.
41253//
41254// This method is useful when you want to inject custom logic or configuration
41255// into the SDK's request lifecycle. Such as custom headers, or retry logic.
41256//
41257//
41258//    // Example sending a request using the TerminateInstancesRequest method.
41259//    req, resp := client.TerminateInstancesRequest(params)
41260//
41261//    err := req.Send()
41262//    if err == nil { // resp is now filled
41263//        fmt.Println(resp)
41264//    }
41265//
41266// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateInstances
41267func (c *EC2) TerminateInstancesRequest(input *TerminateInstancesInput) (req *request.Request, output *TerminateInstancesOutput) {
41268	op := &request.Operation{
41269		Name:       opTerminateInstances,
41270		HTTPMethod: "POST",
41271		HTTPPath:   "/",
41272	}
41273
41274	if input == nil {
41275		input = &TerminateInstancesInput{}
41276	}
41277
41278	output = &TerminateInstancesOutput{}
41279	req = c.newRequest(op, input, output)
41280	return
41281}
41282
41283// TerminateInstances API operation for Amazon Elastic Compute Cloud.
41284//
41285// Shuts down the specified instances. This operation is idempotent; if you
41286// terminate an instance more than once, each call succeeds.
41287//
41288// If you specify multiple instances and the request fails (for example, because
41289// of a single incorrect instance ID), none of the instances are terminated.
41290//
41291// Terminated instances remain visible after termination (for approximately
41292// one hour).
41293//
41294// By default, Amazon EC2 deletes all EBS volumes that were attached when the
41295// instance launched. Volumes attached after instance launch continue running.
41296//
41297// You can stop, start, and terminate EBS-backed instances. You can only terminate
41298// instance store-backed instances. What happens to an instance differs if you
41299// stop it or terminate it. For example, when you stop an instance, the root
41300// device and any other devices attached to the instance persist. When you terminate
41301// an instance, any attached EBS volumes with the DeleteOnTermination block
41302// device mapping parameter set to true are automatically deleted. For more
41303// information about the differences between stopping and terminating instances,
41304// see Instance lifecycle (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html)
41305// in the Amazon EC2 User Guide.
41306//
41307// For more information about troubleshooting, see Troubleshooting terminating
41308// your instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesShuttingDown.html)
41309// in the Amazon EC2 User Guide.
41310//
41311// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
41312// with awserr.Error's Code and Message methods to get detailed information about
41313// the error.
41314//
41315// See the AWS API reference guide for Amazon Elastic Compute Cloud's
41316// API operation TerminateInstances for usage and error information.
41317// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateInstances
41318func (c *EC2) TerminateInstances(input *TerminateInstancesInput) (*TerminateInstancesOutput, error) {
41319	req, out := c.TerminateInstancesRequest(input)
41320	return out, req.Send()
41321}
41322
41323// TerminateInstancesWithContext is the same as TerminateInstances with the addition of
41324// the ability to pass a context and additional request options.
41325//
41326// See TerminateInstances for details on how to use this API operation.
41327//
41328// The context must be non-nil and will be used for request cancellation. If
41329// the context is nil a panic will occur. In the future the SDK may create
41330// sub-contexts for http.Requests. See https://golang.org/pkg/context/
41331// for more information on using Contexts.
41332func (c *EC2) TerminateInstancesWithContext(ctx aws.Context, input *TerminateInstancesInput, opts ...request.Option) (*TerminateInstancesOutput, error) {
41333	req, out := c.TerminateInstancesRequest(input)
41334	req.SetContext(ctx)
41335	req.ApplyOptions(opts...)
41336	return out, req.Send()
41337}
41338
41339const opUnassignIpv6Addresses = "UnassignIpv6Addresses"
41340
41341// UnassignIpv6AddressesRequest generates a "aws/request.Request" representing the
41342// client's request for the UnassignIpv6Addresses operation. The "output" return
41343// value will be populated with the request's response once the request completes
41344// successfully.
41345//
41346// Use "Send" method on the returned Request to send the API call to the service.
41347// the "output" return value is not valid until after Send returns without error.
41348//
41349// See UnassignIpv6Addresses for more information on using the UnassignIpv6Addresses
41350// API call, and error handling.
41351//
41352// This method is useful when you want to inject custom logic or configuration
41353// into the SDK's request lifecycle. Such as custom headers, or retry logic.
41354//
41355//
41356//    // Example sending a request using the UnassignIpv6AddressesRequest method.
41357//    req, resp := client.UnassignIpv6AddressesRequest(params)
41358//
41359//    err := req.Send()
41360//    if err == nil { // resp is now filled
41361//        fmt.Println(resp)
41362//    }
41363//
41364// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignIpv6Addresses
41365func (c *EC2) UnassignIpv6AddressesRequest(input *UnassignIpv6AddressesInput) (req *request.Request, output *UnassignIpv6AddressesOutput) {
41366	op := &request.Operation{
41367		Name:       opUnassignIpv6Addresses,
41368		HTTPMethod: "POST",
41369		HTTPPath:   "/",
41370	}
41371
41372	if input == nil {
41373		input = &UnassignIpv6AddressesInput{}
41374	}
41375
41376	output = &UnassignIpv6AddressesOutput{}
41377	req = c.newRequest(op, input, output)
41378	return
41379}
41380
41381// UnassignIpv6Addresses API operation for Amazon Elastic Compute Cloud.
41382//
41383// Unassigns one or more IPv6 addresses from a network interface.
41384//
41385// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
41386// with awserr.Error's Code and Message methods to get detailed information about
41387// the error.
41388//
41389// See the AWS API reference guide for Amazon Elastic Compute Cloud's
41390// API operation UnassignIpv6Addresses for usage and error information.
41391// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignIpv6Addresses
41392func (c *EC2) UnassignIpv6Addresses(input *UnassignIpv6AddressesInput) (*UnassignIpv6AddressesOutput, error) {
41393	req, out := c.UnassignIpv6AddressesRequest(input)
41394	return out, req.Send()
41395}
41396
41397// UnassignIpv6AddressesWithContext is the same as UnassignIpv6Addresses with the addition of
41398// the ability to pass a context and additional request options.
41399//
41400// See UnassignIpv6Addresses for details on how to use this API operation.
41401//
41402// The context must be non-nil and will be used for request cancellation. If
41403// the context is nil a panic will occur. In the future the SDK may create
41404// sub-contexts for http.Requests. See https://golang.org/pkg/context/
41405// for more information on using Contexts.
41406func (c *EC2) UnassignIpv6AddressesWithContext(ctx aws.Context, input *UnassignIpv6AddressesInput, opts ...request.Option) (*UnassignIpv6AddressesOutput, error) {
41407	req, out := c.UnassignIpv6AddressesRequest(input)
41408	req.SetContext(ctx)
41409	req.ApplyOptions(opts...)
41410	return out, req.Send()
41411}
41412
41413const opUnassignPrivateIpAddresses = "UnassignPrivateIpAddresses"
41414
41415// UnassignPrivateIpAddressesRequest generates a "aws/request.Request" representing the
41416// client's request for the UnassignPrivateIpAddresses operation. The "output" return
41417// value will be populated with the request's response once the request completes
41418// successfully.
41419//
41420// Use "Send" method on the returned Request to send the API call to the service.
41421// the "output" return value is not valid until after Send returns without error.
41422//
41423// See UnassignPrivateIpAddresses for more information on using the UnassignPrivateIpAddresses
41424// API call, and error handling.
41425//
41426// This method is useful when you want to inject custom logic or configuration
41427// into the SDK's request lifecycle. Such as custom headers, or retry logic.
41428//
41429//
41430//    // Example sending a request using the UnassignPrivateIpAddressesRequest method.
41431//    req, resp := client.UnassignPrivateIpAddressesRequest(params)
41432//
41433//    err := req.Send()
41434//    if err == nil { // resp is now filled
41435//        fmt.Println(resp)
41436//    }
41437//
41438// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignPrivateIpAddresses
41439func (c *EC2) UnassignPrivateIpAddressesRequest(input *UnassignPrivateIpAddressesInput) (req *request.Request, output *UnassignPrivateIpAddressesOutput) {
41440	op := &request.Operation{
41441		Name:       opUnassignPrivateIpAddresses,
41442		HTTPMethod: "POST",
41443		HTTPPath:   "/",
41444	}
41445
41446	if input == nil {
41447		input = &UnassignPrivateIpAddressesInput{}
41448	}
41449
41450	output = &UnassignPrivateIpAddressesOutput{}
41451	req = c.newRequest(op, input, output)
41452	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
41453	return
41454}
41455
41456// UnassignPrivateIpAddresses API operation for Amazon Elastic Compute Cloud.
41457//
41458// Unassigns one or more secondary private IP addresses from a network interface.
41459//
41460// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
41461// with awserr.Error's Code and Message methods to get detailed information about
41462// the error.
41463//
41464// See the AWS API reference guide for Amazon Elastic Compute Cloud's
41465// API operation UnassignPrivateIpAddresses for usage and error information.
41466// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignPrivateIpAddresses
41467func (c *EC2) UnassignPrivateIpAddresses(input *UnassignPrivateIpAddressesInput) (*UnassignPrivateIpAddressesOutput, error) {
41468	req, out := c.UnassignPrivateIpAddressesRequest(input)
41469	return out, req.Send()
41470}
41471
41472// UnassignPrivateIpAddressesWithContext is the same as UnassignPrivateIpAddresses with the addition of
41473// the ability to pass a context and additional request options.
41474//
41475// See UnassignPrivateIpAddresses for details on how to use this API operation.
41476//
41477// The context must be non-nil and will be used for request cancellation. If
41478// the context is nil a panic will occur. In the future the SDK may create
41479// sub-contexts for http.Requests. See https://golang.org/pkg/context/
41480// for more information on using Contexts.
41481func (c *EC2) UnassignPrivateIpAddressesWithContext(ctx aws.Context, input *UnassignPrivateIpAddressesInput, opts ...request.Option) (*UnassignPrivateIpAddressesOutput, error) {
41482	req, out := c.UnassignPrivateIpAddressesRequest(input)
41483	req.SetContext(ctx)
41484	req.ApplyOptions(opts...)
41485	return out, req.Send()
41486}
41487
41488const opUnmonitorInstances = "UnmonitorInstances"
41489
41490// UnmonitorInstancesRequest generates a "aws/request.Request" representing the
41491// client's request for the UnmonitorInstances operation. The "output" return
41492// value will be populated with the request's response once the request completes
41493// successfully.
41494//
41495// Use "Send" method on the returned Request to send the API call to the service.
41496// the "output" return value is not valid until after Send returns without error.
41497//
41498// See UnmonitorInstances for more information on using the UnmonitorInstances
41499// API call, and error handling.
41500//
41501// This method is useful when you want to inject custom logic or configuration
41502// into the SDK's request lifecycle. Such as custom headers, or retry logic.
41503//
41504//
41505//    // Example sending a request using the UnmonitorInstancesRequest method.
41506//    req, resp := client.UnmonitorInstancesRequest(params)
41507//
41508//    err := req.Send()
41509//    if err == nil { // resp is now filled
41510//        fmt.Println(resp)
41511//    }
41512//
41513// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnmonitorInstances
41514func (c *EC2) UnmonitorInstancesRequest(input *UnmonitorInstancesInput) (req *request.Request, output *UnmonitorInstancesOutput) {
41515	op := &request.Operation{
41516		Name:       opUnmonitorInstances,
41517		HTTPMethod: "POST",
41518		HTTPPath:   "/",
41519	}
41520
41521	if input == nil {
41522		input = &UnmonitorInstancesInput{}
41523	}
41524
41525	output = &UnmonitorInstancesOutput{}
41526	req = c.newRequest(op, input, output)
41527	return
41528}
41529
41530// UnmonitorInstances API operation for Amazon Elastic Compute Cloud.
41531//
41532// Disables detailed monitoring for a running instance. For more information,
41533// see Monitoring your instances and volumes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html)
41534// in the Amazon EC2 User Guide.
41535//
41536// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
41537// with awserr.Error's Code and Message methods to get detailed information about
41538// the error.
41539//
41540// See the AWS API reference guide for Amazon Elastic Compute Cloud's
41541// API operation UnmonitorInstances for usage and error information.
41542// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnmonitorInstances
41543func (c *EC2) UnmonitorInstances(input *UnmonitorInstancesInput) (*UnmonitorInstancesOutput, error) {
41544	req, out := c.UnmonitorInstancesRequest(input)
41545	return out, req.Send()
41546}
41547
41548// UnmonitorInstancesWithContext is the same as UnmonitorInstances with the addition of
41549// the ability to pass a context and additional request options.
41550//
41551// See UnmonitorInstances for details on how to use this API operation.
41552//
41553// The context must be non-nil and will be used for request cancellation. If
41554// the context is nil a panic will occur. In the future the SDK may create
41555// sub-contexts for http.Requests. See https://golang.org/pkg/context/
41556// for more information on using Contexts.
41557func (c *EC2) UnmonitorInstancesWithContext(ctx aws.Context, input *UnmonitorInstancesInput, opts ...request.Option) (*UnmonitorInstancesOutput, error) {
41558	req, out := c.UnmonitorInstancesRequest(input)
41559	req.SetContext(ctx)
41560	req.ApplyOptions(opts...)
41561	return out, req.Send()
41562}
41563
41564const opUpdateSecurityGroupRuleDescriptionsEgress = "UpdateSecurityGroupRuleDescriptionsEgress"
41565
41566// UpdateSecurityGroupRuleDescriptionsEgressRequest generates a "aws/request.Request" representing the
41567// client's request for the UpdateSecurityGroupRuleDescriptionsEgress operation. The "output" return
41568// value will be populated with the request's response once the request completes
41569// successfully.
41570//
41571// Use "Send" method on the returned Request to send the API call to the service.
41572// the "output" return value is not valid until after Send returns without error.
41573//
41574// See UpdateSecurityGroupRuleDescriptionsEgress for more information on using the UpdateSecurityGroupRuleDescriptionsEgress
41575// API call, and error handling.
41576//
41577// This method is useful when you want to inject custom logic or configuration
41578// into the SDK's request lifecycle. Such as custom headers, or retry logic.
41579//
41580//
41581//    // Example sending a request using the UpdateSecurityGroupRuleDescriptionsEgressRequest method.
41582//    req, resp := client.UpdateSecurityGroupRuleDescriptionsEgressRequest(params)
41583//
41584//    err := req.Send()
41585//    if err == nil { // resp is now filled
41586//        fmt.Println(resp)
41587//    }
41588//
41589// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsEgress
41590func (c *EC2) UpdateSecurityGroupRuleDescriptionsEgressRequest(input *UpdateSecurityGroupRuleDescriptionsEgressInput) (req *request.Request, output *UpdateSecurityGroupRuleDescriptionsEgressOutput) {
41591	op := &request.Operation{
41592		Name:       opUpdateSecurityGroupRuleDescriptionsEgress,
41593		HTTPMethod: "POST",
41594		HTTPPath:   "/",
41595	}
41596
41597	if input == nil {
41598		input = &UpdateSecurityGroupRuleDescriptionsEgressInput{}
41599	}
41600
41601	output = &UpdateSecurityGroupRuleDescriptionsEgressOutput{}
41602	req = c.newRequest(op, input, output)
41603	return
41604}
41605
41606// UpdateSecurityGroupRuleDescriptionsEgress API operation for Amazon Elastic Compute Cloud.
41607//
41608// [VPC only] Updates the description of an egress (outbound) security group
41609// rule. You can replace an existing description, or add a description to a
41610// rule that did not have one previously.
41611//
41612// You specify the description as part of the IP permissions structure. You
41613// can remove a description for a security group rule by omitting the description
41614// parameter in the request.
41615//
41616// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
41617// with awserr.Error's Code and Message methods to get detailed information about
41618// the error.
41619//
41620// See the AWS API reference guide for Amazon Elastic Compute Cloud's
41621// API operation UpdateSecurityGroupRuleDescriptionsEgress for usage and error information.
41622// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsEgress
41623func (c *EC2) UpdateSecurityGroupRuleDescriptionsEgress(input *UpdateSecurityGroupRuleDescriptionsEgressInput) (*UpdateSecurityGroupRuleDescriptionsEgressOutput, error) {
41624	req, out := c.UpdateSecurityGroupRuleDescriptionsEgressRequest(input)
41625	return out, req.Send()
41626}
41627
41628// UpdateSecurityGroupRuleDescriptionsEgressWithContext is the same as UpdateSecurityGroupRuleDescriptionsEgress with the addition of
41629// the ability to pass a context and additional request options.
41630//
41631// See UpdateSecurityGroupRuleDescriptionsEgress for details on how to use this API operation.
41632//
41633// The context must be non-nil and will be used for request cancellation. If
41634// the context is nil a panic will occur. In the future the SDK may create
41635// sub-contexts for http.Requests. See https://golang.org/pkg/context/
41636// for more information on using Contexts.
41637func (c *EC2) UpdateSecurityGroupRuleDescriptionsEgressWithContext(ctx aws.Context, input *UpdateSecurityGroupRuleDescriptionsEgressInput, opts ...request.Option) (*UpdateSecurityGroupRuleDescriptionsEgressOutput, error) {
41638	req, out := c.UpdateSecurityGroupRuleDescriptionsEgressRequest(input)
41639	req.SetContext(ctx)
41640	req.ApplyOptions(opts...)
41641	return out, req.Send()
41642}
41643
41644const opUpdateSecurityGroupRuleDescriptionsIngress = "UpdateSecurityGroupRuleDescriptionsIngress"
41645
41646// UpdateSecurityGroupRuleDescriptionsIngressRequest generates a "aws/request.Request" representing the
41647// client's request for the UpdateSecurityGroupRuleDescriptionsIngress operation. The "output" return
41648// value will be populated with the request's response once the request completes
41649// successfully.
41650//
41651// Use "Send" method on the returned Request to send the API call to the service.
41652// the "output" return value is not valid until after Send returns without error.
41653//
41654// See UpdateSecurityGroupRuleDescriptionsIngress for more information on using the UpdateSecurityGroupRuleDescriptionsIngress
41655// API call, and error handling.
41656//
41657// This method is useful when you want to inject custom logic or configuration
41658// into the SDK's request lifecycle. Such as custom headers, or retry logic.
41659//
41660//
41661//    // Example sending a request using the UpdateSecurityGroupRuleDescriptionsIngressRequest method.
41662//    req, resp := client.UpdateSecurityGroupRuleDescriptionsIngressRequest(params)
41663//
41664//    err := req.Send()
41665//    if err == nil { // resp is now filled
41666//        fmt.Println(resp)
41667//    }
41668//
41669// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsIngress
41670func (c *EC2) UpdateSecurityGroupRuleDescriptionsIngressRequest(input *UpdateSecurityGroupRuleDescriptionsIngressInput) (req *request.Request, output *UpdateSecurityGroupRuleDescriptionsIngressOutput) {
41671	op := &request.Operation{
41672		Name:       opUpdateSecurityGroupRuleDescriptionsIngress,
41673		HTTPMethod: "POST",
41674		HTTPPath:   "/",
41675	}
41676
41677	if input == nil {
41678		input = &UpdateSecurityGroupRuleDescriptionsIngressInput{}
41679	}
41680
41681	output = &UpdateSecurityGroupRuleDescriptionsIngressOutput{}
41682	req = c.newRequest(op, input, output)
41683	return
41684}
41685
41686// UpdateSecurityGroupRuleDescriptionsIngress API operation for Amazon Elastic Compute Cloud.
41687//
41688// Updates the description of an ingress (inbound) security group rule. You
41689// can replace an existing description, or add a description to a rule that
41690// did not have one previously.
41691//
41692// You specify the description as part of the IP permissions structure. You
41693// can remove a description for a security group rule by omitting the description
41694// parameter in the request.
41695//
41696// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
41697// with awserr.Error's Code and Message methods to get detailed information about
41698// the error.
41699//
41700// See the AWS API reference guide for Amazon Elastic Compute Cloud's
41701// API operation UpdateSecurityGroupRuleDescriptionsIngress for usage and error information.
41702// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsIngress
41703func (c *EC2) UpdateSecurityGroupRuleDescriptionsIngress(input *UpdateSecurityGroupRuleDescriptionsIngressInput) (*UpdateSecurityGroupRuleDescriptionsIngressOutput, error) {
41704	req, out := c.UpdateSecurityGroupRuleDescriptionsIngressRequest(input)
41705	return out, req.Send()
41706}
41707
41708// UpdateSecurityGroupRuleDescriptionsIngressWithContext is the same as UpdateSecurityGroupRuleDescriptionsIngress with the addition of
41709// the ability to pass a context and additional request options.
41710//
41711// See UpdateSecurityGroupRuleDescriptionsIngress for details on how to use this API operation.
41712//
41713// The context must be non-nil and will be used for request cancellation. If
41714// the context is nil a panic will occur. In the future the SDK may create
41715// sub-contexts for http.Requests. See https://golang.org/pkg/context/
41716// for more information on using Contexts.
41717func (c *EC2) UpdateSecurityGroupRuleDescriptionsIngressWithContext(ctx aws.Context, input *UpdateSecurityGroupRuleDescriptionsIngressInput, opts ...request.Option) (*UpdateSecurityGroupRuleDescriptionsIngressOutput, error) {
41718	req, out := c.UpdateSecurityGroupRuleDescriptionsIngressRequest(input)
41719	req.SetContext(ctx)
41720	req.ApplyOptions(opts...)
41721	return out, req.Send()
41722}
41723
41724const opWithdrawByoipCidr = "WithdrawByoipCidr"
41725
41726// WithdrawByoipCidrRequest generates a "aws/request.Request" representing the
41727// client's request for the WithdrawByoipCidr operation. The "output" return
41728// value will be populated with the request's response once the request completes
41729// successfully.
41730//
41731// Use "Send" method on the returned Request to send the API call to the service.
41732// the "output" return value is not valid until after Send returns without error.
41733//
41734// See WithdrawByoipCidr for more information on using the WithdrawByoipCidr
41735// API call, and error handling.
41736//
41737// This method is useful when you want to inject custom logic or configuration
41738// into the SDK's request lifecycle. Such as custom headers, or retry logic.
41739//
41740//
41741//    // Example sending a request using the WithdrawByoipCidrRequest method.
41742//    req, resp := client.WithdrawByoipCidrRequest(params)
41743//
41744//    err := req.Send()
41745//    if err == nil { // resp is now filled
41746//        fmt.Println(resp)
41747//    }
41748//
41749// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/WithdrawByoipCidr
41750func (c *EC2) WithdrawByoipCidrRequest(input *WithdrawByoipCidrInput) (req *request.Request, output *WithdrawByoipCidrOutput) {
41751	op := &request.Operation{
41752		Name:       opWithdrawByoipCidr,
41753		HTTPMethod: "POST",
41754		HTTPPath:   "/",
41755	}
41756
41757	if input == nil {
41758		input = &WithdrawByoipCidrInput{}
41759	}
41760
41761	output = &WithdrawByoipCidrOutput{}
41762	req = c.newRequest(op, input, output)
41763	return
41764}
41765
41766// WithdrawByoipCidr API operation for Amazon Elastic Compute Cloud.
41767//
41768// Stops advertising an address range that is provisioned as an address pool.
41769//
41770// You can perform this operation at most once every 10 seconds, even if you
41771// specify different address ranges each time.
41772//
41773// It can take a few minutes before traffic to the specified addresses stops
41774// routing to AWS because of BGP propagation delays.
41775//
41776// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
41777// with awserr.Error's Code and Message methods to get detailed information about
41778// the error.
41779//
41780// See the AWS API reference guide for Amazon Elastic Compute Cloud's
41781// API operation WithdrawByoipCidr for usage and error information.
41782// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/WithdrawByoipCidr
41783func (c *EC2) WithdrawByoipCidr(input *WithdrawByoipCidrInput) (*WithdrawByoipCidrOutput, error) {
41784	req, out := c.WithdrawByoipCidrRequest(input)
41785	return out, req.Send()
41786}
41787
41788// WithdrawByoipCidrWithContext is the same as WithdrawByoipCidr with the addition of
41789// the ability to pass a context and additional request options.
41790//
41791// See WithdrawByoipCidr for details on how to use this API operation.
41792//
41793// The context must be non-nil and will be used for request cancellation. If
41794// the context is nil a panic will occur. In the future the SDK may create
41795// sub-contexts for http.Requests. See https://golang.org/pkg/context/
41796// for more information on using Contexts.
41797func (c *EC2) WithdrawByoipCidrWithContext(ctx aws.Context, input *WithdrawByoipCidrInput, opts ...request.Option) (*WithdrawByoipCidrOutput, error) {
41798	req, out := c.WithdrawByoipCidrRequest(input)
41799	req.SetContext(ctx)
41800	req.ApplyOptions(opts...)
41801	return out, req.Send()
41802}
41803
41804// Contains the parameters for accepting the quote.
41805type AcceptReservedInstancesExchangeQuoteInput struct {
41806	_ struct{} `type:"structure"`
41807
41808	// Checks whether you have the required permissions for the action, without
41809	// actually making the request, and provides an error response. If you have
41810	// the required permissions, the error response is DryRunOperation. Otherwise,
41811	// it is UnauthorizedOperation.
41812	DryRun *bool `type:"boolean"`
41813
41814	// The IDs of the Convertible Reserved Instances to exchange for another Convertible
41815	// Reserved Instance of the same or higher value.
41816	//
41817	// ReservedInstanceIds is a required field
41818	ReservedInstanceIds []*string `locationName:"ReservedInstanceId" locationNameList:"ReservedInstanceId" type:"list" required:"true"`
41819
41820	// The configuration of the target Convertible Reserved Instance to exchange
41821	// for your current Convertible Reserved Instances.
41822	TargetConfigurations []*TargetConfigurationRequest `locationName:"TargetConfiguration" locationNameList:"TargetConfigurationRequest" type:"list"`
41823}
41824
41825// String returns the string representation
41826func (s AcceptReservedInstancesExchangeQuoteInput) String() string {
41827	return awsutil.Prettify(s)
41828}
41829
41830// GoString returns the string representation
41831func (s AcceptReservedInstancesExchangeQuoteInput) GoString() string {
41832	return s.String()
41833}
41834
41835// Validate inspects the fields of the type to determine if they are valid.
41836func (s *AcceptReservedInstancesExchangeQuoteInput) Validate() error {
41837	invalidParams := request.ErrInvalidParams{Context: "AcceptReservedInstancesExchangeQuoteInput"}
41838	if s.ReservedInstanceIds == nil {
41839		invalidParams.Add(request.NewErrParamRequired("ReservedInstanceIds"))
41840	}
41841	if s.TargetConfigurations != nil {
41842		for i, v := range s.TargetConfigurations {
41843			if v == nil {
41844				continue
41845			}
41846			if err := v.Validate(); err != nil {
41847				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetConfigurations", i), err.(request.ErrInvalidParams))
41848			}
41849		}
41850	}
41851
41852	if invalidParams.Len() > 0 {
41853		return invalidParams
41854	}
41855	return nil
41856}
41857
41858// SetDryRun sets the DryRun field's value.
41859func (s *AcceptReservedInstancesExchangeQuoteInput) SetDryRun(v bool) *AcceptReservedInstancesExchangeQuoteInput {
41860	s.DryRun = &v
41861	return s
41862}
41863
41864// SetReservedInstanceIds sets the ReservedInstanceIds field's value.
41865func (s *AcceptReservedInstancesExchangeQuoteInput) SetReservedInstanceIds(v []*string) *AcceptReservedInstancesExchangeQuoteInput {
41866	s.ReservedInstanceIds = v
41867	return s
41868}
41869
41870// SetTargetConfigurations sets the TargetConfigurations field's value.
41871func (s *AcceptReservedInstancesExchangeQuoteInput) SetTargetConfigurations(v []*TargetConfigurationRequest) *AcceptReservedInstancesExchangeQuoteInput {
41872	s.TargetConfigurations = v
41873	return s
41874}
41875
41876// The result of the exchange and whether it was successful.
41877type AcceptReservedInstancesExchangeQuoteOutput struct {
41878	_ struct{} `type:"structure"`
41879
41880	// The ID of the successful exchange.
41881	ExchangeId *string `locationName:"exchangeId" type:"string"`
41882}
41883
41884// String returns the string representation
41885func (s AcceptReservedInstancesExchangeQuoteOutput) String() string {
41886	return awsutil.Prettify(s)
41887}
41888
41889// GoString returns the string representation
41890func (s AcceptReservedInstancesExchangeQuoteOutput) GoString() string {
41891	return s.String()
41892}
41893
41894// SetExchangeId sets the ExchangeId field's value.
41895func (s *AcceptReservedInstancesExchangeQuoteOutput) SetExchangeId(v string) *AcceptReservedInstancesExchangeQuoteOutput {
41896	s.ExchangeId = &v
41897	return s
41898}
41899
41900type AcceptTransitGatewayMulticastDomainAssociationsInput struct {
41901	_ struct{} `type:"structure"`
41902
41903	// Checks whether you have the required permissions for the action, without
41904	// actually making the request, and provides an error response. If you have
41905	// the required permissions, the error response is DryRunOperation. Otherwise,
41906	// it is UnauthorizedOperation.
41907	DryRun *bool `type:"boolean"`
41908
41909	// The IDs of the subnets to associate with the transit gateway multicast domain.
41910	SubnetIds []*string `locationNameList:"item" type:"list"`
41911
41912	// The ID of the transit gateway attachment.
41913	TransitGatewayAttachmentId *string `type:"string"`
41914
41915	// The ID of the transit gateway multicast domain.
41916	TransitGatewayMulticastDomainId *string `type:"string"`
41917}
41918
41919// String returns the string representation
41920func (s AcceptTransitGatewayMulticastDomainAssociationsInput) String() string {
41921	return awsutil.Prettify(s)
41922}
41923
41924// GoString returns the string representation
41925func (s AcceptTransitGatewayMulticastDomainAssociationsInput) GoString() string {
41926	return s.String()
41927}
41928
41929// SetDryRun sets the DryRun field's value.
41930func (s *AcceptTransitGatewayMulticastDomainAssociationsInput) SetDryRun(v bool) *AcceptTransitGatewayMulticastDomainAssociationsInput {
41931	s.DryRun = &v
41932	return s
41933}
41934
41935// SetSubnetIds sets the SubnetIds field's value.
41936func (s *AcceptTransitGatewayMulticastDomainAssociationsInput) SetSubnetIds(v []*string) *AcceptTransitGatewayMulticastDomainAssociationsInput {
41937	s.SubnetIds = v
41938	return s
41939}
41940
41941// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
41942func (s *AcceptTransitGatewayMulticastDomainAssociationsInput) SetTransitGatewayAttachmentId(v string) *AcceptTransitGatewayMulticastDomainAssociationsInput {
41943	s.TransitGatewayAttachmentId = &v
41944	return s
41945}
41946
41947// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
41948func (s *AcceptTransitGatewayMulticastDomainAssociationsInput) SetTransitGatewayMulticastDomainId(v string) *AcceptTransitGatewayMulticastDomainAssociationsInput {
41949	s.TransitGatewayMulticastDomainId = &v
41950	return s
41951}
41952
41953type AcceptTransitGatewayMulticastDomainAssociationsOutput struct {
41954	_ struct{} `type:"structure"`
41955
41956	// Describes the multicast domain associations.
41957	Associations *TransitGatewayMulticastDomainAssociations `locationName:"associations" type:"structure"`
41958}
41959
41960// String returns the string representation
41961func (s AcceptTransitGatewayMulticastDomainAssociationsOutput) String() string {
41962	return awsutil.Prettify(s)
41963}
41964
41965// GoString returns the string representation
41966func (s AcceptTransitGatewayMulticastDomainAssociationsOutput) GoString() string {
41967	return s.String()
41968}
41969
41970// SetAssociations sets the Associations field's value.
41971func (s *AcceptTransitGatewayMulticastDomainAssociationsOutput) SetAssociations(v *TransitGatewayMulticastDomainAssociations) *AcceptTransitGatewayMulticastDomainAssociationsOutput {
41972	s.Associations = v
41973	return s
41974}
41975
41976type AcceptTransitGatewayPeeringAttachmentInput struct {
41977	_ struct{} `type:"structure"`
41978
41979	// Checks whether you have the required permissions for the action, without
41980	// actually making the request, and provides an error response. If you have
41981	// the required permissions, the error response is DryRunOperation. Otherwise,
41982	// it is UnauthorizedOperation.
41983	DryRun *bool `type:"boolean"`
41984
41985	// The ID of the transit gateway attachment.
41986	//
41987	// TransitGatewayAttachmentId is a required field
41988	TransitGatewayAttachmentId *string `type:"string" required:"true"`
41989}
41990
41991// String returns the string representation
41992func (s AcceptTransitGatewayPeeringAttachmentInput) String() string {
41993	return awsutil.Prettify(s)
41994}
41995
41996// GoString returns the string representation
41997func (s AcceptTransitGatewayPeeringAttachmentInput) GoString() string {
41998	return s.String()
41999}
42000
42001// Validate inspects the fields of the type to determine if they are valid.
42002func (s *AcceptTransitGatewayPeeringAttachmentInput) Validate() error {
42003	invalidParams := request.ErrInvalidParams{Context: "AcceptTransitGatewayPeeringAttachmentInput"}
42004	if s.TransitGatewayAttachmentId == nil {
42005		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
42006	}
42007
42008	if invalidParams.Len() > 0 {
42009		return invalidParams
42010	}
42011	return nil
42012}
42013
42014// SetDryRun sets the DryRun field's value.
42015func (s *AcceptTransitGatewayPeeringAttachmentInput) SetDryRun(v bool) *AcceptTransitGatewayPeeringAttachmentInput {
42016	s.DryRun = &v
42017	return s
42018}
42019
42020// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
42021func (s *AcceptTransitGatewayPeeringAttachmentInput) SetTransitGatewayAttachmentId(v string) *AcceptTransitGatewayPeeringAttachmentInput {
42022	s.TransitGatewayAttachmentId = &v
42023	return s
42024}
42025
42026type AcceptTransitGatewayPeeringAttachmentOutput struct {
42027	_ struct{} `type:"structure"`
42028
42029	// The transit gateway peering attachment.
42030	TransitGatewayPeeringAttachment *TransitGatewayPeeringAttachment `locationName:"transitGatewayPeeringAttachment" type:"structure"`
42031}
42032
42033// String returns the string representation
42034func (s AcceptTransitGatewayPeeringAttachmentOutput) String() string {
42035	return awsutil.Prettify(s)
42036}
42037
42038// GoString returns the string representation
42039func (s AcceptTransitGatewayPeeringAttachmentOutput) GoString() string {
42040	return s.String()
42041}
42042
42043// SetTransitGatewayPeeringAttachment sets the TransitGatewayPeeringAttachment field's value.
42044func (s *AcceptTransitGatewayPeeringAttachmentOutput) SetTransitGatewayPeeringAttachment(v *TransitGatewayPeeringAttachment) *AcceptTransitGatewayPeeringAttachmentOutput {
42045	s.TransitGatewayPeeringAttachment = v
42046	return s
42047}
42048
42049type AcceptTransitGatewayVpcAttachmentInput struct {
42050	_ struct{} `type:"structure"`
42051
42052	// Checks whether you have the required permissions for the action, without
42053	// actually making the request, and provides an error response. If you have
42054	// the required permissions, the error response is DryRunOperation. Otherwise,
42055	// it is UnauthorizedOperation.
42056	DryRun *bool `type:"boolean"`
42057
42058	// The ID of the attachment.
42059	//
42060	// TransitGatewayAttachmentId is a required field
42061	TransitGatewayAttachmentId *string `type:"string" required:"true"`
42062}
42063
42064// String returns the string representation
42065func (s AcceptTransitGatewayVpcAttachmentInput) String() string {
42066	return awsutil.Prettify(s)
42067}
42068
42069// GoString returns the string representation
42070func (s AcceptTransitGatewayVpcAttachmentInput) GoString() string {
42071	return s.String()
42072}
42073
42074// Validate inspects the fields of the type to determine if they are valid.
42075func (s *AcceptTransitGatewayVpcAttachmentInput) Validate() error {
42076	invalidParams := request.ErrInvalidParams{Context: "AcceptTransitGatewayVpcAttachmentInput"}
42077	if s.TransitGatewayAttachmentId == nil {
42078		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
42079	}
42080
42081	if invalidParams.Len() > 0 {
42082		return invalidParams
42083	}
42084	return nil
42085}
42086
42087// SetDryRun sets the DryRun field's value.
42088func (s *AcceptTransitGatewayVpcAttachmentInput) SetDryRun(v bool) *AcceptTransitGatewayVpcAttachmentInput {
42089	s.DryRun = &v
42090	return s
42091}
42092
42093// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
42094func (s *AcceptTransitGatewayVpcAttachmentInput) SetTransitGatewayAttachmentId(v string) *AcceptTransitGatewayVpcAttachmentInput {
42095	s.TransitGatewayAttachmentId = &v
42096	return s
42097}
42098
42099type AcceptTransitGatewayVpcAttachmentOutput struct {
42100	_ struct{} `type:"structure"`
42101
42102	// The VPC attachment.
42103	TransitGatewayVpcAttachment *TransitGatewayVpcAttachment `locationName:"transitGatewayVpcAttachment" type:"structure"`
42104}
42105
42106// String returns the string representation
42107func (s AcceptTransitGatewayVpcAttachmentOutput) String() string {
42108	return awsutil.Prettify(s)
42109}
42110
42111// GoString returns the string representation
42112func (s AcceptTransitGatewayVpcAttachmentOutput) GoString() string {
42113	return s.String()
42114}
42115
42116// SetTransitGatewayVpcAttachment sets the TransitGatewayVpcAttachment field's value.
42117func (s *AcceptTransitGatewayVpcAttachmentOutput) SetTransitGatewayVpcAttachment(v *TransitGatewayVpcAttachment) *AcceptTransitGatewayVpcAttachmentOutput {
42118	s.TransitGatewayVpcAttachment = v
42119	return s
42120}
42121
42122type AcceptVpcEndpointConnectionsInput struct {
42123	_ struct{} `type:"structure"`
42124
42125	// Checks whether you have the required permissions for the action, without
42126	// actually making the request, and provides an error response. If you have
42127	// the required permissions, the error response is DryRunOperation. Otherwise,
42128	// it is UnauthorizedOperation.
42129	DryRun *bool `type:"boolean"`
42130
42131	// The ID of the VPC endpoint service.
42132	//
42133	// ServiceId is a required field
42134	ServiceId *string `type:"string" required:"true"`
42135
42136	// The IDs of one or more interface VPC endpoints.
42137	//
42138	// VpcEndpointIds is a required field
42139	VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list" required:"true"`
42140}
42141
42142// String returns the string representation
42143func (s AcceptVpcEndpointConnectionsInput) String() string {
42144	return awsutil.Prettify(s)
42145}
42146
42147// GoString returns the string representation
42148func (s AcceptVpcEndpointConnectionsInput) GoString() string {
42149	return s.String()
42150}
42151
42152// Validate inspects the fields of the type to determine if they are valid.
42153func (s *AcceptVpcEndpointConnectionsInput) Validate() error {
42154	invalidParams := request.ErrInvalidParams{Context: "AcceptVpcEndpointConnectionsInput"}
42155	if s.ServiceId == nil {
42156		invalidParams.Add(request.NewErrParamRequired("ServiceId"))
42157	}
42158	if s.VpcEndpointIds == nil {
42159		invalidParams.Add(request.NewErrParamRequired("VpcEndpointIds"))
42160	}
42161
42162	if invalidParams.Len() > 0 {
42163		return invalidParams
42164	}
42165	return nil
42166}
42167
42168// SetDryRun sets the DryRun field's value.
42169func (s *AcceptVpcEndpointConnectionsInput) SetDryRun(v bool) *AcceptVpcEndpointConnectionsInput {
42170	s.DryRun = &v
42171	return s
42172}
42173
42174// SetServiceId sets the ServiceId field's value.
42175func (s *AcceptVpcEndpointConnectionsInput) SetServiceId(v string) *AcceptVpcEndpointConnectionsInput {
42176	s.ServiceId = &v
42177	return s
42178}
42179
42180// SetVpcEndpointIds sets the VpcEndpointIds field's value.
42181func (s *AcceptVpcEndpointConnectionsInput) SetVpcEndpointIds(v []*string) *AcceptVpcEndpointConnectionsInput {
42182	s.VpcEndpointIds = v
42183	return s
42184}
42185
42186type AcceptVpcEndpointConnectionsOutput struct {
42187	_ struct{} `type:"structure"`
42188
42189	// Information about the interface endpoints that were not accepted, if applicable.
42190	Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
42191}
42192
42193// String returns the string representation
42194func (s AcceptVpcEndpointConnectionsOutput) String() string {
42195	return awsutil.Prettify(s)
42196}
42197
42198// GoString returns the string representation
42199func (s AcceptVpcEndpointConnectionsOutput) GoString() string {
42200	return s.String()
42201}
42202
42203// SetUnsuccessful sets the Unsuccessful field's value.
42204func (s *AcceptVpcEndpointConnectionsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *AcceptVpcEndpointConnectionsOutput {
42205	s.Unsuccessful = v
42206	return s
42207}
42208
42209type AcceptVpcPeeringConnectionInput struct {
42210	_ struct{} `type:"structure"`
42211
42212	// Checks whether you have the required permissions for the action, without
42213	// actually making the request, and provides an error response. If you have
42214	// the required permissions, the error response is DryRunOperation. Otherwise,
42215	// it is UnauthorizedOperation.
42216	DryRun *bool `locationName:"dryRun" type:"boolean"`
42217
42218	// The ID of the VPC peering connection. You must specify this parameter in
42219	// the request.
42220	VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
42221}
42222
42223// String returns the string representation
42224func (s AcceptVpcPeeringConnectionInput) String() string {
42225	return awsutil.Prettify(s)
42226}
42227
42228// GoString returns the string representation
42229func (s AcceptVpcPeeringConnectionInput) GoString() string {
42230	return s.String()
42231}
42232
42233// SetDryRun sets the DryRun field's value.
42234func (s *AcceptVpcPeeringConnectionInput) SetDryRun(v bool) *AcceptVpcPeeringConnectionInput {
42235	s.DryRun = &v
42236	return s
42237}
42238
42239// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
42240func (s *AcceptVpcPeeringConnectionInput) SetVpcPeeringConnectionId(v string) *AcceptVpcPeeringConnectionInput {
42241	s.VpcPeeringConnectionId = &v
42242	return s
42243}
42244
42245type AcceptVpcPeeringConnectionOutput struct {
42246	_ struct{} `type:"structure"`
42247
42248	// Information about the VPC peering connection.
42249	VpcPeeringConnection *VpcPeeringConnection `locationName:"vpcPeeringConnection" type:"structure"`
42250}
42251
42252// String returns the string representation
42253func (s AcceptVpcPeeringConnectionOutput) String() string {
42254	return awsutil.Prettify(s)
42255}
42256
42257// GoString returns the string representation
42258func (s AcceptVpcPeeringConnectionOutput) GoString() string {
42259	return s.String()
42260}
42261
42262// SetVpcPeeringConnection sets the VpcPeeringConnection field's value.
42263func (s *AcceptVpcPeeringConnectionOutput) SetVpcPeeringConnection(v *VpcPeeringConnection) *AcceptVpcPeeringConnectionOutput {
42264	s.VpcPeeringConnection = v
42265	return s
42266}
42267
42268// Describes an account attribute.
42269type AccountAttribute struct {
42270	_ struct{} `type:"structure"`
42271
42272	// The name of the account attribute.
42273	AttributeName *string `locationName:"attributeName" type:"string"`
42274
42275	// The values for the account attribute.
42276	AttributeValues []*AccountAttributeValue `locationName:"attributeValueSet" locationNameList:"item" type:"list"`
42277}
42278
42279// String returns the string representation
42280func (s AccountAttribute) String() string {
42281	return awsutil.Prettify(s)
42282}
42283
42284// GoString returns the string representation
42285func (s AccountAttribute) GoString() string {
42286	return s.String()
42287}
42288
42289// SetAttributeName sets the AttributeName field's value.
42290func (s *AccountAttribute) SetAttributeName(v string) *AccountAttribute {
42291	s.AttributeName = &v
42292	return s
42293}
42294
42295// SetAttributeValues sets the AttributeValues field's value.
42296func (s *AccountAttribute) SetAttributeValues(v []*AccountAttributeValue) *AccountAttribute {
42297	s.AttributeValues = v
42298	return s
42299}
42300
42301// Describes a value of an account attribute.
42302type AccountAttributeValue struct {
42303	_ struct{} `type:"structure"`
42304
42305	// The value of the attribute.
42306	AttributeValue *string `locationName:"attributeValue" type:"string"`
42307}
42308
42309// String returns the string representation
42310func (s AccountAttributeValue) String() string {
42311	return awsutil.Prettify(s)
42312}
42313
42314// GoString returns the string representation
42315func (s AccountAttributeValue) GoString() string {
42316	return s.String()
42317}
42318
42319// SetAttributeValue sets the AttributeValue field's value.
42320func (s *AccountAttributeValue) SetAttributeValue(v string) *AccountAttributeValue {
42321	s.AttributeValue = &v
42322	return s
42323}
42324
42325// Describes a running instance in a Spot Fleet.
42326type ActiveInstance struct {
42327	_ struct{} `type:"structure"`
42328
42329	// The health status of the instance. If the status of either the instance status
42330	// check or the system status check is impaired, the health status of the instance
42331	// is unhealthy. Otherwise, the health status is healthy.
42332	InstanceHealth *string `locationName:"instanceHealth" type:"string" enum:"InstanceHealthStatus"`
42333
42334	// The ID of the instance.
42335	InstanceId *string `locationName:"instanceId" type:"string"`
42336
42337	// The instance type.
42338	InstanceType *string `locationName:"instanceType" type:"string"`
42339
42340	// The ID of the Spot Instance request.
42341	SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
42342}
42343
42344// String returns the string representation
42345func (s ActiveInstance) String() string {
42346	return awsutil.Prettify(s)
42347}
42348
42349// GoString returns the string representation
42350func (s ActiveInstance) GoString() string {
42351	return s.String()
42352}
42353
42354// SetInstanceHealth sets the InstanceHealth field's value.
42355func (s *ActiveInstance) SetInstanceHealth(v string) *ActiveInstance {
42356	s.InstanceHealth = &v
42357	return s
42358}
42359
42360// SetInstanceId sets the InstanceId field's value.
42361func (s *ActiveInstance) SetInstanceId(v string) *ActiveInstance {
42362	s.InstanceId = &v
42363	return s
42364}
42365
42366// SetInstanceType sets the InstanceType field's value.
42367func (s *ActiveInstance) SetInstanceType(v string) *ActiveInstance {
42368	s.InstanceType = &v
42369	return s
42370}
42371
42372// SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
42373func (s *ActiveInstance) SetSpotInstanceRequestId(v string) *ActiveInstance {
42374	s.SpotInstanceRequestId = &v
42375	return s
42376}
42377
42378// An entry for a prefix list.
42379type AddPrefixListEntry struct {
42380	_ struct{} `type:"structure"`
42381
42382	// The CIDR block.
42383	//
42384	// Cidr is a required field
42385	Cidr *string `type:"string" required:"true"`
42386
42387	// A description for the entry.
42388	//
42389	// Constraints: Up to 255 characters in length.
42390	Description *string `type:"string"`
42391}
42392
42393// String returns the string representation
42394func (s AddPrefixListEntry) String() string {
42395	return awsutil.Prettify(s)
42396}
42397
42398// GoString returns the string representation
42399func (s AddPrefixListEntry) GoString() string {
42400	return s.String()
42401}
42402
42403// Validate inspects the fields of the type to determine if they are valid.
42404func (s *AddPrefixListEntry) Validate() error {
42405	invalidParams := request.ErrInvalidParams{Context: "AddPrefixListEntry"}
42406	if s.Cidr == nil {
42407		invalidParams.Add(request.NewErrParamRequired("Cidr"))
42408	}
42409
42410	if invalidParams.Len() > 0 {
42411		return invalidParams
42412	}
42413	return nil
42414}
42415
42416// SetCidr sets the Cidr field's value.
42417func (s *AddPrefixListEntry) SetCidr(v string) *AddPrefixListEntry {
42418	s.Cidr = &v
42419	return s
42420}
42421
42422// SetDescription sets the Description field's value.
42423func (s *AddPrefixListEntry) SetDescription(v string) *AddPrefixListEntry {
42424	s.Description = &v
42425	return s
42426}
42427
42428// Describes an Elastic IP address, or a carrier IP address.
42429type Address struct {
42430	_ struct{} `type:"structure"`
42431
42432	// The ID representing the allocation of the address for use with EC2-VPC.
42433	AllocationId *string `locationName:"allocationId" type:"string"`
42434
42435	// The ID representing the association of the address with an instance in a
42436	// VPC.
42437	AssociationId *string `locationName:"associationId" type:"string"`
42438
42439	// The carrier IP address associated. This option is only available for network
42440	// interfaces which reside in a subnet in a Wavelength Zone (for example an
42441	// EC2 instance).
42442	CarrierIp *string `locationName:"carrierIp" type:"string"`
42443
42444	// The customer-owned IP address.
42445	CustomerOwnedIp *string `locationName:"customerOwnedIp" type:"string"`
42446
42447	// The ID of the customer-owned address pool.
42448	CustomerOwnedIpv4Pool *string `locationName:"customerOwnedIpv4Pool" type:"string"`
42449
42450	// Indicates whether this Elastic IP address is for use with instances in EC2-Classic
42451	// (standard) or instances in a VPC (vpc).
42452	Domain *string `locationName:"domain" type:"string" enum:"DomainType"`
42453
42454	// The ID of the instance that the address is associated with (if any).
42455	InstanceId *string `locationName:"instanceId" type:"string"`
42456
42457	// The name of the unique set of Availability Zones, Local Zones, or Wavelength
42458	// Zones from which AWS advertises IP addresses.
42459	NetworkBorderGroup *string `locationName:"networkBorderGroup" type:"string"`
42460
42461	// The ID of the network interface.
42462	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
42463
42464	// The ID of the AWS account that owns the network interface.
42465	NetworkInterfaceOwnerId *string `locationName:"networkInterfaceOwnerId" type:"string"`
42466
42467	// The private IP address associated with the Elastic IP address.
42468	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
42469
42470	// The Elastic IP address.
42471	PublicIp *string `locationName:"publicIp" type:"string"`
42472
42473	// The ID of an address pool.
42474	PublicIpv4Pool *string `locationName:"publicIpv4Pool" type:"string"`
42475
42476	// Any tags assigned to the Elastic IP address.
42477	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
42478}
42479
42480// String returns the string representation
42481func (s Address) String() string {
42482	return awsutil.Prettify(s)
42483}
42484
42485// GoString returns the string representation
42486func (s Address) GoString() string {
42487	return s.String()
42488}
42489
42490// SetAllocationId sets the AllocationId field's value.
42491func (s *Address) SetAllocationId(v string) *Address {
42492	s.AllocationId = &v
42493	return s
42494}
42495
42496// SetAssociationId sets the AssociationId field's value.
42497func (s *Address) SetAssociationId(v string) *Address {
42498	s.AssociationId = &v
42499	return s
42500}
42501
42502// SetCarrierIp sets the CarrierIp field's value.
42503func (s *Address) SetCarrierIp(v string) *Address {
42504	s.CarrierIp = &v
42505	return s
42506}
42507
42508// SetCustomerOwnedIp sets the CustomerOwnedIp field's value.
42509func (s *Address) SetCustomerOwnedIp(v string) *Address {
42510	s.CustomerOwnedIp = &v
42511	return s
42512}
42513
42514// SetCustomerOwnedIpv4Pool sets the CustomerOwnedIpv4Pool field's value.
42515func (s *Address) SetCustomerOwnedIpv4Pool(v string) *Address {
42516	s.CustomerOwnedIpv4Pool = &v
42517	return s
42518}
42519
42520// SetDomain sets the Domain field's value.
42521func (s *Address) SetDomain(v string) *Address {
42522	s.Domain = &v
42523	return s
42524}
42525
42526// SetInstanceId sets the InstanceId field's value.
42527func (s *Address) SetInstanceId(v string) *Address {
42528	s.InstanceId = &v
42529	return s
42530}
42531
42532// SetNetworkBorderGroup sets the NetworkBorderGroup field's value.
42533func (s *Address) SetNetworkBorderGroup(v string) *Address {
42534	s.NetworkBorderGroup = &v
42535	return s
42536}
42537
42538// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
42539func (s *Address) SetNetworkInterfaceId(v string) *Address {
42540	s.NetworkInterfaceId = &v
42541	return s
42542}
42543
42544// SetNetworkInterfaceOwnerId sets the NetworkInterfaceOwnerId field's value.
42545func (s *Address) SetNetworkInterfaceOwnerId(v string) *Address {
42546	s.NetworkInterfaceOwnerId = &v
42547	return s
42548}
42549
42550// SetPrivateIpAddress sets the PrivateIpAddress field's value.
42551func (s *Address) SetPrivateIpAddress(v string) *Address {
42552	s.PrivateIpAddress = &v
42553	return s
42554}
42555
42556// SetPublicIp sets the PublicIp field's value.
42557func (s *Address) SetPublicIp(v string) *Address {
42558	s.PublicIp = &v
42559	return s
42560}
42561
42562// SetPublicIpv4Pool sets the PublicIpv4Pool field's value.
42563func (s *Address) SetPublicIpv4Pool(v string) *Address {
42564	s.PublicIpv4Pool = &v
42565	return s
42566}
42567
42568// SetTags sets the Tags field's value.
42569func (s *Address) SetTags(v []*Tag) *Address {
42570	s.Tags = v
42571	return s
42572}
42573
42574// The attributes associated with an Elastic IP address.
42575type AddressAttribute struct {
42576	_ struct{} `type:"structure"`
42577
42578	// [EC2-VPC] The allocation ID.
42579	AllocationId *string `locationName:"allocationId" type:"string"`
42580
42581	// The pointer (PTR) record for the IP address.
42582	PtrRecord *string `locationName:"ptrRecord" type:"string"`
42583
42584	// The updated PTR record for the IP address.
42585	PtrRecordUpdate *PtrUpdateStatus `locationName:"ptrRecordUpdate" type:"structure"`
42586
42587	// The public IP address.
42588	PublicIp *string `locationName:"publicIp" type:"string"`
42589}
42590
42591// String returns the string representation
42592func (s AddressAttribute) String() string {
42593	return awsutil.Prettify(s)
42594}
42595
42596// GoString returns the string representation
42597func (s AddressAttribute) GoString() string {
42598	return s.String()
42599}
42600
42601// SetAllocationId sets the AllocationId field's value.
42602func (s *AddressAttribute) SetAllocationId(v string) *AddressAttribute {
42603	s.AllocationId = &v
42604	return s
42605}
42606
42607// SetPtrRecord sets the PtrRecord field's value.
42608func (s *AddressAttribute) SetPtrRecord(v string) *AddressAttribute {
42609	s.PtrRecord = &v
42610	return s
42611}
42612
42613// SetPtrRecordUpdate sets the PtrRecordUpdate field's value.
42614func (s *AddressAttribute) SetPtrRecordUpdate(v *PtrUpdateStatus) *AddressAttribute {
42615	s.PtrRecordUpdate = v
42616	return s
42617}
42618
42619// SetPublicIp sets the PublicIp field's value.
42620func (s *AddressAttribute) SetPublicIp(v string) *AddressAttribute {
42621	s.PublicIp = &v
42622	return s
42623}
42624
42625type AdvertiseByoipCidrInput struct {
42626	_ struct{} `type:"structure"`
42627
42628	// The address range, in CIDR notation. This must be the exact range that you
42629	// provisioned. You can't advertise only a portion of the provisioned range.
42630	//
42631	// Cidr is a required field
42632	Cidr *string `type:"string" required:"true"`
42633
42634	// Checks whether you have the required permissions for the action, without
42635	// actually making the request, and provides an error response. If you have
42636	// the required permissions, the error response is DryRunOperation. Otherwise,
42637	// it is UnauthorizedOperation.
42638	DryRun *bool `type:"boolean"`
42639}
42640
42641// String returns the string representation
42642func (s AdvertiseByoipCidrInput) String() string {
42643	return awsutil.Prettify(s)
42644}
42645
42646// GoString returns the string representation
42647func (s AdvertiseByoipCidrInput) GoString() string {
42648	return s.String()
42649}
42650
42651// Validate inspects the fields of the type to determine if they are valid.
42652func (s *AdvertiseByoipCidrInput) Validate() error {
42653	invalidParams := request.ErrInvalidParams{Context: "AdvertiseByoipCidrInput"}
42654	if s.Cidr == nil {
42655		invalidParams.Add(request.NewErrParamRequired("Cidr"))
42656	}
42657
42658	if invalidParams.Len() > 0 {
42659		return invalidParams
42660	}
42661	return nil
42662}
42663
42664// SetCidr sets the Cidr field's value.
42665func (s *AdvertiseByoipCidrInput) SetCidr(v string) *AdvertiseByoipCidrInput {
42666	s.Cidr = &v
42667	return s
42668}
42669
42670// SetDryRun sets the DryRun field's value.
42671func (s *AdvertiseByoipCidrInput) SetDryRun(v bool) *AdvertiseByoipCidrInput {
42672	s.DryRun = &v
42673	return s
42674}
42675
42676type AdvertiseByoipCidrOutput struct {
42677	_ struct{} `type:"structure"`
42678
42679	// Information about the address range.
42680	ByoipCidr *ByoipCidr `locationName:"byoipCidr" type:"structure"`
42681}
42682
42683// String returns the string representation
42684func (s AdvertiseByoipCidrOutput) String() string {
42685	return awsutil.Prettify(s)
42686}
42687
42688// GoString returns the string representation
42689func (s AdvertiseByoipCidrOutput) GoString() string {
42690	return s.String()
42691}
42692
42693// SetByoipCidr sets the ByoipCidr field's value.
42694func (s *AdvertiseByoipCidrOutput) SetByoipCidr(v *ByoipCidr) *AdvertiseByoipCidrOutput {
42695	s.ByoipCidr = v
42696	return s
42697}
42698
42699type AllocateAddressInput struct {
42700	_ struct{} `type:"structure"`
42701
42702	// [EC2-VPC] The Elastic IP address to recover or an IPv4 address from an address
42703	// pool.
42704	Address *string `type:"string"`
42705
42706	// The ID of a customer-owned address pool. Use this parameter to let Amazon
42707	// EC2 select an address from the address pool. Alternatively, specify a specific
42708	// address from the address pool.
42709	CustomerOwnedIpv4Pool *string `type:"string"`
42710
42711	// Indicates whether the Elastic IP address is for use with instances in a VPC
42712	// or instances in EC2-Classic.
42713	//
42714	// Default: If the Region supports EC2-Classic, the default is standard. Otherwise,
42715	// the default is vpc.
42716	Domain *string `type:"string" enum:"DomainType"`
42717
42718	// Checks whether you have the required permissions for the action, without
42719	// actually making the request, and provides an error response. If you have
42720	// the required permissions, the error response is DryRunOperation. Otherwise,
42721	// it is UnauthorizedOperation.
42722	DryRun *bool `locationName:"dryRun" type:"boolean"`
42723
42724	// A unique set of Availability Zones, Local Zones, or Wavelength Zones from
42725	// which AWS advertises IP addresses. Use this parameter to limit the IP address
42726	// to this location. IP addresses cannot move between network border groups.
42727	//
42728	// Use DescribeAvailabilityZones (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAvailabilityZones.html)
42729	// to view the network border groups.
42730	//
42731	// You cannot use a network border group with EC2 Classic. If you attempt this
42732	// operation on EC2 classic, you will receive an InvalidParameterCombination
42733	// error. For more information, see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html).
42734	NetworkBorderGroup *string `type:"string"`
42735
42736	// The ID of an address pool that you own. Use this parameter to let Amazon
42737	// EC2 select an address from the address pool. To specify a specific address
42738	// from the address pool, use the Address parameter instead.
42739	PublicIpv4Pool *string `type:"string"`
42740
42741	// The tags to assign to the Elastic IP address.
42742	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
42743}
42744
42745// String returns the string representation
42746func (s AllocateAddressInput) String() string {
42747	return awsutil.Prettify(s)
42748}
42749
42750// GoString returns the string representation
42751func (s AllocateAddressInput) GoString() string {
42752	return s.String()
42753}
42754
42755// SetAddress sets the Address field's value.
42756func (s *AllocateAddressInput) SetAddress(v string) *AllocateAddressInput {
42757	s.Address = &v
42758	return s
42759}
42760
42761// SetCustomerOwnedIpv4Pool sets the CustomerOwnedIpv4Pool field's value.
42762func (s *AllocateAddressInput) SetCustomerOwnedIpv4Pool(v string) *AllocateAddressInput {
42763	s.CustomerOwnedIpv4Pool = &v
42764	return s
42765}
42766
42767// SetDomain sets the Domain field's value.
42768func (s *AllocateAddressInput) SetDomain(v string) *AllocateAddressInput {
42769	s.Domain = &v
42770	return s
42771}
42772
42773// SetDryRun sets the DryRun field's value.
42774func (s *AllocateAddressInput) SetDryRun(v bool) *AllocateAddressInput {
42775	s.DryRun = &v
42776	return s
42777}
42778
42779// SetNetworkBorderGroup sets the NetworkBorderGroup field's value.
42780func (s *AllocateAddressInput) SetNetworkBorderGroup(v string) *AllocateAddressInput {
42781	s.NetworkBorderGroup = &v
42782	return s
42783}
42784
42785// SetPublicIpv4Pool sets the PublicIpv4Pool field's value.
42786func (s *AllocateAddressInput) SetPublicIpv4Pool(v string) *AllocateAddressInput {
42787	s.PublicIpv4Pool = &v
42788	return s
42789}
42790
42791// SetTagSpecifications sets the TagSpecifications field's value.
42792func (s *AllocateAddressInput) SetTagSpecifications(v []*TagSpecification) *AllocateAddressInput {
42793	s.TagSpecifications = v
42794	return s
42795}
42796
42797type AllocateAddressOutput struct {
42798	_ struct{} `type:"structure"`
42799
42800	// [EC2-VPC] The ID that AWS assigns to represent the allocation of the Elastic
42801	// IP address for use with instances in a VPC.
42802	AllocationId *string `locationName:"allocationId" type:"string"`
42803
42804	// The carrier IP address. This option is only available for network interfaces
42805	// which reside in a subnet in a Wavelength Zone (for example an EC2 instance).
42806	CarrierIp *string `locationName:"carrierIp" type:"string"`
42807
42808	// The customer-owned IP address.
42809	CustomerOwnedIp *string `locationName:"customerOwnedIp" type:"string"`
42810
42811	// The ID of the customer-owned address pool.
42812	CustomerOwnedIpv4Pool *string `locationName:"customerOwnedIpv4Pool" type:"string"`
42813
42814	// Indicates whether the Elastic IP address is for use with instances in a VPC
42815	// (vpc) or instances in EC2-Classic (standard).
42816	Domain *string `locationName:"domain" type:"string" enum:"DomainType"`
42817
42818	// The set of Availability Zones, Local Zones, or Wavelength Zones from which
42819	// AWS advertises IP addresses.
42820	NetworkBorderGroup *string `locationName:"networkBorderGroup" type:"string"`
42821
42822	// The Elastic IP address.
42823	PublicIp *string `locationName:"publicIp" type:"string"`
42824
42825	// The ID of an address pool.
42826	PublicIpv4Pool *string `locationName:"publicIpv4Pool" type:"string"`
42827}
42828
42829// String returns the string representation
42830func (s AllocateAddressOutput) String() string {
42831	return awsutil.Prettify(s)
42832}
42833
42834// GoString returns the string representation
42835func (s AllocateAddressOutput) GoString() string {
42836	return s.String()
42837}
42838
42839// SetAllocationId sets the AllocationId field's value.
42840func (s *AllocateAddressOutput) SetAllocationId(v string) *AllocateAddressOutput {
42841	s.AllocationId = &v
42842	return s
42843}
42844
42845// SetCarrierIp sets the CarrierIp field's value.
42846func (s *AllocateAddressOutput) SetCarrierIp(v string) *AllocateAddressOutput {
42847	s.CarrierIp = &v
42848	return s
42849}
42850
42851// SetCustomerOwnedIp sets the CustomerOwnedIp field's value.
42852func (s *AllocateAddressOutput) SetCustomerOwnedIp(v string) *AllocateAddressOutput {
42853	s.CustomerOwnedIp = &v
42854	return s
42855}
42856
42857// SetCustomerOwnedIpv4Pool sets the CustomerOwnedIpv4Pool field's value.
42858func (s *AllocateAddressOutput) SetCustomerOwnedIpv4Pool(v string) *AllocateAddressOutput {
42859	s.CustomerOwnedIpv4Pool = &v
42860	return s
42861}
42862
42863// SetDomain sets the Domain field's value.
42864func (s *AllocateAddressOutput) SetDomain(v string) *AllocateAddressOutput {
42865	s.Domain = &v
42866	return s
42867}
42868
42869// SetNetworkBorderGroup sets the NetworkBorderGroup field's value.
42870func (s *AllocateAddressOutput) SetNetworkBorderGroup(v string) *AllocateAddressOutput {
42871	s.NetworkBorderGroup = &v
42872	return s
42873}
42874
42875// SetPublicIp sets the PublicIp field's value.
42876func (s *AllocateAddressOutput) SetPublicIp(v string) *AllocateAddressOutput {
42877	s.PublicIp = &v
42878	return s
42879}
42880
42881// SetPublicIpv4Pool sets the PublicIpv4Pool field's value.
42882func (s *AllocateAddressOutput) SetPublicIpv4Pool(v string) *AllocateAddressOutput {
42883	s.PublicIpv4Pool = &v
42884	return s
42885}
42886
42887type AllocateHostsInput struct {
42888	_ struct{} `type:"structure"`
42889
42890	// Indicates whether the host accepts any untargeted instance launches that
42891	// match its instance type configuration, or if it only accepts Host tenancy
42892	// instance launches that specify its unique host ID. For more information,
42893	// see Understanding auto-placement and affinity (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/how-dedicated-hosts-work.html#dedicated-hosts-understanding)
42894	// in the Amazon EC2 User Guide.
42895	//
42896	// Default: on
42897	AutoPlacement *string `locationName:"autoPlacement" type:"string" enum:"AutoPlacement"`
42898
42899	// The Availability Zone in which to allocate the Dedicated Host.
42900	//
42901	// AvailabilityZone is a required field
42902	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
42903
42904	// Unique, case-sensitive identifier that you provide to ensure the idempotency
42905	// of the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
42906	ClientToken *string `locationName:"clientToken" type:"string"`
42907
42908	// Indicates whether to enable or disable host recovery for the Dedicated Host.
42909	// Host recovery is disabled by default. For more information, see Host recovery
42910	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-recovery.html)
42911	// in the Amazon EC2 User Guide.
42912	//
42913	// Default: off
42914	HostRecovery *string `type:"string" enum:"HostRecovery"`
42915
42916	// Specifies the instance family to be supported by the Dedicated Hosts. If
42917	// you specify an instance family, the Dedicated Hosts support multiple instance
42918	// types within that instance family.
42919	//
42920	// If you want the Dedicated Hosts to support a specific instance type only,
42921	// omit this parameter and specify InstanceType instead. You cannot specify
42922	// InstanceFamily and InstanceType in the same request.
42923	InstanceFamily *string `type:"string"`
42924
42925	// Specifies the instance type to be supported by the Dedicated Hosts. If you
42926	// specify an instance type, the Dedicated Hosts support instances of the specified
42927	// instance type only.
42928	//
42929	// If you want the Dedicated Hosts to support multiple instance types in a specific
42930	// instance family, omit this parameter and specify InstanceFamily instead.
42931	// You cannot specify InstanceType and InstanceFamily in the same request.
42932	InstanceType *string `locationName:"instanceType" type:"string"`
42933
42934	// The number of Dedicated Hosts to allocate to your account with these parameters.
42935	//
42936	// Quantity is a required field
42937	Quantity *int64 `locationName:"quantity" type:"integer" required:"true"`
42938
42939	// The tags to apply to the Dedicated Host during creation.
42940	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
42941}
42942
42943// String returns the string representation
42944func (s AllocateHostsInput) String() string {
42945	return awsutil.Prettify(s)
42946}
42947
42948// GoString returns the string representation
42949func (s AllocateHostsInput) GoString() string {
42950	return s.String()
42951}
42952
42953// Validate inspects the fields of the type to determine if they are valid.
42954func (s *AllocateHostsInput) Validate() error {
42955	invalidParams := request.ErrInvalidParams{Context: "AllocateHostsInput"}
42956	if s.AvailabilityZone == nil {
42957		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
42958	}
42959	if s.Quantity == nil {
42960		invalidParams.Add(request.NewErrParamRequired("Quantity"))
42961	}
42962
42963	if invalidParams.Len() > 0 {
42964		return invalidParams
42965	}
42966	return nil
42967}
42968
42969// SetAutoPlacement sets the AutoPlacement field's value.
42970func (s *AllocateHostsInput) SetAutoPlacement(v string) *AllocateHostsInput {
42971	s.AutoPlacement = &v
42972	return s
42973}
42974
42975// SetAvailabilityZone sets the AvailabilityZone field's value.
42976func (s *AllocateHostsInput) SetAvailabilityZone(v string) *AllocateHostsInput {
42977	s.AvailabilityZone = &v
42978	return s
42979}
42980
42981// SetClientToken sets the ClientToken field's value.
42982func (s *AllocateHostsInput) SetClientToken(v string) *AllocateHostsInput {
42983	s.ClientToken = &v
42984	return s
42985}
42986
42987// SetHostRecovery sets the HostRecovery field's value.
42988func (s *AllocateHostsInput) SetHostRecovery(v string) *AllocateHostsInput {
42989	s.HostRecovery = &v
42990	return s
42991}
42992
42993// SetInstanceFamily sets the InstanceFamily field's value.
42994func (s *AllocateHostsInput) SetInstanceFamily(v string) *AllocateHostsInput {
42995	s.InstanceFamily = &v
42996	return s
42997}
42998
42999// SetInstanceType sets the InstanceType field's value.
43000func (s *AllocateHostsInput) SetInstanceType(v string) *AllocateHostsInput {
43001	s.InstanceType = &v
43002	return s
43003}
43004
43005// SetQuantity sets the Quantity field's value.
43006func (s *AllocateHostsInput) SetQuantity(v int64) *AllocateHostsInput {
43007	s.Quantity = &v
43008	return s
43009}
43010
43011// SetTagSpecifications sets the TagSpecifications field's value.
43012func (s *AllocateHostsInput) SetTagSpecifications(v []*TagSpecification) *AllocateHostsInput {
43013	s.TagSpecifications = v
43014	return s
43015}
43016
43017// Contains the output of AllocateHosts.
43018type AllocateHostsOutput struct {
43019	_ struct{} `type:"structure"`
43020
43021	// The ID of the allocated Dedicated Host. This is used to launch an instance
43022	// onto a specific host.
43023	HostIds []*string `locationName:"hostIdSet" locationNameList:"item" type:"list"`
43024}
43025
43026// String returns the string representation
43027func (s AllocateHostsOutput) String() string {
43028	return awsutil.Prettify(s)
43029}
43030
43031// GoString returns the string representation
43032func (s AllocateHostsOutput) GoString() string {
43033	return s.String()
43034}
43035
43036// SetHostIds sets the HostIds field's value.
43037func (s *AllocateHostsOutput) SetHostIds(v []*string) *AllocateHostsOutput {
43038	s.HostIds = v
43039	return s
43040}
43041
43042// Describes a principal.
43043type AllowedPrincipal struct {
43044	_ struct{} `type:"structure"`
43045
43046	// The Amazon Resource Name (ARN) of the principal.
43047	Principal *string `locationName:"principal" type:"string"`
43048
43049	// The type of principal.
43050	PrincipalType *string `locationName:"principalType" type:"string" enum:"PrincipalType"`
43051}
43052
43053// String returns the string representation
43054func (s AllowedPrincipal) String() string {
43055	return awsutil.Prettify(s)
43056}
43057
43058// GoString returns the string representation
43059func (s AllowedPrincipal) GoString() string {
43060	return s.String()
43061}
43062
43063// SetPrincipal sets the Principal field's value.
43064func (s *AllowedPrincipal) SetPrincipal(v string) *AllowedPrincipal {
43065	s.Principal = &v
43066	return s
43067}
43068
43069// SetPrincipalType sets the PrincipalType field's value.
43070func (s *AllowedPrincipal) SetPrincipalType(v string) *AllowedPrincipal {
43071	s.PrincipalType = &v
43072	return s
43073}
43074
43075// Describes an potential intermediate component of a feasible path.
43076type AlternatePathHint struct {
43077	_ struct{} `type:"structure"`
43078
43079	// The Amazon Resource Name (ARN) of the component.
43080	ComponentArn *string `locationName:"componentArn" type:"string"`
43081
43082	// The ID of the component.
43083	ComponentId *string `locationName:"componentId" type:"string"`
43084}
43085
43086// String returns the string representation
43087func (s AlternatePathHint) String() string {
43088	return awsutil.Prettify(s)
43089}
43090
43091// GoString returns the string representation
43092func (s AlternatePathHint) GoString() string {
43093	return s.String()
43094}
43095
43096// SetComponentArn sets the ComponentArn field's value.
43097func (s *AlternatePathHint) SetComponentArn(v string) *AlternatePathHint {
43098	s.ComponentArn = &v
43099	return s
43100}
43101
43102// SetComponentId sets the ComponentId field's value.
43103func (s *AlternatePathHint) SetComponentId(v string) *AlternatePathHint {
43104	s.ComponentId = &v
43105	return s
43106}
43107
43108// Describes a network access control (ACL) rule.
43109type AnalysisAclRule struct {
43110	_ struct{} `type:"structure"`
43111
43112	// The IPv4 address range, in CIDR notation.
43113	Cidr *string `locationName:"cidr" type:"string"`
43114
43115	// Indicates whether the rule is an outbound rule.
43116	Egress *bool `locationName:"egress" type:"boolean"`
43117
43118	// The range of ports.
43119	PortRange *PortRange `locationName:"portRange" type:"structure"`
43120
43121	// The protocol.
43122	Protocol *string `locationName:"protocol" type:"string"`
43123
43124	// Indicates whether to allow or deny traffic that matches the rule.
43125	RuleAction *string `locationName:"ruleAction" type:"string"`
43126
43127	// The rule number.
43128	RuleNumber *int64 `locationName:"ruleNumber" type:"integer"`
43129}
43130
43131// String returns the string representation
43132func (s AnalysisAclRule) String() string {
43133	return awsutil.Prettify(s)
43134}
43135
43136// GoString returns the string representation
43137func (s AnalysisAclRule) GoString() string {
43138	return s.String()
43139}
43140
43141// SetCidr sets the Cidr field's value.
43142func (s *AnalysisAclRule) SetCidr(v string) *AnalysisAclRule {
43143	s.Cidr = &v
43144	return s
43145}
43146
43147// SetEgress sets the Egress field's value.
43148func (s *AnalysisAclRule) SetEgress(v bool) *AnalysisAclRule {
43149	s.Egress = &v
43150	return s
43151}
43152
43153// SetPortRange sets the PortRange field's value.
43154func (s *AnalysisAclRule) SetPortRange(v *PortRange) *AnalysisAclRule {
43155	s.PortRange = v
43156	return s
43157}
43158
43159// SetProtocol sets the Protocol field's value.
43160func (s *AnalysisAclRule) SetProtocol(v string) *AnalysisAclRule {
43161	s.Protocol = &v
43162	return s
43163}
43164
43165// SetRuleAction sets the RuleAction field's value.
43166func (s *AnalysisAclRule) SetRuleAction(v string) *AnalysisAclRule {
43167	s.RuleAction = &v
43168	return s
43169}
43170
43171// SetRuleNumber sets the RuleNumber field's value.
43172func (s *AnalysisAclRule) SetRuleNumber(v int64) *AnalysisAclRule {
43173	s.RuleNumber = &v
43174	return s
43175}
43176
43177// Describes a path component.
43178type AnalysisComponent struct {
43179	_ struct{} `type:"structure"`
43180
43181	// The Amazon Resource Name (ARN) of the component.
43182	Arn *string `locationName:"arn" type:"string"`
43183
43184	// The ID of the component.
43185	Id *string `locationName:"id" type:"string"`
43186}
43187
43188// String returns the string representation
43189func (s AnalysisComponent) String() string {
43190	return awsutil.Prettify(s)
43191}
43192
43193// GoString returns the string representation
43194func (s AnalysisComponent) GoString() string {
43195	return s.String()
43196}
43197
43198// SetArn sets the Arn field's value.
43199func (s *AnalysisComponent) SetArn(v string) *AnalysisComponent {
43200	s.Arn = &v
43201	return s
43202}
43203
43204// SetId sets the Id field's value.
43205func (s *AnalysisComponent) SetId(v string) *AnalysisComponent {
43206	s.Id = &v
43207	return s
43208}
43209
43210// Describes a load balancer listener.
43211type AnalysisLoadBalancerListener struct {
43212	_ struct{} `type:"structure"`
43213
43214	// [Classic Load Balancers] The back-end port for the listener.
43215	InstancePort *int64 `locationName:"instancePort" min:"1" type:"integer"`
43216
43217	// The port on which the load balancer is listening.
43218	LoadBalancerPort *int64 `locationName:"loadBalancerPort" min:"1" type:"integer"`
43219}
43220
43221// String returns the string representation
43222func (s AnalysisLoadBalancerListener) String() string {
43223	return awsutil.Prettify(s)
43224}
43225
43226// GoString returns the string representation
43227func (s AnalysisLoadBalancerListener) GoString() string {
43228	return s.String()
43229}
43230
43231// SetInstancePort sets the InstancePort field's value.
43232func (s *AnalysisLoadBalancerListener) SetInstancePort(v int64) *AnalysisLoadBalancerListener {
43233	s.InstancePort = &v
43234	return s
43235}
43236
43237// SetLoadBalancerPort sets the LoadBalancerPort field's value.
43238func (s *AnalysisLoadBalancerListener) SetLoadBalancerPort(v int64) *AnalysisLoadBalancerListener {
43239	s.LoadBalancerPort = &v
43240	return s
43241}
43242
43243// Describes a load balancer target.
43244type AnalysisLoadBalancerTarget struct {
43245	_ struct{} `type:"structure"`
43246
43247	// The IP address.
43248	Address *string `locationName:"address" type:"string"`
43249
43250	// The Availability Zone.
43251	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
43252
43253	// Information about the instance.
43254	Instance *AnalysisComponent `locationName:"instance" type:"structure"`
43255
43256	// The port on which the target is listening.
43257	Port *int64 `locationName:"port" min:"1" type:"integer"`
43258}
43259
43260// String returns the string representation
43261func (s AnalysisLoadBalancerTarget) String() string {
43262	return awsutil.Prettify(s)
43263}
43264
43265// GoString returns the string representation
43266func (s AnalysisLoadBalancerTarget) GoString() string {
43267	return s.String()
43268}
43269
43270// SetAddress sets the Address field's value.
43271func (s *AnalysisLoadBalancerTarget) SetAddress(v string) *AnalysisLoadBalancerTarget {
43272	s.Address = &v
43273	return s
43274}
43275
43276// SetAvailabilityZone sets the AvailabilityZone field's value.
43277func (s *AnalysisLoadBalancerTarget) SetAvailabilityZone(v string) *AnalysisLoadBalancerTarget {
43278	s.AvailabilityZone = &v
43279	return s
43280}
43281
43282// SetInstance sets the Instance field's value.
43283func (s *AnalysisLoadBalancerTarget) SetInstance(v *AnalysisComponent) *AnalysisLoadBalancerTarget {
43284	s.Instance = v
43285	return s
43286}
43287
43288// SetPort sets the Port field's value.
43289func (s *AnalysisLoadBalancerTarget) SetPort(v int64) *AnalysisLoadBalancerTarget {
43290	s.Port = &v
43291	return s
43292}
43293
43294// Describes a header. Reflects any changes made by a component as traffic passes
43295// through. The fields of an inbound header are null except for the first component
43296// of a path.
43297type AnalysisPacketHeader struct {
43298	_ struct{} `type:"structure"`
43299
43300	// The destination addresses.
43301	DestinationAddresses []*string `locationName:"destinationAddressSet" locationNameList:"item" type:"list"`
43302
43303	// The destination port ranges.
43304	DestinationPortRanges []*PortRange `locationName:"destinationPortRangeSet" locationNameList:"item" type:"list"`
43305
43306	// The protocol.
43307	Protocol *string `locationName:"protocol" type:"string"`
43308
43309	// The source addresses.
43310	SourceAddresses []*string `locationName:"sourceAddressSet" locationNameList:"item" type:"list"`
43311
43312	// The source port ranges.
43313	SourcePortRanges []*PortRange `locationName:"sourcePortRangeSet" locationNameList:"item" type:"list"`
43314}
43315
43316// String returns the string representation
43317func (s AnalysisPacketHeader) String() string {
43318	return awsutil.Prettify(s)
43319}
43320
43321// GoString returns the string representation
43322func (s AnalysisPacketHeader) GoString() string {
43323	return s.String()
43324}
43325
43326// SetDestinationAddresses sets the DestinationAddresses field's value.
43327func (s *AnalysisPacketHeader) SetDestinationAddresses(v []*string) *AnalysisPacketHeader {
43328	s.DestinationAddresses = v
43329	return s
43330}
43331
43332// SetDestinationPortRanges sets the DestinationPortRanges field's value.
43333func (s *AnalysisPacketHeader) SetDestinationPortRanges(v []*PortRange) *AnalysisPacketHeader {
43334	s.DestinationPortRanges = v
43335	return s
43336}
43337
43338// SetProtocol sets the Protocol field's value.
43339func (s *AnalysisPacketHeader) SetProtocol(v string) *AnalysisPacketHeader {
43340	s.Protocol = &v
43341	return s
43342}
43343
43344// SetSourceAddresses sets the SourceAddresses field's value.
43345func (s *AnalysisPacketHeader) SetSourceAddresses(v []*string) *AnalysisPacketHeader {
43346	s.SourceAddresses = v
43347	return s
43348}
43349
43350// SetSourcePortRanges sets the SourcePortRanges field's value.
43351func (s *AnalysisPacketHeader) SetSourcePortRanges(v []*PortRange) *AnalysisPacketHeader {
43352	s.SourcePortRanges = v
43353	return s
43354}
43355
43356// Describes a route table route.
43357type AnalysisRouteTableRoute struct {
43358	_ struct{} `type:"structure"`
43359
43360	// The destination IPv4 address, in CIDR notation.
43361	DestinationCidr *string `locationName:"destinationCidr" type:"string"`
43362
43363	// The prefix of the AWS service.
43364	DestinationPrefixListId *string `locationName:"destinationPrefixListId" type:"string"`
43365
43366	// The ID of an egress-only internet gateway.
43367	EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
43368
43369	// The ID of the gateway, such as an internet gateway or virtual private gateway.
43370	GatewayId *string `locationName:"gatewayId" type:"string"`
43371
43372	// The ID of the instance, such as a NAT instance.
43373	InstanceId *string `locationName:"instanceId" type:"string"`
43374
43375	// The ID of a NAT gateway.
43376	NatGatewayId *string `locationName:"natGatewayId" type:"string"`
43377
43378	// The ID of a network interface.
43379	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
43380
43381	// Describes how the route was created. The following are possible values:
43382	//
43383	//    * CreateRouteTable - The route was automatically created when the route
43384	//    table was created.
43385	//
43386	//    * CreateRoute - The route was manually added to the route table.
43387	//
43388	//    * EnableVgwRoutePropagation - The route was propagated by route propagation.
43389	Origin *string `locationName:"origin" type:"string"`
43390
43391	// The ID of a transit gateway.
43392	TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
43393
43394	// The ID of a VPC peering connection.
43395	VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
43396}
43397
43398// String returns the string representation
43399func (s AnalysisRouteTableRoute) String() string {
43400	return awsutil.Prettify(s)
43401}
43402
43403// GoString returns the string representation
43404func (s AnalysisRouteTableRoute) GoString() string {
43405	return s.String()
43406}
43407
43408// SetDestinationCidr sets the DestinationCidr field's value.
43409func (s *AnalysisRouteTableRoute) SetDestinationCidr(v string) *AnalysisRouteTableRoute {
43410	s.DestinationCidr = &v
43411	return s
43412}
43413
43414// SetDestinationPrefixListId sets the DestinationPrefixListId field's value.
43415func (s *AnalysisRouteTableRoute) SetDestinationPrefixListId(v string) *AnalysisRouteTableRoute {
43416	s.DestinationPrefixListId = &v
43417	return s
43418}
43419
43420// SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
43421func (s *AnalysisRouteTableRoute) SetEgressOnlyInternetGatewayId(v string) *AnalysisRouteTableRoute {
43422	s.EgressOnlyInternetGatewayId = &v
43423	return s
43424}
43425
43426// SetGatewayId sets the GatewayId field's value.
43427func (s *AnalysisRouteTableRoute) SetGatewayId(v string) *AnalysisRouteTableRoute {
43428	s.GatewayId = &v
43429	return s
43430}
43431
43432// SetInstanceId sets the InstanceId field's value.
43433func (s *AnalysisRouteTableRoute) SetInstanceId(v string) *AnalysisRouteTableRoute {
43434	s.InstanceId = &v
43435	return s
43436}
43437
43438// SetNatGatewayId sets the NatGatewayId field's value.
43439func (s *AnalysisRouteTableRoute) SetNatGatewayId(v string) *AnalysisRouteTableRoute {
43440	s.NatGatewayId = &v
43441	return s
43442}
43443
43444// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
43445func (s *AnalysisRouteTableRoute) SetNetworkInterfaceId(v string) *AnalysisRouteTableRoute {
43446	s.NetworkInterfaceId = &v
43447	return s
43448}
43449
43450// SetOrigin sets the Origin field's value.
43451func (s *AnalysisRouteTableRoute) SetOrigin(v string) *AnalysisRouteTableRoute {
43452	s.Origin = &v
43453	return s
43454}
43455
43456// SetTransitGatewayId sets the TransitGatewayId field's value.
43457func (s *AnalysisRouteTableRoute) SetTransitGatewayId(v string) *AnalysisRouteTableRoute {
43458	s.TransitGatewayId = &v
43459	return s
43460}
43461
43462// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
43463func (s *AnalysisRouteTableRoute) SetVpcPeeringConnectionId(v string) *AnalysisRouteTableRoute {
43464	s.VpcPeeringConnectionId = &v
43465	return s
43466}
43467
43468// Describes a security group rule.
43469type AnalysisSecurityGroupRule struct {
43470	_ struct{} `type:"structure"`
43471
43472	// The IPv4 address range, in CIDR notation.
43473	Cidr *string `locationName:"cidr" type:"string"`
43474
43475	// The direction. The following are possible values:
43476	//
43477	//    * egress
43478	//
43479	//    * ingress
43480	Direction *string `locationName:"direction" type:"string"`
43481
43482	// The port range.
43483	PortRange *PortRange `locationName:"portRange" type:"structure"`
43484
43485	// The prefix list ID.
43486	PrefixListId *string `locationName:"prefixListId" type:"string"`
43487
43488	// The protocol name.
43489	Protocol *string `locationName:"protocol" type:"string"`
43490
43491	// The security group ID.
43492	SecurityGroupId *string `locationName:"securityGroupId" type:"string"`
43493}
43494
43495// String returns the string representation
43496func (s AnalysisSecurityGroupRule) String() string {
43497	return awsutil.Prettify(s)
43498}
43499
43500// GoString returns the string representation
43501func (s AnalysisSecurityGroupRule) GoString() string {
43502	return s.String()
43503}
43504
43505// SetCidr sets the Cidr field's value.
43506func (s *AnalysisSecurityGroupRule) SetCidr(v string) *AnalysisSecurityGroupRule {
43507	s.Cidr = &v
43508	return s
43509}
43510
43511// SetDirection sets the Direction field's value.
43512func (s *AnalysisSecurityGroupRule) SetDirection(v string) *AnalysisSecurityGroupRule {
43513	s.Direction = &v
43514	return s
43515}
43516
43517// SetPortRange sets the PortRange field's value.
43518func (s *AnalysisSecurityGroupRule) SetPortRange(v *PortRange) *AnalysisSecurityGroupRule {
43519	s.PortRange = v
43520	return s
43521}
43522
43523// SetPrefixListId sets the PrefixListId field's value.
43524func (s *AnalysisSecurityGroupRule) SetPrefixListId(v string) *AnalysisSecurityGroupRule {
43525	s.PrefixListId = &v
43526	return s
43527}
43528
43529// SetProtocol sets the Protocol field's value.
43530func (s *AnalysisSecurityGroupRule) SetProtocol(v string) *AnalysisSecurityGroupRule {
43531	s.Protocol = &v
43532	return s
43533}
43534
43535// SetSecurityGroupId sets the SecurityGroupId field's value.
43536func (s *AnalysisSecurityGroupRule) SetSecurityGroupId(v string) *AnalysisSecurityGroupRule {
43537	s.SecurityGroupId = &v
43538	return s
43539}
43540
43541type ApplySecurityGroupsToClientVpnTargetNetworkInput struct {
43542	_ struct{} `type:"structure"`
43543
43544	// The ID of the Client VPN endpoint.
43545	//
43546	// ClientVpnEndpointId is a required field
43547	ClientVpnEndpointId *string `type:"string" required:"true"`
43548
43549	// Checks whether you have the required permissions for the action, without
43550	// actually making the request, and provides an error response. If you have
43551	// the required permissions, the error response is DryRunOperation. Otherwise,
43552	// it is UnauthorizedOperation.
43553	DryRun *bool `type:"boolean"`
43554
43555	// The IDs of the security groups to apply to the associated target network.
43556	// Up to 5 security groups can be applied to an associated target network.
43557	//
43558	// SecurityGroupIds is a required field
43559	SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"item" type:"list" required:"true"`
43560
43561	// The ID of the VPC in which the associated target network is located.
43562	//
43563	// VpcId is a required field
43564	VpcId *string `type:"string" required:"true"`
43565}
43566
43567// String returns the string representation
43568func (s ApplySecurityGroupsToClientVpnTargetNetworkInput) String() string {
43569	return awsutil.Prettify(s)
43570}
43571
43572// GoString returns the string representation
43573func (s ApplySecurityGroupsToClientVpnTargetNetworkInput) GoString() string {
43574	return s.String()
43575}
43576
43577// Validate inspects the fields of the type to determine if they are valid.
43578func (s *ApplySecurityGroupsToClientVpnTargetNetworkInput) Validate() error {
43579	invalidParams := request.ErrInvalidParams{Context: "ApplySecurityGroupsToClientVpnTargetNetworkInput"}
43580	if s.ClientVpnEndpointId == nil {
43581		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
43582	}
43583	if s.SecurityGroupIds == nil {
43584		invalidParams.Add(request.NewErrParamRequired("SecurityGroupIds"))
43585	}
43586	if s.VpcId == nil {
43587		invalidParams.Add(request.NewErrParamRequired("VpcId"))
43588	}
43589
43590	if invalidParams.Len() > 0 {
43591		return invalidParams
43592	}
43593	return nil
43594}
43595
43596// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
43597func (s *ApplySecurityGroupsToClientVpnTargetNetworkInput) SetClientVpnEndpointId(v string) *ApplySecurityGroupsToClientVpnTargetNetworkInput {
43598	s.ClientVpnEndpointId = &v
43599	return s
43600}
43601
43602// SetDryRun sets the DryRun field's value.
43603func (s *ApplySecurityGroupsToClientVpnTargetNetworkInput) SetDryRun(v bool) *ApplySecurityGroupsToClientVpnTargetNetworkInput {
43604	s.DryRun = &v
43605	return s
43606}
43607
43608// SetSecurityGroupIds sets the SecurityGroupIds field's value.
43609func (s *ApplySecurityGroupsToClientVpnTargetNetworkInput) SetSecurityGroupIds(v []*string) *ApplySecurityGroupsToClientVpnTargetNetworkInput {
43610	s.SecurityGroupIds = v
43611	return s
43612}
43613
43614// SetVpcId sets the VpcId field's value.
43615func (s *ApplySecurityGroupsToClientVpnTargetNetworkInput) SetVpcId(v string) *ApplySecurityGroupsToClientVpnTargetNetworkInput {
43616	s.VpcId = &v
43617	return s
43618}
43619
43620type ApplySecurityGroupsToClientVpnTargetNetworkOutput struct {
43621	_ struct{} `type:"structure"`
43622
43623	// The IDs of the applied security groups.
43624	SecurityGroupIds []*string `locationName:"securityGroupIds" locationNameList:"item" type:"list"`
43625}
43626
43627// String returns the string representation
43628func (s ApplySecurityGroupsToClientVpnTargetNetworkOutput) String() string {
43629	return awsutil.Prettify(s)
43630}
43631
43632// GoString returns the string representation
43633func (s ApplySecurityGroupsToClientVpnTargetNetworkOutput) GoString() string {
43634	return s.String()
43635}
43636
43637// SetSecurityGroupIds sets the SecurityGroupIds field's value.
43638func (s *ApplySecurityGroupsToClientVpnTargetNetworkOutput) SetSecurityGroupIds(v []*string) *ApplySecurityGroupsToClientVpnTargetNetworkOutput {
43639	s.SecurityGroupIds = v
43640	return s
43641}
43642
43643type AssignIpv6AddressesInput struct {
43644	_ struct{} `type:"structure"`
43645
43646	// The number of additional IPv6 addresses to assign to the network interface.
43647	// The specified number of IPv6 addresses are assigned in addition to the existing
43648	// IPv6 addresses that are already assigned to the network interface. Amazon
43649	// EC2 automatically selects the IPv6 addresses from the subnet range. You can't
43650	// use this option if specifying specific IPv6 addresses.
43651	Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"`
43652
43653	// One or more specific IPv6 addresses to be assigned to the network interface.
43654	// You can't use this option if you're specifying a number of IPv6 addresses.
43655	Ipv6Addresses []*string `locationName:"ipv6Addresses" locationNameList:"item" type:"list"`
43656
43657	// The ID of the network interface.
43658	//
43659	// NetworkInterfaceId is a required field
43660	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
43661}
43662
43663// String returns the string representation
43664func (s AssignIpv6AddressesInput) String() string {
43665	return awsutil.Prettify(s)
43666}
43667
43668// GoString returns the string representation
43669func (s AssignIpv6AddressesInput) GoString() string {
43670	return s.String()
43671}
43672
43673// Validate inspects the fields of the type to determine if they are valid.
43674func (s *AssignIpv6AddressesInput) Validate() error {
43675	invalidParams := request.ErrInvalidParams{Context: "AssignIpv6AddressesInput"}
43676	if s.NetworkInterfaceId == nil {
43677		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
43678	}
43679
43680	if invalidParams.Len() > 0 {
43681		return invalidParams
43682	}
43683	return nil
43684}
43685
43686// SetIpv6AddressCount sets the Ipv6AddressCount field's value.
43687func (s *AssignIpv6AddressesInput) SetIpv6AddressCount(v int64) *AssignIpv6AddressesInput {
43688	s.Ipv6AddressCount = &v
43689	return s
43690}
43691
43692// SetIpv6Addresses sets the Ipv6Addresses field's value.
43693func (s *AssignIpv6AddressesInput) SetIpv6Addresses(v []*string) *AssignIpv6AddressesInput {
43694	s.Ipv6Addresses = v
43695	return s
43696}
43697
43698// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
43699func (s *AssignIpv6AddressesInput) SetNetworkInterfaceId(v string) *AssignIpv6AddressesInput {
43700	s.NetworkInterfaceId = &v
43701	return s
43702}
43703
43704type AssignIpv6AddressesOutput struct {
43705	_ struct{} `type:"structure"`
43706
43707	// The new IPv6 addresses assigned to the network interface. Existing IPv6 addresses
43708	// that were assigned to the network interface before the request are not included.
43709	AssignedIpv6Addresses []*string `locationName:"assignedIpv6Addresses" locationNameList:"item" type:"list"`
43710
43711	// The ID of the network interface.
43712	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
43713}
43714
43715// String returns the string representation
43716func (s AssignIpv6AddressesOutput) String() string {
43717	return awsutil.Prettify(s)
43718}
43719
43720// GoString returns the string representation
43721func (s AssignIpv6AddressesOutput) GoString() string {
43722	return s.String()
43723}
43724
43725// SetAssignedIpv6Addresses sets the AssignedIpv6Addresses field's value.
43726func (s *AssignIpv6AddressesOutput) SetAssignedIpv6Addresses(v []*string) *AssignIpv6AddressesOutput {
43727	s.AssignedIpv6Addresses = v
43728	return s
43729}
43730
43731// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
43732func (s *AssignIpv6AddressesOutput) SetNetworkInterfaceId(v string) *AssignIpv6AddressesOutput {
43733	s.NetworkInterfaceId = &v
43734	return s
43735}
43736
43737// Contains the parameters for AssignPrivateIpAddresses.
43738type AssignPrivateIpAddressesInput struct {
43739	_ struct{} `type:"structure"`
43740
43741	// Indicates whether to allow an IP address that is already assigned to another
43742	// network interface or instance to be reassigned to the specified network interface.
43743	AllowReassignment *bool `locationName:"allowReassignment" type:"boolean"`
43744
43745	// The ID of the network interface.
43746	//
43747	// NetworkInterfaceId is a required field
43748	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
43749
43750	// One or more IP addresses to be assigned as a secondary private IP address
43751	// to the network interface. You can't specify this parameter when also specifying
43752	// a number of secondary IP addresses.
43753	//
43754	// If you don't specify an IP address, Amazon EC2 automatically selects an IP
43755	// address within the subnet range.
43756	PrivateIpAddresses []*string `locationName:"privateIpAddress" locationNameList:"PrivateIpAddress" type:"list"`
43757
43758	// The number of secondary IP addresses to assign to the network interface.
43759	// You can't specify this parameter when also specifying private IP addresses.
43760	SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
43761}
43762
43763// String returns the string representation
43764func (s AssignPrivateIpAddressesInput) String() string {
43765	return awsutil.Prettify(s)
43766}
43767
43768// GoString returns the string representation
43769func (s AssignPrivateIpAddressesInput) GoString() string {
43770	return s.String()
43771}
43772
43773// Validate inspects the fields of the type to determine if they are valid.
43774func (s *AssignPrivateIpAddressesInput) Validate() error {
43775	invalidParams := request.ErrInvalidParams{Context: "AssignPrivateIpAddressesInput"}
43776	if s.NetworkInterfaceId == nil {
43777		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
43778	}
43779
43780	if invalidParams.Len() > 0 {
43781		return invalidParams
43782	}
43783	return nil
43784}
43785
43786// SetAllowReassignment sets the AllowReassignment field's value.
43787func (s *AssignPrivateIpAddressesInput) SetAllowReassignment(v bool) *AssignPrivateIpAddressesInput {
43788	s.AllowReassignment = &v
43789	return s
43790}
43791
43792// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
43793func (s *AssignPrivateIpAddressesInput) SetNetworkInterfaceId(v string) *AssignPrivateIpAddressesInput {
43794	s.NetworkInterfaceId = &v
43795	return s
43796}
43797
43798// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
43799func (s *AssignPrivateIpAddressesInput) SetPrivateIpAddresses(v []*string) *AssignPrivateIpAddressesInput {
43800	s.PrivateIpAddresses = v
43801	return s
43802}
43803
43804// SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
43805func (s *AssignPrivateIpAddressesInput) SetSecondaryPrivateIpAddressCount(v int64) *AssignPrivateIpAddressesInput {
43806	s.SecondaryPrivateIpAddressCount = &v
43807	return s
43808}
43809
43810type AssignPrivateIpAddressesOutput struct {
43811	_ struct{} `type:"structure"`
43812
43813	// The private IP addresses assigned to the network interface.
43814	AssignedPrivateIpAddresses []*AssignedPrivateIpAddress `locationName:"assignedPrivateIpAddressesSet" locationNameList:"item" type:"list"`
43815
43816	// The ID of the network interface.
43817	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
43818}
43819
43820// String returns the string representation
43821func (s AssignPrivateIpAddressesOutput) String() string {
43822	return awsutil.Prettify(s)
43823}
43824
43825// GoString returns the string representation
43826func (s AssignPrivateIpAddressesOutput) GoString() string {
43827	return s.String()
43828}
43829
43830// SetAssignedPrivateIpAddresses sets the AssignedPrivateIpAddresses field's value.
43831func (s *AssignPrivateIpAddressesOutput) SetAssignedPrivateIpAddresses(v []*AssignedPrivateIpAddress) *AssignPrivateIpAddressesOutput {
43832	s.AssignedPrivateIpAddresses = v
43833	return s
43834}
43835
43836// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
43837func (s *AssignPrivateIpAddressesOutput) SetNetworkInterfaceId(v string) *AssignPrivateIpAddressesOutput {
43838	s.NetworkInterfaceId = &v
43839	return s
43840}
43841
43842// Describes the private IP addresses assigned to a network interface.
43843type AssignedPrivateIpAddress struct {
43844	_ struct{} `type:"structure"`
43845
43846	// The private IP address assigned to the network interface.
43847	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
43848}
43849
43850// String returns the string representation
43851func (s AssignedPrivateIpAddress) String() string {
43852	return awsutil.Prettify(s)
43853}
43854
43855// GoString returns the string representation
43856func (s AssignedPrivateIpAddress) GoString() string {
43857	return s.String()
43858}
43859
43860// SetPrivateIpAddress sets the PrivateIpAddress field's value.
43861func (s *AssignedPrivateIpAddress) SetPrivateIpAddress(v string) *AssignedPrivateIpAddress {
43862	s.PrivateIpAddress = &v
43863	return s
43864}
43865
43866type AssociateAddressInput struct {
43867	_ struct{} `type:"structure"`
43868
43869	// [EC2-VPC] The allocation ID. This is required for EC2-VPC.
43870	AllocationId *string `type:"string"`
43871
43872	// [EC2-VPC] For a VPC in an EC2-Classic account, specify true to allow an Elastic
43873	// IP address that is already associated with an instance or network interface
43874	// to be reassociated with the specified instance or network interface. Otherwise,
43875	// the operation fails. In a VPC in an EC2-VPC-only account, reassociation is
43876	// automatic, therefore you can specify false to ensure the operation fails
43877	// if the Elastic IP address is already associated with another resource.
43878	AllowReassociation *bool `locationName:"allowReassociation" type:"boolean"`
43879
43880	// Checks whether you have the required permissions for the action, without
43881	// actually making the request, and provides an error response. If you have
43882	// the required permissions, the error response is DryRunOperation. Otherwise,
43883	// it is UnauthorizedOperation.
43884	DryRun *bool `locationName:"dryRun" type:"boolean"`
43885
43886	// The ID of the instance. The instance must have exactly one attached network
43887	// interface. For EC2-VPC, you can specify either the instance ID or the network
43888	// interface ID, but not both. For EC2-Classic, you must specify an instance
43889	// ID and the instance must be in the running state.
43890	InstanceId *string `type:"string"`
43891
43892	// [EC2-VPC] The ID of the network interface. If the instance has more than
43893	// one network interface, you must specify a network interface ID.
43894	//
43895	// For EC2-VPC, you can specify either the instance ID or the network interface
43896	// ID, but not both.
43897	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
43898
43899	// [EC2-VPC] The primary or secondary private IP address to associate with the
43900	// Elastic IP address. If no private IP address is specified, the Elastic IP
43901	// address is associated with the primary private IP address.
43902	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
43903
43904	// [EC2-Classic] The Elastic IP address to associate with the instance. This
43905	// is required for EC2-Classic.
43906	PublicIp *string `type:"string"`
43907}
43908
43909// String returns the string representation
43910func (s AssociateAddressInput) String() string {
43911	return awsutil.Prettify(s)
43912}
43913
43914// GoString returns the string representation
43915func (s AssociateAddressInput) GoString() string {
43916	return s.String()
43917}
43918
43919// SetAllocationId sets the AllocationId field's value.
43920func (s *AssociateAddressInput) SetAllocationId(v string) *AssociateAddressInput {
43921	s.AllocationId = &v
43922	return s
43923}
43924
43925// SetAllowReassociation sets the AllowReassociation field's value.
43926func (s *AssociateAddressInput) SetAllowReassociation(v bool) *AssociateAddressInput {
43927	s.AllowReassociation = &v
43928	return s
43929}
43930
43931// SetDryRun sets the DryRun field's value.
43932func (s *AssociateAddressInput) SetDryRun(v bool) *AssociateAddressInput {
43933	s.DryRun = &v
43934	return s
43935}
43936
43937// SetInstanceId sets the InstanceId field's value.
43938func (s *AssociateAddressInput) SetInstanceId(v string) *AssociateAddressInput {
43939	s.InstanceId = &v
43940	return s
43941}
43942
43943// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
43944func (s *AssociateAddressInput) SetNetworkInterfaceId(v string) *AssociateAddressInput {
43945	s.NetworkInterfaceId = &v
43946	return s
43947}
43948
43949// SetPrivateIpAddress sets the PrivateIpAddress field's value.
43950func (s *AssociateAddressInput) SetPrivateIpAddress(v string) *AssociateAddressInput {
43951	s.PrivateIpAddress = &v
43952	return s
43953}
43954
43955// SetPublicIp sets the PublicIp field's value.
43956func (s *AssociateAddressInput) SetPublicIp(v string) *AssociateAddressInput {
43957	s.PublicIp = &v
43958	return s
43959}
43960
43961type AssociateAddressOutput struct {
43962	_ struct{} `type:"structure"`
43963
43964	// [EC2-VPC] The ID that represents the association of the Elastic IP address
43965	// with an instance.
43966	AssociationId *string `locationName:"associationId" type:"string"`
43967}
43968
43969// String returns the string representation
43970func (s AssociateAddressOutput) String() string {
43971	return awsutil.Prettify(s)
43972}
43973
43974// GoString returns the string representation
43975func (s AssociateAddressOutput) GoString() string {
43976	return s.String()
43977}
43978
43979// SetAssociationId sets the AssociationId field's value.
43980func (s *AssociateAddressOutput) SetAssociationId(v string) *AssociateAddressOutput {
43981	s.AssociationId = &v
43982	return s
43983}
43984
43985type AssociateClientVpnTargetNetworkInput struct {
43986	_ struct{} `type:"structure"`
43987
43988	// Unique, case-sensitive identifier that you provide to ensure the idempotency
43989	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
43990	ClientToken *string `type:"string" idempotencyToken:"true"`
43991
43992	// The ID of the Client VPN endpoint.
43993	//
43994	// ClientVpnEndpointId is a required field
43995	ClientVpnEndpointId *string `type:"string" required:"true"`
43996
43997	// Checks whether you have the required permissions for the action, without
43998	// actually making the request, and provides an error response. If you have
43999	// the required permissions, the error response is DryRunOperation. Otherwise,
44000	// it is UnauthorizedOperation.
44001	DryRun *bool `type:"boolean"`
44002
44003	// The ID of the subnet to associate with the Client VPN endpoint.
44004	//
44005	// SubnetId is a required field
44006	SubnetId *string `type:"string" required:"true"`
44007}
44008
44009// String returns the string representation
44010func (s AssociateClientVpnTargetNetworkInput) String() string {
44011	return awsutil.Prettify(s)
44012}
44013
44014// GoString returns the string representation
44015func (s AssociateClientVpnTargetNetworkInput) GoString() string {
44016	return s.String()
44017}
44018
44019// Validate inspects the fields of the type to determine if they are valid.
44020func (s *AssociateClientVpnTargetNetworkInput) Validate() error {
44021	invalidParams := request.ErrInvalidParams{Context: "AssociateClientVpnTargetNetworkInput"}
44022	if s.ClientVpnEndpointId == nil {
44023		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
44024	}
44025	if s.SubnetId == nil {
44026		invalidParams.Add(request.NewErrParamRequired("SubnetId"))
44027	}
44028
44029	if invalidParams.Len() > 0 {
44030		return invalidParams
44031	}
44032	return nil
44033}
44034
44035// SetClientToken sets the ClientToken field's value.
44036func (s *AssociateClientVpnTargetNetworkInput) SetClientToken(v string) *AssociateClientVpnTargetNetworkInput {
44037	s.ClientToken = &v
44038	return s
44039}
44040
44041// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
44042func (s *AssociateClientVpnTargetNetworkInput) SetClientVpnEndpointId(v string) *AssociateClientVpnTargetNetworkInput {
44043	s.ClientVpnEndpointId = &v
44044	return s
44045}
44046
44047// SetDryRun sets the DryRun field's value.
44048func (s *AssociateClientVpnTargetNetworkInput) SetDryRun(v bool) *AssociateClientVpnTargetNetworkInput {
44049	s.DryRun = &v
44050	return s
44051}
44052
44053// SetSubnetId sets the SubnetId field's value.
44054func (s *AssociateClientVpnTargetNetworkInput) SetSubnetId(v string) *AssociateClientVpnTargetNetworkInput {
44055	s.SubnetId = &v
44056	return s
44057}
44058
44059type AssociateClientVpnTargetNetworkOutput struct {
44060	_ struct{} `type:"structure"`
44061
44062	// The unique ID of the target network association.
44063	AssociationId *string `locationName:"associationId" type:"string"`
44064
44065	// The current state of the target network association.
44066	Status *AssociationStatus `locationName:"status" type:"structure"`
44067}
44068
44069// String returns the string representation
44070func (s AssociateClientVpnTargetNetworkOutput) String() string {
44071	return awsutil.Prettify(s)
44072}
44073
44074// GoString returns the string representation
44075func (s AssociateClientVpnTargetNetworkOutput) GoString() string {
44076	return s.String()
44077}
44078
44079// SetAssociationId sets the AssociationId field's value.
44080func (s *AssociateClientVpnTargetNetworkOutput) SetAssociationId(v string) *AssociateClientVpnTargetNetworkOutput {
44081	s.AssociationId = &v
44082	return s
44083}
44084
44085// SetStatus sets the Status field's value.
44086func (s *AssociateClientVpnTargetNetworkOutput) SetStatus(v *AssociationStatus) *AssociateClientVpnTargetNetworkOutput {
44087	s.Status = v
44088	return s
44089}
44090
44091type AssociateDhcpOptionsInput struct {
44092	_ struct{} `type:"structure"`
44093
44094	// The ID of the DHCP options set, or default to associate no DHCP options with
44095	// the VPC.
44096	//
44097	// DhcpOptionsId is a required field
44098	DhcpOptionsId *string `type:"string" required:"true"`
44099
44100	// Checks whether you have the required permissions for the action, without
44101	// actually making the request, and provides an error response. If you have
44102	// the required permissions, the error response is DryRunOperation. Otherwise,
44103	// it is UnauthorizedOperation.
44104	DryRun *bool `locationName:"dryRun" type:"boolean"`
44105
44106	// The ID of the VPC.
44107	//
44108	// VpcId is a required field
44109	VpcId *string `type:"string" required:"true"`
44110}
44111
44112// String returns the string representation
44113func (s AssociateDhcpOptionsInput) String() string {
44114	return awsutil.Prettify(s)
44115}
44116
44117// GoString returns the string representation
44118func (s AssociateDhcpOptionsInput) GoString() string {
44119	return s.String()
44120}
44121
44122// Validate inspects the fields of the type to determine if they are valid.
44123func (s *AssociateDhcpOptionsInput) Validate() error {
44124	invalidParams := request.ErrInvalidParams{Context: "AssociateDhcpOptionsInput"}
44125	if s.DhcpOptionsId == nil {
44126		invalidParams.Add(request.NewErrParamRequired("DhcpOptionsId"))
44127	}
44128	if s.VpcId == nil {
44129		invalidParams.Add(request.NewErrParamRequired("VpcId"))
44130	}
44131
44132	if invalidParams.Len() > 0 {
44133		return invalidParams
44134	}
44135	return nil
44136}
44137
44138// SetDhcpOptionsId sets the DhcpOptionsId field's value.
44139func (s *AssociateDhcpOptionsInput) SetDhcpOptionsId(v string) *AssociateDhcpOptionsInput {
44140	s.DhcpOptionsId = &v
44141	return s
44142}
44143
44144// SetDryRun sets the DryRun field's value.
44145func (s *AssociateDhcpOptionsInput) SetDryRun(v bool) *AssociateDhcpOptionsInput {
44146	s.DryRun = &v
44147	return s
44148}
44149
44150// SetVpcId sets the VpcId field's value.
44151func (s *AssociateDhcpOptionsInput) SetVpcId(v string) *AssociateDhcpOptionsInput {
44152	s.VpcId = &v
44153	return s
44154}
44155
44156type AssociateDhcpOptionsOutput struct {
44157	_ struct{} `type:"structure"`
44158}
44159
44160// String returns the string representation
44161func (s AssociateDhcpOptionsOutput) String() string {
44162	return awsutil.Prettify(s)
44163}
44164
44165// GoString returns the string representation
44166func (s AssociateDhcpOptionsOutput) GoString() string {
44167	return s.String()
44168}
44169
44170type AssociateEnclaveCertificateIamRoleInput struct {
44171	_ struct{} `type:"structure"`
44172
44173	// The ARN of the ACM certificate with which to associate the IAM role.
44174	CertificateArn *string `min:"1" type:"string"`
44175
44176	// Checks whether you have the required permissions for the action, without
44177	// actually making the request, and provides an error response. If you have
44178	// the required permissions, the error response is DryRunOperation. Otherwise,
44179	// it is UnauthorizedOperation.
44180	DryRun *bool `type:"boolean"`
44181
44182	// The ARN of the IAM role to associate with the ACM certificate. You can associate
44183	// up to 16 IAM roles with an ACM certificate.
44184	RoleArn *string `min:"1" type:"string"`
44185}
44186
44187// String returns the string representation
44188func (s AssociateEnclaveCertificateIamRoleInput) String() string {
44189	return awsutil.Prettify(s)
44190}
44191
44192// GoString returns the string representation
44193func (s AssociateEnclaveCertificateIamRoleInput) GoString() string {
44194	return s.String()
44195}
44196
44197// Validate inspects the fields of the type to determine if they are valid.
44198func (s *AssociateEnclaveCertificateIamRoleInput) Validate() error {
44199	invalidParams := request.ErrInvalidParams{Context: "AssociateEnclaveCertificateIamRoleInput"}
44200	if s.CertificateArn != nil && len(*s.CertificateArn) < 1 {
44201		invalidParams.Add(request.NewErrParamMinLen("CertificateArn", 1))
44202	}
44203	if s.RoleArn != nil && len(*s.RoleArn) < 1 {
44204		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
44205	}
44206
44207	if invalidParams.Len() > 0 {
44208		return invalidParams
44209	}
44210	return nil
44211}
44212
44213// SetCertificateArn sets the CertificateArn field's value.
44214func (s *AssociateEnclaveCertificateIamRoleInput) SetCertificateArn(v string) *AssociateEnclaveCertificateIamRoleInput {
44215	s.CertificateArn = &v
44216	return s
44217}
44218
44219// SetDryRun sets the DryRun field's value.
44220func (s *AssociateEnclaveCertificateIamRoleInput) SetDryRun(v bool) *AssociateEnclaveCertificateIamRoleInput {
44221	s.DryRun = &v
44222	return s
44223}
44224
44225// SetRoleArn sets the RoleArn field's value.
44226func (s *AssociateEnclaveCertificateIamRoleInput) SetRoleArn(v string) *AssociateEnclaveCertificateIamRoleInput {
44227	s.RoleArn = &v
44228	return s
44229}
44230
44231type AssociateEnclaveCertificateIamRoleOutput struct {
44232	_ struct{} `type:"structure"`
44233
44234	// The name of the Amazon S3 bucket to which the certificate was uploaded.
44235	CertificateS3BucketName *string `locationName:"certificateS3BucketName" type:"string"`
44236
44237	// The Amazon S3 object key where the certificate, certificate chain, and encrypted
44238	// private key bundle are stored. The object key is formatted as follows: role_arn/certificate_arn.
44239	CertificateS3ObjectKey *string `locationName:"certificateS3ObjectKey" type:"string"`
44240
44241	// The ID of the AWS KMS CMK used to encrypt the private key of the certificate.
44242	EncryptionKmsKeyId *string `locationName:"encryptionKmsKeyId" type:"string"`
44243}
44244
44245// String returns the string representation
44246func (s AssociateEnclaveCertificateIamRoleOutput) String() string {
44247	return awsutil.Prettify(s)
44248}
44249
44250// GoString returns the string representation
44251func (s AssociateEnclaveCertificateIamRoleOutput) GoString() string {
44252	return s.String()
44253}
44254
44255// SetCertificateS3BucketName sets the CertificateS3BucketName field's value.
44256func (s *AssociateEnclaveCertificateIamRoleOutput) SetCertificateS3BucketName(v string) *AssociateEnclaveCertificateIamRoleOutput {
44257	s.CertificateS3BucketName = &v
44258	return s
44259}
44260
44261// SetCertificateS3ObjectKey sets the CertificateS3ObjectKey field's value.
44262func (s *AssociateEnclaveCertificateIamRoleOutput) SetCertificateS3ObjectKey(v string) *AssociateEnclaveCertificateIamRoleOutput {
44263	s.CertificateS3ObjectKey = &v
44264	return s
44265}
44266
44267// SetEncryptionKmsKeyId sets the EncryptionKmsKeyId field's value.
44268func (s *AssociateEnclaveCertificateIamRoleOutput) SetEncryptionKmsKeyId(v string) *AssociateEnclaveCertificateIamRoleOutput {
44269	s.EncryptionKmsKeyId = &v
44270	return s
44271}
44272
44273type AssociateIamInstanceProfileInput struct {
44274	_ struct{} `type:"structure"`
44275
44276	// The IAM instance profile.
44277	//
44278	// IamInstanceProfile is a required field
44279	IamInstanceProfile *IamInstanceProfileSpecification `type:"structure" required:"true"`
44280
44281	// The ID of the instance.
44282	//
44283	// InstanceId is a required field
44284	InstanceId *string `type:"string" required:"true"`
44285}
44286
44287// String returns the string representation
44288func (s AssociateIamInstanceProfileInput) String() string {
44289	return awsutil.Prettify(s)
44290}
44291
44292// GoString returns the string representation
44293func (s AssociateIamInstanceProfileInput) GoString() string {
44294	return s.String()
44295}
44296
44297// Validate inspects the fields of the type to determine if they are valid.
44298func (s *AssociateIamInstanceProfileInput) Validate() error {
44299	invalidParams := request.ErrInvalidParams{Context: "AssociateIamInstanceProfileInput"}
44300	if s.IamInstanceProfile == nil {
44301		invalidParams.Add(request.NewErrParamRequired("IamInstanceProfile"))
44302	}
44303	if s.InstanceId == nil {
44304		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
44305	}
44306
44307	if invalidParams.Len() > 0 {
44308		return invalidParams
44309	}
44310	return nil
44311}
44312
44313// SetIamInstanceProfile sets the IamInstanceProfile field's value.
44314func (s *AssociateIamInstanceProfileInput) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *AssociateIamInstanceProfileInput {
44315	s.IamInstanceProfile = v
44316	return s
44317}
44318
44319// SetInstanceId sets the InstanceId field's value.
44320func (s *AssociateIamInstanceProfileInput) SetInstanceId(v string) *AssociateIamInstanceProfileInput {
44321	s.InstanceId = &v
44322	return s
44323}
44324
44325type AssociateIamInstanceProfileOutput struct {
44326	_ struct{} `type:"structure"`
44327
44328	// Information about the IAM instance profile association.
44329	IamInstanceProfileAssociation *IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociation" type:"structure"`
44330}
44331
44332// String returns the string representation
44333func (s AssociateIamInstanceProfileOutput) String() string {
44334	return awsutil.Prettify(s)
44335}
44336
44337// GoString returns the string representation
44338func (s AssociateIamInstanceProfileOutput) GoString() string {
44339	return s.String()
44340}
44341
44342// SetIamInstanceProfileAssociation sets the IamInstanceProfileAssociation field's value.
44343func (s *AssociateIamInstanceProfileOutput) SetIamInstanceProfileAssociation(v *IamInstanceProfileAssociation) *AssociateIamInstanceProfileOutput {
44344	s.IamInstanceProfileAssociation = v
44345	return s
44346}
44347
44348type AssociateRouteTableInput struct {
44349	_ struct{} `type:"structure"`
44350
44351	// Checks whether you have the required permissions for the action, without
44352	// actually making the request, and provides an error response. If you have
44353	// the required permissions, the error response is DryRunOperation. Otherwise,
44354	// it is UnauthorizedOperation.
44355	DryRun *bool `locationName:"dryRun" type:"boolean"`
44356
44357	// The ID of the internet gateway or virtual private gateway.
44358	GatewayId *string `type:"string"`
44359
44360	// The ID of the route table.
44361	//
44362	// RouteTableId is a required field
44363	RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
44364
44365	// The ID of the subnet.
44366	SubnetId *string `locationName:"subnetId" type:"string"`
44367}
44368
44369// String returns the string representation
44370func (s AssociateRouteTableInput) String() string {
44371	return awsutil.Prettify(s)
44372}
44373
44374// GoString returns the string representation
44375func (s AssociateRouteTableInput) GoString() string {
44376	return s.String()
44377}
44378
44379// Validate inspects the fields of the type to determine if they are valid.
44380func (s *AssociateRouteTableInput) Validate() error {
44381	invalidParams := request.ErrInvalidParams{Context: "AssociateRouteTableInput"}
44382	if s.RouteTableId == nil {
44383		invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
44384	}
44385
44386	if invalidParams.Len() > 0 {
44387		return invalidParams
44388	}
44389	return nil
44390}
44391
44392// SetDryRun sets the DryRun field's value.
44393func (s *AssociateRouteTableInput) SetDryRun(v bool) *AssociateRouteTableInput {
44394	s.DryRun = &v
44395	return s
44396}
44397
44398// SetGatewayId sets the GatewayId field's value.
44399func (s *AssociateRouteTableInput) SetGatewayId(v string) *AssociateRouteTableInput {
44400	s.GatewayId = &v
44401	return s
44402}
44403
44404// SetRouteTableId sets the RouteTableId field's value.
44405func (s *AssociateRouteTableInput) SetRouteTableId(v string) *AssociateRouteTableInput {
44406	s.RouteTableId = &v
44407	return s
44408}
44409
44410// SetSubnetId sets the SubnetId field's value.
44411func (s *AssociateRouteTableInput) SetSubnetId(v string) *AssociateRouteTableInput {
44412	s.SubnetId = &v
44413	return s
44414}
44415
44416type AssociateRouteTableOutput struct {
44417	_ struct{} `type:"structure"`
44418
44419	// The route table association ID. This ID is required for disassociating the
44420	// route table.
44421	AssociationId *string `locationName:"associationId" type:"string"`
44422
44423	// The state of the association.
44424	AssociationState *RouteTableAssociationState `locationName:"associationState" type:"structure"`
44425}
44426
44427// String returns the string representation
44428func (s AssociateRouteTableOutput) String() string {
44429	return awsutil.Prettify(s)
44430}
44431
44432// GoString returns the string representation
44433func (s AssociateRouteTableOutput) GoString() string {
44434	return s.String()
44435}
44436
44437// SetAssociationId sets the AssociationId field's value.
44438func (s *AssociateRouteTableOutput) SetAssociationId(v string) *AssociateRouteTableOutput {
44439	s.AssociationId = &v
44440	return s
44441}
44442
44443// SetAssociationState sets the AssociationState field's value.
44444func (s *AssociateRouteTableOutput) SetAssociationState(v *RouteTableAssociationState) *AssociateRouteTableOutput {
44445	s.AssociationState = v
44446	return s
44447}
44448
44449type AssociateSubnetCidrBlockInput struct {
44450	_ struct{} `type:"structure"`
44451
44452	// The IPv6 CIDR block for your subnet. The subnet must have a /64 prefix length.
44453	//
44454	// Ipv6CidrBlock is a required field
44455	Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string" required:"true"`
44456
44457	// The ID of your subnet.
44458	//
44459	// SubnetId is a required field
44460	SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
44461}
44462
44463// String returns the string representation
44464func (s AssociateSubnetCidrBlockInput) String() string {
44465	return awsutil.Prettify(s)
44466}
44467
44468// GoString returns the string representation
44469func (s AssociateSubnetCidrBlockInput) GoString() string {
44470	return s.String()
44471}
44472
44473// Validate inspects the fields of the type to determine if they are valid.
44474func (s *AssociateSubnetCidrBlockInput) Validate() error {
44475	invalidParams := request.ErrInvalidParams{Context: "AssociateSubnetCidrBlockInput"}
44476	if s.Ipv6CidrBlock == nil {
44477		invalidParams.Add(request.NewErrParamRequired("Ipv6CidrBlock"))
44478	}
44479	if s.SubnetId == nil {
44480		invalidParams.Add(request.NewErrParamRequired("SubnetId"))
44481	}
44482
44483	if invalidParams.Len() > 0 {
44484		return invalidParams
44485	}
44486	return nil
44487}
44488
44489// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
44490func (s *AssociateSubnetCidrBlockInput) SetIpv6CidrBlock(v string) *AssociateSubnetCidrBlockInput {
44491	s.Ipv6CidrBlock = &v
44492	return s
44493}
44494
44495// SetSubnetId sets the SubnetId field's value.
44496func (s *AssociateSubnetCidrBlockInput) SetSubnetId(v string) *AssociateSubnetCidrBlockInput {
44497	s.SubnetId = &v
44498	return s
44499}
44500
44501type AssociateSubnetCidrBlockOutput struct {
44502	_ struct{} `type:"structure"`
44503
44504	// Information about the IPv6 CIDR block association.
44505	Ipv6CidrBlockAssociation *SubnetIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"`
44506
44507	// The ID of the subnet.
44508	SubnetId *string `locationName:"subnetId" type:"string"`
44509}
44510
44511// String returns the string representation
44512func (s AssociateSubnetCidrBlockOutput) String() string {
44513	return awsutil.Prettify(s)
44514}
44515
44516// GoString returns the string representation
44517func (s AssociateSubnetCidrBlockOutput) GoString() string {
44518	return s.String()
44519}
44520
44521// SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value.
44522func (s *AssociateSubnetCidrBlockOutput) SetIpv6CidrBlockAssociation(v *SubnetIpv6CidrBlockAssociation) *AssociateSubnetCidrBlockOutput {
44523	s.Ipv6CidrBlockAssociation = v
44524	return s
44525}
44526
44527// SetSubnetId sets the SubnetId field's value.
44528func (s *AssociateSubnetCidrBlockOutput) SetSubnetId(v string) *AssociateSubnetCidrBlockOutput {
44529	s.SubnetId = &v
44530	return s
44531}
44532
44533type AssociateTransitGatewayMulticastDomainInput struct {
44534	_ struct{} `type:"structure"`
44535
44536	// Checks whether you have the required permissions for the action, without
44537	// actually making the request, and provides an error response. If you have
44538	// the required permissions, the error response is DryRunOperation. Otherwise,
44539	// it is UnauthorizedOperation.
44540	DryRun *bool `type:"boolean"`
44541
44542	// The IDs of the subnets to associate with the transit gateway multicast domain.
44543	SubnetIds []*string `locationNameList:"item" type:"list"`
44544
44545	// The ID of the transit gateway attachment to associate with the transit gateway
44546	// multicast domain.
44547	TransitGatewayAttachmentId *string `type:"string"`
44548
44549	// The ID of the transit gateway multicast domain.
44550	TransitGatewayMulticastDomainId *string `type:"string"`
44551}
44552
44553// String returns the string representation
44554func (s AssociateTransitGatewayMulticastDomainInput) String() string {
44555	return awsutil.Prettify(s)
44556}
44557
44558// GoString returns the string representation
44559func (s AssociateTransitGatewayMulticastDomainInput) GoString() string {
44560	return s.String()
44561}
44562
44563// SetDryRun sets the DryRun field's value.
44564func (s *AssociateTransitGatewayMulticastDomainInput) SetDryRun(v bool) *AssociateTransitGatewayMulticastDomainInput {
44565	s.DryRun = &v
44566	return s
44567}
44568
44569// SetSubnetIds sets the SubnetIds field's value.
44570func (s *AssociateTransitGatewayMulticastDomainInput) SetSubnetIds(v []*string) *AssociateTransitGatewayMulticastDomainInput {
44571	s.SubnetIds = v
44572	return s
44573}
44574
44575// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
44576func (s *AssociateTransitGatewayMulticastDomainInput) SetTransitGatewayAttachmentId(v string) *AssociateTransitGatewayMulticastDomainInput {
44577	s.TransitGatewayAttachmentId = &v
44578	return s
44579}
44580
44581// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
44582func (s *AssociateTransitGatewayMulticastDomainInput) SetTransitGatewayMulticastDomainId(v string) *AssociateTransitGatewayMulticastDomainInput {
44583	s.TransitGatewayMulticastDomainId = &v
44584	return s
44585}
44586
44587type AssociateTransitGatewayMulticastDomainOutput struct {
44588	_ struct{} `type:"structure"`
44589
44590	// Information about the transit gateway multicast domain associations.
44591	Associations *TransitGatewayMulticastDomainAssociations `locationName:"associations" type:"structure"`
44592}
44593
44594// String returns the string representation
44595func (s AssociateTransitGatewayMulticastDomainOutput) String() string {
44596	return awsutil.Prettify(s)
44597}
44598
44599// GoString returns the string representation
44600func (s AssociateTransitGatewayMulticastDomainOutput) GoString() string {
44601	return s.String()
44602}
44603
44604// SetAssociations sets the Associations field's value.
44605func (s *AssociateTransitGatewayMulticastDomainOutput) SetAssociations(v *TransitGatewayMulticastDomainAssociations) *AssociateTransitGatewayMulticastDomainOutput {
44606	s.Associations = v
44607	return s
44608}
44609
44610type AssociateTransitGatewayRouteTableInput struct {
44611	_ struct{} `type:"structure"`
44612
44613	// Checks whether you have the required permissions for the action, without
44614	// actually making the request, and provides an error response. If you have
44615	// the required permissions, the error response is DryRunOperation. Otherwise,
44616	// it is UnauthorizedOperation.
44617	DryRun *bool `type:"boolean"`
44618
44619	// The ID of the attachment.
44620	//
44621	// TransitGatewayAttachmentId is a required field
44622	TransitGatewayAttachmentId *string `type:"string" required:"true"`
44623
44624	// The ID of the transit gateway route table.
44625	//
44626	// TransitGatewayRouteTableId is a required field
44627	TransitGatewayRouteTableId *string `type:"string" required:"true"`
44628}
44629
44630// String returns the string representation
44631func (s AssociateTransitGatewayRouteTableInput) String() string {
44632	return awsutil.Prettify(s)
44633}
44634
44635// GoString returns the string representation
44636func (s AssociateTransitGatewayRouteTableInput) GoString() string {
44637	return s.String()
44638}
44639
44640// Validate inspects the fields of the type to determine if they are valid.
44641func (s *AssociateTransitGatewayRouteTableInput) Validate() error {
44642	invalidParams := request.ErrInvalidParams{Context: "AssociateTransitGatewayRouteTableInput"}
44643	if s.TransitGatewayAttachmentId == nil {
44644		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
44645	}
44646	if s.TransitGatewayRouteTableId == nil {
44647		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
44648	}
44649
44650	if invalidParams.Len() > 0 {
44651		return invalidParams
44652	}
44653	return nil
44654}
44655
44656// SetDryRun sets the DryRun field's value.
44657func (s *AssociateTransitGatewayRouteTableInput) SetDryRun(v bool) *AssociateTransitGatewayRouteTableInput {
44658	s.DryRun = &v
44659	return s
44660}
44661
44662// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
44663func (s *AssociateTransitGatewayRouteTableInput) SetTransitGatewayAttachmentId(v string) *AssociateTransitGatewayRouteTableInput {
44664	s.TransitGatewayAttachmentId = &v
44665	return s
44666}
44667
44668// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
44669func (s *AssociateTransitGatewayRouteTableInput) SetTransitGatewayRouteTableId(v string) *AssociateTransitGatewayRouteTableInput {
44670	s.TransitGatewayRouteTableId = &v
44671	return s
44672}
44673
44674type AssociateTransitGatewayRouteTableOutput struct {
44675	_ struct{} `type:"structure"`
44676
44677	// The ID of the association.
44678	Association *TransitGatewayAssociation `locationName:"association" type:"structure"`
44679}
44680
44681// String returns the string representation
44682func (s AssociateTransitGatewayRouteTableOutput) String() string {
44683	return awsutil.Prettify(s)
44684}
44685
44686// GoString returns the string representation
44687func (s AssociateTransitGatewayRouteTableOutput) GoString() string {
44688	return s.String()
44689}
44690
44691// SetAssociation sets the Association field's value.
44692func (s *AssociateTransitGatewayRouteTableOutput) SetAssociation(v *TransitGatewayAssociation) *AssociateTransitGatewayRouteTableOutput {
44693	s.Association = v
44694	return s
44695}
44696
44697type AssociateVpcCidrBlockInput struct {
44698	_ struct{} `type:"structure"`
44699
44700	// Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for
44701	// the VPC. You cannot specify the range of IPv6 addresses, or the size of the
44702	// CIDR block.
44703	AmazonProvidedIpv6CidrBlock *bool `locationName:"amazonProvidedIpv6CidrBlock" type:"boolean"`
44704
44705	// An IPv4 CIDR block to associate with the VPC.
44706	CidrBlock *string `type:"string"`
44707
44708	// An IPv6 CIDR block from the IPv6 address pool. You must also specify Ipv6Pool
44709	// in the request.
44710	//
44711	// To let Amazon choose the IPv6 CIDR block for you, omit this parameter.
44712	Ipv6CidrBlock *string `type:"string"`
44713
44714	// The name of the location from which we advertise the IPV6 CIDR block. Use
44715	// this parameter to limit the CIDR block to this location.
44716	//
44717	// You must set AmazonProvidedIpv6CidrBlock to true to use this parameter.
44718	//
44719	// You can have one IPv6 CIDR block association per network border group.
44720	Ipv6CidrBlockNetworkBorderGroup *string `type:"string"`
44721
44722	// The ID of an IPv6 address pool from which to allocate the IPv6 CIDR block.
44723	Ipv6Pool *string `type:"string"`
44724
44725	// The ID of the VPC.
44726	//
44727	// VpcId is a required field
44728	VpcId *string `locationName:"vpcId" type:"string" required:"true"`
44729}
44730
44731// String returns the string representation
44732func (s AssociateVpcCidrBlockInput) String() string {
44733	return awsutil.Prettify(s)
44734}
44735
44736// GoString returns the string representation
44737func (s AssociateVpcCidrBlockInput) GoString() string {
44738	return s.String()
44739}
44740
44741// Validate inspects the fields of the type to determine if they are valid.
44742func (s *AssociateVpcCidrBlockInput) Validate() error {
44743	invalidParams := request.ErrInvalidParams{Context: "AssociateVpcCidrBlockInput"}
44744	if s.VpcId == nil {
44745		invalidParams.Add(request.NewErrParamRequired("VpcId"))
44746	}
44747
44748	if invalidParams.Len() > 0 {
44749		return invalidParams
44750	}
44751	return nil
44752}
44753
44754// SetAmazonProvidedIpv6CidrBlock sets the AmazonProvidedIpv6CidrBlock field's value.
44755func (s *AssociateVpcCidrBlockInput) SetAmazonProvidedIpv6CidrBlock(v bool) *AssociateVpcCidrBlockInput {
44756	s.AmazonProvidedIpv6CidrBlock = &v
44757	return s
44758}
44759
44760// SetCidrBlock sets the CidrBlock field's value.
44761func (s *AssociateVpcCidrBlockInput) SetCidrBlock(v string) *AssociateVpcCidrBlockInput {
44762	s.CidrBlock = &v
44763	return s
44764}
44765
44766// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
44767func (s *AssociateVpcCidrBlockInput) SetIpv6CidrBlock(v string) *AssociateVpcCidrBlockInput {
44768	s.Ipv6CidrBlock = &v
44769	return s
44770}
44771
44772// SetIpv6CidrBlockNetworkBorderGroup sets the Ipv6CidrBlockNetworkBorderGroup field's value.
44773func (s *AssociateVpcCidrBlockInput) SetIpv6CidrBlockNetworkBorderGroup(v string) *AssociateVpcCidrBlockInput {
44774	s.Ipv6CidrBlockNetworkBorderGroup = &v
44775	return s
44776}
44777
44778// SetIpv6Pool sets the Ipv6Pool field's value.
44779func (s *AssociateVpcCidrBlockInput) SetIpv6Pool(v string) *AssociateVpcCidrBlockInput {
44780	s.Ipv6Pool = &v
44781	return s
44782}
44783
44784// SetVpcId sets the VpcId field's value.
44785func (s *AssociateVpcCidrBlockInput) SetVpcId(v string) *AssociateVpcCidrBlockInput {
44786	s.VpcId = &v
44787	return s
44788}
44789
44790type AssociateVpcCidrBlockOutput struct {
44791	_ struct{} `type:"structure"`
44792
44793	// Information about the IPv4 CIDR block association.
44794	CidrBlockAssociation *VpcCidrBlockAssociation `locationName:"cidrBlockAssociation" type:"structure"`
44795
44796	// Information about the IPv6 CIDR block association.
44797	Ipv6CidrBlockAssociation *VpcIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"`
44798
44799	// The ID of the VPC.
44800	VpcId *string `locationName:"vpcId" type:"string"`
44801}
44802
44803// String returns the string representation
44804func (s AssociateVpcCidrBlockOutput) String() string {
44805	return awsutil.Prettify(s)
44806}
44807
44808// GoString returns the string representation
44809func (s AssociateVpcCidrBlockOutput) GoString() string {
44810	return s.String()
44811}
44812
44813// SetCidrBlockAssociation sets the CidrBlockAssociation field's value.
44814func (s *AssociateVpcCidrBlockOutput) SetCidrBlockAssociation(v *VpcCidrBlockAssociation) *AssociateVpcCidrBlockOutput {
44815	s.CidrBlockAssociation = v
44816	return s
44817}
44818
44819// SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value.
44820func (s *AssociateVpcCidrBlockOutput) SetIpv6CidrBlockAssociation(v *VpcIpv6CidrBlockAssociation) *AssociateVpcCidrBlockOutput {
44821	s.Ipv6CidrBlockAssociation = v
44822	return s
44823}
44824
44825// SetVpcId sets the VpcId field's value.
44826func (s *AssociateVpcCidrBlockOutput) SetVpcId(v string) *AssociateVpcCidrBlockOutput {
44827	s.VpcId = &v
44828	return s
44829}
44830
44831// Information about the associated IAM roles.
44832type AssociatedRole struct {
44833	_ struct{} `type:"structure"`
44834
44835	// The ARN of the associated IAM role.
44836	AssociatedRoleArn *string `locationName:"associatedRoleArn" min:"1" type:"string"`
44837
44838	// The name of the Amazon S3 bucket in which the Amazon S3 object is stored.
44839	CertificateS3BucketName *string `locationName:"certificateS3BucketName" type:"string"`
44840
44841	// The key of the Amazon S3 object ey where the certificate, certificate chain,
44842	// and encrypted private key bundle is stored. The object key is formated as
44843	// follows: role_arn/certificate_arn.
44844	CertificateS3ObjectKey *string `locationName:"certificateS3ObjectKey" type:"string"`
44845
44846	// The ID of the KMS customer master key (CMK) used to encrypt the private key.
44847	EncryptionKmsKeyId *string `locationName:"encryptionKmsKeyId" type:"string"`
44848}
44849
44850// String returns the string representation
44851func (s AssociatedRole) String() string {
44852	return awsutil.Prettify(s)
44853}
44854
44855// GoString returns the string representation
44856func (s AssociatedRole) GoString() string {
44857	return s.String()
44858}
44859
44860// SetAssociatedRoleArn sets the AssociatedRoleArn field's value.
44861func (s *AssociatedRole) SetAssociatedRoleArn(v string) *AssociatedRole {
44862	s.AssociatedRoleArn = &v
44863	return s
44864}
44865
44866// SetCertificateS3BucketName sets the CertificateS3BucketName field's value.
44867func (s *AssociatedRole) SetCertificateS3BucketName(v string) *AssociatedRole {
44868	s.CertificateS3BucketName = &v
44869	return s
44870}
44871
44872// SetCertificateS3ObjectKey sets the CertificateS3ObjectKey field's value.
44873func (s *AssociatedRole) SetCertificateS3ObjectKey(v string) *AssociatedRole {
44874	s.CertificateS3ObjectKey = &v
44875	return s
44876}
44877
44878// SetEncryptionKmsKeyId sets the EncryptionKmsKeyId field's value.
44879func (s *AssociatedRole) SetEncryptionKmsKeyId(v string) *AssociatedRole {
44880	s.EncryptionKmsKeyId = &v
44881	return s
44882}
44883
44884// Describes a target network that is associated with a Client VPN endpoint.
44885// A target network is a subnet in a VPC.
44886type AssociatedTargetNetwork struct {
44887	_ struct{} `type:"structure"`
44888
44889	// The ID of the subnet.
44890	NetworkId *string `locationName:"networkId" type:"string"`
44891
44892	// The target network type.
44893	NetworkType *string `locationName:"networkType" type:"string" enum:"AssociatedNetworkType"`
44894}
44895
44896// String returns the string representation
44897func (s AssociatedTargetNetwork) String() string {
44898	return awsutil.Prettify(s)
44899}
44900
44901// GoString returns the string representation
44902func (s AssociatedTargetNetwork) GoString() string {
44903	return s.String()
44904}
44905
44906// SetNetworkId sets the NetworkId field's value.
44907func (s *AssociatedTargetNetwork) SetNetworkId(v string) *AssociatedTargetNetwork {
44908	s.NetworkId = &v
44909	return s
44910}
44911
44912// SetNetworkType sets the NetworkType field's value.
44913func (s *AssociatedTargetNetwork) SetNetworkType(v string) *AssociatedTargetNetwork {
44914	s.NetworkType = &v
44915	return s
44916}
44917
44918// Describes the state of a target network association.
44919type AssociationStatus struct {
44920	_ struct{} `type:"structure"`
44921
44922	// The state of the target network association.
44923	Code *string `locationName:"code" type:"string" enum:"AssociationStatusCode"`
44924
44925	// A message about the status of the target network association, if applicable.
44926	Message *string `locationName:"message" type:"string"`
44927}
44928
44929// String returns the string representation
44930func (s AssociationStatus) String() string {
44931	return awsutil.Prettify(s)
44932}
44933
44934// GoString returns the string representation
44935func (s AssociationStatus) GoString() string {
44936	return s.String()
44937}
44938
44939// SetCode sets the Code field's value.
44940func (s *AssociationStatus) SetCode(v string) *AssociationStatus {
44941	s.Code = &v
44942	return s
44943}
44944
44945// SetMessage sets the Message field's value.
44946func (s *AssociationStatus) SetMessage(v string) *AssociationStatus {
44947	s.Message = &v
44948	return s
44949}
44950
44951// Describes integration options for Amazon Athena.
44952type AthenaIntegration struct {
44953	_ struct{} `type:"structure"`
44954
44955	// The location in Amazon S3 to store the generated CloudFormation template.
44956	//
44957	// IntegrationResultS3DestinationArn is a required field
44958	IntegrationResultS3DestinationArn *string `type:"string" required:"true"`
44959
44960	// The end date for the partition.
44961	PartitionEndDate *time.Time `type:"timestamp"`
44962
44963	// The schedule for adding new partitions to the table.
44964	//
44965	// PartitionLoadFrequency is a required field
44966	PartitionLoadFrequency *string `type:"string" required:"true" enum:"PartitionLoadFrequency"`
44967
44968	// The start date for the partition.
44969	PartitionStartDate *time.Time `type:"timestamp"`
44970}
44971
44972// String returns the string representation
44973func (s AthenaIntegration) String() string {
44974	return awsutil.Prettify(s)
44975}
44976
44977// GoString returns the string representation
44978func (s AthenaIntegration) GoString() string {
44979	return s.String()
44980}
44981
44982// Validate inspects the fields of the type to determine if they are valid.
44983func (s *AthenaIntegration) Validate() error {
44984	invalidParams := request.ErrInvalidParams{Context: "AthenaIntegration"}
44985	if s.IntegrationResultS3DestinationArn == nil {
44986		invalidParams.Add(request.NewErrParamRequired("IntegrationResultS3DestinationArn"))
44987	}
44988	if s.PartitionLoadFrequency == nil {
44989		invalidParams.Add(request.NewErrParamRequired("PartitionLoadFrequency"))
44990	}
44991
44992	if invalidParams.Len() > 0 {
44993		return invalidParams
44994	}
44995	return nil
44996}
44997
44998// SetIntegrationResultS3DestinationArn sets the IntegrationResultS3DestinationArn field's value.
44999func (s *AthenaIntegration) SetIntegrationResultS3DestinationArn(v string) *AthenaIntegration {
45000	s.IntegrationResultS3DestinationArn = &v
45001	return s
45002}
45003
45004// SetPartitionEndDate sets the PartitionEndDate field's value.
45005func (s *AthenaIntegration) SetPartitionEndDate(v time.Time) *AthenaIntegration {
45006	s.PartitionEndDate = &v
45007	return s
45008}
45009
45010// SetPartitionLoadFrequency sets the PartitionLoadFrequency field's value.
45011func (s *AthenaIntegration) SetPartitionLoadFrequency(v string) *AthenaIntegration {
45012	s.PartitionLoadFrequency = &v
45013	return s
45014}
45015
45016// SetPartitionStartDate sets the PartitionStartDate field's value.
45017func (s *AthenaIntegration) SetPartitionStartDate(v time.Time) *AthenaIntegration {
45018	s.PartitionStartDate = &v
45019	return s
45020}
45021
45022type AttachClassicLinkVpcInput struct {
45023	_ struct{} `type:"structure"`
45024
45025	// Checks whether you have the required permissions for the action, without
45026	// actually making the request, and provides an error response. If you have
45027	// the required permissions, the error response is DryRunOperation. Otherwise,
45028	// it is UnauthorizedOperation.
45029	DryRun *bool `locationName:"dryRun" type:"boolean"`
45030
45031	// The ID of one or more of the VPC's security groups. You cannot specify security
45032	// groups from a different VPC.
45033	//
45034	// Groups is a required field
45035	Groups []*string `locationName:"SecurityGroupId" locationNameList:"groupId" type:"list" required:"true"`
45036
45037	// The ID of an EC2-Classic instance to link to the ClassicLink-enabled VPC.
45038	//
45039	// InstanceId is a required field
45040	InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
45041
45042	// The ID of a ClassicLink-enabled VPC.
45043	//
45044	// VpcId is a required field
45045	VpcId *string `locationName:"vpcId" type:"string" required:"true"`
45046}
45047
45048// String returns the string representation
45049func (s AttachClassicLinkVpcInput) String() string {
45050	return awsutil.Prettify(s)
45051}
45052
45053// GoString returns the string representation
45054func (s AttachClassicLinkVpcInput) GoString() string {
45055	return s.String()
45056}
45057
45058// Validate inspects the fields of the type to determine if they are valid.
45059func (s *AttachClassicLinkVpcInput) Validate() error {
45060	invalidParams := request.ErrInvalidParams{Context: "AttachClassicLinkVpcInput"}
45061	if s.Groups == nil {
45062		invalidParams.Add(request.NewErrParamRequired("Groups"))
45063	}
45064	if s.InstanceId == nil {
45065		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
45066	}
45067	if s.VpcId == nil {
45068		invalidParams.Add(request.NewErrParamRequired("VpcId"))
45069	}
45070
45071	if invalidParams.Len() > 0 {
45072		return invalidParams
45073	}
45074	return nil
45075}
45076
45077// SetDryRun sets the DryRun field's value.
45078func (s *AttachClassicLinkVpcInput) SetDryRun(v bool) *AttachClassicLinkVpcInput {
45079	s.DryRun = &v
45080	return s
45081}
45082
45083// SetGroups sets the Groups field's value.
45084func (s *AttachClassicLinkVpcInput) SetGroups(v []*string) *AttachClassicLinkVpcInput {
45085	s.Groups = v
45086	return s
45087}
45088
45089// SetInstanceId sets the InstanceId field's value.
45090func (s *AttachClassicLinkVpcInput) SetInstanceId(v string) *AttachClassicLinkVpcInput {
45091	s.InstanceId = &v
45092	return s
45093}
45094
45095// SetVpcId sets the VpcId field's value.
45096func (s *AttachClassicLinkVpcInput) SetVpcId(v string) *AttachClassicLinkVpcInput {
45097	s.VpcId = &v
45098	return s
45099}
45100
45101type AttachClassicLinkVpcOutput struct {
45102	_ struct{} `type:"structure"`
45103
45104	// Returns true if the request succeeds; otherwise, it returns an error.
45105	Return *bool `locationName:"return" type:"boolean"`
45106}
45107
45108// String returns the string representation
45109func (s AttachClassicLinkVpcOutput) String() string {
45110	return awsutil.Prettify(s)
45111}
45112
45113// GoString returns the string representation
45114func (s AttachClassicLinkVpcOutput) GoString() string {
45115	return s.String()
45116}
45117
45118// SetReturn sets the Return field's value.
45119func (s *AttachClassicLinkVpcOutput) SetReturn(v bool) *AttachClassicLinkVpcOutput {
45120	s.Return = &v
45121	return s
45122}
45123
45124type AttachInternetGatewayInput struct {
45125	_ struct{} `type:"structure"`
45126
45127	// Checks whether you have the required permissions for the action, without
45128	// actually making the request, and provides an error response. If you have
45129	// the required permissions, the error response is DryRunOperation. Otherwise,
45130	// it is UnauthorizedOperation.
45131	DryRun *bool `locationName:"dryRun" type:"boolean"`
45132
45133	// The ID of the internet gateway.
45134	//
45135	// InternetGatewayId is a required field
45136	InternetGatewayId *string `locationName:"internetGatewayId" type:"string" required:"true"`
45137
45138	// The ID of the VPC.
45139	//
45140	// VpcId is a required field
45141	VpcId *string `locationName:"vpcId" type:"string" required:"true"`
45142}
45143
45144// String returns the string representation
45145func (s AttachInternetGatewayInput) String() string {
45146	return awsutil.Prettify(s)
45147}
45148
45149// GoString returns the string representation
45150func (s AttachInternetGatewayInput) GoString() string {
45151	return s.String()
45152}
45153
45154// Validate inspects the fields of the type to determine if they are valid.
45155func (s *AttachInternetGatewayInput) Validate() error {
45156	invalidParams := request.ErrInvalidParams{Context: "AttachInternetGatewayInput"}
45157	if s.InternetGatewayId == nil {
45158		invalidParams.Add(request.NewErrParamRequired("InternetGatewayId"))
45159	}
45160	if s.VpcId == nil {
45161		invalidParams.Add(request.NewErrParamRequired("VpcId"))
45162	}
45163
45164	if invalidParams.Len() > 0 {
45165		return invalidParams
45166	}
45167	return nil
45168}
45169
45170// SetDryRun sets the DryRun field's value.
45171func (s *AttachInternetGatewayInput) SetDryRun(v bool) *AttachInternetGatewayInput {
45172	s.DryRun = &v
45173	return s
45174}
45175
45176// SetInternetGatewayId sets the InternetGatewayId field's value.
45177func (s *AttachInternetGatewayInput) SetInternetGatewayId(v string) *AttachInternetGatewayInput {
45178	s.InternetGatewayId = &v
45179	return s
45180}
45181
45182// SetVpcId sets the VpcId field's value.
45183func (s *AttachInternetGatewayInput) SetVpcId(v string) *AttachInternetGatewayInput {
45184	s.VpcId = &v
45185	return s
45186}
45187
45188type AttachInternetGatewayOutput struct {
45189	_ struct{} `type:"structure"`
45190}
45191
45192// String returns the string representation
45193func (s AttachInternetGatewayOutput) String() string {
45194	return awsutil.Prettify(s)
45195}
45196
45197// GoString returns the string representation
45198func (s AttachInternetGatewayOutput) GoString() string {
45199	return s.String()
45200}
45201
45202// Contains the parameters for AttachNetworkInterface.
45203type AttachNetworkInterfaceInput struct {
45204	_ struct{} `type:"structure"`
45205
45206	// The index of the device for the network interface attachment.
45207	//
45208	// DeviceIndex is a required field
45209	DeviceIndex *int64 `locationName:"deviceIndex" type:"integer" required:"true"`
45210
45211	// Checks whether you have the required permissions for the action, without
45212	// actually making the request, and provides an error response. If you have
45213	// the required permissions, the error response is DryRunOperation. Otherwise,
45214	// it is UnauthorizedOperation.
45215	DryRun *bool `locationName:"dryRun" type:"boolean"`
45216
45217	// The ID of the instance.
45218	//
45219	// InstanceId is a required field
45220	InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
45221
45222	// The index of the network card. Some instance types support multiple network
45223	// cards. The primary network interface must be assigned to network card index
45224	// 0. The default is network card index 0.
45225	NetworkCardIndex *int64 `type:"integer"`
45226
45227	// The ID of the network interface.
45228	//
45229	// NetworkInterfaceId is a required field
45230	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
45231}
45232
45233// String returns the string representation
45234func (s AttachNetworkInterfaceInput) String() string {
45235	return awsutil.Prettify(s)
45236}
45237
45238// GoString returns the string representation
45239func (s AttachNetworkInterfaceInput) GoString() string {
45240	return s.String()
45241}
45242
45243// Validate inspects the fields of the type to determine if they are valid.
45244func (s *AttachNetworkInterfaceInput) Validate() error {
45245	invalidParams := request.ErrInvalidParams{Context: "AttachNetworkInterfaceInput"}
45246	if s.DeviceIndex == nil {
45247		invalidParams.Add(request.NewErrParamRequired("DeviceIndex"))
45248	}
45249	if s.InstanceId == nil {
45250		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
45251	}
45252	if s.NetworkInterfaceId == nil {
45253		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
45254	}
45255
45256	if invalidParams.Len() > 0 {
45257		return invalidParams
45258	}
45259	return nil
45260}
45261
45262// SetDeviceIndex sets the DeviceIndex field's value.
45263func (s *AttachNetworkInterfaceInput) SetDeviceIndex(v int64) *AttachNetworkInterfaceInput {
45264	s.DeviceIndex = &v
45265	return s
45266}
45267
45268// SetDryRun sets the DryRun field's value.
45269func (s *AttachNetworkInterfaceInput) SetDryRun(v bool) *AttachNetworkInterfaceInput {
45270	s.DryRun = &v
45271	return s
45272}
45273
45274// SetInstanceId sets the InstanceId field's value.
45275func (s *AttachNetworkInterfaceInput) SetInstanceId(v string) *AttachNetworkInterfaceInput {
45276	s.InstanceId = &v
45277	return s
45278}
45279
45280// SetNetworkCardIndex sets the NetworkCardIndex field's value.
45281func (s *AttachNetworkInterfaceInput) SetNetworkCardIndex(v int64) *AttachNetworkInterfaceInput {
45282	s.NetworkCardIndex = &v
45283	return s
45284}
45285
45286// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
45287func (s *AttachNetworkInterfaceInput) SetNetworkInterfaceId(v string) *AttachNetworkInterfaceInput {
45288	s.NetworkInterfaceId = &v
45289	return s
45290}
45291
45292// Contains the output of AttachNetworkInterface.
45293type AttachNetworkInterfaceOutput struct {
45294	_ struct{} `type:"structure"`
45295
45296	// The ID of the network interface attachment.
45297	AttachmentId *string `locationName:"attachmentId" type:"string"`
45298
45299	// The index of the network card.
45300	NetworkCardIndex *int64 `locationName:"networkCardIndex" type:"integer"`
45301}
45302
45303// String returns the string representation
45304func (s AttachNetworkInterfaceOutput) String() string {
45305	return awsutil.Prettify(s)
45306}
45307
45308// GoString returns the string representation
45309func (s AttachNetworkInterfaceOutput) GoString() string {
45310	return s.String()
45311}
45312
45313// SetAttachmentId sets the AttachmentId field's value.
45314func (s *AttachNetworkInterfaceOutput) SetAttachmentId(v string) *AttachNetworkInterfaceOutput {
45315	s.AttachmentId = &v
45316	return s
45317}
45318
45319// SetNetworkCardIndex sets the NetworkCardIndex field's value.
45320func (s *AttachNetworkInterfaceOutput) SetNetworkCardIndex(v int64) *AttachNetworkInterfaceOutput {
45321	s.NetworkCardIndex = &v
45322	return s
45323}
45324
45325type AttachVolumeInput struct {
45326	_ struct{} `type:"structure"`
45327
45328	// The device name (for example, /dev/sdh or xvdh).
45329	//
45330	// Device is a required field
45331	Device *string `type:"string" required:"true"`
45332
45333	// Checks whether you have the required permissions for the action, without
45334	// actually making the request, and provides an error response. If you have
45335	// the required permissions, the error response is DryRunOperation. Otherwise,
45336	// it is UnauthorizedOperation.
45337	DryRun *bool `locationName:"dryRun" type:"boolean"`
45338
45339	// The ID of the instance.
45340	//
45341	// InstanceId is a required field
45342	InstanceId *string `type:"string" required:"true"`
45343
45344	// The ID of the EBS volume. The volume and instance must be within the same
45345	// Availability Zone.
45346	//
45347	// VolumeId is a required field
45348	VolumeId *string `type:"string" required:"true"`
45349}
45350
45351// String returns the string representation
45352func (s AttachVolumeInput) String() string {
45353	return awsutil.Prettify(s)
45354}
45355
45356// GoString returns the string representation
45357func (s AttachVolumeInput) GoString() string {
45358	return s.String()
45359}
45360
45361// Validate inspects the fields of the type to determine if they are valid.
45362func (s *AttachVolumeInput) Validate() error {
45363	invalidParams := request.ErrInvalidParams{Context: "AttachVolumeInput"}
45364	if s.Device == nil {
45365		invalidParams.Add(request.NewErrParamRequired("Device"))
45366	}
45367	if s.InstanceId == nil {
45368		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
45369	}
45370	if s.VolumeId == nil {
45371		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
45372	}
45373
45374	if invalidParams.Len() > 0 {
45375		return invalidParams
45376	}
45377	return nil
45378}
45379
45380// SetDevice sets the Device field's value.
45381func (s *AttachVolumeInput) SetDevice(v string) *AttachVolumeInput {
45382	s.Device = &v
45383	return s
45384}
45385
45386// SetDryRun sets the DryRun field's value.
45387func (s *AttachVolumeInput) SetDryRun(v bool) *AttachVolumeInput {
45388	s.DryRun = &v
45389	return s
45390}
45391
45392// SetInstanceId sets the InstanceId field's value.
45393func (s *AttachVolumeInput) SetInstanceId(v string) *AttachVolumeInput {
45394	s.InstanceId = &v
45395	return s
45396}
45397
45398// SetVolumeId sets the VolumeId field's value.
45399func (s *AttachVolumeInput) SetVolumeId(v string) *AttachVolumeInput {
45400	s.VolumeId = &v
45401	return s
45402}
45403
45404// Contains the parameters for AttachVpnGateway.
45405type AttachVpnGatewayInput struct {
45406	_ struct{} `type:"structure"`
45407
45408	// Checks whether you have the required permissions for the action, without
45409	// actually making the request, and provides an error response. If you have
45410	// the required permissions, the error response is DryRunOperation. Otherwise,
45411	// it is UnauthorizedOperation.
45412	DryRun *bool `locationName:"dryRun" type:"boolean"`
45413
45414	// The ID of the VPC.
45415	//
45416	// VpcId is a required field
45417	VpcId *string `type:"string" required:"true"`
45418
45419	// The ID of the virtual private gateway.
45420	//
45421	// VpnGatewayId is a required field
45422	VpnGatewayId *string `type:"string" required:"true"`
45423}
45424
45425// String returns the string representation
45426func (s AttachVpnGatewayInput) String() string {
45427	return awsutil.Prettify(s)
45428}
45429
45430// GoString returns the string representation
45431func (s AttachVpnGatewayInput) GoString() string {
45432	return s.String()
45433}
45434
45435// Validate inspects the fields of the type to determine if they are valid.
45436func (s *AttachVpnGatewayInput) Validate() error {
45437	invalidParams := request.ErrInvalidParams{Context: "AttachVpnGatewayInput"}
45438	if s.VpcId == nil {
45439		invalidParams.Add(request.NewErrParamRequired("VpcId"))
45440	}
45441	if s.VpnGatewayId == nil {
45442		invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
45443	}
45444
45445	if invalidParams.Len() > 0 {
45446		return invalidParams
45447	}
45448	return nil
45449}
45450
45451// SetDryRun sets the DryRun field's value.
45452func (s *AttachVpnGatewayInput) SetDryRun(v bool) *AttachVpnGatewayInput {
45453	s.DryRun = &v
45454	return s
45455}
45456
45457// SetVpcId sets the VpcId field's value.
45458func (s *AttachVpnGatewayInput) SetVpcId(v string) *AttachVpnGatewayInput {
45459	s.VpcId = &v
45460	return s
45461}
45462
45463// SetVpnGatewayId sets the VpnGatewayId field's value.
45464func (s *AttachVpnGatewayInput) SetVpnGatewayId(v string) *AttachVpnGatewayInput {
45465	s.VpnGatewayId = &v
45466	return s
45467}
45468
45469// Contains the output of AttachVpnGateway.
45470type AttachVpnGatewayOutput struct {
45471	_ struct{} `type:"structure"`
45472
45473	// Information about the attachment.
45474	VpcAttachment *VpcAttachment `locationName:"attachment" type:"structure"`
45475}
45476
45477// String returns the string representation
45478func (s AttachVpnGatewayOutput) String() string {
45479	return awsutil.Prettify(s)
45480}
45481
45482// GoString returns the string representation
45483func (s AttachVpnGatewayOutput) GoString() string {
45484	return s.String()
45485}
45486
45487// SetVpcAttachment sets the VpcAttachment field's value.
45488func (s *AttachVpnGatewayOutput) SetVpcAttachment(v *VpcAttachment) *AttachVpnGatewayOutput {
45489	s.VpcAttachment = v
45490	return s
45491}
45492
45493// Describes a value for a resource attribute that is a Boolean value.
45494type AttributeBooleanValue struct {
45495	_ struct{} `type:"structure"`
45496
45497	// The attribute value. The valid values are true or false.
45498	Value *bool `locationName:"value" type:"boolean"`
45499}
45500
45501// String returns the string representation
45502func (s AttributeBooleanValue) String() string {
45503	return awsutil.Prettify(s)
45504}
45505
45506// GoString returns the string representation
45507func (s AttributeBooleanValue) GoString() string {
45508	return s.String()
45509}
45510
45511// SetValue sets the Value field's value.
45512func (s *AttributeBooleanValue) SetValue(v bool) *AttributeBooleanValue {
45513	s.Value = &v
45514	return s
45515}
45516
45517// Describes a value for a resource attribute that is a String.
45518type AttributeValue struct {
45519	_ struct{} `type:"structure"`
45520
45521	// The attribute value. The value is case-sensitive.
45522	Value *string `locationName:"value" type:"string"`
45523}
45524
45525// String returns the string representation
45526func (s AttributeValue) String() string {
45527	return awsutil.Prettify(s)
45528}
45529
45530// GoString returns the string representation
45531func (s AttributeValue) GoString() string {
45532	return s.String()
45533}
45534
45535// SetValue sets the Value field's value.
45536func (s *AttributeValue) SetValue(v string) *AttributeValue {
45537	s.Value = &v
45538	return s
45539}
45540
45541// Information about an authorization rule.
45542type AuthorizationRule struct {
45543	_ struct{} `type:"structure"`
45544
45545	// Indicates whether the authorization rule grants access to all clients.
45546	AccessAll *bool `locationName:"accessAll" type:"boolean"`
45547
45548	// The ID of the Client VPN endpoint with which the authorization rule is associated.
45549	ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"`
45550
45551	// A brief description of the authorization rule.
45552	Description *string `locationName:"description" type:"string"`
45553
45554	// The IPv4 address range, in CIDR notation, of the network to which the authorization
45555	// rule applies.
45556	DestinationCidr *string `locationName:"destinationCidr" type:"string"`
45557
45558	// The ID of the Active Directory group to which the authorization rule grants
45559	// access.
45560	GroupId *string `locationName:"groupId" type:"string"`
45561
45562	// The current state of the authorization rule.
45563	Status *ClientVpnAuthorizationRuleStatus `locationName:"status" type:"structure"`
45564}
45565
45566// String returns the string representation
45567func (s AuthorizationRule) String() string {
45568	return awsutil.Prettify(s)
45569}
45570
45571// GoString returns the string representation
45572func (s AuthorizationRule) GoString() string {
45573	return s.String()
45574}
45575
45576// SetAccessAll sets the AccessAll field's value.
45577func (s *AuthorizationRule) SetAccessAll(v bool) *AuthorizationRule {
45578	s.AccessAll = &v
45579	return s
45580}
45581
45582// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
45583func (s *AuthorizationRule) SetClientVpnEndpointId(v string) *AuthorizationRule {
45584	s.ClientVpnEndpointId = &v
45585	return s
45586}
45587
45588// SetDescription sets the Description field's value.
45589func (s *AuthorizationRule) SetDescription(v string) *AuthorizationRule {
45590	s.Description = &v
45591	return s
45592}
45593
45594// SetDestinationCidr sets the DestinationCidr field's value.
45595func (s *AuthorizationRule) SetDestinationCidr(v string) *AuthorizationRule {
45596	s.DestinationCidr = &v
45597	return s
45598}
45599
45600// SetGroupId sets the GroupId field's value.
45601func (s *AuthorizationRule) SetGroupId(v string) *AuthorizationRule {
45602	s.GroupId = &v
45603	return s
45604}
45605
45606// SetStatus sets the Status field's value.
45607func (s *AuthorizationRule) SetStatus(v *ClientVpnAuthorizationRuleStatus) *AuthorizationRule {
45608	s.Status = v
45609	return s
45610}
45611
45612type AuthorizeClientVpnIngressInput struct {
45613	_ struct{} `type:"structure"`
45614
45615	// The ID of the group to grant access to, for example, the Active Directory
45616	// group or identity provider (IdP) group. Required if AuthorizeAllGroups is
45617	// false or not specified.
45618	AccessGroupId *string `type:"string"`
45619
45620	// Indicates whether to grant access to all clients. Specify true to grant all
45621	// clients who successfully establish a VPN connection access to the network.
45622	// Must be set to true if AccessGroupId is not specified.
45623	AuthorizeAllGroups *bool `type:"boolean"`
45624
45625	// Unique, case-sensitive identifier that you provide to ensure the idempotency
45626	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
45627	ClientToken *string `type:"string" idempotencyToken:"true"`
45628
45629	// The ID of the Client VPN endpoint.
45630	//
45631	// ClientVpnEndpointId is a required field
45632	ClientVpnEndpointId *string `type:"string" required:"true"`
45633
45634	// A brief description of the authorization rule.
45635	Description *string `type:"string"`
45636
45637	// Checks whether you have the required permissions for the action, without
45638	// actually making the request, and provides an error response. If you have
45639	// the required permissions, the error response is DryRunOperation. Otherwise,
45640	// it is UnauthorizedOperation.
45641	DryRun *bool `type:"boolean"`
45642
45643	// The IPv4 address range, in CIDR notation, of the network for which access
45644	// is being authorized.
45645	//
45646	// TargetNetworkCidr is a required field
45647	TargetNetworkCidr *string `type:"string" required:"true"`
45648}
45649
45650// String returns the string representation
45651func (s AuthorizeClientVpnIngressInput) String() string {
45652	return awsutil.Prettify(s)
45653}
45654
45655// GoString returns the string representation
45656func (s AuthorizeClientVpnIngressInput) GoString() string {
45657	return s.String()
45658}
45659
45660// Validate inspects the fields of the type to determine if they are valid.
45661func (s *AuthorizeClientVpnIngressInput) Validate() error {
45662	invalidParams := request.ErrInvalidParams{Context: "AuthorizeClientVpnIngressInput"}
45663	if s.ClientVpnEndpointId == nil {
45664		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
45665	}
45666	if s.TargetNetworkCidr == nil {
45667		invalidParams.Add(request.NewErrParamRequired("TargetNetworkCidr"))
45668	}
45669
45670	if invalidParams.Len() > 0 {
45671		return invalidParams
45672	}
45673	return nil
45674}
45675
45676// SetAccessGroupId sets the AccessGroupId field's value.
45677func (s *AuthorizeClientVpnIngressInput) SetAccessGroupId(v string) *AuthorizeClientVpnIngressInput {
45678	s.AccessGroupId = &v
45679	return s
45680}
45681
45682// SetAuthorizeAllGroups sets the AuthorizeAllGroups field's value.
45683func (s *AuthorizeClientVpnIngressInput) SetAuthorizeAllGroups(v bool) *AuthorizeClientVpnIngressInput {
45684	s.AuthorizeAllGroups = &v
45685	return s
45686}
45687
45688// SetClientToken sets the ClientToken field's value.
45689func (s *AuthorizeClientVpnIngressInput) SetClientToken(v string) *AuthorizeClientVpnIngressInput {
45690	s.ClientToken = &v
45691	return s
45692}
45693
45694// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
45695func (s *AuthorizeClientVpnIngressInput) SetClientVpnEndpointId(v string) *AuthorizeClientVpnIngressInput {
45696	s.ClientVpnEndpointId = &v
45697	return s
45698}
45699
45700// SetDescription sets the Description field's value.
45701func (s *AuthorizeClientVpnIngressInput) SetDescription(v string) *AuthorizeClientVpnIngressInput {
45702	s.Description = &v
45703	return s
45704}
45705
45706// SetDryRun sets the DryRun field's value.
45707func (s *AuthorizeClientVpnIngressInput) SetDryRun(v bool) *AuthorizeClientVpnIngressInput {
45708	s.DryRun = &v
45709	return s
45710}
45711
45712// SetTargetNetworkCidr sets the TargetNetworkCidr field's value.
45713func (s *AuthorizeClientVpnIngressInput) SetTargetNetworkCidr(v string) *AuthorizeClientVpnIngressInput {
45714	s.TargetNetworkCidr = &v
45715	return s
45716}
45717
45718type AuthorizeClientVpnIngressOutput struct {
45719	_ struct{} `type:"structure"`
45720
45721	// The current state of the authorization rule.
45722	Status *ClientVpnAuthorizationRuleStatus `locationName:"status" type:"structure"`
45723}
45724
45725// String returns the string representation
45726func (s AuthorizeClientVpnIngressOutput) String() string {
45727	return awsutil.Prettify(s)
45728}
45729
45730// GoString returns the string representation
45731func (s AuthorizeClientVpnIngressOutput) GoString() string {
45732	return s.String()
45733}
45734
45735// SetStatus sets the Status field's value.
45736func (s *AuthorizeClientVpnIngressOutput) SetStatus(v *ClientVpnAuthorizationRuleStatus) *AuthorizeClientVpnIngressOutput {
45737	s.Status = v
45738	return s
45739}
45740
45741type AuthorizeSecurityGroupEgressInput struct {
45742	_ struct{} `type:"structure"`
45743
45744	// Not supported. Use a set of IP permissions to specify the CIDR.
45745	CidrIp *string `locationName:"cidrIp" type:"string"`
45746
45747	// Checks whether you have the required permissions for the action, without
45748	// actually making the request, and provides an error response. If you have
45749	// the required permissions, the error response is DryRunOperation. Otherwise,
45750	// it is UnauthorizedOperation.
45751	DryRun *bool `locationName:"dryRun" type:"boolean"`
45752
45753	// Not supported. Use a set of IP permissions to specify the port.
45754	FromPort *int64 `locationName:"fromPort" type:"integer"`
45755
45756	// The ID of the security group.
45757	//
45758	// GroupId is a required field
45759	GroupId *string `locationName:"groupId" type:"string" required:"true"`
45760
45761	// The sets of IP permissions. You can't specify a destination security group
45762	// and a CIDR IP address range in the same set of permissions.
45763	IpPermissions []*IpPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"`
45764
45765	// Not supported. Use a set of IP permissions to specify the protocol name or
45766	// number.
45767	IpProtocol *string `locationName:"ipProtocol" type:"string"`
45768
45769	// Not supported. Use a set of IP permissions to specify a destination security
45770	// group.
45771	SourceSecurityGroupName *string `locationName:"sourceSecurityGroupName" type:"string"`
45772
45773	// Not supported. Use a set of IP permissions to specify a destination security
45774	// group.
45775	SourceSecurityGroupOwnerId *string `locationName:"sourceSecurityGroupOwnerId" type:"string"`
45776
45777	// Not supported. Use a set of IP permissions to specify the port.
45778	ToPort *int64 `locationName:"toPort" type:"integer"`
45779}
45780
45781// String returns the string representation
45782func (s AuthorizeSecurityGroupEgressInput) String() string {
45783	return awsutil.Prettify(s)
45784}
45785
45786// GoString returns the string representation
45787func (s AuthorizeSecurityGroupEgressInput) GoString() string {
45788	return s.String()
45789}
45790
45791// Validate inspects the fields of the type to determine if they are valid.
45792func (s *AuthorizeSecurityGroupEgressInput) Validate() error {
45793	invalidParams := request.ErrInvalidParams{Context: "AuthorizeSecurityGroupEgressInput"}
45794	if s.GroupId == nil {
45795		invalidParams.Add(request.NewErrParamRequired("GroupId"))
45796	}
45797
45798	if invalidParams.Len() > 0 {
45799		return invalidParams
45800	}
45801	return nil
45802}
45803
45804// SetCidrIp sets the CidrIp field's value.
45805func (s *AuthorizeSecurityGroupEgressInput) SetCidrIp(v string) *AuthorizeSecurityGroupEgressInput {
45806	s.CidrIp = &v
45807	return s
45808}
45809
45810// SetDryRun sets the DryRun field's value.
45811func (s *AuthorizeSecurityGroupEgressInput) SetDryRun(v bool) *AuthorizeSecurityGroupEgressInput {
45812	s.DryRun = &v
45813	return s
45814}
45815
45816// SetFromPort sets the FromPort field's value.
45817func (s *AuthorizeSecurityGroupEgressInput) SetFromPort(v int64) *AuthorizeSecurityGroupEgressInput {
45818	s.FromPort = &v
45819	return s
45820}
45821
45822// SetGroupId sets the GroupId field's value.
45823func (s *AuthorizeSecurityGroupEgressInput) SetGroupId(v string) *AuthorizeSecurityGroupEgressInput {
45824	s.GroupId = &v
45825	return s
45826}
45827
45828// SetIpPermissions sets the IpPermissions field's value.
45829func (s *AuthorizeSecurityGroupEgressInput) SetIpPermissions(v []*IpPermission) *AuthorizeSecurityGroupEgressInput {
45830	s.IpPermissions = v
45831	return s
45832}
45833
45834// SetIpProtocol sets the IpProtocol field's value.
45835func (s *AuthorizeSecurityGroupEgressInput) SetIpProtocol(v string) *AuthorizeSecurityGroupEgressInput {
45836	s.IpProtocol = &v
45837	return s
45838}
45839
45840// SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
45841func (s *AuthorizeSecurityGroupEgressInput) SetSourceSecurityGroupName(v string) *AuthorizeSecurityGroupEgressInput {
45842	s.SourceSecurityGroupName = &v
45843	return s
45844}
45845
45846// SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
45847func (s *AuthorizeSecurityGroupEgressInput) SetSourceSecurityGroupOwnerId(v string) *AuthorizeSecurityGroupEgressInput {
45848	s.SourceSecurityGroupOwnerId = &v
45849	return s
45850}
45851
45852// SetToPort sets the ToPort field's value.
45853func (s *AuthorizeSecurityGroupEgressInput) SetToPort(v int64) *AuthorizeSecurityGroupEgressInput {
45854	s.ToPort = &v
45855	return s
45856}
45857
45858type AuthorizeSecurityGroupEgressOutput struct {
45859	_ struct{} `type:"structure"`
45860}
45861
45862// String returns the string representation
45863func (s AuthorizeSecurityGroupEgressOutput) String() string {
45864	return awsutil.Prettify(s)
45865}
45866
45867// GoString returns the string representation
45868func (s AuthorizeSecurityGroupEgressOutput) GoString() string {
45869	return s.String()
45870}
45871
45872type AuthorizeSecurityGroupIngressInput struct {
45873	_ struct{} `type:"structure"`
45874
45875	// The IPv4 address range, in CIDR format. You can't specify this parameter
45876	// when specifying a source security group. To specify an IPv6 address range,
45877	// use a set of IP permissions.
45878	//
45879	// Alternatively, use a set of IP permissions to specify multiple rules and
45880	// a description for the rule.
45881	CidrIp *string `type:"string"`
45882
45883	// Checks whether you have the required permissions for the action, without
45884	// actually making the request, and provides an error response. If you have
45885	// the required permissions, the error response is DryRunOperation. Otherwise,
45886	// it is UnauthorizedOperation.
45887	DryRun *bool `locationName:"dryRun" type:"boolean"`
45888
45889	// The start of port range for the TCP and UDP protocols, or an ICMP type number.
45890	// For the ICMP type number, use -1 to specify all types. If you specify all
45891	// ICMP types, you must specify all codes.
45892	//
45893	// Alternatively, use a set of IP permissions to specify multiple rules and
45894	// a description for the rule.
45895	FromPort *int64 `type:"integer"`
45896
45897	// The ID of the security group. You must specify either the security group
45898	// ID or the security group name in the request. For security groups in a nondefault
45899	// VPC, you must specify the security group ID.
45900	GroupId *string `type:"string"`
45901
45902	// [EC2-Classic, default VPC] The name of the security group. You must specify
45903	// either the security group ID or the security group name in the request.
45904	GroupName *string `type:"string"`
45905
45906	// The sets of IP permissions.
45907	IpPermissions []*IpPermission `locationNameList:"item" type:"list"`
45908
45909	// The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
45910	// To specify icmpv6, use a set of IP permissions.
45911	//
45912	// [VPC only] Use -1 to specify all protocols. If you specify -1 or a protocol
45913	// other than tcp, udp, or icmp, traffic on all ports is allowed, regardless
45914	// of any ports you specify.
45915	//
45916	// Alternatively, use a set of IP permissions to specify multiple rules and
45917	// a description for the rule.
45918	IpProtocol *string `type:"string"`
45919
45920	// [EC2-Classic, default VPC] The name of the source security group. You can't
45921	// specify this parameter in combination with the following parameters: the
45922	// CIDR IP address range, the start of the port range, the IP protocol, and
45923	// the end of the port range. Creates rules that grant full ICMP, UDP, and TCP
45924	// access. To create a rule with a specific IP protocol and port range, use
45925	// a set of IP permissions instead. For EC2-VPC, the source security group must
45926	// be in the same VPC.
45927	SourceSecurityGroupName *string `type:"string"`
45928
45929	// [nondefault VPC] The AWS account ID for the source security group, if the
45930	// source security group is in a different account. You can't specify this parameter
45931	// in combination with the following parameters: the CIDR IP address range,
45932	// the IP protocol, the start of the port range, and the end of the port range.
45933	// Creates rules that grant full ICMP, UDP, and TCP access. To create a rule
45934	// with a specific IP protocol and port range, use a set of IP permissions instead.
45935	SourceSecurityGroupOwnerId *string `type:"string"`
45936
45937	// The end of port range for the TCP and UDP protocols, or an ICMP code number.
45938	// For the ICMP code number, use -1 to specify all codes. If you specify all
45939	// ICMP types, you must specify all codes.
45940	//
45941	// Alternatively, use a set of IP permissions to specify multiple rules and
45942	// a description for the rule.
45943	ToPort *int64 `type:"integer"`
45944}
45945
45946// String returns the string representation
45947func (s AuthorizeSecurityGroupIngressInput) String() string {
45948	return awsutil.Prettify(s)
45949}
45950
45951// GoString returns the string representation
45952func (s AuthorizeSecurityGroupIngressInput) GoString() string {
45953	return s.String()
45954}
45955
45956// SetCidrIp sets the CidrIp field's value.
45957func (s *AuthorizeSecurityGroupIngressInput) SetCidrIp(v string) *AuthorizeSecurityGroupIngressInput {
45958	s.CidrIp = &v
45959	return s
45960}
45961
45962// SetDryRun sets the DryRun field's value.
45963func (s *AuthorizeSecurityGroupIngressInput) SetDryRun(v bool) *AuthorizeSecurityGroupIngressInput {
45964	s.DryRun = &v
45965	return s
45966}
45967
45968// SetFromPort sets the FromPort field's value.
45969func (s *AuthorizeSecurityGroupIngressInput) SetFromPort(v int64) *AuthorizeSecurityGroupIngressInput {
45970	s.FromPort = &v
45971	return s
45972}
45973
45974// SetGroupId sets the GroupId field's value.
45975func (s *AuthorizeSecurityGroupIngressInput) SetGroupId(v string) *AuthorizeSecurityGroupIngressInput {
45976	s.GroupId = &v
45977	return s
45978}
45979
45980// SetGroupName sets the GroupName field's value.
45981func (s *AuthorizeSecurityGroupIngressInput) SetGroupName(v string) *AuthorizeSecurityGroupIngressInput {
45982	s.GroupName = &v
45983	return s
45984}
45985
45986// SetIpPermissions sets the IpPermissions field's value.
45987func (s *AuthorizeSecurityGroupIngressInput) SetIpPermissions(v []*IpPermission) *AuthorizeSecurityGroupIngressInput {
45988	s.IpPermissions = v
45989	return s
45990}
45991
45992// SetIpProtocol sets the IpProtocol field's value.
45993func (s *AuthorizeSecurityGroupIngressInput) SetIpProtocol(v string) *AuthorizeSecurityGroupIngressInput {
45994	s.IpProtocol = &v
45995	return s
45996}
45997
45998// SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
45999func (s *AuthorizeSecurityGroupIngressInput) SetSourceSecurityGroupName(v string) *AuthorizeSecurityGroupIngressInput {
46000	s.SourceSecurityGroupName = &v
46001	return s
46002}
46003
46004// SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
46005func (s *AuthorizeSecurityGroupIngressInput) SetSourceSecurityGroupOwnerId(v string) *AuthorizeSecurityGroupIngressInput {
46006	s.SourceSecurityGroupOwnerId = &v
46007	return s
46008}
46009
46010// SetToPort sets the ToPort field's value.
46011func (s *AuthorizeSecurityGroupIngressInput) SetToPort(v int64) *AuthorizeSecurityGroupIngressInput {
46012	s.ToPort = &v
46013	return s
46014}
46015
46016type AuthorizeSecurityGroupIngressOutput struct {
46017	_ struct{} `type:"structure"`
46018}
46019
46020// String returns the string representation
46021func (s AuthorizeSecurityGroupIngressOutput) String() string {
46022	return awsutil.Prettify(s)
46023}
46024
46025// GoString returns the string representation
46026func (s AuthorizeSecurityGroupIngressOutput) GoString() string {
46027	return s.String()
46028}
46029
46030// Describes Availability Zones, Local Zones, and Wavelength Zones.
46031type AvailabilityZone struct {
46032	_ struct{} `type:"structure"`
46033
46034	// For Availability Zones, this parameter has the same value as the Region name.
46035	//
46036	// For Local Zones, the name of the associated group, for example us-west-2-lax-1.
46037	//
46038	// For Wavelength Zones, the name of the associated group, for example us-east-1-wl1-bos-wlz-1.
46039	GroupName *string `locationName:"groupName" type:"string"`
46040
46041	// Any messages about the Availability Zone, Local Zone, or Wavelength Zone.
46042	Messages []*AvailabilityZoneMessage `locationName:"messageSet" locationNameList:"item" type:"list"`
46043
46044	// The name of the network border group.
46045	NetworkBorderGroup *string `locationName:"networkBorderGroup" type:"string"`
46046
46047	// For Availability Zones, this parameter always has the value of opt-in-not-required.
46048	//
46049	// For Local Zones and Wavelength Zones, this parameter is the opt-in status.
46050	// The possible values are opted-in, and not-opted-in.
46051	OptInStatus *string `locationName:"optInStatus" type:"string" enum:"AvailabilityZoneOptInStatus"`
46052
46053	// The ID of the zone that handles some of the Local Zone or Wavelength Zone
46054	// control plane operations, such as API calls.
46055	ParentZoneId *string `locationName:"parentZoneId" type:"string"`
46056
46057	// The name of the zone that handles some of the Local Zone or Wavelength Zone
46058	// control plane operations, such as API calls.
46059	ParentZoneName *string `locationName:"parentZoneName" type:"string"`
46060
46061	// The name of the Region.
46062	RegionName *string `locationName:"regionName" type:"string"`
46063
46064	// The state of the Availability Zone, Local Zone, or Wavelength Zone.
46065	State *string `locationName:"zoneState" type:"string" enum:"AvailabilityZoneState"`
46066
46067	// The ID of the Availability Zone, Local Zone, or Wavelength Zone.
46068	ZoneId *string `locationName:"zoneId" type:"string"`
46069
46070	// The name of the Availability Zone, Local Zone, or Wavelength Zone.
46071	ZoneName *string `locationName:"zoneName" type:"string"`
46072
46073	// The type of zone. The valid values are availability-zone, local-zone, and
46074	// wavelength-zone.
46075	ZoneType *string `locationName:"zoneType" type:"string"`
46076}
46077
46078// String returns the string representation
46079func (s AvailabilityZone) String() string {
46080	return awsutil.Prettify(s)
46081}
46082
46083// GoString returns the string representation
46084func (s AvailabilityZone) GoString() string {
46085	return s.String()
46086}
46087
46088// SetGroupName sets the GroupName field's value.
46089func (s *AvailabilityZone) SetGroupName(v string) *AvailabilityZone {
46090	s.GroupName = &v
46091	return s
46092}
46093
46094// SetMessages sets the Messages field's value.
46095func (s *AvailabilityZone) SetMessages(v []*AvailabilityZoneMessage) *AvailabilityZone {
46096	s.Messages = v
46097	return s
46098}
46099
46100// SetNetworkBorderGroup sets the NetworkBorderGroup field's value.
46101func (s *AvailabilityZone) SetNetworkBorderGroup(v string) *AvailabilityZone {
46102	s.NetworkBorderGroup = &v
46103	return s
46104}
46105
46106// SetOptInStatus sets the OptInStatus field's value.
46107func (s *AvailabilityZone) SetOptInStatus(v string) *AvailabilityZone {
46108	s.OptInStatus = &v
46109	return s
46110}
46111
46112// SetParentZoneId sets the ParentZoneId field's value.
46113func (s *AvailabilityZone) SetParentZoneId(v string) *AvailabilityZone {
46114	s.ParentZoneId = &v
46115	return s
46116}
46117
46118// SetParentZoneName sets the ParentZoneName field's value.
46119func (s *AvailabilityZone) SetParentZoneName(v string) *AvailabilityZone {
46120	s.ParentZoneName = &v
46121	return s
46122}
46123
46124// SetRegionName sets the RegionName field's value.
46125func (s *AvailabilityZone) SetRegionName(v string) *AvailabilityZone {
46126	s.RegionName = &v
46127	return s
46128}
46129
46130// SetState sets the State field's value.
46131func (s *AvailabilityZone) SetState(v string) *AvailabilityZone {
46132	s.State = &v
46133	return s
46134}
46135
46136// SetZoneId sets the ZoneId field's value.
46137func (s *AvailabilityZone) SetZoneId(v string) *AvailabilityZone {
46138	s.ZoneId = &v
46139	return s
46140}
46141
46142// SetZoneName sets the ZoneName field's value.
46143func (s *AvailabilityZone) SetZoneName(v string) *AvailabilityZone {
46144	s.ZoneName = &v
46145	return s
46146}
46147
46148// SetZoneType sets the ZoneType field's value.
46149func (s *AvailabilityZone) SetZoneType(v string) *AvailabilityZone {
46150	s.ZoneType = &v
46151	return s
46152}
46153
46154// Describes a message about an Availability Zone, Local Zone, or Wavelength
46155// Zone.
46156type AvailabilityZoneMessage struct {
46157	_ struct{} `type:"structure"`
46158
46159	// The message about the Availability Zone, Local Zone, or Wavelength Zone.
46160	Message *string `locationName:"message" type:"string"`
46161}
46162
46163// String returns the string representation
46164func (s AvailabilityZoneMessage) String() string {
46165	return awsutil.Prettify(s)
46166}
46167
46168// GoString returns the string representation
46169func (s AvailabilityZoneMessage) GoString() string {
46170	return s.String()
46171}
46172
46173// SetMessage sets the Message field's value.
46174func (s *AvailabilityZoneMessage) SetMessage(v string) *AvailabilityZoneMessage {
46175	s.Message = &v
46176	return s
46177}
46178
46179// The capacity information for instances that can be launched onto the Dedicated
46180// Host.
46181type AvailableCapacity struct {
46182	_ struct{} `type:"structure"`
46183
46184	// The number of instances that can be launched onto the Dedicated Host depending
46185	// on the host's available capacity. For Dedicated Hosts that support multiple
46186	// instance types, this parameter represents the number of instances for each
46187	// instance size that is supported on the host.
46188	AvailableInstanceCapacity []*InstanceCapacity `locationName:"availableInstanceCapacity" locationNameList:"item" type:"list"`
46189
46190	// The number of vCPUs available for launching instances onto the Dedicated
46191	// Host.
46192	AvailableVCpus *int64 `locationName:"availableVCpus" type:"integer"`
46193}
46194
46195// String returns the string representation
46196func (s AvailableCapacity) String() string {
46197	return awsutil.Prettify(s)
46198}
46199
46200// GoString returns the string representation
46201func (s AvailableCapacity) GoString() string {
46202	return s.String()
46203}
46204
46205// SetAvailableInstanceCapacity sets the AvailableInstanceCapacity field's value.
46206func (s *AvailableCapacity) SetAvailableInstanceCapacity(v []*InstanceCapacity) *AvailableCapacity {
46207	s.AvailableInstanceCapacity = v
46208	return s
46209}
46210
46211// SetAvailableVCpus sets the AvailableVCpus field's value.
46212func (s *AvailableCapacity) SetAvailableVCpus(v int64) *AvailableCapacity {
46213	s.AvailableVCpus = &v
46214	return s
46215}
46216
46217type BlobAttributeValue struct {
46218	_ struct{} `type:"structure"`
46219
46220	// Value is automatically base64 encoded/decoded by the SDK.
46221	Value []byte `locationName:"value" type:"blob"`
46222}
46223
46224// String returns the string representation
46225func (s BlobAttributeValue) String() string {
46226	return awsutil.Prettify(s)
46227}
46228
46229// GoString returns the string representation
46230func (s BlobAttributeValue) GoString() string {
46231	return s.String()
46232}
46233
46234// SetValue sets the Value field's value.
46235func (s *BlobAttributeValue) SetValue(v []byte) *BlobAttributeValue {
46236	s.Value = v
46237	return s
46238}
46239
46240// Describes a block device mapping.
46241type BlockDeviceMapping struct {
46242	_ struct{} `type:"structure"`
46243
46244	// The device name (for example, /dev/sdh or xvdh).
46245	DeviceName *string `locationName:"deviceName" type:"string"`
46246
46247	// Parameters used to automatically set up EBS volumes when the instance is
46248	// launched.
46249	Ebs *EbsBlockDevice `locationName:"ebs" type:"structure"`
46250
46251	// To omit the device from the block device mapping, specify an empty string.
46252	NoDevice *string `locationName:"noDevice" type:"string"`
46253
46254	// The virtual device name (ephemeralN). Instance store volumes are numbered
46255	// starting from 0. An instance type with 2 available instance store volumes
46256	// can specify mappings for ephemeral0 and ephemeral1. The number of available
46257	// instance store volumes depends on the instance type. After you connect to
46258	// the instance, you must mount the volume.
46259	//
46260	// NVMe instance store volumes are automatically enumerated and assigned a device
46261	// name. Including them in your block device mapping has no effect.
46262	//
46263	// Constraints: For M3 instances, you must specify instance store volumes in
46264	// the block device mapping for the instance. When you launch an M3 instance,
46265	// we ignore any instance store volumes specified in the block device mapping
46266	// for the AMI.
46267	VirtualName *string `locationName:"virtualName" type:"string"`
46268}
46269
46270// String returns the string representation
46271func (s BlockDeviceMapping) String() string {
46272	return awsutil.Prettify(s)
46273}
46274
46275// GoString returns the string representation
46276func (s BlockDeviceMapping) GoString() string {
46277	return s.String()
46278}
46279
46280// SetDeviceName sets the DeviceName field's value.
46281func (s *BlockDeviceMapping) SetDeviceName(v string) *BlockDeviceMapping {
46282	s.DeviceName = &v
46283	return s
46284}
46285
46286// SetEbs sets the Ebs field's value.
46287func (s *BlockDeviceMapping) SetEbs(v *EbsBlockDevice) *BlockDeviceMapping {
46288	s.Ebs = v
46289	return s
46290}
46291
46292// SetNoDevice sets the NoDevice field's value.
46293func (s *BlockDeviceMapping) SetNoDevice(v string) *BlockDeviceMapping {
46294	s.NoDevice = &v
46295	return s
46296}
46297
46298// SetVirtualName sets the VirtualName field's value.
46299func (s *BlockDeviceMapping) SetVirtualName(v string) *BlockDeviceMapping {
46300	s.VirtualName = &v
46301	return s
46302}
46303
46304// Contains the parameters for BundleInstance.
46305type BundleInstanceInput struct {
46306	_ struct{} `type:"structure"`
46307
46308	// Checks whether you have the required permissions for the action, without
46309	// actually making the request, and provides an error response. If you have
46310	// the required permissions, the error response is DryRunOperation. Otherwise,
46311	// it is UnauthorizedOperation.
46312	DryRun *bool `locationName:"dryRun" type:"boolean"`
46313
46314	// The ID of the instance to bundle.
46315	//
46316	// Type: String
46317	//
46318	// Default: None
46319	//
46320	// Required: Yes
46321	//
46322	// InstanceId is a required field
46323	InstanceId *string `type:"string" required:"true"`
46324
46325	// The bucket in which to store the AMI. You can specify a bucket that you already
46326	// own or a new bucket that Amazon EC2 creates on your behalf. If you specify
46327	// a bucket that belongs to someone else, Amazon EC2 returns an error.
46328	//
46329	// Storage is a required field
46330	Storage *Storage `type:"structure" required:"true"`
46331}
46332
46333// String returns the string representation
46334func (s BundleInstanceInput) String() string {
46335	return awsutil.Prettify(s)
46336}
46337
46338// GoString returns the string representation
46339func (s BundleInstanceInput) GoString() string {
46340	return s.String()
46341}
46342
46343// Validate inspects the fields of the type to determine if they are valid.
46344func (s *BundleInstanceInput) Validate() error {
46345	invalidParams := request.ErrInvalidParams{Context: "BundleInstanceInput"}
46346	if s.InstanceId == nil {
46347		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
46348	}
46349	if s.Storage == nil {
46350		invalidParams.Add(request.NewErrParamRequired("Storage"))
46351	}
46352
46353	if invalidParams.Len() > 0 {
46354		return invalidParams
46355	}
46356	return nil
46357}
46358
46359// SetDryRun sets the DryRun field's value.
46360func (s *BundleInstanceInput) SetDryRun(v bool) *BundleInstanceInput {
46361	s.DryRun = &v
46362	return s
46363}
46364
46365// SetInstanceId sets the InstanceId field's value.
46366func (s *BundleInstanceInput) SetInstanceId(v string) *BundleInstanceInput {
46367	s.InstanceId = &v
46368	return s
46369}
46370
46371// SetStorage sets the Storage field's value.
46372func (s *BundleInstanceInput) SetStorage(v *Storage) *BundleInstanceInput {
46373	s.Storage = v
46374	return s
46375}
46376
46377// Contains the output of BundleInstance.
46378type BundleInstanceOutput struct {
46379	_ struct{} `type:"structure"`
46380
46381	// Information about the bundle task.
46382	BundleTask *BundleTask `locationName:"bundleInstanceTask" type:"structure"`
46383}
46384
46385// String returns the string representation
46386func (s BundleInstanceOutput) String() string {
46387	return awsutil.Prettify(s)
46388}
46389
46390// GoString returns the string representation
46391func (s BundleInstanceOutput) GoString() string {
46392	return s.String()
46393}
46394
46395// SetBundleTask sets the BundleTask field's value.
46396func (s *BundleInstanceOutput) SetBundleTask(v *BundleTask) *BundleInstanceOutput {
46397	s.BundleTask = v
46398	return s
46399}
46400
46401// Describes a bundle task.
46402type BundleTask struct {
46403	_ struct{} `type:"structure"`
46404
46405	// The ID of the bundle task.
46406	BundleId *string `locationName:"bundleId" type:"string"`
46407
46408	// If the task fails, a description of the error.
46409	BundleTaskError *BundleTaskError `locationName:"error" type:"structure"`
46410
46411	// The ID of the instance associated with this bundle task.
46412	InstanceId *string `locationName:"instanceId" type:"string"`
46413
46414	// The level of task completion, as a percent (for example, 20%).
46415	Progress *string `locationName:"progress" type:"string"`
46416
46417	// The time this task started.
46418	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
46419
46420	// The state of the task.
46421	State *string `locationName:"state" type:"string" enum:"BundleTaskState"`
46422
46423	// The Amazon S3 storage locations.
46424	Storage *Storage `locationName:"storage" type:"structure"`
46425
46426	// The time of the most recent update for the task.
46427	UpdateTime *time.Time `locationName:"updateTime" type:"timestamp"`
46428}
46429
46430// String returns the string representation
46431func (s BundleTask) String() string {
46432	return awsutil.Prettify(s)
46433}
46434
46435// GoString returns the string representation
46436func (s BundleTask) GoString() string {
46437	return s.String()
46438}
46439
46440// SetBundleId sets the BundleId field's value.
46441func (s *BundleTask) SetBundleId(v string) *BundleTask {
46442	s.BundleId = &v
46443	return s
46444}
46445
46446// SetBundleTaskError sets the BundleTaskError field's value.
46447func (s *BundleTask) SetBundleTaskError(v *BundleTaskError) *BundleTask {
46448	s.BundleTaskError = v
46449	return s
46450}
46451
46452// SetInstanceId sets the InstanceId field's value.
46453func (s *BundleTask) SetInstanceId(v string) *BundleTask {
46454	s.InstanceId = &v
46455	return s
46456}
46457
46458// SetProgress sets the Progress field's value.
46459func (s *BundleTask) SetProgress(v string) *BundleTask {
46460	s.Progress = &v
46461	return s
46462}
46463
46464// SetStartTime sets the StartTime field's value.
46465func (s *BundleTask) SetStartTime(v time.Time) *BundleTask {
46466	s.StartTime = &v
46467	return s
46468}
46469
46470// SetState sets the State field's value.
46471func (s *BundleTask) SetState(v string) *BundleTask {
46472	s.State = &v
46473	return s
46474}
46475
46476// SetStorage sets the Storage field's value.
46477func (s *BundleTask) SetStorage(v *Storage) *BundleTask {
46478	s.Storage = v
46479	return s
46480}
46481
46482// SetUpdateTime sets the UpdateTime field's value.
46483func (s *BundleTask) SetUpdateTime(v time.Time) *BundleTask {
46484	s.UpdateTime = &v
46485	return s
46486}
46487
46488// Describes an error for BundleInstance.
46489type BundleTaskError struct {
46490	_ struct{} `type:"structure"`
46491
46492	// The error code.
46493	Code *string `locationName:"code" type:"string"`
46494
46495	// The error message.
46496	Message *string `locationName:"message" type:"string"`
46497}
46498
46499// String returns the string representation
46500func (s BundleTaskError) String() string {
46501	return awsutil.Prettify(s)
46502}
46503
46504// GoString returns the string representation
46505func (s BundleTaskError) GoString() string {
46506	return s.String()
46507}
46508
46509// SetCode sets the Code field's value.
46510func (s *BundleTaskError) SetCode(v string) *BundleTaskError {
46511	s.Code = &v
46512	return s
46513}
46514
46515// SetMessage sets the Message field's value.
46516func (s *BundleTaskError) SetMessage(v string) *BundleTaskError {
46517	s.Message = &v
46518	return s
46519}
46520
46521// Information about an address range that is provisioned for use with your
46522// AWS resources through bring your own IP addresses (BYOIP).
46523type ByoipCidr struct {
46524	_ struct{} `type:"structure"`
46525
46526	// The address range, in CIDR notation.
46527	Cidr *string `locationName:"cidr" type:"string"`
46528
46529	// The description of the address range.
46530	Description *string `locationName:"description" type:"string"`
46531
46532	// The state of the address pool.
46533	State *string `locationName:"state" type:"string" enum:"ByoipCidrState"`
46534
46535	// Upon success, contains the ID of the address pool. Otherwise, contains an
46536	// error message.
46537	StatusMessage *string `locationName:"statusMessage" type:"string"`
46538}
46539
46540// String returns the string representation
46541func (s ByoipCidr) String() string {
46542	return awsutil.Prettify(s)
46543}
46544
46545// GoString returns the string representation
46546func (s ByoipCidr) GoString() string {
46547	return s.String()
46548}
46549
46550// SetCidr sets the Cidr field's value.
46551func (s *ByoipCidr) SetCidr(v string) *ByoipCidr {
46552	s.Cidr = &v
46553	return s
46554}
46555
46556// SetDescription sets the Description field's value.
46557func (s *ByoipCidr) SetDescription(v string) *ByoipCidr {
46558	s.Description = &v
46559	return s
46560}
46561
46562// SetState sets the State field's value.
46563func (s *ByoipCidr) SetState(v string) *ByoipCidr {
46564	s.State = &v
46565	return s
46566}
46567
46568// SetStatusMessage sets the StatusMessage field's value.
46569func (s *ByoipCidr) SetStatusMessage(v string) *ByoipCidr {
46570	s.StatusMessage = &v
46571	return s
46572}
46573
46574// Contains the parameters for CancelBundleTask.
46575type CancelBundleTaskInput struct {
46576	_ struct{} `type:"structure"`
46577
46578	// The ID of the bundle task.
46579	//
46580	// BundleId is a required field
46581	BundleId *string `type:"string" required:"true"`
46582
46583	// Checks whether you have the required permissions for the action, without
46584	// actually making the request, and provides an error response. If you have
46585	// the required permissions, the error response is DryRunOperation. Otherwise,
46586	// it is UnauthorizedOperation.
46587	DryRun *bool `locationName:"dryRun" type:"boolean"`
46588}
46589
46590// String returns the string representation
46591func (s CancelBundleTaskInput) String() string {
46592	return awsutil.Prettify(s)
46593}
46594
46595// GoString returns the string representation
46596func (s CancelBundleTaskInput) GoString() string {
46597	return s.String()
46598}
46599
46600// Validate inspects the fields of the type to determine if they are valid.
46601func (s *CancelBundleTaskInput) Validate() error {
46602	invalidParams := request.ErrInvalidParams{Context: "CancelBundleTaskInput"}
46603	if s.BundleId == nil {
46604		invalidParams.Add(request.NewErrParamRequired("BundleId"))
46605	}
46606
46607	if invalidParams.Len() > 0 {
46608		return invalidParams
46609	}
46610	return nil
46611}
46612
46613// SetBundleId sets the BundleId field's value.
46614func (s *CancelBundleTaskInput) SetBundleId(v string) *CancelBundleTaskInput {
46615	s.BundleId = &v
46616	return s
46617}
46618
46619// SetDryRun sets the DryRun field's value.
46620func (s *CancelBundleTaskInput) SetDryRun(v bool) *CancelBundleTaskInput {
46621	s.DryRun = &v
46622	return s
46623}
46624
46625// Contains the output of CancelBundleTask.
46626type CancelBundleTaskOutput struct {
46627	_ struct{} `type:"structure"`
46628
46629	// Information about the bundle task.
46630	BundleTask *BundleTask `locationName:"bundleInstanceTask" type:"structure"`
46631}
46632
46633// String returns the string representation
46634func (s CancelBundleTaskOutput) String() string {
46635	return awsutil.Prettify(s)
46636}
46637
46638// GoString returns the string representation
46639func (s CancelBundleTaskOutput) GoString() string {
46640	return s.String()
46641}
46642
46643// SetBundleTask sets the BundleTask field's value.
46644func (s *CancelBundleTaskOutput) SetBundleTask(v *BundleTask) *CancelBundleTaskOutput {
46645	s.BundleTask = v
46646	return s
46647}
46648
46649type CancelCapacityReservationInput struct {
46650	_ struct{} `type:"structure"`
46651
46652	// The ID of the Capacity Reservation to be cancelled.
46653	//
46654	// CapacityReservationId is a required field
46655	CapacityReservationId *string `type:"string" required:"true"`
46656
46657	// Checks whether you have the required permissions for the action, without
46658	// actually making the request, and provides an error response. If you have
46659	// the required permissions, the error response is DryRunOperation. Otherwise,
46660	// it is UnauthorizedOperation.
46661	DryRun *bool `type:"boolean"`
46662}
46663
46664// String returns the string representation
46665func (s CancelCapacityReservationInput) String() string {
46666	return awsutil.Prettify(s)
46667}
46668
46669// GoString returns the string representation
46670func (s CancelCapacityReservationInput) GoString() string {
46671	return s.String()
46672}
46673
46674// Validate inspects the fields of the type to determine if they are valid.
46675func (s *CancelCapacityReservationInput) Validate() error {
46676	invalidParams := request.ErrInvalidParams{Context: "CancelCapacityReservationInput"}
46677	if s.CapacityReservationId == nil {
46678		invalidParams.Add(request.NewErrParamRequired("CapacityReservationId"))
46679	}
46680
46681	if invalidParams.Len() > 0 {
46682		return invalidParams
46683	}
46684	return nil
46685}
46686
46687// SetCapacityReservationId sets the CapacityReservationId field's value.
46688func (s *CancelCapacityReservationInput) SetCapacityReservationId(v string) *CancelCapacityReservationInput {
46689	s.CapacityReservationId = &v
46690	return s
46691}
46692
46693// SetDryRun sets the DryRun field's value.
46694func (s *CancelCapacityReservationInput) SetDryRun(v bool) *CancelCapacityReservationInput {
46695	s.DryRun = &v
46696	return s
46697}
46698
46699type CancelCapacityReservationOutput struct {
46700	_ struct{} `type:"structure"`
46701
46702	// Returns true if the request succeeds; otherwise, it returns an error.
46703	Return *bool `locationName:"return" type:"boolean"`
46704}
46705
46706// String returns the string representation
46707func (s CancelCapacityReservationOutput) String() string {
46708	return awsutil.Prettify(s)
46709}
46710
46711// GoString returns the string representation
46712func (s CancelCapacityReservationOutput) GoString() string {
46713	return s.String()
46714}
46715
46716// SetReturn sets the Return field's value.
46717func (s *CancelCapacityReservationOutput) SetReturn(v bool) *CancelCapacityReservationOutput {
46718	s.Return = &v
46719	return s
46720}
46721
46722type CancelConversionTaskInput struct {
46723	_ struct{} `type:"structure"`
46724
46725	// The ID of the conversion task.
46726	//
46727	// ConversionTaskId is a required field
46728	ConversionTaskId *string `locationName:"conversionTaskId" type:"string" required:"true"`
46729
46730	// Checks whether you have the required permissions for the action, without
46731	// actually making the request, and provides an error response. If you have
46732	// the required permissions, the error response is DryRunOperation. Otherwise,
46733	// it is UnauthorizedOperation.
46734	DryRun *bool `locationName:"dryRun" type:"boolean"`
46735
46736	// The reason for canceling the conversion task.
46737	ReasonMessage *string `locationName:"reasonMessage" type:"string"`
46738}
46739
46740// String returns the string representation
46741func (s CancelConversionTaskInput) String() string {
46742	return awsutil.Prettify(s)
46743}
46744
46745// GoString returns the string representation
46746func (s CancelConversionTaskInput) GoString() string {
46747	return s.String()
46748}
46749
46750// Validate inspects the fields of the type to determine if they are valid.
46751func (s *CancelConversionTaskInput) Validate() error {
46752	invalidParams := request.ErrInvalidParams{Context: "CancelConversionTaskInput"}
46753	if s.ConversionTaskId == nil {
46754		invalidParams.Add(request.NewErrParamRequired("ConversionTaskId"))
46755	}
46756
46757	if invalidParams.Len() > 0 {
46758		return invalidParams
46759	}
46760	return nil
46761}
46762
46763// SetConversionTaskId sets the ConversionTaskId field's value.
46764func (s *CancelConversionTaskInput) SetConversionTaskId(v string) *CancelConversionTaskInput {
46765	s.ConversionTaskId = &v
46766	return s
46767}
46768
46769// SetDryRun sets the DryRun field's value.
46770func (s *CancelConversionTaskInput) SetDryRun(v bool) *CancelConversionTaskInput {
46771	s.DryRun = &v
46772	return s
46773}
46774
46775// SetReasonMessage sets the ReasonMessage field's value.
46776func (s *CancelConversionTaskInput) SetReasonMessage(v string) *CancelConversionTaskInput {
46777	s.ReasonMessage = &v
46778	return s
46779}
46780
46781type CancelConversionTaskOutput struct {
46782	_ struct{} `type:"structure"`
46783}
46784
46785// String returns the string representation
46786func (s CancelConversionTaskOutput) String() string {
46787	return awsutil.Prettify(s)
46788}
46789
46790// GoString returns the string representation
46791func (s CancelConversionTaskOutput) GoString() string {
46792	return s.String()
46793}
46794
46795type CancelExportTaskInput struct {
46796	_ struct{} `type:"structure"`
46797
46798	// The ID of the export task. This is the ID returned by CreateInstanceExportTask.
46799	//
46800	// ExportTaskId is a required field
46801	ExportTaskId *string `locationName:"exportTaskId" type:"string" required:"true"`
46802}
46803
46804// String returns the string representation
46805func (s CancelExportTaskInput) String() string {
46806	return awsutil.Prettify(s)
46807}
46808
46809// GoString returns the string representation
46810func (s CancelExportTaskInput) GoString() string {
46811	return s.String()
46812}
46813
46814// Validate inspects the fields of the type to determine if they are valid.
46815func (s *CancelExportTaskInput) Validate() error {
46816	invalidParams := request.ErrInvalidParams{Context: "CancelExportTaskInput"}
46817	if s.ExportTaskId == nil {
46818		invalidParams.Add(request.NewErrParamRequired("ExportTaskId"))
46819	}
46820
46821	if invalidParams.Len() > 0 {
46822		return invalidParams
46823	}
46824	return nil
46825}
46826
46827// SetExportTaskId sets the ExportTaskId field's value.
46828func (s *CancelExportTaskInput) SetExportTaskId(v string) *CancelExportTaskInput {
46829	s.ExportTaskId = &v
46830	return s
46831}
46832
46833type CancelExportTaskOutput struct {
46834	_ struct{} `type:"structure"`
46835}
46836
46837// String returns the string representation
46838func (s CancelExportTaskOutput) String() string {
46839	return awsutil.Prettify(s)
46840}
46841
46842// GoString returns the string representation
46843func (s CancelExportTaskOutput) GoString() string {
46844	return s.String()
46845}
46846
46847type CancelImportTaskInput struct {
46848	_ struct{} `type:"structure"`
46849
46850	// The reason for canceling the task.
46851	CancelReason *string `type:"string"`
46852
46853	// Checks whether you have the required permissions for the action, without
46854	// actually making the request, and provides an error response. If you have
46855	// the required permissions, the error response is DryRunOperation. Otherwise,
46856	// it is UnauthorizedOperation.
46857	DryRun *bool `type:"boolean"`
46858
46859	// The ID of the import image or import snapshot task to be canceled.
46860	ImportTaskId *string `type:"string"`
46861}
46862
46863// String returns the string representation
46864func (s CancelImportTaskInput) String() string {
46865	return awsutil.Prettify(s)
46866}
46867
46868// GoString returns the string representation
46869func (s CancelImportTaskInput) GoString() string {
46870	return s.String()
46871}
46872
46873// SetCancelReason sets the CancelReason field's value.
46874func (s *CancelImportTaskInput) SetCancelReason(v string) *CancelImportTaskInput {
46875	s.CancelReason = &v
46876	return s
46877}
46878
46879// SetDryRun sets the DryRun field's value.
46880func (s *CancelImportTaskInput) SetDryRun(v bool) *CancelImportTaskInput {
46881	s.DryRun = &v
46882	return s
46883}
46884
46885// SetImportTaskId sets the ImportTaskId field's value.
46886func (s *CancelImportTaskInput) SetImportTaskId(v string) *CancelImportTaskInput {
46887	s.ImportTaskId = &v
46888	return s
46889}
46890
46891type CancelImportTaskOutput struct {
46892	_ struct{} `type:"structure"`
46893
46894	// The ID of the task being canceled.
46895	ImportTaskId *string `locationName:"importTaskId" type:"string"`
46896
46897	// The current state of the task being canceled.
46898	PreviousState *string `locationName:"previousState" type:"string"`
46899
46900	// The current state of the task being canceled.
46901	State *string `locationName:"state" type:"string"`
46902}
46903
46904// String returns the string representation
46905func (s CancelImportTaskOutput) String() string {
46906	return awsutil.Prettify(s)
46907}
46908
46909// GoString returns the string representation
46910func (s CancelImportTaskOutput) GoString() string {
46911	return s.String()
46912}
46913
46914// SetImportTaskId sets the ImportTaskId field's value.
46915func (s *CancelImportTaskOutput) SetImportTaskId(v string) *CancelImportTaskOutput {
46916	s.ImportTaskId = &v
46917	return s
46918}
46919
46920// SetPreviousState sets the PreviousState field's value.
46921func (s *CancelImportTaskOutput) SetPreviousState(v string) *CancelImportTaskOutput {
46922	s.PreviousState = &v
46923	return s
46924}
46925
46926// SetState sets the State field's value.
46927func (s *CancelImportTaskOutput) SetState(v string) *CancelImportTaskOutput {
46928	s.State = &v
46929	return s
46930}
46931
46932// Contains the parameters for CancelReservedInstancesListing.
46933type CancelReservedInstancesListingInput struct {
46934	_ struct{} `type:"structure"`
46935
46936	// The ID of the Reserved Instance listing.
46937	//
46938	// ReservedInstancesListingId is a required field
46939	ReservedInstancesListingId *string `locationName:"reservedInstancesListingId" type:"string" required:"true"`
46940}
46941
46942// String returns the string representation
46943func (s CancelReservedInstancesListingInput) String() string {
46944	return awsutil.Prettify(s)
46945}
46946
46947// GoString returns the string representation
46948func (s CancelReservedInstancesListingInput) GoString() string {
46949	return s.String()
46950}
46951
46952// Validate inspects the fields of the type to determine if they are valid.
46953func (s *CancelReservedInstancesListingInput) Validate() error {
46954	invalidParams := request.ErrInvalidParams{Context: "CancelReservedInstancesListingInput"}
46955	if s.ReservedInstancesListingId == nil {
46956		invalidParams.Add(request.NewErrParamRequired("ReservedInstancesListingId"))
46957	}
46958
46959	if invalidParams.Len() > 0 {
46960		return invalidParams
46961	}
46962	return nil
46963}
46964
46965// SetReservedInstancesListingId sets the ReservedInstancesListingId field's value.
46966func (s *CancelReservedInstancesListingInput) SetReservedInstancesListingId(v string) *CancelReservedInstancesListingInput {
46967	s.ReservedInstancesListingId = &v
46968	return s
46969}
46970
46971// Contains the output of CancelReservedInstancesListing.
46972type CancelReservedInstancesListingOutput struct {
46973	_ struct{} `type:"structure"`
46974
46975	// The Reserved Instance listing.
46976	ReservedInstancesListings []*ReservedInstancesListing `locationName:"reservedInstancesListingsSet" locationNameList:"item" type:"list"`
46977}
46978
46979// String returns the string representation
46980func (s CancelReservedInstancesListingOutput) String() string {
46981	return awsutil.Prettify(s)
46982}
46983
46984// GoString returns the string representation
46985func (s CancelReservedInstancesListingOutput) GoString() string {
46986	return s.String()
46987}
46988
46989// SetReservedInstancesListings sets the ReservedInstancesListings field's value.
46990func (s *CancelReservedInstancesListingOutput) SetReservedInstancesListings(v []*ReservedInstancesListing) *CancelReservedInstancesListingOutput {
46991	s.ReservedInstancesListings = v
46992	return s
46993}
46994
46995// Describes a Spot Fleet error.
46996type CancelSpotFleetRequestsError struct {
46997	_ struct{} `type:"structure"`
46998
46999	// The error code.
47000	Code *string `locationName:"code" type:"string" enum:"CancelBatchErrorCode"`
47001
47002	// The description for the error code.
47003	Message *string `locationName:"message" type:"string"`
47004}
47005
47006// String returns the string representation
47007func (s CancelSpotFleetRequestsError) String() string {
47008	return awsutil.Prettify(s)
47009}
47010
47011// GoString returns the string representation
47012func (s CancelSpotFleetRequestsError) GoString() string {
47013	return s.String()
47014}
47015
47016// SetCode sets the Code field's value.
47017func (s *CancelSpotFleetRequestsError) SetCode(v string) *CancelSpotFleetRequestsError {
47018	s.Code = &v
47019	return s
47020}
47021
47022// SetMessage sets the Message field's value.
47023func (s *CancelSpotFleetRequestsError) SetMessage(v string) *CancelSpotFleetRequestsError {
47024	s.Message = &v
47025	return s
47026}
47027
47028// Describes a Spot Fleet request that was not successfully canceled.
47029type CancelSpotFleetRequestsErrorItem struct {
47030	_ struct{} `type:"structure"`
47031
47032	// The error.
47033	Error *CancelSpotFleetRequestsError `locationName:"error" type:"structure"`
47034
47035	// The ID of the Spot Fleet request.
47036	SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"`
47037}
47038
47039// String returns the string representation
47040func (s CancelSpotFleetRequestsErrorItem) String() string {
47041	return awsutil.Prettify(s)
47042}
47043
47044// GoString returns the string representation
47045func (s CancelSpotFleetRequestsErrorItem) GoString() string {
47046	return s.String()
47047}
47048
47049// SetError sets the Error field's value.
47050func (s *CancelSpotFleetRequestsErrorItem) SetError(v *CancelSpotFleetRequestsError) *CancelSpotFleetRequestsErrorItem {
47051	s.Error = v
47052	return s
47053}
47054
47055// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
47056func (s *CancelSpotFleetRequestsErrorItem) SetSpotFleetRequestId(v string) *CancelSpotFleetRequestsErrorItem {
47057	s.SpotFleetRequestId = &v
47058	return s
47059}
47060
47061// Contains the parameters for CancelSpotFleetRequests.
47062type CancelSpotFleetRequestsInput struct {
47063	_ struct{} `type:"structure"`
47064
47065	// Checks whether you have the required permissions for the action, without
47066	// actually making the request, and provides an error response. If you have
47067	// the required permissions, the error response is DryRunOperation. Otherwise,
47068	// it is UnauthorizedOperation.
47069	DryRun *bool `locationName:"dryRun" type:"boolean"`
47070
47071	// The IDs of the Spot Fleet requests.
47072	//
47073	// SpotFleetRequestIds is a required field
47074	SpotFleetRequestIds []*string `locationName:"spotFleetRequestId" locationNameList:"item" type:"list" required:"true"`
47075
47076	// Indicates whether to terminate instances for a Spot Fleet request if it is
47077	// canceled successfully.
47078	//
47079	// TerminateInstances is a required field
47080	TerminateInstances *bool `locationName:"terminateInstances" type:"boolean" required:"true"`
47081}
47082
47083// String returns the string representation
47084func (s CancelSpotFleetRequestsInput) String() string {
47085	return awsutil.Prettify(s)
47086}
47087
47088// GoString returns the string representation
47089func (s CancelSpotFleetRequestsInput) GoString() string {
47090	return s.String()
47091}
47092
47093// Validate inspects the fields of the type to determine if they are valid.
47094func (s *CancelSpotFleetRequestsInput) Validate() error {
47095	invalidParams := request.ErrInvalidParams{Context: "CancelSpotFleetRequestsInput"}
47096	if s.SpotFleetRequestIds == nil {
47097		invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestIds"))
47098	}
47099	if s.TerminateInstances == nil {
47100		invalidParams.Add(request.NewErrParamRequired("TerminateInstances"))
47101	}
47102
47103	if invalidParams.Len() > 0 {
47104		return invalidParams
47105	}
47106	return nil
47107}
47108
47109// SetDryRun sets the DryRun field's value.
47110func (s *CancelSpotFleetRequestsInput) SetDryRun(v bool) *CancelSpotFleetRequestsInput {
47111	s.DryRun = &v
47112	return s
47113}
47114
47115// SetSpotFleetRequestIds sets the SpotFleetRequestIds field's value.
47116func (s *CancelSpotFleetRequestsInput) SetSpotFleetRequestIds(v []*string) *CancelSpotFleetRequestsInput {
47117	s.SpotFleetRequestIds = v
47118	return s
47119}
47120
47121// SetTerminateInstances sets the TerminateInstances field's value.
47122func (s *CancelSpotFleetRequestsInput) SetTerminateInstances(v bool) *CancelSpotFleetRequestsInput {
47123	s.TerminateInstances = &v
47124	return s
47125}
47126
47127// Contains the output of CancelSpotFleetRequests.
47128type CancelSpotFleetRequestsOutput struct {
47129	_ struct{} `type:"structure"`
47130
47131	// Information about the Spot Fleet requests that are successfully canceled.
47132	SuccessfulFleetRequests []*CancelSpotFleetRequestsSuccessItem `locationName:"successfulFleetRequestSet" locationNameList:"item" type:"list"`
47133
47134	// Information about the Spot Fleet requests that are not successfully canceled.
47135	UnsuccessfulFleetRequests []*CancelSpotFleetRequestsErrorItem `locationName:"unsuccessfulFleetRequestSet" locationNameList:"item" type:"list"`
47136}
47137
47138// String returns the string representation
47139func (s CancelSpotFleetRequestsOutput) String() string {
47140	return awsutil.Prettify(s)
47141}
47142
47143// GoString returns the string representation
47144func (s CancelSpotFleetRequestsOutput) GoString() string {
47145	return s.String()
47146}
47147
47148// SetSuccessfulFleetRequests sets the SuccessfulFleetRequests field's value.
47149func (s *CancelSpotFleetRequestsOutput) SetSuccessfulFleetRequests(v []*CancelSpotFleetRequestsSuccessItem) *CancelSpotFleetRequestsOutput {
47150	s.SuccessfulFleetRequests = v
47151	return s
47152}
47153
47154// SetUnsuccessfulFleetRequests sets the UnsuccessfulFleetRequests field's value.
47155func (s *CancelSpotFleetRequestsOutput) SetUnsuccessfulFleetRequests(v []*CancelSpotFleetRequestsErrorItem) *CancelSpotFleetRequestsOutput {
47156	s.UnsuccessfulFleetRequests = v
47157	return s
47158}
47159
47160// Describes a Spot Fleet request that was successfully canceled.
47161type CancelSpotFleetRequestsSuccessItem struct {
47162	_ struct{} `type:"structure"`
47163
47164	// The current state of the Spot Fleet request.
47165	CurrentSpotFleetRequestState *string `locationName:"currentSpotFleetRequestState" type:"string" enum:"BatchState"`
47166
47167	// The previous state of the Spot Fleet request.
47168	PreviousSpotFleetRequestState *string `locationName:"previousSpotFleetRequestState" type:"string" enum:"BatchState"`
47169
47170	// The ID of the Spot Fleet request.
47171	SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"`
47172}
47173
47174// String returns the string representation
47175func (s CancelSpotFleetRequestsSuccessItem) String() string {
47176	return awsutil.Prettify(s)
47177}
47178
47179// GoString returns the string representation
47180func (s CancelSpotFleetRequestsSuccessItem) GoString() string {
47181	return s.String()
47182}
47183
47184// SetCurrentSpotFleetRequestState sets the CurrentSpotFleetRequestState field's value.
47185func (s *CancelSpotFleetRequestsSuccessItem) SetCurrentSpotFleetRequestState(v string) *CancelSpotFleetRequestsSuccessItem {
47186	s.CurrentSpotFleetRequestState = &v
47187	return s
47188}
47189
47190// SetPreviousSpotFleetRequestState sets the PreviousSpotFleetRequestState field's value.
47191func (s *CancelSpotFleetRequestsSuccessItem) SetPreviousSpotFleetRequestState(v string) *CancelSpotFleetRequestsSuccessItem {
47192	s.PreviousSpotFleetRequestState = &v
47193	return s
47194}
47195
47196// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
47197func (s *CancelSpotFleetRequestsSuccessItem) SetSpotFleetRequestId(v string) *CancelSpotFleetRequestsSuccessItem {
47198	s.SpotFleetRequestId = &v
47199	return s
47200}
47201
47202// Contains the parameters for CancelSpotInstanceRequests.
47203type CancelSpotInstanceRequestsInput struct {
47204	_ struct{} `type:"structure"`
47205
47206	// Checks whether you have the required permissions for the action, without
47207	// actually making the request, and provides an error response. If you have
47208	// the required permissions, the error response is DryRunOperation. Otherwise,
47209	// it is UnauthorizedOperation.
47210	DryRun *bool `locationName:"dryRun" type:"boolean"`
47211
47212	// One or more Spot Instance request IDs.
47213	//
47214	// SpotInstanceRequestIds is a required field
47215	SpotInstanceRequestIds []*string `locationName:"SpotInstanceRequestId" locationNameList:"SpotInstanceRequestId" type:"list" required:"true"`
47216}
47217
47218// String returns the string representation
47219func (s CancelSpotInstanceRequestsInput) String() string {
47220	return awsutil.Prettify(s)
47221}
47222
47223// GoString returns the string representation
47224func (s CancelSpotInstanceRequestsInput) GoString() string {
47225	return s.String()
47226}
47227
47228// Validate inspects the fields of the type to determine if they are valid.
47229func (s *CancelSpotInstanceRequestsInput) Validate() error {
47230	invalidParams := request.ErrInvalidParams{Context: "CancelSpotInstanceRequestsInput"}
47231	if s.SpotInstanceRequestIds == nil {
47232		invalidParams.Add(request.NewErrParamRequired("SpotInstanceRequestIds"))
47233	}
47234
47235	if invalidParams.Len() > 0 {
47236		return invalidParams
47237	}
47238	return nil
47239}
47240
47241// SetDryRun sets the DryRun field's value.
47242func (s *CancelSpotInstanceRequestsInput) SetDryRun(v bool) *CancelSpotInstanceRequestsInput {
47243	s.DryRun = &v
47244	return s
47245}
47246
47247// SetSpotInstanceRequestIds sets the SpotInstanceRequestIds field's value.
47248func (s *CancelSpotInstanceRequestsInput) SetSpotInstanceRequestIds(v []*string) *CancelSpotInstanceRequestsInput {
47249	s.SpotInstanceRequestIds = v
47250	return s
47251}
47252
47253// Contains the output of CancelSpotInstanceRequests.
47254type CancelSpotInstanceRequestsOutput struct {
47255	_ struct{} `type:"structure"`
47256
47257	// One or more Spot Instance requests.
47258	CancelledSpotInstanceRequests []*CancelledSpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"`
47259}
47260
47261// String returns the string representation
47262func (s CancelSpotInstanceRequestsOutput) String() string {
47263	return awsutil.Prettify(s)
47264}
47265
47266// GoString returns the string representation
47267func (s CancelSpotInstanceRequestsOutput) GoString() string {
47268	return s.String()
47269}
47270
47271// SetCancelledSpotInstanceRequests sets the CancelledSpotInstanceRequests field's value.
47272func (s *CancelSpotInstanceRequestsOutput) SetCancelledSpotInstanceRequests(v []*CancelledSpotInstanceRequest) *CancelSpotInstanceRequestsOutput {
47273	s.CancelledSpotInstanceRequests = v
47274	return s
47275}
47276
47277// Describes a request to cancel a Spot Instance.
47278type CancelledSpotInstanceRequest struct {
47279	_ struct{} `type:"structure"`
47280
47281	// The ID of the Spot Instance request.
47282	SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
47283
47284	// The state of the Spot Instance request.
47285	State *string `locationName:"state" type:"string" enum:"CancelSpotInstanceRequestState"`
47286}
47287
47288// String returns the string representation
47289func (s CancelledSpotInstanceRequest) String() string {
47290	return awsutil.Prettify(s)
47291}
47292
47293// GoString returns the string representation
47294func (s CancelledSpotInstanceRequest) GoString() string {
47295	return s.String()
47296}
47297
47298// SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
47299func (s *CancelledSpotInstanceRequest) SetSpotInstanceRequestId(v string) *CancelledSpotInstanceRequest {
47300	s.SpotInstanceRequestId = &v
47301	return s
47302}
47303
47304// SetState sets the State field's value.
47305func (s *CancelledSpotInstanceRequest) SetState(v string) *CancelledSpotInstanceRequest {
47306	s.State = &v
47307	return s
47308}
47309
47310// Describes a Capacity Reservation.
47311type CapacityReservation struct {
47312	_ struct{} `type:"structure"`
47313
47314	// The Availability Zone in which the capacity is reserved.
47315	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
47316
47317	// The Availability Zone ID of the Capacity Reservation.
47318	AvailabilityZoneId *string `locationName:"availabilityZoneId" type:"string"`
47319
47320	// The remaining capacity. Indicates the number of instances that can be launched
47321	// in the Capacity Reservation.
47322	AvailableInstanceCount *int64 `locationName:"availableInstanceCount" type:"integer"`
47323
47324	// The Amazon Resource Name (ARN) of the Capacity Reservation.
47325	CapacityReservationArn *string `locationName:"capacityReservationArn" type:"string"`
47326
47327	// The ID of the Capacity Reservation.
47328	CapacityReservationId *string `locationName:"capacityReservationId" type:"string"`
47329
47330	// The date and time at which the Capacity Reservation was created.
47331	CreateDate *time.Time `locationName:"createDate" type:"timestamp"`
47332
47333	// Indicates whether the Capacity Reservation supports EBS-optimized instances.
47334	// This optimization provides dedicated throughput to Amazon EBS and an optimized
47335	// configuration stack to provide optimal I/O performance. This optimization
47336	// isn't available with all instance types. Additional usage charges apply when
47337	// using an EBS- optimized instance.
47338	EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
47339
47340	// The date and time at which the Capacity Reservation expires. When a Capacity
47341	// Reservation expires, the reserved capacity is released and you can no longer
47342	// launch instances into it. The Capacity Reservation's state changes to expired
47343	// when it reaches its end date and time.
47344	EndDate *time.Time `locationName:"endDate" type:"timestamp"`
47345
47346	// Indicates the way in which the Capacity Reservation ends. A Capacity Reservation
47347	// can have one of the following end types:
47348	//
47349	//    * unlimited - The Capacity Reservation remains active until you explicitly
47350	//    cancel it.
47351	//
47352	//    * limited - The Capacity Reservation expires automatically at a specified
47353	//    date and time.
47354	EndDateType *string `locationName:"endDateType" type:"string" enum:"EndDateType"`
47355
47356	// Indicates whether the Capacity Reservation supports instances with temporary,
47357	// block-level storage.
47358	EphemeralStorage *bool `locationName:"ephemeralStorage" type:"boolean"`
47359
47360	// Indicates the type of instance launches that the Capacity Reservation accepts.
47361	// The options include:
47362	//
47363	//    * open - The Capacity Reservation accepts all instances that have matching
47364	//    attributes (instance type, platform, and Availability Zone). Instances
47365	//    that have matching attributes launch into the Capacity Reservation automatically
47366	//    without specifying any additional parameters.
47367	//
47368	//    * targeted - The Capacity Reservation only accepts instances that have
47369	//    matching attributes (instance type, platform, and Availability Zone),
47370	//    and explicitly target the Capacity Reservation. This ensures that only
47371	//    permitted instances can use the reserved capacity.
47372	InstanceMatchCriteria *string `locationName:"instanceMatchCriteria" type:"string" enum:"InstanceMatchCriteria"`
47373
47374	// The type of operating system for which the Capacity Reservation reserves
47375	// capacity.
47376	InstancePlatform *string `locationName:"instancePlatform" type:"string" enum:"CapacityReservationInstancePlatform"`
47377
47378	// The type of instance for which the Capacity Reservation reserves capacity.
47379	InstanceType *string `locationName:"instanceType" type:"string"`
47380
47381	// The ID of the AWS account that owns the Capacity Reservation.
47382	OwnerId *string `locationName:"ownerId" type:"string"`
47383
47384	// The date and time at which the Capacity Reservation was started.
47385	StartDate *time.Time `locationName:"startDate" type:"timestamp"`
47386
47387	// The current state of the Capacity Reservation. A Capacity Reservation can
47388	// be in one of the following states:
47389	//
47390	//    * active - The Capacity Reservation is active and the capacity is available
47391	//    for your use.
47392	//
47393	//    * expired - The Capacity Reservation expired automatically at the date
47394	//    and time specified in your request. The reserved capacity is no longer
47395	//    available for your use.
47396	//
47397	//    * cancelled - The Capacity Reservation was cancelled. The reserved capacity
47398	//    is no longer available for your use.
47399	//
47400	//    * pending - The Capacity Reservation request was successful but the capacity
47401	//    provisioning is still pending.
47402	//
47403	//    * failed - The Capacity Reservation request has failed. A request might
47404	//    fail due to invalid request parameters, capacity constraints, or instance
47405	//    limit constraints. Failed requests are retained for 60 minutes.
47406	State *string `locationName:"state" type:"string" enum:"CapacityReservationState"`
47407
47408	// Any tags assigned to the Capacity Reservation.
47409	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
47410
47411	// Indicates the tenancy of the Capacity Reservation. A Capacity Reservation
47412	// can have one of the following tenancy settings:
47413	//
47414	//    * default - The Capacity Reservation is created on hardware that is shared
47415	//    with other AWS accounts.
47416	//
47417	//    * dedicated - The Capacity Reservation is created on single-tenant hardware
47418	//    that is dedicated to a single AWS account.
47419	Tenancy *string `locationName:"tenancy" type:"string" enum:"CapacityReservationTenancy"`
47420
47421	// The total number of instances for which the Capacity Reservation reserves
47422	// capacity.
47423	TotalInstanceCount *int64 `locationName:"totalInstanceCount" type:"integer"`
47424}
47425
47426// String returns the string representation
47427func (s CapacityReservation) String() string {
47428	return awsutil.Prettify(s)
47429}
47430
47431// GoString returns the string representation
47432func (s CapacityReservation) GoString() string {
47433	return s.String()
47434}
47435
47436// SetAvailabilityZone sets the AvailabilityZone field's value.
47437func (s *CapacityReservation) SetAvailabilityZone(v string) *CapacityReservation {
47438	s.AvailabilityZone = &v
47439	return s
47440}
47441
47442// SetAvailabilityZoneId sets the AvailabilityZoneId field's value.
47443func (s *CapacityReservation) SetAvailabilityZoneId(v string) *CapacityReservation {
47444	s.AvailabilityZoneId = &v
47445	return s
47446}
47447
47448// SetAvailableInstanceCount sets the AvailableInstanceCount field's value.
47449func (s *CapacityReservation) SetAvailableInstanceCount(v int64) *CapacityReservation {
47450	s.AvailableInstanceCount = &v
47451	return s
47452}
47453
47454// SetCapacityReservationArn sets the CapacityReservationArn field's value.
47455func (s *CapacityReservation) SetCapacityReservationArn(v string) *CapacityReservation {
47456	s.CapacityReservationArn = &v
47457	return s
47458}
47459
47460// SetCapacityReservationId sets the CapacityReservationId field's value.
47461func (s *CapacityReservation) SetCapacityReservationId(v string) *CapacityReservation {
47462	s.CapacityReservationId = &v
47463	return s
47464}
47465
47466// SetCreateDate sets the CreateDate field's value.
47467func (s *CapacityReservation) SetCreateDate(v time.Time) *CapacityReservation {
47468	s.CreateDate = &v
47469	return s
47470}
47471
47472// SetEbsOptimized sets the EbsOptimized field's value.
47473func (s *CapacityReservation) SetEbsOptimized(v bool) *CapacityReservation {
47474	s.EbsOptimized = &v
47475	return s
47476}
47477
47478// SetEndDate sets the EndDate field's value.
47479func (s *CapacityReservation) SetEndDate(v time.Time) *CapacityReservation {
47480	s.EndDate = &v
47481	return s
47482}
47483
47484// SetEndDateType sets the EndDateType field's value.
47485func (s *CapacityReservation) SetEndDateType(v string) *CapacityReservation {
47486	s.EndDateType = &v
47487	return s
47488}
47489
47490// SetEphemeralStorage sets the EphemeralStorage field's value.
47491func (s *CapacityReservation) SetEphemeralStorage(v bool) *CapacityReservation {
47492	s.EphemeralStorage = &v
47493	return s
47494}
47495
47496// SetInstanceMatchCriteria sets the InstanceMatchCriteria field's value.
47497func (s *CapacityReservation) SetInstanceMatchCriteria(v string) *CapacityReservation {
47498	s.InstanceMatchCriteria = &v
47499	return s
47500}
47501
47502// SetInstancePlatform sets the InstancePlatform field's value.
47503func (s *CapacityReservation) SetInstancePlatform(v string) *CapacityReservation {
47504	s.InstancePlatform = &v
47505	return s
47506}
47507
47508// SetInstanceType sets the InstanceType field's value.
47509func (s *CapacityReservation) SetInstanceType(v string) *CapacityReservation {
47510	s.InstanceType = &v
47511	return s
47512}
47513
47514// SetOwnerId sets the OwnerId field's value.
47515func (s *CapacityReservation) SetOwnerId(v string) *CapacityReservation {
47516	s.OwnerId = &v
47517	return s
47518}
47519
47520// SetStartDate sets the StartDate field's value.
47521func (s *CapacityReservation) SetStartDate(v time.Time) *CapacityReservation {
47522	s.StartDate = &v
47523	return s
47524}
47525
47526// SetState sets the State field's value.
47527func (s *CapacityReservation) SetState(v string) *CapacityReservation {
47528	s.State = &v
47529	return s
47530}
47531
47532// SetTags sets the Tags field's value.
47533func (s *CapacityReservation) SetTags(v []*Tag) *CapacityReservation {
47534	s.Tags = v
47535	return s
47536}
47537
47538// SetTenancy sets the Tenancy field's value.
47539func (s *CapacityReservation) SetTenancy(v string) *CapacityReservation {
47540	s.Tenancy = &v
47541	return s
47542}
47543
47544// SetTotalInstanceCount sets the TotalInstanceCount field's value.
47545func (s *CapacityReservation) SetTotalInstanceCount(v int64) *CapacityReservation {
47546	s.TotalInstanceCount = &v
47547	return s
47548}
47549
47550// Describes a resource group to which a Capacity Reservation has been added.
47551type CapacityReservationGroup struct {
47552	_ struct{} `type:"structure"`
47553
47554	// The ARN of the resource group.
47555	GroupArn *string `locationName:"groupArn" type:"string"`
47556
47557	// The ID of the AWS account that owns the resource group.
47558	OwnerId *string `locationName:"ownerId" type:"string"`
47559}
47560
47561// String returns the string representation
47562func (s CapacityReservationGroup) String() string {
47563	return awsutil.Prettify(s)
47564}
47565
47566// GoString returns the string representation
47567func (s CapacityReservationGroup) GoString() string {
47568	return s.String()
47569}
47570
47571// SetGroupArn sets the GroupArn field's value.
47572func (s *CapacityReservationGroup) SetGroupArn(v string) *CapacityReservationGroup {
47573	s.GroupArn = &v
47574	return s
47575}
47576
47577// SetOwnerId sets the OwnerId field's value.
47578func (s *CapacityReservationGroup) SetOwnerId(v string) *CapacityReservationGroup {
47579	s.OwnerId = &v
47580	return s
47581}
47582
47583// Describes the strategy for using unused Capacity Reservations for fulfilling
47584// On-Demand capacity.
47585//
47586// This strategy can only be used if the EC2 Fleet is of type instant.
47587//
47588// For more information about Capacity Reservations, see On-Demand Capacity
47589// Reservations (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-capacity-reservations.html)
47590// in the Amazon EC2 User Guide. For examples of using Capacity Reservations
47591// in an EC2 Fleet, see EC2 Fleet example configurations (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-examples.html)
47592// in the Amazon EC2 User Guide.
47593type CapacityReservationOptions struct {
47594	_ struct{} `type:"structure"`
47595
47596	// Indicates whether to use unused Capacity Reservations for fulfilling On-Demand
47597	// capacity.
47598	//
47599	// If you specify use-capacity-reservations-first, the fleet uses unused Capacity
47600	// Reservations to fulfill On-Demand capacity up to the target On-Demand capacity.
47601	// If multiple instance pools have unused Capacity Reservations, the On-Demand
47602	// allocation strategy (lowest-price or prioritized) is applied. If the number
47603	// of unused Capacity Reservations is less than the On-Demand target capacity,
47604	// the remaining On-Demand target capacity is launched according to the On-Demand
47605	// allocation strategy (lowest-price or prioritized).
47606	//
47607	// If you do not specify a value, the fleet fulfils the On-Demand capacity according
47608	// to the chosen On-Demand allocation strategy.
47609	UsageStrategy *string `locationName:"usageStrategy" type:"string" enum:"FleetCapacityReservationUsageStrategy"`
47610}
47611
47612// String returns the string representation
47613func (s CapacityReservationOptions) String() string {
47614	return awsutil.Prettify(s)
47615}
47616
47617// GoString returns the string representation
47618func (s CapacityReservationOptions) GoString() string {
47619	return s.String()
47620}
47621
47622// SetUsageStrategy sets the UsageStrategy field's value.
47623func (s *CapacityReservationOptions) SetUsageStrategy(v string) *CapacityReservationOptions {
47624	s.UsageStrategy = &v
47625	return s
47626}
47627
47628// Describes the strategy for using unused Capacity Reservations for fulfilling
47629// On-Demand capacity.
47630//
47631// This strategy can only be used if the EC2 Fleet is of type instant.
47632//
47633// For more information about Capacity Reservations, see On-Demand Capacity
47634// Reservations (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-capacity-reservations.html)
47635// in the Amazon EC2 User Guide. For examples of using Capacity Reservations
47636// in an EC2 Fleet, see EC2 Fleet example configurations (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-examples.html)
47637// in the Amazon EC2 User Guide.
47638type CapacityReservationOptionsRequest struct {
47639	_ struct{} `type:"structure"`
47640
47641	// Indicates whether to use unused Capacity Reservations for fulfilling On-Demand
47642	// capacity.
47643	//
47644	// If you specify use-capacity-reservations-first, the fleet uses unused Capacity
47645	// Reservations to fulfill On-Demand capacity up to the target On-Demand capacity.
47646	// If multiple instance pools have unused Capacity Reservations, the On-Demand
47647	// allocation strategy (lowest-price or prioritized) is applied. If the number
47648	// of unused Capacity Reservations is less than the On-Demand target capacity,
47649	// the remaining On-Demand target capacity is launched according to the On-Demand
47650	// allocation strategy (lowest-price or prioritized).
47651	//
47652	// If you do not specify a value, the fleet fulfils the On-Demand capacity according
47653	// to the chosen On-Demand allocation strategy.
47654	UsageStrategy *string `type:"string" enum:"FleetCapacityReservationUsageStrategy"`
47655}
47656
47657// String returns the string representation
47658func (s CapacityReservationOptionsRequest) String() string {
47659	return awsutil.Prettify(s)
47660}
47661
47662// GoString returns the string representation
47663func (s CapacityReservationOptionsRequest) GoString() string {
47664	return s.String()
47665}
47666
47667// SetUsageStrategy sets the UsageStrategy field's value.
47668func (s *CapacityReservationOptionsRequest) SetUsageStrategy(v string) *CapacityReservationOptionsRequest {
47669	s.UsageStrategy = &v
47670	return s
47671}
47672
47673// Describes an instance's Capacity Reservation targeting option. You can specify
47674// only one parameter at a time. If you specify CapacityReservationPreference
47675// and CapacityReservationTarget, the request fails.
47676//
47677// Use the CapacityReservationPreference parameter to configure the instance
47678// to run as an On-Demand Instance or to run in any open Capacity Reservation
47679// that has matching attributes (instance type, platform, Availability Zone).
47680// Use the CapacityReservationTarget parameter to explicitly target a specific
47681// Capacity Reservation or a Capacity Reservation group.
47682type CapacityReservationSpecification struct {
47683	_ struct{} `type:"structure"`
47684
47685	// Indicates the instance's Capacity Reservation preferences. Possible preferences
47686	// include:
47687	//
47688	//    * open - The instance can run in any open Capacity Reservation that has
47689	//    matching attributes (instance type, platform, Availability Zone).
47690	//
47691	//    * none - The instance avoids running in a Capacity Reservation even if
47692	//    one is available. The instance runs as an On-Demand Instance.
47693	CapacityReservationPreference *string `type:"string" enum:"CapacityReservationPreference"`
47694
47695	// Information about the target Capacity Reservation or Capacity Reservation
47696	// group.
47697	CapacityReservationTarget *CapacityReservationTarget `type:"structure"`
47698}
47699
47700// String returns the string representation
47701func (s CapacityReservationSpecification) String() string {
47702	return awsutil.Prettify(s)
47703}
47704
47705// GoString returns the string representation
47706func (s CapacityReservationSpecification) GoString() string {
47707	return s.String()
47708}
47709
47710// SetCapacityReservationPreference sets the CapacityReservationPreference field's value.
47711func (s *CapacityReservationSpecification) SetCapacityReservationPreference(v string) *CapacityReservationSpecification {
47712	s.CapacityReservationPreference = &v
47713	return s
47714}
47715
47716// SetCapacityReservationTarget sets the CapacityReservationTarget field's value.
47717func (s *CapacityReservationSpecification) SetCapacityReservationTarget(v *CapacityReservationTarget) *CapacityReservationSpecification {
47718	s.CapacityReservationTarget = v
47719	return s
47720}
47721
47722// Describes the instance's Capacity Reservation targeting preferences. The
47723// action returns the capacityReservationPreference response element if the
47724// instance is configured to run in On-Demand capacity, or if it is configured
47725// in run in any open Capacity Reservation that has matching attributes (instance
47726// type, platform, Availability Zone). The action returns the capacityReservationTarget
47727// response element if the instance explicily targets a specific Capacity Reservation
47728// or Capacity Reservation group.
47729type CapacityReservationSpecificationResponse struct {
47730	_ struct{} `type:"structure"`
47731
47732	// Describes the instance's Capacity Reservation preferences. Possible preferences
47733	// include:
47734	//
47735	//    * open - The instance can run in any open Capacity Reservation that has
47736	//    matching attributes (instance type, platform, Availability Zone).
47737	//
47738	//    * none - The instance avoids running in a Capacity Reservation even if
47739	//    one is available. The instance runs in On-Demand capacity.
47740	CapacityReservationPreference *string `locationName:"capacityReservationPreference" type:"string" enum:"CapacityReservationPreference"`
47741
47742	// Information about the targeted Capacity Reservation or Capacity Reservation
47743	// group.
47744	CapacityReservationTarget *CapacityReservationTargetResponse `locationName:"capacityReservationTarget" type:"structure"`
47745}
47746
47747// String returns the string representation
47748func (s CapacityReservationSpecificationResponse) String() string {
47749	return awsutil.Prettify(s)
47750}
47751
47752// GoString returns the string representation
47753func (s CapacityReservationSpecificationResponse) GoString() string {
47754	return s.String()
47755}
47756
47757// SetCapacityReservationPreference sets the CapacityReservationPreference field's value.
47758func (s *CapacityReservationSpecificationResponse) SetCapacityReservationPreference(v string) *CapacityReservationSpecificationResponse {
47759	s.CapacityReservationPreference = &v
47760	return s
47761}
47762
47763// SetCapacityReservationTarget sets the CapacityReservationTarget field's value.
47764func (s *CapacityReservationSpecificationResponse) SetCapacityReservationTarget(v *CapacityReservationTargetResponse) *CapacityReservationSpecificationResponse {
47765	s.CapacityReservationTarget = v
47766	return s
47767}
47768
47769// Describes a target Capacity Reservation or Capacity Reservation group.
47770type CapacityReservationTarget struct {
47771	_ struct{} `type:"structure"`
47772
47773	// The ID of the Capacity Reservation in which to run the instance.
47774	CapacityReservationId *string `type:"string"`
47775
47776	// The ARN of the Capacity Reservation resource group in which to run the instance.
47777	CapacityReservationResourceGroupArn *string `type:"string"`
47778}
47779
47780// String returns the string representation
47781func (s CapacityReservationTarget) String() string {
47782	return awsutil.Prettify(s)
47783}
47784
47785// GoString returns the string representation
47786func (s CapacityReservationTarget) GoString() string {
47787	return s.String()
47788}
47789
47790// SetCapacityReservationId sets the CapacityReservationId field's value.
47791func (s *CapacityReservationTarget) SetCapacityReservationId(v string) *CapacityReservationTarget {
47792	s.CapacityReservationId = &v
47793	return s
47794}
47795
47796// SetCapacityReservationResourceGroupArn sets the CapacityReservationResourceGroupArn field's value.
47797func (s *CapacityReservationTarget) SetCapacityReservationResourceGroupArn(v string) *CapacityReservationTarget {
47798	s.CapacityReservationResourceGroupArn = &v
47799	return s
47800}
47801
47802// Describes a target Capacity Reservation or Capacity Reservation group.
47803type CapacityReservationTargetResponse struct {
47804	_ struct{} `type:"structure"`
47805
47806	// The ID of the targeted Capacity Reservation.
47807	CapacityReservationId *string `locationName:"capacityReservationId" type:"string"`
47808
47809	// The ARN of the targeted Capacity Reservation group.
47810	CapacityReservationResourceGroupArn *string `locationName:"capacityReservationResourceGroupArn" type:"string"`
47811}
47812
47813// String returns the string representation
47814func (s CapacityReservationTargetResponse) String() string {
47815	return awsutil.Prettify(s)
47816}
47817
47818// GoString returns the string representation
47819func (s CapacityReservationTargetResponse) GoString() string {
47820	return s.String()
47821}
47822
47823// SetCapacityReservationId sets the CapacityReservationId field's value.
47824func (s *CapacityReservationTargetResponse) SetCapacityReservationId(v string) *CapacityReservationTargetResponse {
47825	s.CapacityReservationId = &v
47826	return s
47827}
47828
47829// SetCapacityReservationResourceGroupArn sets the CapacityReservationResourceGroupArn field's value.
47830func (s *CapacityReservationTargetResponse) SetCapacityReservationResourceGroupArn(v string) *CapacityReservationTargetResponse {
47831	s.CapacityReservationResourceGroupArn = &v
47832	return s
47833}
47834
47835// Describes a carrier gateway.
47836type CarrierGateway struct {
47837	_ struct{} `type:"structure"`
47838
47839	// The ID of the carrier gateway.
47840	CarrierGatewayId *string `locationName:"carrierGatewayId" type:"string"`
47841
47842	// The AWS account ID of the owner of the carrier gateway.
47843	OwnerId *string `locationName:"ownerId" type:"string"`
47844
47845	// The state of the carrier gateway.
47846	State *string `locationName:"state" type:"string" enum:"CarrierGatewayState"`
47847
47848	// The tags assigned to the carrier gateway.
47849	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
47850
47851	// The ID of the VPC associated with the carrier gateway.
47852	VpcId *string `locationName:"vpcId" type:"string"`
47853}
47854
47855// String returns the string representation
47856func (s CarrierGateway) String() string {
47857	return awsutil.Prettify(s)
47858}
47859
47860// GoString returns the string representation
47861func (s CarrierGateway) GoString() string {
47862	return s.String()
47863}
47864
47865// SetCarrierGatewayId sets the CarrierGatewayId field's value.
47866func (s *CarrierGateway) SetCarrierGatewayId(v string) *CarrierGateway {
47867	s.CarrierGatewayId = &v
47868	return s
47869}
47870
47871// SetOwnerId sets the OwnerId field's value.
47872func (s *CarrierGateway) SetOwnerId(v string) *CarrierGateway {
47873	s.OwnerId = &v
47874	return s
47875}
47876
47877// SetState sets the State field's value.
47878func (s *CarrierGateway) SetState(v string) *CarrierGateway {
47879	s.State = &v
47880	return s
47881}
47882
47883// SetTags sets the Tags field's value.
47884func (s *CarrierGateway) SetTags(v []*Tag) *CarrierGateway {
47885	s.Tags = v
47886	return s
47887}
47888
47889// SetVpcId sets the VpcId field's value.
47890func (s *CarrierGateway) SetVpcId(v string) *CarrierGateway {
47891	s.VpcId = &v
47892	return s
47893}
47894
47895// Information about the client certificate used for authentication.
47896type CertificateAuthentication struct {
47897	_ struct{} `type:"structure"`
47898
47899	// The ARN of the client certificate.
47900	ClientRootCertificateChain *string `locationName:"clientRootCertificateChain" type:"string"`
47901}
47902
47903// String returns the string representation
47904func (s CertificateAuthentication) String() string {
47905	return awsutil.Prettify(s)
47906}
47907
47908// GoString returns the string representation
47909func (s CertificateAuthentication) GoString() string {
47910	return s.String()
47911}
47912
47913// SetClientRootCertificateChain sets the ClientRootCertificateChain field's value.
47914func (s *CertificateAuthentication) SetClientRootCertificateChain(v string) *CertificateAuthentication {
47915	s.ClientRootCertificateChain = &v
47916	return s
47917}
47918
47919// Information about the client certificate to be used for authentication.
47920type CertificateAuthenticationRequest struct {
47921	_ struct{} `type:"structure"`
47922
47923	// The ARN of the client certificate. The certificate must be signed by a certificate
47924	// authority (CA) and it must be provisioned in AWS Certificate Manager (ACM).
47925	ClientRootCertificateChainArn *string `type:"string"`
47926}
47927
47928// String returns the string representation
47929func (s CertificateAuthenticationRequest) String() string {
47930	return awsutil.Prettify(s)
47931}
47932
47933// GoString returns the string representation
47934func (s CertificateAuthenticationRequest) GoString() string {
47935	return s.String()
47936}
47937
47938// SetClientRootCertificateChainArn sets the ClientRootCertificateChainArn field's value.
47939func (s *CertificateAuthenticationRequest) SetClientRootCertificateChainArn(v string) *CertificateAuthenticationRequest {
47940	s.ClientRootCertificateChainArn = &v
47941	return s
47942}
47943
47944// Provides authorization for Amazon to bring a specific IP address range to
47945// a specific AWS account using bring your own IP addresses (BYOIP). For more
47946// information, see Prepare to Bring Your Address Range to Your AWS Account
47947// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html#prepare-for-byoip)
47948// in the Amazon Elastic Compute Cloud User Guide.
47949type CidrAuthorizationContext struct {
47950	_ struct{} `type:"structure"`
47951
47952	// The plain-text authorization message for the prefix and account.
47953	//
47954	// Message is a required field
47955	Message *string `type:"string" required:"true"`
47956
47957	// The signed authorization message for the prefix and account.
47958	//
47959	// Signature is a required field
47960	Signature *string `type:"string" required:"true"`
47961}
47962
47963// String returns the string representation
47964func (s CidrAuthorizationContext) String() string {
47965	return awsutil.Prettify(s)
47966}
47967
47968// GoString returns the string representation
47969func (s CidrAuthorizationContext) GoString() string {
47970	return s.String()
47971}
47972
47973// Validate inspects the fields of the type to determine if they are valid.
47974func (s *CidrAuthorizationContext) Validate() error {
47975	invalidParams := request.ErrInvalidParams{Context: "CidrAuthorizationContext"}
47976	if s.Message == nil {
47977		invalidParams.Add(request.NewErrParamRequired("Message"))
47978	}
47979	if s.Signature == nil {
47980		invalidParams.Add(request.NewErrParamRequired("Signature"))
47981	}
47982
47983	if invalidParams.Len() > 0 {
47984		return invalidParams
47985	}
47986	return nil
47987}
47988
47989// SetMessage sets the Message field's value.
47990func (s *CidrAuthorizationContext) SetMessage(v string) *CidrAuthorizationContext {
47991	s.Message = &v
47992	return s
47993}
47994
47995// SetSignature sets the Signature field's value.
47996func (s *CidrAuthorizationContext) SetSignature(v string) *CidrAuthorizationContext {
47997	s.Signature = &v
47998	return s
47999}
48000
48001// Describes an IPv4 CIDR block.
48002type CidrBlock struct {
48003	_ struct{} `type:"structure"`
48004
48005	// The IPv4 CIDR block.
48006	CidrBlock *string `locationName:"cidrBlock" type:"string"`
48007}
48008
48009// String returns the string representation
48010func (s CidrBlock) String() string {
48011	return awsutil.Prettify(s)
48012}
48013
48014// GoString returns the string representation
48015func (s CidrBlock) GoString() string {
48016	return s.String()
48017}
48018
48019// SetCidrBlock sets the CidrBlock field's value.
48020func (s *CidrBlock) SetCidrBlock(v string) *CidrBlock {
48021	s.CidrBlock = &v
48022	return s
48023}
48024
48025// Describes the ClassicLink DNS support status of a VPC.
48026type ClassicLinkDnsSupport struct {
48027	_ struct{} `type:"structure"`
48028
48029	// Indicates whether ClassicLink DNS support is enabled for the VPC.
48030	ClassicLinkDnsSupported *bool `locationName:"classicLinkDnsSupported" type:"boolean"`
48031
48032	// The ID of the VPC.
48033	VpcId *string `locationName:"vpcId" type:"string"`
48034}
48035
48036// String returns the string representation
48037func (s ClassicLinkDnsSupport) String() string {
48038	return awsutil.Prettify(s)
48039}
48040
48041// GoString returns the string representation
48042func (s ClassicLinkDnsSupport) GoString() string {
48043	return s.String()
48044}
48045
48046// SetClassicLinkDnsSupported sets the ClassicLinkDnsSupported field's value.
48047func (s *ClassicLinkDnsSupport) SetClassicLinkDnsSupported(v bool) *ClassicLinkDnsSupport {
48048	s.ClassicLinkDnsSupported = &v
48049	return s
48050}
48051
48052// SetVpcId sets the VpcId field's value.
48053func (s *ClassicLinkDnsSupport) SetVpcId(v string) *ClassicLinkDnsSupport {
48054	s.VpcId = &v
48055	return s
48056}
48057
48058// Describes a linked EC2-Classic instance.
48059type ClassicLinkInstance struct {
48060	_ struct{} `type:"structure"`
48061
48062	// A list of security groups.
48063	Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
48064
48065	// The ID of the instance.
48066	InstanceId *string `locationName:"instanceId" type:"string"`
48067
48068	// Any tags assigned to the instance.
48069	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
48070
48071	// The ID of the VPC.
48072	VpcId *string `locationName:"vpcId" type:"string"`
48073}
48074
48075// String returns the string representation
48076func (s ClassicLinkInstance) String() string {
48077	return awsutil.Prettify(s)
48078}
48079
48080// GoString returns the string representation
48081func (s ClassicLinkInstance) GoString() string {
48082	return s.String()
48083}
48084
48085// SetGroups sets the Groups field's value.
48086func (s *ClassicLinkInstance) SetGroups(v []*GroupIdentifier) *ClassicLinkInstance {
48087	s.Groups = v
48088	return s
48089}
48090
48091// SetInstanceId sets the InstanceId field's value.
48092func (s *ClassicLinkInstance) SetInstanceId(v string) *ClassicLinkInstance {
48093	s.InstanceId = &v
48094	return s
48095}
48096
48097// SetTags sets the Tags field's value.
48098func (s *ClassicLinkInstance) SetTags(v []*Tag) *ClassicLinkInstance {
48099	s.Tags = v
48100	return s
48101}
48102
48103// SetVpcId sets the VpcId field's value.
48104func (s *ClassicLinkInstance) SetVpcId(v string) *ClassicLinkInstance {
48105	s.VpcId = &v
48106	return s
48107}
48108
48109// Describes a Classic Load Balancer.
48110type ClassicLoadBalancer struct {
48111	_ struct{} `type:"structure"`
48112
48113	// The name of the load balancer.
48114	Name *string `locationName:"name" type:"string"`
48115}
48116
48117// String returns the string representation
48118func (s ClassicLoadBalancer) String() string {
48119	return awsutil.Prettify(s)
48120}
48121
48122// GoString returns the string representation
48123func (s ClassicLoadBalancer) GoString() string {
48124	return s.String()
48125}
48126
48127// SetName sets the Name field's value.
48128func (s *ClassicLoadBalancer) SetName(v string) *ClassicLoadBalancer {
48129	s.Name = &v
48130	return s
48131}
48132
48133// Describes the Classic Load Balancers to attach to a Spot Fleet. Spot Fleet
48134// registers the running Spot Instances with these Classic Load Balancers.
48135type ClassicLoadBalancersConfig struct {
48136	_ struct{} `type:"structure"`
48137
48138	// One or more Classic Load Balancers.
48139	ClassicLoadBalancers []*ClassicLoadBalancer `locationName:"classicLoadBalancers" locationNameList:"item" min:"1" type:"list"`
48140}
48141
48142// String returns the string representation
48143func (s ClassicLoadBalancersConfig) String() string {
48144	return awsutil.Prettify(s)
48145}
48146
48147// GoString returns the string representation
48148func (s ClassicLoadBalancersConfig) GoString() string {
48149	return s.String()
48150}
48151
48152// Validate inspects the fields of the type to determine if they are valid.
48153func (s *ClassicLoadBalancersConfig) Validate() error {
48154	invalidParams := request.ErrInvalidParams{Context: "ClassicLoadBalancersConfig"}
48155	if s.ClassicLoadBalancers != nil && len(s.ClassicLoadBalancers) < 1 {
48156		invalidParams.Add(request.NewErrParamMinLen("ClassicLoadBalancers", 1))
48157	}
48158
48159	if invalidParams.Len() > 0 {
48160		return invalidParams
48161	}
48162	return nil
48163}
48164
48165// SetClassicLoadBalancers sets the ClassicLoadBalancers field's value.
48166func (s *ClassicLoadBalancersConfig) SetClassicLoadBalancers(v []*ClassicLoadBalancer) *ClassicLoadBalancersConfig {
48167	s.ClassicLoadBalancers = v
48168	return s
48169}
48170
48171// Describes the state of a client certificate revocation list.
48172type ClientCertificateRevocationListStatus struct {
48173	_ struct{} `type:"structure"`
48174
48175	// The state of the client certificate revocation list.
48176	Code *string `locationName:"code" type:"string" enum:"ClientCertificateRevocationListStatusCode"`
48177
48178	// A message about the status of the client certificate revocation list, if
48179	// applicable.
48180	Message *string `locationName:"message" type:"string"`
48181}
48182
48183// String returns the string representation
48184func (s ClientCertificateRevocationListStatus) String() string {
48185	return awsutil.Prettify(s)
48186}
48187
48188// GoString returns the string representation
48189func (s ClientCertificateRevocationListStatus) GoString() string {
48190	return s.String()
48191}
48192
48193// SetCode sets the Code field's value.
48194func (s *ClientCertificateRevocationListStatus) SetCode(v string) *ClientCertificateRevocationListStatus {
48195	s.Code = &v
48196	return s
48197}
48198
48199// SetMessage sets the Message field's value.
48200func (s *ClientCertificateRevocationListStatus) SetMessage(v string) *ClientCertificateRevocationListStatus {
48201	s.Message = &v
48202	return s
48203}
48204
48205// The options for managing connection authorization for new client connections.
48206type ClientConnectOptions struct {
48207	_ struct{} `type:"structure"`
48208
48209	// Indicates whether client connect options are enabled. The default is false
48210	// (not enabled).
48211	Enabled *bool `type:"boolean"`
48212
48213	// The Amazon Resource Name (ARN) of the AWS Lambda function used for connection
48214	// authorization.
48215	LambdaFunctionArn *string `type:"string"`
48216}
48217
48218// String returns the string representation
48219func (s ClientConnectOptions) String() string {
48220	return awsutil.Prettify(s)
48221}
48222
48223// GoString returns the string representation
48224func (s ClientConnectOptions) GoString() string {
48225	return s.String()
48226}
48227
48228// SetEnabled sets the Enabled field's value.
48229func (s *ClientConnectOptions) SetEnabled(v bool) *ClientConnectOptions {
48230	s.Enabled = &v
48231	return s
48232}
48233
48234// SetLambdaFunctionArn sets the LambdaFunctionArn field's value.
48235func (s *ClientConnectOptions) SetLambdaFunctionArn(v string) *ClientConnectOptions {
48236	s.LambdaFunctionArn = &v
48237	return s
48238}
48239
48240// The options for managing connection authorization for new client connections.
48241type ClientConnectResponseOptions struct {
48242	_ struct{} `type:"structure"`
48243
48244	// Indicates whether client connect options are enabled.
48245	Enabled *bool `locationName:"enabled" type:"boolean"`
48246
48247	// The Amazon Resource Name (ARN) of the AWS Lambda function used for connection
48248	// authorization.
48249	LambdaFunctionArn *string `locationName:"lambdaFunctionArn" type:"string"`
48250
48251	// The status of any updates to the client connect options.
48252	Status *ClientVpnEndpointAttributeStatus `locationName:"status" type:"structure"`
48253}
48254
48255// String returns the string representation
48256func (s ClientConnectResponseOptions) String() string {
48257	return awsutil.Prettify(s)
48258}
48259
48260// GoString returns the string representation
48261func (s ClientConnectResponseOptions) GoString() string {
48262	return s.String()
48263}
48264
48265// SetEnabled sets the Enabled field's value.
48266func (s *ClientConnectResponseOptions) SetEnabled(v bool) *ClientConnectResponseOptions {
48267	s.Enabled = &v
48268	return s
48269}
48270
48271// SetLambdaFunctionArn sets the LambdaFunctionArn field's value.
48272func (s *ClientConnectResponseOptions) SetLambdaFunctionArn(v string) *ClientConnectResponseOptions {
48273	s.LambdaFunctionArn = &v
48274	return s
48275}
48276
48277// SetStatus sets the Status field's value.
48278func (s *ClientConnectResponseOptions) SetStatus(v *ClientVpnEndpointAttributeStatus) *ClientConnectResponseOptions {
48279	s.Status = v
48280	return s
48281}
48282
48283// Describes the client-specific data.
48284type ClientData struct {
48285	_ struct{} `type:"structure"`
48286
48287	// A user-defined comment about the disk upload.
48288	Comment *string `type:"string"`
48289
48290	// The time that the disk upload ends.
48291	UploadEnd *time.Time `type:"timestamp"`
48292
48293	// The size of the uploaded disk image, in GiB.
48294	UploadSize *float64 `type:"double"`
48295
48296	// The time that the disk upload starts.
48297	UploadStart *time.Time `type:"timestamp"`
48298}
48299
48300// String returns the string representation
48301func (s ClientData) String() string {
48302	return awsutil.Prettify(s)
48303}
48304
48305// GoString returns the string representation
48306func (s ClientData) GoString() string {
48307	return s.String()
48308}
48309
48310// SetComment sets the Comment field's value.
48311func (s *ClientData) SetComment(v string) *ClientData {
48312	s.Comment = &v
48313	return s
48314}
48315
48316// SetUploadEnd sets the UploadEnd field's value.
48317func (s *ClientData) SetUploadEnd(v time.Time) *ClientData {
48318	s.UploadEnd = &v
48319	return s
48320}
48321
48322// SetUploadSize sets the UploadSize field's value.
48323func (s *ClientData) SetUploadSize(v float64) *ClientData {
48324	s.UploadSize = &v
48325	return s
48326}
48327
48328// SetUploadStart sets the UploadStart field's value.
48329func (s *ClientData) SetUploadStart(v time.Time) *ClientData {
48330	s.UploadStart = &v
48331	return s
48332}
48333
48334// Describes the authentication methods used by a Client VPN endpoint. For more
48335// information, see Authentication (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/client-authentication.html)
48336// in the AWS Client VPN Administrator Guide.
48337type ClientVpnAuthentication struct {
48338	_ struct{} `type:"structure"`
48339
48340	// Information about the Active Directory, if applicable.
48341	ActiveDirectory *DirectoryServiceAuthentication `locationName:"activeDirectory" type:"structure"`
48342
48343	// Information about the IAM SAML identity provider, if applicable.
48344	FederatedAuthentication *FederatedAuthentication `locationName:"federatedAuthentication" type:"structure"`
48345
48346	// Information about the authentication certificates, if applicable.
48347	MutualAuthentication *CertificateAuthentication `locationName:"mutualAuthentication" type:"structure"`
48348
48349	// The authentication type used.
48350	Type *string `locationName:"type" type:"string" enum:"ClientVpnAuthenticationType"`
48351}
48352
48353// String returns the string representation
48354func (s ClientVpnAuthentication) String() string {
48355	return awsutil.Prettify(s)
48356}
48357
48358// GoString returns the string representation
48359func (s ClientVpnAuthentication) GoString() string {
48360	return s.String()
48361}
48362
48363// SetActiveDirectory sets the ActiveDirectory field's value.
48364func (s *ClientVpnAuthentication) SetActiveDirectory(v *DirectoryServiceAuthentication) *ClientVpnAuthentication {
48365	s.ActiveDirectory = v
48366	return s
48367}
48368
48369// SetFederatedAuthentication sets the FederatedAuthentication field's value.
48370func (s *ClientVpnAuthentication) SetFederatedAuthentication(v *FederatedAuthentication) *ClientVpnAuthentication {
48371	s.FederatedAuthentication = v
48372	return s
48373}
48374
48375// SetMutualAuthentication sets the MutualAuthentication field's value.
48376func (s *ClientVpnAuthentication) SetMutualAuthentication(v *CertificateAuthentication) *ClientVpnAuthentication {
48377	s.MutualAuthentication = v
48378	return s
48379}
48380
48381// SetType sets the Type field's value.
48382func (s *ClientVpnAuthentication) SetType(v string) *ClientVpnAuthentication {
48383	s.Type = &v
48384	return s
48385}
48386
48387// Describes the authentication method to be used by a Client VPN endpoint.
48388// For more information, see Authentication (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/authentication-authrization.html#client-authentication)
48389// in the AWS Client VPN Administrator Guide.
48390type ClientVpnAuthenticationRequest struct {
48391	_ struct{} `type:"structure"`
48392
48393	// Information about the Active Directory to be used, if applicable. You must
48394	// provide this information if Type is directory-service-authentication.
48395	ActiveDirectory *DirectoryServiceAuthenticationRequest `type:"structure"`
48396
48397	// Information about the IAM SAML identity provider to be used, if applicable.
48398	// You must provide this information if Type is federated-authentication.
48399	FederatedAuthentication *FederatedAuthenticationRequest `type:"structure"`
48400
48401	// Information about the authentication certificates to be used, if applicable.
48402	// You must provide this information if Type is certificate-authentication.
48403	MutualAuthentication *CertificateAuthenticationRequest `type:"structure"`
48404
48405	// The type of client authentication to be used.
48406	Type *string `type:"string" enum:"ClientVpnAuthenticationType"`
48407}
48408
48409// String returns the string representation
48410func (s ClientVpnAuthenticationRequest) String() string {
48411	return awsutil.Prettify(s)
48412}
48413
48414// GoString returns the string representation
48415func (s ClientVpnAuthenticationRequest) GoString() string {
48416	return s.String()
48417}
48418
48419// SetActiveDirectory sets the ActiveDirectory field's value.
48420func (s *ClientVpnAuthenticationRequest) SetActiveDirectory(v *DirectoryServiceAuthenticationRequest) *ClientVpnAuthenticationRequest {
48421	s.ActiveDirectory = v
48422	return s
48423}
48424
48425// SetFederatedAuthentication sets the FederatedAuthentication field's value.
48426func (s *ClientVpnAuthenticationRequest) SetFederatedAuthentication(v *FederatedAuthenticationRequest) *ClientVpnAuthenticationRequest {
48427	s.FederatedAuthentication = v
48428	return s
48429}
48430
48431// SetMutualAuthentication sets the MutualAuthentication field's value.
48432func (s *ClientVpnAuthenticationRequest) SetMutualAuthentication(v *CertificateAuthenticationRequest) *ClientVpnAuthenticationRequest {
48433	s.MutualAuthentication = v
48434	return s
48435}
48436
48437// SetType sets the Type field's value.
48438func (s *ClientVpnAuthenticationRequest) SetType(v string) *ClientVpnAuthenticationRequest {
48439	s.Type = &v
48440	return s
48441}
48442
48443// Describes the state of an authorization rule.
48444type ClientVpnAuthorizationRuleStatus struct {
48445	_ struct{} `type:"structure"`
48446
48447	// The state of the authorization rule.
48448	Code *string `locationName:"code" type:"string" enum:"ClientVpnAuthorizationRuleStatusCode"`
48449
48450	// A message about the status of the authorization rule, if applicable.
48451	Message *string `locationName:"message" type:"string"`
48452}
48453
48454// String returns the string representation
48455func (s ClientVpnAuthorizationRuleStatus) String() string {
48456	return awsutil.Prettify(s)
48457}
48458
48459// GoString returns the string representation
48460func (s ClientVpnAuthorizationRuleStatus) GoString() string {
48461	return s.String()
48462}
48463
48464// SetCode sets the Code field's value.
48465func (s *ClientVpnAuthorizationRuleStatus) SetCode(v string) *ClientVpnAuthorizationRuleStatus {
48466	s.Code = &v
48467	return s
48468}
48469
48470// SetMessage sets the Message field's value.
48471func (s *ClientVpnAuthorizationRuleStatus) SetMessage(v string) *ClientVpnAuthorizationRuleStatus {
48472	s.Message = &v
48473	return s
48474}
48475
48476// Describes a client connection.
48477type ClientVpnConnection struct {
48478	_ struct{} `type:"structure"`
48479
48480	// The IP address of the client.
48481	ClientIp *string `locationName:"clientIp" type:"string"`
48482
48483	// The ID of the Client VPN endpoint to which the client is connected.
48484	ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"`
48485
48486	// The common name associated with the client. This is either the name of the
48487	// client certificate, or the Active Directory user name.
48488	CommonName *string `locationName:"commonName" type:"string"`
48489
48490	// The date and time the client connection was terminated.
48491	ConnectionEndTime *string `locationName:"connectionEndTime" type:"string"`
48492
48493	// The date and time the client connection was established.
48494	ConnectionEstablishedTime *string `locationName:"connectionEstablishedTime" type:"string"`
48495
48496	// The ID of the client connection.
48497	ConnectionId *string `locationName:"connectionId" type:"string"`
48498
48499	// The number of bytes received by the client.
48500	EgressBytes *string `locationName:"egressBytes" type:"string"`
48501
48502	// The number of packets received by the client.
48503	EgressPackets *string `locationName:"egressPackets" type:"string"`
48504
48505	// The number of bytes sent by the client.
48506	IngressBytes *string `locationName:"ingressBytes" type:"string"`
48507
48508	// The number of packets sent by the client.
48509	IngressPackets *string `locationName:"ingressPackets" type:"string"`
48510
48511	// The statuses returned by the client connect handler for posture compliance,
48512	// if applicable.
48513	PostureComplianceStatuses []*string `locationName:"postureComplianceStatusSet" locationNameList:"item" type:"list"`
48514
48515	// The current state of the client connection.
48516	Status *ClientVpnConnectionStatus `locationName:"status" type:"structure"`
48517
48518	// The current date and time.
48519	Timestamp *string `locationName:"timestamp" type:"string"`
48520
48521	// The username of the client who established the client connection. This information
48522	// is only provided if Active Directory client authentication is used.
48523	Username *string `locationName:"username" type:"string"`
48524}
48525
48526// String returns the string representation
48527func (s ClientVpnConnection) String() string {
48528	return awsutil.Prettify(s)
48529}
48530
48531// GoString returns the string representation
48532func (s ClientVpnConnection) GoString() string {
48533	return s.String()
48534}
48535
48536// SetClientIp sets the ClientIp field's value.
48537func (s *ClientVpnConnection) SetClientIp(v string) *ClientVpnConnection {
48538	s.ClientIp = &v
48539	return s
48540}
48541
48542// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
48543func (s *ClientVpnConnection) SetClientVpnEndpointId(v string) *ClientVpnConnection {
48544	s.ClientVpnEndpointId = &v
48545	return s
48546}
48547
48548// SetCommonName sets the CommonName field's value.
48549func (s *ClientVpnConnection) SetCommonName(v string) *ClientVpnConnection {
48550	s.CommonName = &v
48551	return s
48552}
48553
48554// SetConnectionEndTime sets the ConnectionEndTime field's value.
48555func (s *ClientVpnConnection) SetConnectionEndTime(v string) *ClientVpnConnection {
48556	s.ConnectionEndTime = &v
48557	return s
48558}
48559
48560// SetConnectionEstablishedTime sets the ConnectionEstablishedTime field's value.
48561func (s *ClientVpnConnection) SetConnectionEstablishedTime(v string) *ClientVpnConnection {
48562	s.ConnectionEstablishedTime = &v
48563	return s
48564}
48565
48566// SetConnectionId sets the ConnectionId field's value.
48567func (s *ClientVpnConnection) SetConnectionId(v string) *ClientVpnConnection {
48568	s.ConnectionId = &v
48569	return s
48570}
48571
48572// SetEgressBytes sets the EgressBytes field's value.
48573func (s *ClientVpnConnection) SetEgressBytes(v string) *ClientVpnConnection {
48574	s.EgressBytes = &v
48575	return s
48576}
48577
48578// SetEgressPackets sets the EgressPackets field's value.
48579func (s *ClientVpnConnection) SetEgressPackets(v string) *ClientVpnConnection {
48580	s.EgressPackets = &v
48581	return s
48582}
48583
48584// SetIngressBytes sets the IngressBytes field's value.
48585func (s *ClientVpnConnection) SetIngressBytes(v string) *ClientVpnConnection {
48586	s.IngressBytes = &v
48587	return s
48588}
48589
48590// SetIngressPackets sets the IngressPackets field's value.
48591func (s *ClientVpnConnection) SetIngressPackets(v string) *ClientVpnConnection {
48592	s.IngressPackets = &v
48593	return s
48594}
48595
48596// SetPostureComplianceStatuses sets the PostureComplianceStatuses field's value.
48597func (s *ClientVpnConnection) SetPostureComplianceStatuses(v []*string) *ClientVpnConnection {
48598	s.PostureComplianceStatuses = v
48599	return s
48600}
48601
48602// SetStatus sets the Status field's value.
48603func (s *ClientVpnConnection) SetStatus(v *ClientVpnConnectionStatus) *ClientVpnConnection {
48604	s.Status = v
48605	return s
48606}
48607
48608// SetTimestamp sets the Timestamp field's value.
48609func (s *ClientVpnConnection) SetTimestamp(v string) *ClientVpnConnection {
48610	s.Timestamp = &v
48611	return s
48612}
48613
48614// SetUsername sets the Username field's value.
48615func (s *ClientVpnConnection) SetUsername(v string) *ClientVpnConnection {
48616	s.Username = &v
48617	return s
48618}
48619
48620// Describes the status of a client connection.
48621type ClientVpnConnectionStatus struct {
48622	_ struct{} `type:"structure"`
48623
48624	// The state of the client connection.
48625	Code *string `locationName:"code" type:"string" enum:"ClientVpnConnectionStatusCode"`
48626
48627	// A message about the status of the client connection, if applicable.
48628	Message *string `locationName:"message" type:"string"`
48629}
48630
48631// String returns the string representation
48632func (s ClientVpnConnectionStatus) String() string {
48633	return awsutil.Prettify(s)
48634}
48635
48636// GoString returns the string representation
48637func (s ClientVpnConnectionStatus) GoString() string {
48638	return s.String()
48639}
48640
48641// SetCode sets the Code field's value.
48642func (s *ClientVpnConnectionStatus) SetCode(v string) *ClientVpnConnectionStatus {
48643	s.Code = &v
48644	return s
48645}
48646
48647// SetMessage sets the Message field's value.
48648func (s *ClientVpnConnectionStatus) SetMessage(v string) *ClientVpnConnectionStatus {
48649	s.Message = &v
48650	return s
48651}
48652
48653// Describes a Client VPN endpoint.
48654type ClientVpnEndpoint struct {
48655	_ struct{} `type:"structure"`
48656
48657	// Information about the associated target networks. A target network is a subnet
48658	// in a VPC.
48659	//
48660	// Deprecated: This property is deprecated. To view the target networks associated with a Client VPN endpoint, call DescribeClientVpnTargetNetworks and inspect the clientVpnTargetNetworks response element.
48661	AssociatedTargetNetworks []*AssociatedTargetNetwork `locationName:"associatedTargetNetwork" locationNameList:"item" deprecated:"true" type:"list"`
48662
48663	// Information about the authentication method used by the Client VPN endpoint.
48664	AuthenticationOptions []*ClientVpnAuthentication `locationName:"authenticationOptions" locationNameList:"item" type:"list"`
48665
48666	// The IPv4 address range, in CIDR notation, from which client IP addresses
48667	// are assigned.
48668	ClientCidrBlock *string `locationName:"clientCidrBlock" type:"string"`
48669
48670	// The options for managing connection authorization for new client connections.
48671	ClientConnectOptions *ClientConnectResponseOptions `locationName:"clientConnectOptions" type:"structure"`
48672
48673	// The ID of the Client VPN endpoint.
48674	ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"`
48675
48676	// Information about the client connection logging options for the Client VPN
48677	// endpoint.
48678	ConnectionLogOptions *ConnectionLogResponseOptions `locationName:"connectionLogOptions" type:"structure"`
48679
48680	// The date and time the Client VPN endpoint was created.
48681	CreationTime *string `locationName:"creationTime" type:"string"`
48682
48683	// The date and time the Client VPN endpoint was deleted, if applicable.
48684	DeletionTime *string `locationName:"deletionTime" type:"string"`
48685
48686	// A brief description of the endpoint.
48687	Description *string `locationName:"description" type:"string"`
48688
48689	// The DNS name to be used by clients when connecting to the Client VPN endpoint.
48690	DnsName *string `locationName:"dnsName" type:"string"`
48691
48692	// Information about the DNS servers to be used for DNS resolution.
48693	DnsServers []*string `locationName:"dnsServer" locationNameList:"item" type:"list"`
48694
48695	// The IDs of the security groups for the target network.
48696	SecurityGroupIds []*string `locationName:"securityGroupIdSet" locationNameList:"item" type:"list"`
48697
48698	// The URL of the self-service portal.
48699	SelfServicePortalUrl *string `locationName:"selfServicePortalUrl" type:"string"`
48700
48701	// The ARN of the server certificate.
48702	ServerCertificateArn *string `locationName:"serverCertificateArn" type:"string"`
48703
48704	// Indicates whether split-tunnel is enabled in the AWS Client VPN endpoint.
48705	//
48706	// For information about split-tunnel VPN endpoints, see Split-Tunnel AWS Client
48707	// VPN Endpoint (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/split-tunnel-vpn.html)
48708	// in the AWS Client VPN Administrator Guide.
48709	SplitTunnel *bool `locationName:"splitTunnel" type:"boolean"`
48710
48711	// The current state of the Client VPN endpoint.
48712	Status *ClientVpnEndpointStatus `locationName:"status" type:"structure"`
48713
48714	// Any tags assigned to the Client VPN endpoint.
48715	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
48716
48717	// The transport protocol used by the Client VPN endpoint.
48718	TransportProtocol *string `locationName:"transportProtocol" type:"string" enum:"TransportProtocol"`
48719
48720	// The ID of the VPC.
48721	VpcId *string `locationName:"vpcId" type:"string"`
48722
48723	// The port number for the Client VPN endpoint.
48724	VpnPort *int64 `locationName:"vpnPort" type:"integer"`
48725
48726	// The protocol used by the VPN session.
48727	VpnProtocol *string `locationName:"vpnProtocol" type:"string" enum:"VpnProtocol"`
48728}
48729
48730// String returns the string representation
48731func (s ClientVpnEndpoint) String() string {
48732	return awsutil.Prettify(s)
48733}
48734
48735// GoString returns the string representation
48736func (s ClientVpnEndpoint) GoString() string {
48737	return s.String()
48738}
48739
48740// SetAssociatedTargetNetworks sets the AssociatedTargetNetworks field's value.
48741func (s *ClientVpnEndpoint) SetAssociatedTargetNetworks(v []*AssociatedTargetNetwork) *ClientVpnEndpoint {
48742	s.AssociatedTargetNetworks = v
48743	return s
48744}
48745
48746// SetAuthenticationOptions sets the AuthenticationOptions field's value.
48747func (s *ClientVpnEndpoint) SetAuthenticationOptions(v []*ClientVpnAuthentication) *ClientVpnEndpoint {
48748	s.AuthenticationOptions = v
48749	return s
48750}
48751
48752// SetClientCidrBlock sets the ClientCidrBlock field's value.
48753func (s *ClientVpnEndpoint) SetClientCidrBlock(v string) *ClientVpnEndpoint {
48754	s.ClientCidrBlock = &v
48755	return s
48756}
48757
48758// SetClientConnectOptions sets the ClientConnectOptions field's value.
48759func (s *ClientVpnEndpoint) SetClientConnectOptions(v *ClientConnectResponseOptions) *ClientVpnEndpoint {
48760	s.ClientConnectOptions = v
48761	return s
48762}
48763
48764// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
48765func (s *ClientVpnEndpoint) SetClientVpnEndpointId(v string) *ClientVpnEndpoint {
48766	s.ClientVpnEndpointId = &v
48767	return s
48768}
48769
48770// SetConnectionLogOptions sets the ConnectionLogOptions field's value.
48771func (s *ClientVpnEndpoint) SetConnectionLogOptions(v *ConnectionLogResponseOptions) *ClientVpnEndpoint {
48772	s.ConnectionLogOptions = v
48773	return s
48774}
48775
48776// SetCreationTime sets the CreationTime field's value.
48777func (s *ClientVpnEndpoint) SetCreationTime(v string) *ClientVpnEndpoint {
48778	s.CreationTime = &v
48779	return s
48780}
48781
48782// SetDeletionTime sets the DeletionTime field's value.
48783func (s *ClientVpnEndpoint) SetDeletionTime(v string) *ClientVpnEndpoint {
48784	s.DeletionTime = &v
48785	return s
48786}
48787
48788// SetDescription sets the Description field's value.
48789func (s *ClientVpnEndpoint) SetDescription(v string) *ClientVpnEndpoint {
48790	s.Description = &v
48791	return s
48792}
48793
48794// SetDnsName sets the DnsName field's value.
48795func (s *ClientVpnEndpoint) SetDnsName(v string) *ClientVpnEndpoint {
48796	s.DnsName = &v
48797	return s
48798}
48799
48800// SetDnsServers sets the DnsServers field's value.
48801func (s *ClientVpnEndpoint) SetDnsServers(v []*string) *ClientVpnEndpoint {
48802	s.DnsServers = v
48803	return s
48804}
48805
48806// SetSecurityGroupIds sets the SecurityGroupIds field's value.
48807func (s *ClientVpnEndpoint) SetSecurityGroupIds(v []*string) *ClientVpnEndpoint {
48808	s.SecurityGroupIds = v
48809	return s
48810}
48811
48812// SetSelfServicePortalUrl sets the SelfServicePortalUrl field's value.
48813func (s *ClientVpnEndpoint) SetSelfServicePortalUrl(v string) *ClientVpnEndpoint {
48814	s.SelfServicePortalUrl = &v
48815	return s
48816}
48817
48818// SetServerCertificateArn sets the ServerCertificateArn field's value.
48819func (s *ClientVpnEndpoint) SetServerCertificateArn(v string) *ClientVpnEndpoint {
48820	s.ServerCertificateArn = &v
48821	return s
48822}
48823
48824// SetSplitTunnel sets the SplitTunnel field's value.
48825func (s *ClientVpnEndpoint) SetSplitTunnel(v bool) *ClientVpnEndpoint {
48826	s.SplitTunnel = &v
48827	return s
48828}
48829
48830// SetStatus sets the Status field's value.
48831func (s *ClientVpnEndpoint) SetStatus(v *ClientVpnEndpointStatus) *ClientVpnEndpoint {
48832	s.Status = v
48833	return s
48834}
48835
48836// SetTags sets the Tags field's value.
48837func (s *ClientVpnEndpoint) SetTags(v []*Tag) *ClientVpnEndpoint {
48838	s.Tags = v
48839	return s
48840}
48841
48842// SetTransportProtocol sets the TransportProtocol field's value.
48843func (s *ClientVpnEndpoint) SetTransportProtocol(v string) *ClientVpnEndpoint {
48844	s.TransportProtocol = &v
48845	return s
48846}
48847
48848// SetVpcId sets the VpcId field's value.
48849func (s *ClientVpnEndpoint) SetVpcId(v string) *ClientVpnEndpoint {
48850	s.VpcId = &v
48851	return s
48852}
48853
48854// SetVpnPort sets the VpnPort field's value.
48855func (s *ClientVpnEndpoint) SetVpnPort(v int64) *ClientVpnEndpoint {
48856	s.VpnPort = &v
48857	return s
48858}
48859
48860// SetVpnProtocol sets the VpnProtocol field's value.
48861func (s *ClientVpnEndpoint) SetVpnProtocol(v string) *ClientVpnEndpoint {
48862	s.VpnProtocol = &v
48863	return s
48864}
48865
48866// Describes the status of the Client VPN endpoint attribute.
48867type ClientVpnEndpointAttributeStatus struct {
48868	_ struct{} `type:"structure"`
48869
48870	// The status code.
48871	Code *string `locationName:"code" type:"string" enum:"ClientVpnEndpointAttributeStatusCode"`
48872
48873	// The status message.
48874	Message *string `locationName:"message" type:"string"`
48875}
48876
48877// String returns the string representation
48878func (s ClientVpnEndpointAttributeStatus) String() string {
48879	return awsutil.Prettify(s)
48880}
48881
48882// GoString returns the string representation
48883func (s ClientVpnEndpointAttributeStatus) GoString() string {
48884	return s.String()
48885}
48886
48887// SetCode sets the Code field's value.
48888func (s *ClientVpnEndpointAttributeStatus) SetCode(v string) *ClientVpnEndpointAttributeStatus {
48889	s.Code = &v
48890	return s
48891}
48892
48893// SetMessage sets the Message field's value.
48894func (s *ClientVpnEndpointAttributeStatus) SetMessage(v string) *ClientVpnEndpointAttributeStatus {
48895	s.Message = &v
48896	return s
48897}
48898
48899// Describes the state of a Client VPN endpoint.
48900type ClientVpnEndpointStatus struct {
48901	_ struct{} `type:"structure"`
48902
48903	// The state of the Client VPN endpoint. Possible states include:
48904	//
48905	//    * pending-associate - The Client VPN endpoint has been created but no
48906	//    target networks have been associated. The Client VPN endpoint cannot accept
48907	//    connections.
48908	//
48909	//    * available - The Client VPN endpoint has been created and a target network
48910	//    has been associated. The Client VPN endpoint can accept connections.
48911	//
48912	//    * deleting - The Client VPN endpoint is being deleted. The Client VPN
48913	//    endpoint cannot accept connections.
48914	//
48915	//    * deleted - The Client VPN endpoint has been deleted. The Client VPN endpoint
48916	//    cannot accept connections.
48917	Code *string `locationName:"code" type:"string" enum:"ClientVpnEndpointStatusCode"`
48918
48919	// A message about the status of the Client VPN endpoint.
48920	Message *string `locationName:"message" type:"string"`
48921}
48922
48923// String returns the string representation
48924func (s ClientVpnEndpointStatus) String() string {
48925	return awsutil.Prettify(s)
48926}
48927
48928// GoString returns the string representation
48929func (s ClientVpnEndpointStatus) GoString() string {
48930	return s.String()
48931}
48932
48933// SetCode sets the Code field's value.
48934func (s *ClientVpnEndpointStatus) SetCode(v string) *ClientVpnEndpointStatus {
48935	s.Code = &v
48936	return s
48937}
48938
48939// SetMessage sets the Message field's value.
48940func (s *ClientVpnEndpointStatus) SetMessage(v string) *ClientVpnEndpointStatus {
48941	s.Message = &v
48942	return s
48943}
48944
48945// Information about a Client VPN endpoint route.
48946type ClientVpnRoute struct {
48947	_ struct{} `type:"structure"`
48948
48949	// The ID of the Client VPN endpoint with which the route is associated.
48950	ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"`
48951
48952	// A brief description of the route.
48953	Description *string `locationName:"description" type:"string"`
48954
48955	// The IPv4 address range, in CIDR notation, of the route destination.
48956	DestinationCidr *string `locationName:"destinationCidr" type:"string"`
48957
48958	// Indicates how the route was associated with the Client VPN endpoint. associate
48959	// indicates that the route was automatically added when the target network
48960	// was associated with the Client VPN endpoint. add-route indicates that the
48961	// route was manually added using the CreateClientVpnRoute action.
48962	Origin *string `locationName:"origin" type:"string"`
48963
48964	// The current state of the route.
48965	Status *ClientVpnRouteStatus `locationName:"status" type:"structure"`
48966
48967	// The ID of the subnet through which traffic is routed.
48968	TargetSubnet *string `locationName:"targetSubnet" type:"string"`
48969
48970	// The route type.
48971	Type *string `locationName:"type" type:"string"`
48972}
48973
48974// String returns the string representation
48975func (s ClientVpnRoute) String() string {
48976	return awsutil.Prettify(s)
48977}
48978
48979// GoString returns the string representation
48980func (s ClientVpnRoute) GoString() string {
48981	return s.String()
48982}
48983
48984// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
48985func (s *ClientVpnRoute) SetClientVpnEndpointId(v string) *ClientVpnRoute {
48986	s.ClientVpnEndpointId = &v
48987	return s
48988}
48989
48990// SetDescription sets the Description field's value.
48991func (s *ClientVpnRoute) SetDescription(v string) *ClientVpnRoute {
48992	s.Description = &v
48993	return s
48994}
48995
48996// SetDestinationCidr sets the DestinationCidr field's value.
48997func (s *ClientVpnRoute) SetDestinationCidr(v string) *ClientVpnRoute {
48998	s.DestinationCidr = &v
48999	return s
49000}
49001
49002// SetOrigin sets the Origin field's value.
49003func (s *ClientVpnRoute) SetOrigin(v string) *ClientVpnRoute {
49004	s.Origin = &v
49005	return s
49006}
49007
49008// SetStatus sets the Status field's value.
49009func (s *ClientVpnRoute) SetStatus(v *ClientVpnRouteStatus) *ClientVpnRoute {
49010	s.Status = v
49011	return s
49012}
49013
49014// SetTargetSubnet sets the TargetSubnet field's value.
49015func (s *ClientVpnRoute) SetTargetSubnet(v string) *ClientVpnRoute {
49016	s.TargetSubnet = &v
49017	return s
49018}
49019
49020// SetType sets the Type field's value.
49021func (s *ClientVpnRoute) SetType(v string) *ClientVpnRoute {
49022	s.Type = &v
49023	return s
49024}
49025
49026// Describes the state of a Client VPN endpoint route.
49027type ClientVpnRouteStatus struct {
49028	_ struct{} `type:"structure"`
49029
49030	// The state of the Client VPN endpoint route.
49031	Code *string `locationName:"code" type:"string" enum:"ClientVpnRouteStatusCode"`
49032
49033	// A message about the status of the Client VPN endpoint route, if applicable.
49034	Message *string `locationName:"message" type:"string"`
49035}
49036
49037// String returns the string representation
49038func (s ClientVpnRouteStatus) String() string {
49039	return awsutil.Prettify(s)
49040}
49041
49042// GoString returns the string representation
49043func (s ClientVpnRouteStatus) GoString() string {
49044	return s.String()
49045}
49046
49047// SetCode sets the Code field's value.
49048func (s *ClientVpnRouteStatus) SetCode(v string) *ClientVpnRouteStatus {
49049	s.Code = &v
49050	return s
49051}
49052
49053// SetMessage sets the Message field's value.
49054func (s *ClientVpnRouteStatus) SetMessage(v string) *ClientVpnRouteStatus {
49055	s.Message = &v
49056	return s
49057}
49058
49059// Describes address usage for a customer-owned address pool.
49060type CoipAddressUsage struct {
49061	_ struct{} `type:"structure"`
49062
49063	// The allocation ID of the address.
49064	AllocationId *string `locationName:"allocationId" type:"string"`
49065
49066	// The AWS account ID.
49067	AwsAccountId *string `locationName:"awsAccountId" type:"string"`
49068
49069	// The AWS service.
49070	AwsService *string `locationName:"awsService" type:"string"`
49071
49072	// The customer-owned IP address.
49073	CoIp *string `locationName:"coIp" type:"string"`
49074}
49075
49076// String returns the string representation
49077func (s CoipAddressUsage) String() string {
49078	return awsutil.Prettify(s)
49079}
49080
49081// GoString returns the string representation
49082func (s CoipAddressUsage) GoString() string {
49083	return s.String()
49084}
49085
49086// SetAllocationId sets the AllocationId field's value.
49087func (s *CoipAddressUsage) SetAllocationId(v string) *CoipAddressUsage {
49088	s.AllocationId = &v
49089	return s
49090}
49091
49092// SetAwsAccountId sets the AwsAccountId field's value.
49093func (s *CoipAddressUsage) SetAwsAccountId(v string) *CoipAddressUsage {
49094	s.AwsAccountId = &v
49095	return s
49096}
49097
49098// SetAwsService sets the AwsService field's value.
49099func (s *CoipAddressUsage) SetAwsService(v string) *CoipAddressUsage {
49100	s.AwsService = &v
49101	return s
49102}
49103
49104// SetCoIp sets the CoIp field's value.
49105func (s *CoipAddressUsage) SetCoIp(v string) *CoipAddressUsage {
49106	s.CoIp = &v
49107	return s
49108}
49109
49110// Describes a customer-owned address pool.
49111type CoipPool struct {
49112	_ struct{} `type:"structure"`
49113
49114	// The ID of the local gateway route table.
49115	LocalGatewayRouteTableId *string `locationName:"localGatewayRouteTableId" type:"string"`
49116
49117	// The ARN of the address pool.
49118	PoolArn *string `locationName:"poolArn" min:"1" type:"string"`
49119
49120	// The address ranges of the address pool.
49121	PoolCidrs []*string `locationName:"poolCidrSet" locationNameList:"item" type:"list"`
49122
49123	// The ID of the address pool.
49124	PoolId *string `locationName:"poolId" type:"string"`
49125
49126	// The tags.
49127	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
49128}
49129
49130// String returns the string representation
49131func (s CoipPool) String() string {
49132	return awsutil.Prettify(s)
49133}
49134
49135// GoString returns the string representation
49136func (s CoipPool) GoString() string {
49137	return s.String()
49138}
49139
49140// SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
49141func (s *CoipPool) SetLocalGatewayRouteTableId(v string) *CoipPool {
49142	s.LocalGatewayRouteTableId = &v
49143	return s
49144}
49145
49146// SetPoolArn sets the PoolArn field's value.
49147func (s *CoipPool) SetPoolArn(v string) *CoipPool {
49148	s.PoolArn = &v
49149	return s
49150}
49151
49152// SetPoolCidrs sets the PoolCidrs field's value.
49153func (s *CoipPool) SetPoolCidrs(v []*string) *CoipPool {
49154	s.PoolCidrs = v
49155	return s
49156}
49157
49158// SetPoolId sets the PoolId field's value.
49159func (s *CoipPool) SetPoolId(v string) *CoipPool {
49160	s.PoolId = &v
49161	return s
49162}
49163
49164// SetTags sets the Tags field's value.
49165func (s *CoipPool) SetTags(v []*Tag) *CoipPool {
49166	s.Tags = v
49167	return s
49168}
49169
49170type ConfirmProductInstanceInput struct {
49171	_ struct{} `type:"structure"`
49172
49173	// Checks whether you have the required permissions for the action, without
49174	// actually making the request, and provides an error response. If you have
49175	// the required permissions, the error response is DryRunOperation. Otherwise,
49176	// it is UnauthorizedOperation.
49177	DryRun *bool `locationName:"dryRun" type:"boolean"`
49178
49179	// The ID of the instance.
49180	//
49181	// InstanceId is a required field
49182	InstanceId *string `type:"string" required:"true"`
49183
49184	// The product code. This must be a product code that you own.
49185	//
49186	// ProductCode is a required field
49187	ProductCode *string `type:"string" required:"true"`
49188}
49189
49190// String returns the string representation
49191func (s ConfirmProductInstanceInput) String() string {
49192	return awsutil.Prettify(s)
49193}
49194
49195// GoString returns the string representation
49196func (s ConfirmProductInstanceInput) GoString() string {
49197	return s.String()
49198}
49199
49200// Validate inspects the fields of the type to determine if they are valid.
49201func (s *ConfirmProductInstanceInput) Validate() error {
49202	invalidParams := request.ErrInvalidParams{Context: "ConfirmProductInstanceInput"}
49203	if s.InstanceId == nil {
49204		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
49205	}
49206	if s.ProductCode == nil {
49207		invalidParams.Add(request.NewErrParamRequired("ProductCode"))
49208	}
49209
49210	if invalidParams.Len() > 0 {
49211		return invalidParams
49212	}
49213	return nil
49214}
49215
49216// SetDryRun sets the DryRun field's value.
49217func (s *ConfirmProductInstanceInput) SetDryRun(v bool) *ConfirmProductInstanceInput {
49218	s.DryRun = &v
49219	return s
49220}
49221
49222// SetInstanceId sets the InstanceId field's value.
49223func (s *ConfirmProductInstanceInput) SetInstanceId(v string) *ConfirmProductInstanceInput {
49224	s.InstanceId = &v
49225	return s
49226}
49227
49228// SetProductCode sets the ProductCode field's value.
49229func (s *ConfirmProductInstanceInput) SetProductCode(v string) *ConfirmProductInstanceInput {
49230	s.ProductCode = &v
49231	return s
49232}
49233
49234type ConfirmProductInstanceOutput struct {
49235	_ struct{} `type:"structure"`
49236
49237	// The AWS account ID of the instance owner. This is only present if the product
49238	// code is attached to the instance.
49239	OwnerId *string `locationName:"ownerId" type:"string"`
49240
49241	// The return value of the request. Returns true if the specified product code
49242	// is owned by the requester and associated with the specified instance.
49243	Return *bool `locationName:"return" type:"boolean"`
49244}
49245
49246// String returns the string representation
49247func (s ConfirmProductInstanceOutput) String() string {
49248	return awsutil.Prettify(s)
49249}
49250
49251// GoString returns the string representation
49252func (s ConfirmProductInstanceOutput) GoString() string {
49253	return s.String()
49254}
49255
49256// SetOwnerId sets the OwnerId field's value.
49257func (s *ConfirmProductInstanceOutput) SetOwnerId(v string) *ConfirmProductInstanceOutput {
49258	s.OwnerId = &v
49259	return s
49260}
49261
49262// SetReturn sets the Return field's value.
49263func (s *ConfirmProductInstanceOutput) SetReturn(v bool) *ConfirmProductInstanceOutput {
49264	s.Return = &v
49265	return s
49266}
49267
49268// Describes the client connection logging options for the Client VPN endpoint.
49269type ConnectionLogOptions struct {
49270	_ struct{} `type:"structure"`
49271
49272	// The name of the CloudWatch Logs log group. Required if connection logging
49273	// is enabled.
49274	CloudwatchLogGroup *string `type:"string"`
49275
49276	// The name of the CloudWatch Logs log stream to which the connection data is
49277	// published.
49278	CloudwatchLogStream *string `type:"string"`
49279
49280	// Indicates whether connection logging is enabled.
49281	Enabled *bool `type:"boolean"`
49282}
49283
49284// String returns the string representation
49285func (s ConnectionLogOptions) String() string {
49286	return awsutil.Prettify(s)
49287}
49288
49289// GoString returns the string representation
49290func (s ConnectionLogOptions) GoString() string {
49291	return s.String()
49292}
49293
49294// SetCloudwatchLogGroup sets the CloudwatchLogGroup field's value.
49295func (s *ConnectionLogOptions) SetCloudwatchLogGroup(v string) *ConnectionLogOptions {
49296	s.CloudwatchLogGroup = &v
49297	return s
49298}
49299
49300// SetCloudwatchLogStream sets the CloudwatchLogStream field's value.
49301func (s *ConnectionLogOptions) SetCloudwatchLogStream(v string) *ConnectionLogOptions {
49302	s.CloudwatchLogStream = &v
49303	return s
49304}
49305
49306// SetEnabled sets the Enabled field's value.
49307func (s *ConnectionLogOptions) SetEnabled(v bool) *ConnectionLogOptions {
49308	s.Enabled = &v
49309	return s
49310}
49311
49312// Information about the client connection logging options for a Client VPN
49313// endpoint.
49314type ConnectionLogResponseOptions struct {
49315	_ struct{} `type:"structure"`
49316
49317	// The name of the Amazon CloudWatch Logs log group to which connection logging
49318	// data is published.
49319	CloudwatchLogGroup *string `type:"string"`
49320
49321	// The name of the Amazon CloudWatch Logs log stream to which connection logging
49322	// data is published.
49323	CloudwatchLogStream *string `type:"string"`
49324
49325	// Indicates whether client connection logging is enabled for the Client VPN
49326	// endpoint.
49327	Enabled *bool `type:"boolean"`
49328}
49329
49330// String returns the string representation
49331func (s ConnectionLogResponseOptions) String() string {
49332	return awsutil.Prettify(s)
49333}
49334
49335// GoString returns the string representation
49336func (s ConnectionLogResponseOptions) GoString() string {
49337	return s.String()
49338}
49339
49340// SetCloudwatchLogGroup sets the CloudwatchLogGroup field's value.
49341func (s *ConnectionLogResponseOptions) SetCloudwatchLogGroup(v string) *ConnectionLogResponseOptions {
49342	s.CloudwatchLogGroup = &v
49343	return s
49344}
49345
49346// SetCloudwatchLogStream sets the CloudwatchLogStream field's value.
49347func (s *ConnectionLogResponseOptions) SetCloudwatchLogStream(v string) *ConnectionLogResponseOptions {
49348	s.CloudwatchLogStream = &v
49349	return s
49350}
49351
49352// SetEnabled sets the Enabled field's value.
49353func (s *ConnectionLogResponseOptions) SetEnabled(v bool) *ConnectionLogResponseOptions {
49354	s.Enabled = &v
49355	return s
49356}
49357
49358// Describes a connection notification for a VPC endpoint or VPC endpoint service.
49359type ConnectionNotification struct {
49360	_ struct{} `type:"structure"`
49361
49362	// The events for the notification. Valid values are Accept, Connect, Delete,
49363	// and Reject.
49364	ConnectionEvents []*string `locationName:"connectionEvents" locationNameList:"item" type:"list"`
49365
49366	// The ARN of the SNS topic for the notification.
49367	ConnectionNotificationArn *string `locationName:"connectionNotificationArn" type:"string"`
49368
49369	// The ID of the notification.
49370	ConnectionNotificationId *string `locationName:"connectionNotificationId" type:"string"`
49371
49372	// The state of the notification.
49373	ConnectionNotificationState *string `locationName:"connectionNotificationState" type:"string" enum:"ConnectionNotificationState"`
49374
49375	// The type of notification.
49376	ConnectionNotificationType *string `locationName:"connectionNotificationType" type:"string" enum:"ConnectionNotificationType"`
49377
49378	// The ID of the endpoint service.
49379	ServiceId *string `locationName:"serviceId" type:"string"`
49380
49381	// The ID of the VPC endpoint.
49382	VpcEndpointId *string `locationName:"vpcEndpointId" type:"string"`
49383}
49384
49385// String returns the string representation
49386func (s ConnectionNotification) String() string {
49387	return awsutil.Prettify(s)
49388}
49389
49390// GoString returns the string representation
49391func (s ConnectionNotification) GoString() string {
49392	return s.String()
49393}
49394
49395// SetConnectionEvents sets the ConnectionEvents field's value.
49396func (s *ConnectionNotification) SetConnectionEvents(v []*string) *ConnectionNotification {
49397	s.ConnectionEvents = v
49398	return s
49399}
49400
49401// SetConnectionNotificationArn sets the ConnectionNotificationArn field's value.
49402func (s *ConnectionNotification) SetConnectionNotificationArn(v string) *ConnectionNotification {
49403	s.ConnectionNotificationArn = &v
49404	return s
49405}
49406
49407// SetConnectionNotificationId sets the ConnectionNotificationId field's value.
49408func (s *ConnectionNotification) SetConnectionNotificationId(v string) *ConnectionNotification {
49409	s.ConnectionNotificationId = &v
49410	return s
49411}
49412
49413// SetConnectionNotificationState sets the ConnectionNotificationState field's value.
49414func (s *ConnectionNotification) SetConnectionNotificationState(v string) *ConnectionNotification {
49415	s.ConnectionNotificationState = &v
49416	return s
49417}
49418
49419// SetConnectionNotificationType sets the ConnectionNotificationType field's value.
49420func (s *ConnectionNotification) SetConnectionNotificationType(v string) *ConnectionNotification {
49421	s.ConnectionNotificationType = &v
49422	return s
49423}
49424
49425// SetServiceId sets the ServiceId field's value.
49426func (s *ConnectionNotification) SetServiceId(v string) *ConnectionNotification {
49427	s.ServiceId = &v
49428	return s
49429}
49430
49431// SetVpcEndpointId sets the VpcEndpointId field's value.
49432func (s *ConnectionNotification) SetVpcEndpointId(v string) *ConnectionNotification {
49433	s.VpcEndpointId = &v
49434	return s
49435}
49436
49437// Describes a conversion task.
49438type ConversionTask struct {
49439	_ struct{} `type:"structure"`
49440
49441	// The ID of the conversion task.
49442	ConversionTaskId *string `locationName:"conversionTaskId" type:"string"`
49443
49444	// The time when the task expires. If the upload isn't complete before the expiration
49445	// time, we automatically cancel the task.
49446	ExpirationTime *string `locationName:"expirationTime" type:"string"`
49447
49448	// If the task is for importing an instance, this contains information about
49449	// the import instance task.
49450	ImportInstance *ImportInstanceTaskDetails `locationName:"importInstance" type:"structure"`
49451
49452	// If the task is for importing a volume, this contains information about the
49453	// import volume task.
49454	ImportVolume *ImportVolumeTaskDetails `locationName:"importVolume" type:"structure"`
49455
49456	// The state of the conversion task.
49457	State *string `locationName:"state" type:"string" enum:"ConversionTaskState"`
49458
49459	// The status message related to the conversion task.
49460	StatusMessage *string `locationName:"statusMessage" type:"string"`
49461
49462	// Any tags assigned to the task.
49463	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
49464}
49465
49466// String returns the string representation
49467func (s ConversionTask) String() string {
49468	return awsutil.Prettify(s)
49469}
49470
49471// GoString returns the string representation
49472func (s ConversionTask) GoString() string {
49473	return s.String()
49474}
49475
49476// SetConversionTaskId sets the ConversionTaskId field's value.
49477func (s *ConversionTask) SetConversionTaskId(v string) *ConversionTask {
49478	s.ConversionTaskId = &v
49479	return s
49480}
49481
49482// SetExpirationTime sets the ExpirationTime field's value.
49483func (s *ConversionTask) SetExpirationTime(v string) *ConversionTask {
49484	s.ExpirationTime = &v
49485	return s
49486}
49487
49488// SetImportInstance sets the ImportInstance field's value.
49489func (s *ConversionTask) SetImportInstance(v *ImportInstanceTaskDetails) *ConversionTask {
49490	s.ImportInstance = v
49491	return s
49492}
49493
49494// SetImportVolume sets the ImportVolume field's value.
49495func (s *ConversionTask) SetImportVolume(v *ImportVolumeTaskDetails) *ConversionTask {
49496	s.ImportVolume = v
49497	return s
49498}
49499
49500// SetState sets the State field's value.
49501func (s *ConversionTask) SetState(v string) *ConversionTask {
49502	s.State = &v
49503	return s
49504}
49505
49506// SetStatusMessage sets the StatusMessage field's value.
49507func (s *ConversionTask) SetStatusMessage(v string) *ConversionTask {
49508	s.StatusMessage = &v
49509	return s
49510}
49511
49512// SetTags sets the Tags field's value.
49513func (s *ConversionTask) SetTags(v []*Tag) *ConversionTask {
49514	s.Tags = v
49515	return s
49516}
49517
49518type CopyFpgaImageInput struct {
49519	_ struct{} `type:"structure"`
49520
49521	// Unique, case-sensitive identifier that you provide to ensure the idempotency
49522	// of the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
49523	ClientToken *string `type:"string"`
49524
49525	// The description for the new AFI.
49526	Description *string `type:"string"`
49527
49528	// Checks whether you have the required permissions for the action, without
49529	// actually making the request, and provides an error response. If you have
49530	// the required permissions, the error response is DryRunOperation. Otherwise,
49531	// it is UnauthorizedOperation.
49532	DryRun *bool `type:"boolean"`
49533
49534	// The name for the new AFI. The default is the name of the source AFI.
49535	Name *string `type:"string"`
49536
49537	// The ID of the source AFI.
49538	//
49539	// SourceFpgaImageId is a required field
49540	SourceFpgaImageId *string `type:"string" required:"true"`
49541
49542	// The Region that contains the source AFI.
49543	//
49544	// SourceRegion is a required field
49545	SourceRegion *string `type:"string" required:"true"`
49546}
49547
49548// String returns the string representation
49549func (s CopyFpgaImageInput) String() string {
49550	return awsutil.Prettify(s)
49551}
49552
49553// GoString returns the string representation
49554func (s CopyFpgaImageInput) GoString() string {
49555	return s.String()
49556}
49557
49558// Validate inspects the fields of the type to determine if they are valid.
49559func (s *CopyFpgaImageInput) Validate() error {
49560	invalidParams := request.ErrInvalidParams{Context: "CopyFpgaImageInput"}
49561	if s.SourceFpgaImageId == nil {
49562		invalidParams.Add(request.NewErrParamRequired("SourceFpgaImageId"))
49563	}
49564	if s.SourceRegion == nil {
49565		invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
49566	}
49567
49568	if invalidParams.Len() > 0 {
49569		return invalidParams
49570	}
49571	return nil
49572}
49573
49574// SetClientToken sets the ClientToken field's value.
49575func (s *CopyFpgaImageInput) SetClientToken(v string) *CopyFpgaImageInput {
49576	s.ClientToken = &v
49577	return s
49578}
49579
49580// SetDescription sets the Description field's value.
49581func (s *CopyFpgaImageInput) SetDescription(v string) *CopyFpgaImageInput {
49582	s.Description = &v
49583	return s
49584}
49585
49586// SetDryRun sets the DryRun field's value.
49587func (s *CopyFpgaImageInput) SetDryRun(v bool) *CopyFpgaImageInput {
49588	s.DryRun = &v
49589	return s
49590}
49591
49592// SetName sets the Name field's value.
49593func (s *CopyFpgaImageInput) SetName(v string) *CopyFpgaImageInput {
49594	s.Name = &v
49595	return s
49596}
49597
49598// SetSourceFpgaImageId sets the SourceFpgaImageId field's value.
49599func (s *CopyFpgaImageInput) SetSourceFpgaImageId(v string) *CopyFpgaImageInput {
49600	s.SourceFpgaImageId = &v
49601	return s
49602}
49603
49604// SetSourceRegion sets the SourceRegion field's value.
49605func (s *CopyFpgaImageInput) SetSourceRegion(v string) *CopyFpgaImageInput {
49606	s.SourceRegion = &v
49607	return s
49608}
49609
49610type CopyFpgaImageOutput struct {
49611	_ struct{} `type:"structure"`
49612
49613	// The ID of the new AFI.
49614	FpgaImageId *string `locationName:"fpgaImageId" type:"string"`
49615}
49616
49617// String returns the string representation
49618func (s CopyFpgaImageOutput) String() string {
49619	return awsutil.Prettify(s)
49620}
49621
49622// GoString returns the string representation
49623func (s CopyFpgaImageOutput) GoString() string {
49624	return s.String()
49625}
49626
49627// SetFpgaImageId sets the FpgaImageId field's value.
49628func (s *CopyFpgaImageOutput) SetFpgaImageId(v string) *CopyFpgaImageOutput {
49629	s.FpgaImageId = &v
49630	return s
49631}
49632
49633// Contains the parameters for CopyImage.
49634type CopyImageInput struct {
49635	_ struct{} `type:"structure"`
49636
49637	// Unique, case-sensitive identifier you provide to ensure idempotency of the
49638	// request. For more information, see Ensuring idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html)
49639	// in the Amazon EC2 API Reference.
49640	ClientToken *string `type:"string"`
49641
49642	// A description for the new AMI in the destination Region.
49643	Description *string `type:"string"`
49644
49645	// The Amazon Resource Name (ARN) of the Outpost to which to copy the AMI. Only
49646	// specify this parameter when copying an AMI from an AWS Region to an Outpost.
49647	// The AMI must be in the Region of the destination Outpost. You cannot copy
49648	// an AMI from an Outpost to a Region, from one Outpost to another, or within
49649	// the same Outpost.
49650	//
49651	// For more information, see Copying AMIs from an AWS Region to an Outpost (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshots-outposts.html#copy-amis)
49652	// in the Amazon Elastic Compute Cloud User Guide.
49653	DestinationOutpostArn *string `type:"string"`
49654
49655	// Checks whether you have the required permissions for the action, without
49656	// actually making the request, and provides an error response. If you have
49657	// the required permissions, the error response is DryRunOperation. Otherwise,
49658	// it is UnauthorizedOperation.
49659	DryRun *bool `locationName:"dryRun" type:"boolean"`
49660
49661	// Specifies whether the destination snapshots of the copied image should be
49662	// encrypted. You can encrypt a copy of an unencrypted snapshot, but you cannot
49663	// create an unencrypted copy of an encrypted snapshot. The default CMK for
49664	// EBS is used unless you specify a non-default AWS Key Management Service (AWS
49665	// KMS) CMK using KmsKeyId. For more information, see Amazon EBS Encryption
49666	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
49667	// in the Amazon Elastic Compute Cloud User Guide.
49668	Encrypted *bool `locationName:"encrypted" type:"boolean"`
49669
49670	// The identifier of the symmetric AWS Key Management Service (AWS KMS) customer
49671	// master key (CMK) to use when creating encrypted volumes. If this parameter
49672	// is not specified, your AWS managed CMK for EBS is used. If you specify a
49673	// CMK, you must also set the encrypted state to true.
49674	//
49675	// You can specify a CMK using any of the following:
49676	//
49677	//    * Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.
49678	//
49679	//    * Key alias. For example, alias/ExampleAlias.
49680	//
49681	//    * Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.
49682	//
49683	//    * Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
49684	//
49685	// AWS authenticates the CMK asynchronously. Therefore, if you specify an identifier
49686	// that is not valid, the action can appear to complete, but eventually fails.
49687	//
49688	// The specified CMK must exist in the destination Region.
49689	//
49690	// Amazon EBS does not support asymmetric CMKs.
49691	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
49692
49693	// The name of the new AMI in the destination Region.
49694	//
49695	// Name is a required field
49696	Name *string `type:"string" required:"true"`
49697
49698	// The ID of the AMI to copy.
49699	//
49700	// SourceImageId is a required field
49701	SourceImageId *string `type:"string" required:"true"`
49702
49703	// The name of the Region that contains the AMI to copy.
49704	//
49705	// SourceRegion is a required field
49706	SourceRegion *string `type:"string" required:"true"`
49707}
49708
49709// String returns the string representation
49710func (s CopyImageInput) String() string {
49711	return awsutil.Prettify(s)
49712}
49713
49714// GoString returns the string representation
49715func (s CopyImageInput) GoString() string {
49716	return s.String()
49717}
49718
49719// Validate inspects the fields of the type to determine if they are valid.
49720func (s *CopyImageInput) Validate() error {
49721	invalidParams := request.ErrInvalidParams{Context: "CopyImageInput"}
49722	if s.Name == nil {
49723		invalidParams.Add(request.NewErrParamRequired("Name"))
49724	}
49725	if s.SourceImageId == nil {
49726		invalidParams.Add(request.NewErrParamRequired("SourceImageId"))
49727	}
49728	if s.SourceRegion == nil {
49729		invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
49730	}
49731
49732	if invalidParams.Len() > 0 {
49733		return invalidParams
49734	}
49735	return nil
49736}
49737
49738// SetClientToken sets the ClientToken field's value.
49739func (s *CopyImageInput) SetClientToken(v string) *CopyImageInput {
49740	s.ClientToken = &v
49741	return s
49742}
49743
49744// SetDescription sets the Description field's value.
49745func (s *CopyImageInput) SetDescription(v string) *CopyImageInput {
49746	s.Description = &v
49747	return s
49748}
49749
49750// SetDestinationOutpostArn sets the DestinationOutpostArn field's value.
49751func (s *CopyImageInput) SetDestinationOutpostArn(v string) *CopyImageInput {
49752	s.DestinationOutpostArn = &v
49753	return s
49754}
49755
49756// SetDryRun sets the DryRun field's value.
49757func (s *CopyImageInput) SetDryRun(v bool) *CopyImageInput {
49758	s.DryRun = &v
49759	return s
49760}
49761
49762// SetEncrypted sets the Encrypted field's value.
49763func (s *CopyImageInput) SetEncrypted(v bool) *CopyImageInput {
49764	s.Encrypted = &v
49765	return s
49766}
49767
49768// SetKmsKeyId sets the KmsKeyId field's value.
49769func (s *CopyImageInput) SetKmsKeyId(v string) *CopyImageInput {
49770	s.KmsKeyId = &v
49771	return s
49772}
49773
49774// SetName sets the Name field's value.
49775func (s *CopyImageInput) SetName(v string) *CopyImageInput {
49776	s.Name = &v
49777	return s
49778}
49779
49780// SetSourceImageId sets the SourceImageId field's value.
49781func (s *CopyImageInput) SetSourceImageId(v string) *CopyImageInput {
49782	s.SourceImageId = &v
49783	return s
49784}
49785
49786// SetSourceRegion sets the SourceRegion field's value.
49787func (s *CopyImageInput) SetSourceRegion(v string) *CopyImageInput {
49788	s.SourceRegion = &v
49789	return s
49790}
49791
49792// Contains the output of CopyImage.
49793type CopyImageOutput struct {
49794	_ struct{} `type:"structure"`
49795
49796	// The ID of the new AMI.
49797	ImageId *string `locationName:"imageId" type:"string"`
49798}
49799
49800// String returns the string representation
49801func (s CopyImageOutput) String() string {
49802	return awsutil.Prettify(s)
49803}
49804
49805// GoString returns the string representation
49806func (s CopyImageOutput) GoString() string {
49807	return s.String()
49808}
49809
49810// SetImageId sets the ImageId field's value.
49811func (s *CopyImageOutput) SetImageId(v string) *CopyImageOutput {
49812	s.ImageId = &v
49813	return s
49814}
49815
49816type CopySnapshotInput struct {
49817	_ struct{} `type:"structure"`
49818
49819	// A description for the EBS snapshot.
49820	Description *string `type:"string"`
49821
49822	// The Amazon Resource Name (ARN) of the Outpost to which to copy the snapshot.
49823	// Only specify this parameter when copying a snapshot from an AWS Region to
49824	// an Outpost. The snapshot must be in the Region for the destination Outpost.
49825	// You cannot copy a snapshot from an Outpost to a Region, from one Outpost
49826	// to another, or within the same Outpost.
49827	//
49828	// For more information, see Copying snapshots from an AWS Region to an Outpost
49829	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshots-outposts.html#copy-snapshots)
49830	// in the Amazon Elastic Compute Cloud User Guide.
49831	DestinationOutpostArn *string `type:"string"`
49832
49833	// The destination Region to use in the PresignedUrl parameter of a snapshot
49834	// copy operation. This parameter is only valid for specifying the destination
49835	// Region in a PresignedUrl parameter, where it is required.
49836	//
49837	// The snapshot copy is sent to the regional endpoint that you sent the HTTP
49838	// request to (for example, ec2.us-east-1.amazonaws.com). With the AWS CLI,
49839	// this is specified using the --region parameter or the default Region in your
49840	// AWS configuration file.
49841	DestinationRegion *string `locationName:"destinationRegion" type:"string"`
49842
49843	// Checks whether you have the required permissions for the action, without
49844	// actually making the request, and provides an error response. If you have
49845	// the required permissions, the error response is DryRunOperation. Otherwise,
49846	// it is UnauthorizedOperation.
49847	DryRun *bool `locationName:"dryRun" type:"boolean"`
49848
49849	// To encrypt a copy of an unencrypted snapshot if encryption by default is
49850	// not enabled, enable encryption using this parameter. Otherwise, omit this
49851	// parameter. Encrypted snapshots are encrypted, even if you omit this parameter
49852	// and encryption by default is not enabled. You cannot set this parameter to
49853	// false. For more information, see Amazon EBS encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
49854	// in the Amazon Elastic Compute Cloud User Guide.
49855	Encrypted *bool `locationName:"encrypted" type:"boolean"`
49856
49857	// The identifier of the AWS Key Management Service (AWS KMS) customer master
49858	// key (CMK) to use for Amazon EBS encryption. If this parameter is not specified,
49859	// your AWS managed CMK for EBS is used. If KmsKeyId is specified, the encrypted
49860	// state must be true.
49861	//
49862	// You can specify the CMK using any of the following:
49863	//
49864	//    * Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.
49865	//
49866	//    * Key alias. For example, alias/ExampleAlias.
49867	//
49868	//    * Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.
49869	//
49870	//    * Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
49871	//
49872	// AWS authenticates the CMK asynchronously. Therefore, if you specify an ID,
49873	// alias, or ARN that is not valid, the action can appear to complete, but eventually
49874	// fails.
49875	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
49876
49877	// When you copy an encrypted source snapshot using the Amazon EC2 Query API,
49878	// you must supply a pre-signed URL. This parameter is optional for unencrypted
49879	// snapshots. For more information, see Query requests (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html).
49880	//
49881	// The PresignedUrl should use the snapshot source endpoint, the CopySnapshot
49882	// action, and include the SourceRegion, SourceSnapshotId, and DestinationRegion
49883	// parameters. The PresignedUrl must be signed using AWS Signature Version 4.
49884	// Because EBS snapshots are stored in Amazon S3, the signing algorithm for
49885	// this parameter uses the same logic that is described in Authenticating Requests:
49886	// Using Query Parameters (AWS Signature Version 4) (https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
49887	// in the Amazon Simple Storage Service API Reference. An invalid or improperly
49888	// signed PresignedUrl will cause the copy operation to fail asynchronously,
49889	// and the snapshot will move to an error state.
49890	PresignedUrl *string `locationName:"presignedUrl" type:"string"`
49891
49892	// The ID of the Region that contains the snapshot to be copied.
49893	//
49894	// SourceRegion is a required field
49895	SourceRegion *string `type:"string" required:"true"`
49896
49897	// The ID of the EBS snapshot to copy.
49898	//
49899	// SourceSnapshotId is a required field
49900	SourceSnapshotId *string `type:"string" required:"true"`
49901
49902	// The tags to apply to the new snapshot.
49903	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
49904}
49905
49906// String returns the string representation
49907func (s CopySnapshotInput) String() string {
49908	return awsutil.Prettify(s)
49909}
49910
49911// GoString returns the string representation
49912func (s CopySnapshotInput) GoString() string {
49913	return s.String()
49914}
49915
49916// Validate inspects the fields of the type to determine if they are valid.
49917func (s *CopySnapshotInput) Validate() error {
49918	invalidParams := request.ErrInvalidParams{Context: "CopySnapshotInput"}
49919	if s.SourceRegion == nil {
49920		invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
49921	}
49922	if s.SourceSnapshotId == nil {
49923		invalidParams.Add(request.NewErrParamRequired("SourceSnapshotId"))
49924	}
49925
49926	if invalidParams.Len() > 0 {
49927		return invalidParams
49928	}
49929	return nil
49930}
49931
49932// SetDescription sets the Description field's value.
49933func (s *CopySnapshotInput) SetDescription(v string) *CopySnapshotInput {
49934	s.Description = &v
49935	return s
49936}
49937
49938// SetDestinationOutpostArn sets the DestinationOutpostArn field's value.
49939func (s *CopySnapshotInput) SetDestinationOutpostArn(v string) *CopySnapshotInput {
49940	s.DestinationOutpostArn = &v
49941	return s
49942}
49943
49944// SetDestinationRegion sets the DestinationRegion field's value.
49945func (s *CopySnapshotInput) SetDestinationRegion(v string) *CopySnapshotInput {
49946	s.DestinationRegion = &v
49947	return s
49948}
49949
49950// SetDryRun sets the DryRun field's value.
49951func (s *CopySnapshotInput) SetDryRun(v bool) *CopySnapshotInput {
49952	s.DryRun = &v
49953	return s
49954}
49955
49956// SetEncrypted sets the Encrypted field's value.
49957func (s *CopySnapshotInput) SetEncrypted(v bool) *CopySnapshotInput {
49958	s.Encrypted = &v
49959	return s
49960}
49961
49962// SetKmsKeyId sets the KmsKeyId field's value.
49963func (s *CopySnapshotInput) SetKmsKeyId(v string) *CopySnapshotInput {
49964	s.KmsKeyId = &v
49965	return s
49966}
49967
49968// SetPresignedUrl sets the PresignedUrl field's value.
49969func (s *CopySnapshotInput) SetPresignedUrl(v string) *CopySnapshotInput {
49970	s.PresignedUrl = &v
49971	return s
49972}
49973
49974// SetSourceRegion sets the SourceRegion field's value.
49975func (s *CopySnapshotInput) SetSourceRegion(v string) *CopySnapshotInput {
49976	s.SourceRegion = &v
49977	return s
49978}
49979
49980// SetSourceSnapshotId sets the SourceSnapshotId field's value.
49981func (s *CopySnapshotInput) SetSourceSnapshotId(v string) *CopySnapshotInput {
49982	s.SourceSnapshotId = &v
49983	return s
49984}
49985
49986// SetTagSpecifications sets the TagSpecifications field's value.
49987func (s *CopySnapshotInput) SetTagSpecifications(v []*TagSpecification) *CopySnapshotInput {
49988	s.TagSpecifications = v
49989	return s
49990}
49991
49992type CopySnapshotOutput struct {
49993	_ struct{} `type:"structure"`
49994
49995	// The ID of the new snapshot.
49996	SnapshotId *string `locationName:"snapshotId" type:"string"`
49997
49998	// Any tags applied to the new snapshot.
49999	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
50000}
50001
50002// String returns the string representation
50003func (s CopySnapshotOutput) String() string {
50004	return awsutil.Prettify(s)
50005}
50006
50007// GoString returns the string representation
50008func (s CopySnapshotOutput) GoString() string {
50009	return s.String()
50010}
50011
50012// SetSnapshotId sets the SnapshotId field's value.
50013func (s *CopySnapshotOutput) SetSnapshotId(v string) *CopySnapshotOutput {
50014	s.SnapshotId = &v
50015	return s
50016}
50017
50018// SetTags sets the Tags field's value.
50019func (s *CopySnapshotOutput) SetTags(v []*Tag) *CopySnapshotOutput {
50020	s.Tags = v
50021	return s
50022}
50023
50024// The CPU options for the instance.
50025type CpuOptions struct {
50026	_ struct{} `type:"structure"`
50027
50028	// The number of CPU cores for the instance.
50029	CoreCount *int64 `locationName:"coreCount" type:"integer"`
50030
50031	// The number of threads per CPU core.
50032	ThreadsPerCore *int64 `locationName:"threadsPerCore" type:"integer"`
50033}
50034
50035// String returns the string representation
50036func (s CpuOptions) String() string {
50037	return awsutil.Prettify(s)
50038}
50039
50040// GoString returns the string representation
50041func (s CpuOptions) GoString() string {
50042	return s.String()
50043}
50044
50045// SetCoreCount sets the CoreCount field's value.
50046func (s *CpuOptions) SetCoreCount(v int64) *CpuOptions {
50047	s.CoreCount = &v
50048	return s
50049}
50050
50051// SetThreadsPerCore sets the ThreadsPerCore field's value.
50052func (s *CpuOptions) SetThreadsPerCore(v int64) *CpuOptions {
50053	s.ThreadsPerCore = &v
50054	return s
50055}
50056
50057// The CPU options for the instance. Both the core count and threads per core
50058// must be specified in the request.
50059type CpuOptionsRequest struct {
50060	_ struct{} `type:"structure"`
50061
50062	// The number of CPU cores for the instance.
50063	CoreCount *int64 `type:"integer"`
50064
50065	// The number of threads per CPU core. To disable multithreading for the instance,
50066	// specify a value of 1. Otherwise, specify the default value of 2.
50067	ThreadsPerCore *int64 `type:"integer"`
50068}
50069
50070// String returns the string representation
50071func (s CpuOptionsRequest) String() string {
50072	return awsutil.Prettify(s)
50073}
50074
50075// GoString returns the string representation
50076func (s CpuOptionsRequest) GoString() string {
50077	return s.String()
50078}
50079
50080// SetCoreCount sets the CoreCount field's value.
50081func (s *CpuOptionsRequest) SetCoreCount(v int64) *CpuOptionsRequest {
50082	s.CoreCount = &v
50083	return s
50084}
50085
50086// SetThreadsPerCore sets the ThreadsPerCore field's value.
50087func (s *CpuOptionsRequest) SetThreadsPerCore(v int64) *CpuOptionsRequest {
50088	s.ThreadsPerCore = &v
50089	return s
50090}
50091
50092type CreateCapacityReservationInput struct {
50093	_ struct{} `type:"structure"`
50094
50095	// The Availability Zone in which to create the Capacity Reservation.
50096	AvailabilityZone *string `type:"string"`
50097
50098	// The ID of the Availability Zone in which to create the Capacity Reservation.
50099	AvailabilityZoneId *string `type:"string"`
50100
50101	// Unique, case-sensitive identifier that you provide to ensure the idempotency
50102	// of the request. For more information, see Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
50103	ClientToken *string `type:"string"`
50104
50105	// Checks whether you have the required permissions for the action, without
50106	// actually making the request, and provides an error response. If you have
50107	// the required permissions, the error response is DryRunOperation. Otherwise,
50108	// it is UnauthorizedOperation.
50109	DryRun *bool `type:"boolean"`
50110
50111	// Indicates whether the Capacity Reservation supports EBS-optimized instances.
50112	// This optimization provides dedicated throughput to Amazon EBS and an optimized
50113	// configuration stack to provide optimal I/O performance. This optimization
50114	// isn't available with all instance types. Additional usage charges apply when
50115	// using an EBS- optimized instance.
50116	EbsOptimized *bool `type:"boolean"`
50117
50118	// The date and time at which the Capacity Reservation expires. When a Capacity
50119	// Reservation expires, the reserved capacity is released and you can no longer
50120	// launch instances into it. The Capacity Reservation's state changes to expired
50121	// when it reaches its end date and time.
50122	//
50123	// You must provide an EndDate value if EndDateType is limited. Omit EndDate
50124	// if EndDateType is unlimited.
50125	//
50126	// If the EndDateType is limited, the Capacity Reservation is cancelled within
50127	// an hour from the specified time. For example, if you specify 5/31/2019, 13:30:55,
50128	// the Capacity Reservation is guaranteed to end between 13:30:55 and 14:30:55
50129	// on 5/31/2019.
50130	EndDate *time.Time `type:"timestamp"`
50131
50132	// Indicates the way in which the Capacity Reservation ends. A Capacity Reservation
50133	// can have one of the following end types:
50134	//
50135	//    * unlimited - The Capacity Reservation remains active until you explicitly
50136	//    cancel it. Do not provide an EndDate if the EndDateType is unlimited.
50137	//
50138	//    * limited - The Capacity Reservation expires automatically at a specified
50139	//    date and time. You must provide an EndDate value if the EndDateType value
50140	//    is limited.
50141	EndDateType *string `type:"string" enum:"EndDateType"`
50142
50143	// Indicates whether the Capacity Reservation supports instances with temporary,
50144	// block-level storage.
50145	EphemeralStorage *bool `type:"boolean"`
50146
50147	// The number of instances for which to reserve capacity.
50148	//
50149	// InstanceCount is a required field
50150	InstanceCount *int64 `type:"integer" required:"true"`
50151
50152	// Indicates the type of instance launches that the Capacity Reservation accepts.
50153	// The options include:
50154	//
50155	//    * open - The Capacity Reservation automatically matches all instances
50156	//    that have matching attributes (instance type, platform, and Availability
50157	//    Zone). Instances that have matching attributes run in the Capacity Reservation
50158	//    automatically without specifying any additional parameters.
50159	//
50160	//    * targeted - The Capacity Reservation only accepts instances that have
50161	//    matching attributes (instance type, platform, and Availability Zone),
50162	//    and explicitly target the Capacity Reservation. This ensures that only
50163	//    permitted instances can use the reserved capacity.
50164	//
50165	// Default: open
50166	InstanceMatchCriteria *string `type:"string" enum:"InstanceMatchCriteria"`
50167
50168	// The type of operating system for which to reserve capacity.
50169	//
50170	// InstancePlatform is a required field
50171	InstancePlatform *string `type:"string" required:"true" enum:"CapacityReservationInstancePlatform"`
50172
50173	// The instance type for which to reserve capacity. For more information, see
50174	// Instance types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
50175	// in the Amazon EC2 User Guide.
50176	//
50177	// InstanceType is a required field
50178	InstanceType *string `type:"string" required:"true"`
50179
50180	// The tags to apply to the Capacity Reservation during launch.
50181	TagSpecifications []*TagSpecification `locationNameList:"item" type:"list"`
50182
50183	// Indicates the tenancy of the Capacity Reservation. A Capacity Reservation
50184	// can have one of the following tenancy settings:
50185	//
50186	//    * default - The Capacity Reservation is created on hardware that is shared
50187	//    with other AWS accounts.
50188	//
50189	//    * dedicated - The Capacity Reservation is created on single-tenant hardware
50190	//    that is dedicated to a single AWS account.
50191	Tenancy *string `type:"string" enum:"CapacityReservationTenancy"`
50192}
50193
50194// String returns the string representation
50195func (s CreateCapacityReservationInput) String() string {
50196	return awsutil.Prettify(s)
50197}
50198
50199// GoString returns the string representation
50200func (s CreateCapacityReservationInput) GoString() string {
50201	return s.String()
50202}
50203
50204// Validate inspects the fields of the type to determine if they are valid.
50205func (s *CreateCapacityReservationInput) Validate() error {
50206	invalidParams := request.ErrInvalidParams{Context: "CreateCapacityReservationInput"}
50207	if s.InstanceCount == nil {
50208		invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
50209	}
50210	if s.InstancePlatform == nil {
50211		invalidParams.Add(request.NewErrParamRequired("InstancePlatform"))
50212	}
50213	if s.InstanceType == nil {
50214		invalidParams.Add(request.NewErrParamRequired("InstanceType"))
50215	}
50216
50217	if invalidParams.Len() > 0 {
50218		return invalidParams
50219	}
50220	return nil
50221}
50222
50223// SetAvailabilityZone sets the AvailabilityZone field's value.
50224func (s *CreateCapacityReservationInput) SetAvailabilityZone(v string) *CreateCapacityReservationInput {
50225	s.AvailabilityZone = &v
50226	return s
50227}
50228
50229// SetAvailabilityZoneId sets the AvailabilityZoneId field's value.
50230func (s *CreateCapacityReservationInput) SetAvailabilityZoneId(v string) *CreateCapacityReservationInput {
50231	s.AvailabilityZoneId = &v
50232	return s
50233}
50234
50235// SetClientToken sets the ClientToken field's value.
50236func (s *CreateCapacityReservationInput) SetClientToken(v string) *CreateCapacityReservationInput {
50237	s.ClientToken = &v
50238	return s
50239}
50240
50241// SetDryRun sets the DryRun field's value.
50242func (s *CreateCapacityReservationInput) SetDryRun(v bool) *CreateCapacityReservationInput {
50243	s.DryRun = &v
50244	return s
50245}
50246
50247// SetEbsOptimized sets the EbsOptimized field's value.
50248func (s *CreateCapacityReservationInput) SetEbsOptimized(v bool) *CreateCapacityReservationInput {
50249	s.EbsOptimized = &v
50250	return s
50251}
50252
50253// SetEndDate sets the EndDate field's value.
50254func (s *CreateCapacityReservationInput) SetEndDate(v time.Time) *CreateCapacityReservationInput {
50255	s.EndDate = &v
50256	return s
50257}
50258
50259// SetEndDateType sets the EndDateType field's value.
50260func (s *CreateCapacityReservationInput) SetEndDateType(v string) *CreateCapacityReservationInput {
50261	s.EndDateType = &v
50262	return s
50263}
50264
50265// SetEphemeralStorage sets the EphemeralStorage field's value.
50266func (s *CreateCapacityReservationInput) SetEphemeralStorage(v bool) *CreateCapacityReservationInput {
50267	s.EphemeralStorage = &v
50268	return s
50269}
50270
50271// SetInstanceCount sets the InstanceCount field's value.
50272func (s *CreateCapacityReservationInput) SetInstanceCount(v int64) *CreateCapacityReservationInput {
50273	s.InstanceCount = &v
50274	return s
50275}
50276
50277// SetInstanceMatchCriteria sets the InstanceMatchCriteria field's value.
50278func (s *CreateCapacityReservationInput) SetInstanceMatchCriteria(v string) *CreateCapacityReservationInput {
50279	s.InstanceMatchCriteria = &v
50280	return s
50281}
50282
50283// SetInstancePlatform sets the InstancePlatform field's value.
50284func (s *CreateCapacityReservationInput) SetInstancePlatform(v string) *CreateCapacityReservationInput {
50285	s.InstancePlatform = &v
50286	return s
50287}
50288
50289// SetInstanceType sets the InstanceType field's value.
50290func (s *CreateCapacityReservationInput) SetInstanceType(v string) *CreateCapacityReservationInput {
50291	s.InstanceType = &v
50292	return s
50293}
50294
50295// SetTagSpecifications sets the TagSpecifications field's value.
50296func (s *CreateCapacityReservationInput) SetTagSpecifications(v []*TagSpecification) *CreateCapacityReservationInput {
50297	s.TagSpecifications = v
50298	return s
50299}
50300
50301// SetTenancy sets the Tenancy field's value.
50302func (s *CreateCapacityReservationInput) SetTenancy(v string) *CreateCapacityReservationInput {
50303	s.Tenancy = &v
50304	return s
50305}
50306
50307type CreateCapacityReservationOutput struct {
50308	_ struct{} `type:"structure"`
50309
50310	// Information about the Capacity Reservation.
50311	CapacityReservation *CapacityReservation `locationName:"capacityReservation" type:"structure"`
50312}
50313
50314// String returns the string representation
50315func (s CreateCapacityReservationOutput) String() string {
50316	return awsutil.Prettify(s)
50317}
50318
50319// GoString returns the string representation
50320func (s CreateCapacityReservationOutput) GoString() string {
50321	return s.String()
50322}
50323
50324// SetCapacityReservation sets the CapacityReservation field's value.
50325func (s *CreateCapacityReservationOutput) SetCapacityReservation(v *CapacityReservation) *CreateCapacityReservationOutput {
50326	s.CapacityReservation = v
50327	return s
50328}
50329
50330type CreateCarrierGatewayInput struct {
50331	_ struct{} `type:"structure"`
50332
50333	// Unique, case-sensitive identifier that you provide to ensure the idempotency
50334	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
50335	ClientToken *string `type:"string" idempotencyToken:"true"`
50336
50337	// Checks whether you have the required permissions for the action, without
50338	// actually making the request, and provides an error response. If you have
50339	// the required permissions, the error response is DryRunOperation. Otherwise,
50340	// it is UnauthorizedOperation.
50341	DryRun *bool `type:"boolean"`
50342
50343	// The tags to associate with the carrier gateway.
50344	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
50345
50346	// The ID of the VPC to associate with the carrier gateway.
50347	//
50348	// VpcId is a required field
50349	VpcId *string `type:"string" required:"true"`
50350}
50351
50352// String returns the string representation
50353func (s CreateCarrierGatewayInput) String() string {
50354	return awsutil.Prettify(s)
50355}
50356
50357// GoString returns the string representation
50358func (s CreateCarrierGatewayInput) GoString() string {
50359	return s.String()
50360}
50361
50362// Validate inspects the fields of the type to determine if they are valid.
50363func (s *CreateCarrierGatewayInput) Validate() error {
50364	invalidParams := request.ErrInvalidParams{Context: "CreateCarrierGatewayInput"}
50365	if s.VpcId == nil {
50366		invalidParams.Add(request.NewErrParamRequired("VpcId"))
50367	}
50368
50369	if invalidParams.Len() > 0 {
50370		return invalidParams
50371	}
50372	return nil
50373}
50374
50375// SetClientToken sets the ClientToken field's value.
50376func (s *CreateCarrierGatewayInput) SetClientToken(v string) *CreateCarrierGatewayInput {
50377	s.ClientToken = &v
50378	return s
50379}
50380
50381// SetDryRun sets the DryRun field's value.
50382func (s *CreateCarrierGatewayInput) SetDryRun(v bool) *CreateCarrierGatewayInput {
50383	s.DryRun = &v
50384	return s
50385}
50386
50387// SetTagSpecifications sets the TagSpecifications field's value.
50388func (s *CreateCarrierGatewayInput) SetTagSpecifications(v []*TagSpecification) *CreateCarrierGatewayInput {
50389	s.TagSpecifications = v
50390	return s
50391}
50392
50393// SetVpcId sets the VpcId field's value.
50394func (s *CreateCarrierGatewayInput) SetVpcId(v string) *CreateCarrierGatewayInput {
50395	s.VpcId = &v
50396	return s
50397}
50398
50399type CreateCarrierGatewayOutput struct {
50400	_ struct{} `type:"structure"`
50401
50402	// Information about the carrier gateway.
50403	CarrierGateway *CarrierGateway `locationName:"carrierGateway" type:"structure"`
50404}
50405
50406// String returns the string representation
50407func (s CreateCarrierGatewayOutput) String() string {
50408	return awsutil.Prettify(s)
50409}
50410
50411// GoString returns the string representation
50412func (s CreateCarrierGatewayOutput) GoString() string {
50413	return s.String()
50414}
50415
50416// SetCarrierGateway sets the CarrierGateway field's value.
50417func (s *CreateCarrierGatewayOutput) SetCarrierGateway(v *CarrierGateway) *CreateCarrierGatewayOutput {
50418	s.CarrierGateway = v
50419	return s
50420}
50421
50422type CreateClientVpnEndpointInput struct {
50423	_ struct{} `type:"structure"`
50424
50425	// Information about the authentication method to be used to authenticate clients.
50426	//
50427	// AuthenticationOptions is a required field
50428	AuthenticationOptions []*ClientVpnAuthenticationRequest `locationName:"Authentication" type:"list" required:"true"`
50429
50430	// The IPv4 address range, in CIDR notation, from which to assign client IP
50431	// addresses. The address range cannot overlap with the local CIDR of the VPC
50432	// in which the associated subnet is located, or the routes that you add manually.
50433	// The address range cannot be changed after the Client VPN endpoint has been
50434	// created. The CIDR block should be /22 or greater.
50435	//
50436	// ClientCidrBlock is a required field
50437	ClientCidrBlock *string `type:"string" required:"true"`
50438
50439	// The options for managing connection authorization for new client connections.
50440	ClientConnectOptions *ClientConnectOptions `type:"structure"`
50441
50442	// Unique, case-sensitive identifier that you provide to ensure the idempotency
50443	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
50444	ClientToken *string `type:"string" idempotencyToken:"true"`
50445
50446	// Information about the client connection logging options.
50447	//
50448	// If you enable client connection logging, data about client connections is
50449	// sent to a Cloudwatch Logs log stream. The following information is logged:
50450	//
50451	//    * Client connection requests
50452	//
50453	//    * Client connection results (successful and unsuccessful)
50454	//
50455	//    * Reasons for unsuccessful client connection requests
50456	//
50457	//    * Client connection termination time
50458	//
50459	// ConnectionLogOptions is a required field
50460	ConnectionLogOptions *ConnectionLogOptions `type:"structure" required:"true"`
50461
50462	// A brief description of the Client VPN endpoint.
50463	Description *string `type:"string"`
50464
50465	// Information about the DNS servers to be used for DNS resolution. A Client
50466	// VPN endpoint can have up to two DNS servers. If no DNS server is specified,
50467	// the DNS address configured on the device is used for the DNS server.
50468	DnsServers []*string `locationNameList:"item" type:"list"`
50469
50470	// Checks whether you have the required permissions for the action, without
50471	// actually making the request, and provides an error response. If you have
50472	// the required permissions, the error response is DryRunOperation. Otherwise,
50473	// it is UnauthorizedOperation.
50474	DryRun *bool `type:"boolean"`
50475
50476	// The IDs of one or more security groups to apply to the target network. You
50477	// must also specify the ID of the VPC that contains the security groups.
50478	SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"item" type:"list"`
50479
50480	// Specify whether to enable the self-service portal for the Client VPN endpoint.
50481	//
50482	// Default Value: enabled
50483	SelfServicePortal *string `type:"string" enum:"SelfServicePortal"`
50484
50485	// The ARN of the server certificate. For more information, see the AWS Certificate
50486	// Manager User Guide (https://docs.aws.amazon.com/acm/latest/userguide/).
50487	//
50488	// ServerCertificateArn is a required field
50489	ServerCertificateArn *string `type:"string" required:"true"`
50490
50491	// Indicates whether split-tunnel is enabled on the AWS Client VPN endpoint.
50492	//
50493	// By default, split-tunnel on a VPN endpoint is disabled.
50494	//
50495	// For information about split-tunnel VPN endpoints, see Split-Tunnel AWS Client
50496	// VPN Endpoint (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/split-tunnel-vpn.html)
50497	// in the AWS Client VPN Administrator Guide.
50498	SplitTunnel *bool `type:"boolean"`
50499
50500	// The tags to apply to the Client VPN endpoint during creation.
50501	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
50502
50503	// The transport protocol to be used by the VPN session.
50504	//
50505	// Default value: udp
50506	TransportProtocol *string `type:"string" enum:"TransportProtocol"`
50507
50508	// The ID of the VPC to associate with the Client VPN endpoint. If no security
50509	// group IDs are specified in the request, the default security group for the
50510	// VPC is applied.
50511	VpcId *string `type:"string"`
50512
50513	// The port number to assign to the Client VPN endpoint for TCP and UDP traffic.
50514	//
50515	// Valid Values: 443 | 1194
50516	//
50517	// Default Value: 443
50518	VpnPort *int64 `type:"integer"`
50519}
50520
50521// String returns the string representation
50522func (s CreateClientVpnEndpointInput) String() string {
50523	return awsutil.Prettify(s)
50524}
50525
50526// GoString returns the string representation
50527func (s CreateClientVpnEndpointInput) GoString() string {
50528	return s.String()
50529}
50530
50531// Validate inspects the fields of the type to determine if they are valid.
50532func (s *CreateClientVpnEndpointInput) Validate() error {
50533	invalidParams := request.ErrInvalidParams{Context: "CreateClientVpnEndpointInput"}
50534	if s.AuthenticationOptions == nil {
50535		invalidParams.Add(request.NewErrParamRequired("AuthenticationOptions"))
50536	}
50537	if s.ClientCidrBlock == nil {
50538		invalidParams.Add(request.NewErrParamRequired("ClientCidrBlock"))
50539	}
50540	if s.ConnectionLogOptions == nil {
50541		invalidParams.Add(request.NewErrParamRequired("ConnectionLogOptions"))
50542	}
50543	if s.ServerCertificateArn == nil {
50544		invalidParams.Add(request.NewErrParamRequired("ServerCertificateArn"))
50545	}
50546
50547	if invalidParams.Len() > 0 {
50548		return invalidParams
50549	}
50550	return nil
50551}
50552
50553// SetAuthenticationOptions sets the AuthenticationOptions field's value.
50554func (s *CreateClientVpnEndpointInput) SetAuthenticationOptions(v []*ClientVpnAuthenticationRequest) *CreateClientVpnEndpointInput {
50555	s.AuthenticationOptions = v
50556	return s
50557}
50558
50559// SetClientCidrBlock sets the ClientCidrBlock field's value.
50560func (s *CreateClientVpnEndpointInput) SetClientCidrBlock(v string) *CreateClientVpnEndpointInput {
50561	s.ClientCidrBlock = &v
50562	return s
50563}
50564
50565// SetClientConnectOptions sets the ClientConnectOptions field's value.
50566func (s *CreateClientVpnEndpointInput) SetClientConnectOptions(v *ClientConnectOptions) *CreateClientVpnEndpointInput {
50567	s.ClientConnectOptions = v
50568	return s
50569}
50570
50571// SetClientToken sets the ClientToken field's value.
50572func (s *CreateClientVpnEndpointInput) SetClientToken(v string) *CreateClientVpnEndpointInput {
50573	s.ClientToken = &v
50574	return s
50575}
50576
50577// SetConnectionLogOptions sets the ConnectionLogOptions field's value.
50578func (s *CreateClientVpnEndpointInput) SetConnectionLogOptions(v *ConnectionLogOptions) *CreateClientVpnEndpointInput {
50579	s.ConnectionLogOptions = v
50580	return s
50581}
50582
50583// SetDescription sets the Description field's value.
50584func (s *CreateClientVpnEndpointInput) SetDescription(v string) *CreateClientVpnEndpointInput {
50585	s.Description = &v
50586	return s
50587}
50588
50589// SetDnsServers sets the DnsServers field's value.
50590func (s *CreateClientVpnEndpointInput) SetDnsServers(v []*string) *CreateClientVpnEndpointInput {
50591	s.DnsServers = v
50592	return s
50593}
50594
50595// SetDryRun sets the DryRun field's value.
50596func (s *CreateClientVpnEndpointInput) SetDryRun(v bool) *CreateClientVpnEndpointInput {
50597	s.DryRun = &v
50598	return s
50599}
50600
50601// SetSecurityGroupIds sets the SecurityGroupIds field's value.
50602func (s *CreateClientVpnEndpointInput) SetSecurityGroupIds(v []*string) *CreateClientVpnEndpointInput {
50603	s.SecurityGroupIds = v
50604	return s
50605}
50606
50607// SetSelfServicePortal sets the SelfServicePortal field's value.
50608func (s *CreateClientVpnEndpointInput) SetSelfServicePortal(v string) *CreateClientVpnEndpointInput {
50609	s.SelfServicePortal = &v
50610	return s
50611}
50612
50613// SetServerCertificateArn sets the ServerCertificateArn field's value.
50614func (s *CreateClientVpnEndpointInput) SetServerCertificateArn(v string) *CreateClientVpnEndpointInput {
50615	s.ServerCertificateArn = &v
50616	return s
50617}
50618
50619// SetSplitTunnel sets the SplitTunnel field's value.
50620func (s *CreateClientVpnEndpointInput) SetSplitTunnel(v bool) *CreateClientVpnEndpointInput {
50621	s.SplitTunnel = &v
50622	return s
50623}
50624
50625// SetTagSpecifications sets the TagSpecifications field's value.
50626func (s *CreateClientVpnEndpointInput) SetTagSpecifications(v []*TagSpecification) *CreateClientVpnEndpointInput {
50627	s.TagSpecifications = v
50628	return s
50629}
50630
50631// SetTransportProtocol sets the TransportProtocol field's value.
50632func (s *CreateClientVpnEndpointInput) SetTransportProtocol(v string) *CreateClientVpnEndpointInput {
50633	s.TransportProtocol = &v
50634	return s
50635}
50636
50637// SetVpcId sets the VpcId field's value.
50638func (s *CreateClientVpnEndpointInput) SetVpcId(v string) *CreateClientVpnEndpointInput {
50639	s.VpcId = &v
50640	return s
50641}
50642
50643// SetVpnPort sets the VpnPort field's value.
50644func (s *CreateClientVpnEndpointInput) SetVpnPort(v int64) *CreateClientVpnEndpointInput {
50645	s.VpnPort = &v
50646	return s
50647}
50648
50649type CreateClientVpnEndpointOutput struct {
50650	_ struct{} `type:"structure"`
50651
50652	// The ID of the Client VPN endpoint.
50653	ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"`
50654
50655	// The DNS name to be used by clients when establishing their VPN session.
50656	DnsName *string `locationName:"dnsName" type:"string"`
50657
50658	// The current state of the Client VPN endpoint.
50659	Status *ClientVpnEndpointStatus `locationName:"status" type:"structure"`
50660}
50661
50662// String returns the string representation
50663func (s CreateClientVpnEndpointOutput) String() string {
50664	return awsutil.Prettify(s)
50665}
50666
50667// GoString returns the string representation
50668func (s CreateClientVpnEndpointOutput) GoString() string {
50669	return s.String()
50670}
50671
50672// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
50673func (s *CreateClientVpnEndpointOutput) SetClientVpnEndpointId(v string) *CreateClientVpnEndpointOutput {
50674	s.ClientVpnEndpointId = &v
50675	return s
50676}
50677
50678// SetDnsName sets the DnsName field's value.
50679func (s *CreateClientVpnEndpointOutput) SetDnsName(v string) *CreateClientVpnEndpointOutput {
50680	s.DnsName = &v
50681	return s
50682}
50683
50684// SetStatus sets the Status field's value.
50685func (s *CreateClientVpnEndpointOutput) SetStatus(v *ClientVpnEndpointStatus) *CreateClientVpnEndpointOutput {
50686	s.Status = v
50687	return s
50688}
50689
50690type CreateClientVpnRouteInput struct {
50691	_ struct{} `type:"structure"`
50692
50693	// Unique, case-sensitive identifier that you provide to ensure the idempotency
50694	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
50695	ClientToken *string `type:"string" idempotencyToken:"true"`
50696
50697	// The ID of the Client VPN endpoint to which to add the route.
50698	//
50699	// ClientVpnEndpointId is a required field
50700	ClientVpnEndpointId *string `type:"string" required:"true"`
50701
50702	// A brief description of the route.
50703	Description *string `type:"string"`
50704
50705	// The IPv4 address range, in CIDR notation, of the route destination. For example:
50706	//
50707	//    * To add a route for Internet access, enter 0.0.0.0/0
50708	//
50709	//    * To add a route for a peered VPC, enter the peered VPC's IPv4 CIDR range
50710	//
50711	//    * To add a route for an on-premises network, enter the AWS Site-to-Site
50712	//    VPN connection's IPv4 CIDR range
50713	//
50714	//    * To add a route for the local network, enter the client CIDR range
50715	//
50716	// DestinationCidrBlock is a required field
50717	DestinationCidrBlock *string `type:"string" required:"true"`
50718
50719	// Checks whether you have the required permissions for the action, without
50720	// actually making the request, and provides an error response. If you have
50721	// the required permissions, the error response is DryRunOperation. Otherwise,
50722	// it is UnauthorizedOperation.
50723	DryRun *bool `type:"boolean"`
50724
50725	// The ID of the subnet through which you want to route traffic. The specified
50726	// subnet must be an existing target network of the Client VPN endpoint.
50727	//
50728	// Alternatively, if you're adding a route for the local network, specify local.
50729	//
50730	// TargetVpcSubnetId is a required field
50731	TargetVpcSubnetId *string `type:"string" required:"true"`
50732}
50733
50734// String returns the string representation
50735func (s CreateClientVpnRouteInput) String() string {
50736	return awsutil.Prettify(s)
50737}
50738
50739// GoString returns the string representation
50740func (s CreateClientVpnRouteInput) GoString() string {
50741	return s.String()
50742}
50743
50744// Validate inspects the fields of the type to determine if they are valid.
50745func (s *CreateClientVpnRouteInput) Validate() error {
50746	invalidParams := request.ErrInvalidParams{Context: "CreateClientVpnRouteInput"}
50747	if s.ClientVpnEndpointId == nil {
50748		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
50749	}
50750	if s.DestinationCidrBlock == nil {
50751		invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
50752	}
50753	if s.TargetVpcSubnetId == nil {
50754		invalidParams.Add(request.NewErrParamRequired("TargetVpcSubnetId"))
50755	}
50756
50757	if invalidParams.Len() > 0 {
50758		return invalidParams
50759	}
50760	return nil
50761}
50762
50763// SetClientToken sets the ClientToken field's value.
50764func (s *CreateClientVpnRouteInput) SetClientToken(v string) *CreateClientVpnRouteInput {
50765	s.ClientToken = &v
50766	return s
50767}
50768
50769// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
50770func (s *CreateClientVpnRouteInput) SetClientVpnEndpointId(v string) *CreateClientVpnRouteInput {
50771	s.ClientVpnEndpointId = &v
50772	return s
50773}
50774
50775// SetDescription sets the Description field's value.
50776func (s *CreateClientVpnRouteInput) SetDescription(v string) *CreateClientVpnRouteInput {
50777	s.Description = &v
50778	return s
50779}
50780
50781// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
50782func (s *CreateClientVpnRouteInput) SetDestinationCidrBlock(v string) *CreateClientVpnRouteInput {
50783	s.DestinationCidrBlock = &v
50784	return s
50785}
50786
50787// SetDryRun sets the DryRun field's value.
50788func (s *CreateClientVpnRouteInput) SetDryRun(v bool) *CreateClientVpnRouteInput {
50789	s.DryRun = &v
50790	return s
50791}
50792
50793// SetTargetVpcSubnetId sets the TargetVpcSubnetId field's value.
50794func (s *CreateClientVpnRouteInput) SetTargetVpcSubnetId(v string) *CreateClientVpnRouteInput {
50795	s.TargetVpcSubnetId = &v
50796	return s
50797}
50798
50799type CreateClientVpnRouteOutput struct {
50800	_ struct{} `type:"structure"`
50801
50802	// The current state of the route.
50803	Status *ClientVpnRouteStatus `locationName:"status" type:"structure"`
50804}
50805
50806// String returns the string representation
50807func (s CreateClientVpnRouteOutput) String() string {
50808	return awsutil.Prettify(s)
50809}
50810
50811// GoString returns the string representation
50812func (s CreateClientVpnRouteOutput) GoString() string {
50813	return s.String()
50814}
50815
50816// SetStatus sets the Status field's value.
50817func (s *CreateClientVpnRouteOutput) SetStatus(v *ClientVpnRouteStatus) *CreateClientVpnRouteOutput {
50818	s.Status = v
50819	return s
50820}
50821
50822// Contains the parameters for CreateCustomerGateway.
50823type CreateCustomerGatewayInput struct {
50824	_ struct{} `type:"structure"`
50825
50826	// For devices that support BGP, the customer gateway's BGP ASN.
50827	//
50828	// Default: 65000
50829	//
50830	// BgpAsn is a required field
50831	BgpAsn *int64 `type:"integer" required:"true"`
50832
50833	// The Amazon Resource Name (ARN) for the customer gateway certificate.
50834	CertificateArn *string `type:"string"`
50835
50836	// A name for the customer gateway device.
50837	//
50838	// Length Constraints: Up to 255 characters.
50839	DeviceName *string `type:"string"`
50840
50841	// Checks whether you have the required permissions for the action, without
50842	// actually making the request, and provides an error response. If you have
50843	// the required permissions, the error response is DryRunOperation. Otherwise,
50844	// it is UnauthorizedOperation.
50845	DryRun *bool `locationName:"dryRun" type:"boolean"`
50846
50847	// The Internet-routable IP address for the customer gateway's outside interface.
50848	// The address must be static.
50849	PublicIp *string `locationName:"IpAddress" type:"string"`
50850
50851	// The tags to apply to the customer gateway.
50852	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
50853
50854	// The type of VPN connection that this customer gateway supports (ipsec.1).
50855	//
50856	// Type is a required field
50857	Type *string `type:"string" required:"true" enum:"GatewayType"`
50858}
50859
50860// String returns the string representation
50861func (s CreateCustomerGatewayInput) String() string {
50862	return awsutil.Prettify(s)
50863}
50864
50865// GoString returns the string representation
50866func (s CreateCustomerGatewayInput) GoString() string {
50867	return s.String()
50868}
50869
50870// Validate inspects the fields of the type to determine if they are valid.
50871func (s *CreateCustomerGatewayInput) Validate() error {
50872	invalidParams := request.ErrInvalidParams{Context: "CreateCustomerGatewayInput"}
50873	if s.BgpAsn == nil {
50874		invalidParams.Add(request.NewErrParamRequired("BgpAsn"))
50875	}
50876	if s.Type == nil {
50877		invalidParams.Add(request.NewErrParamRequired("Type"))
50878	}
50879
50880	if invalidParams.Len() > 0 {
50881		return invalidParams
50882	}
50883	return nil
50884}
50885
50886// SetBgpAsn sets the BgpAsn field's value.
50887func (s *CreateCustomerGatewayInput) SetBgpAsn(v int64) *CreateCustomerGatewayInput {
50888	s.BgpAsn = &v
50889	return s
50890}
50891
50892// SetCertificateArn sets the CertificateArn field's value.
50893func (s *CreateCustomerGatewayInput) SetCertificateArn(v string) *CreateCustomerGatewayInput {
50894	s.CertificateArn = &v
50895	return s
50896}
50897
50898// SetDeviceName sets the DeviceName field's value.
50899func (s *CreateCustomerGatewayInput) SetDeviceName(v string) *CreateCustomerGatewayInput {
50900	s.DeviceName = &v
50901	return s
50902}
50903
50904// SetDryRun sets the DryRun field's value.
50905func (s *CreateCustomerGatewayInput) SetDryRun(v bool) *CreateCustomerGatewayInput {
50906	s.DryRun = &v
50907	return s
50908}
50909
50910// SetPublicIp sets the PublicIp field's value.
50911func (s *CreateCustomerGatewayInput) SetPublicIp(v string) *CreateCustomerGatewayInput {
50912	s.PublicIp = &v
50913	return s
50914}
50915
50916// SetTagSpecifications sets the TagSpecifications field's value.
50917func (s *CreateCustomerGatewayInput) SetTagSpecifications(v []*TagSpecification) *CreateCustomerGatewayInput {
50918	s.TagSpecifications = v
50919	return s
50920}
50921
50922// SetType sets the Type field's value.
50923func (s *CreateCustomerGatewayInput) SetType(v string) *CreateCustomerGatewayInput {
50924	s.Type = &v
50925	return s
50926}
50927
50928// Contains the output of CreateCustomerGateway.
50929type CreateCustomerGatewayOutput struct {
50930	_ struct{} `type:"structure"`
50931
50932	// Information about the customer gateway.
50933	CustomerGateway *CustomerGateway `locationName:"customerGateway" type:"structure"`
50934}
50935
50936// String returns the string representation
50937func (s CreateCustomerGatewayOutput) String() string {
50938	return awsutil.Prettify(s)
50939}
50940
50941// GoString returns the string representation
50942func (s CreateCustomerGatewayOutput) GoString() string {
50943	return s.String()
50944}
50945
50946// SetCustomerGateway sets the CustomerGateway field's value.
50947func (s *CreateCustomerGatewayOutput) SetCustomerGateway(v *CustomerGateway) *CreateCustomerGatewayOutput {
50948	s.CustomerGateway = v
50949	return s
50950}
50951
50952type CreateDefaultSubnetInput struct {
50953	_ struct{} `type:"structure"`
50954
50955	// The Availability Zone in which to create the default subnet.
50956	//
50957	// AvailabilityZone is a required field
50958	AvailabilityZone *string `type:"string" required:"true"`
50959
50960	// Checks whether you have the required permissions for the action, without
50961	// actually making the request, and provides an error response. If you have
50962	// the required permissions, the error response is DryRunOperation. Otherwise,
50963	// it is UnauthorizedOperation.
50964	DryRun *bool `type:"boolean"`
50965}
50966
50967// String returns the string representation
50968func (s CreateDefaultSubnetInput) String() string {
50969	return awsutil.Prettify(s)
50970}
50971
50972// GoString returns the string representation
50973func (s CreateDefaultSubnetInput) GoString() string {
50974	return s.String()
50975}
50976
50977// Validate inspects the fields of the type to determine if they are valid.
50978func (s *CreateDefaultSubnetInput) Validate() error {
50979	invalidParams := request.ErrInvalidParams{Context: "CreateDefaultSubnetInput"}
50980	if s.AvailabilityZone == nil {
50981		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
50982	}
50983
50984	if invalidParams.Len() > 0 {
50985		return invalidParams
50986	}
50987	return nil
50988}
50989
50990// SetAvailabilityZone sets the AvailabilityZone field's value.
50991func (s *CreateDefaultSubnetInput) SetAvailabilityZone(v string) *CreateDefaultSubnetInput {
50992	s.AvailabilityZone = &v
50993	return s
50994}
50995
50996// SetDryRun sets the DryRun field's value.
50997func (s *CreateDefaultSubnetInput) SetDryRun(v bool) *CreateDefaultSubnetInput {
50998	s.DryRun = &v
50999	return s
51000}
51001
51002type CreateDefaultSubnetOutput struct {
51003	_ struct{} `type:"structure"`
51004
51005	// Information about the subnet.
51006	Subnet *Subnet `locationName:"subnet" type:"structure"`
51007}
51008
51009// String returns the string representation
51010func (s CreateDefaultSubnetOutput) String() string {
51011	return awsutil.Prettify(s)
51012}
51013
51014// GoString returns the string representation
51015func (s CreateDefaultSubnetOutput) GoString() string {
51016	return s.String()
51017}
51018
51019// SetSubnet sets the Subnet field's value.
51020func (s *CreateDefaultSubnetOutput) SetSubnet(v *Subnet) *CreateDefaultSubnetOutput {
51021	s.Subnet = v
51022	return s
51023}
51024
51025type CreateDefaultVpcInput struct {
51026	_ struct{} `type:"structure"`
51027
51028	// Checks whether you have the required permissions for the action, without
51029	// actually making the request, and provides an error response. If you have
51030	// the required permissions, the error response is DryRunOperation. Otherwise,
51031	// it is UnauthorizedOperation.
51032	DryRun *bool `type:"boolean"`
51033}
51034
51035// String returns the string representation
51036func (s CreateDefaultVpcInput) String() string {
51037	return awsutil.Prettify(s)
51038}
51039
51040// GoString returns the string representation
51041func (s CreateDefaultVpcInput) GoString() string {
51042	return s.String()
51043}
51044
51045// SetDryRun sets the DryRun field's value.
51046func (s *CreateDefaultVpcInput) SetDryRun(v bool) *CreateDefaultVpcInput {
51047	s.DryRun = &v
51048	return s
51049}
51050
51051type CreateDefaultVpcOutput struct {
51052	_ struct{} `type:"structure"`
51053
51054	// Information about the VPC.
51055	Vpc *Vpc `locationName:"vpc" type:"structure"`
51056}
51057
51058// String returns the string representation
51059func (s CreateDefaultVpcOutput) String() string {
51060	return awsutil.Prettify(s)
51061}
51062
51063// GoString returns the string representation
51064func (s CreateDefaultVpcOutput) GoString() string {
51065	return s.String()
51066}
51067
51068// SetVpc sets the Vpc field's value.
51069func (s *CreateDefaultVpcOutput) SetVpc(v *Vpc) *CreateDefaultVpcOutput {
51070	s.Vpc = v
51071	return s
51072}
51073
51074type CreateDhcpOptionsInput struct {
51075	_ struct{} `type:"structure"`
51076
51077	// A DHCP configuration option.
51078	//
51079	// DhcpConfigurations is a required field
51080	DhcpConfigurations []*NewDhcpConfiguration `locationName:"dhcpConfiguration" locationNameList:"item" type:"list" required:"true"`
51081
51082	// Checks whether you have the required permissions for the action, without
51083	// actually making the request, and provides an error response. If you have
51084	// the required permissions, the error response is DryRunOperation. Otherwise,
51085	// it is UnauthorizedOperation.
51086	DryRun *bool `locationName:"dryRun" type:"boolean"`
51087
51088	// The tags to assign to the DHCP option.
51089	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
51090}
51091
51092// String returns the string representation
51093func (s CreateDhcpOptionsInput) String() string {
51094	return awsutil.Prettify(s)
51095}
51096
51097// GoString returns the string representation
51098func (s CreateDhcpOptionsInput) GoString() string {
51099	return s.String()
51100}
51101
51102// Validate inspects the fields of the type to determine if they are valid.
51103func (s *CreateDhcpOptionsInput) Validate() error {
51104	invalidParams := request.ErrInvalidParams{Context: "CreateDhcpOptionsInput"}
51105	if s.DhcpConfigurations == nil {
51106		invalidParams.Add(request.NewErrParamRequired("DhcpConfigurations"))
51107	}
51108
51109	if invalidParams.Len() > 0 {
51110		return invalidParams
51111	}
51112	return nil
51113}
51114
51115// SetDhcpConfigurations sets the DhcpConfigurations field's value.
51116func (s *CreateDhcpOptionsInput) SetDhcpConfigurations(v []*NewDhcpConfiguration) *CreateDhcpOptionsInput {
51117	s.DhcpConfigurations = v
51118	return s
51119}
51120
51121// SetDryRun sets the DryRun field's value.
51122func (s *CreateDhcpOptionsInput) SetDryRun(v bool) *CreateDhcpOptionsInput {
51123	s.DryRun = &v
51124	return s
51125}
51126
51127// SetTagSpecifications sets the TagSpecifications field's value.
51128func (s *CreateDhcpOptionsInput) SetTagSpecifications(v []*TagSpecification) *CreateDhcpOptionsInput {
51129	s.TagSpecifications = v
51130	return s
51131}
51132
51133type CreateDhcpOptionsOutput struct {
51134	_ struct{} `type:"structure"`
51135
51136	// A set of DHCP options.
51137	DhcpOptions *DhcpOptions `locationName:"dhcpOptions" type:"structure"`
51138}
51139
51140// String returns the string representation
51141func (s CreateDhcpOptionsOutput) String() string {
51142	return awsutil.Prettify(s)
51143}
51144
51145// GoString returns the string representation
51146func (s CreateDhcpOptionsOutput) GoString() string {
51147	return s.String()
51148}
51149
51150// SetDhcpOptions sets the DhcpOptions field's value.
51151func (s *CreateDhcpOptionsOutput) SetDhcpOptions(v *DhcpOptions) *CreateDhcpOptionsOutput {
51152	s.DhcpOptions = v
51153	return s
51154}
51155
51156type CreateEgressOnlyInternetGatewayInput struct {
51157	_ struct{} `type:"structure"`
51158
51159	// Unique, case-sensitive identifier that you provide to ensure the idempotency
51160	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
51161	ClientToken *string `type:"string"`
51162
51163	// Checks whether you have the required permissions for the action, without
51164	// actually making the request, and provides an error response. If you have
51165	// the required permissions, the error response is DryRunOperation. Otherwise,
51166	// it is UnauthorizedOperation.
51167	DryRun *bool `type:"boolean"`
51168
51169	// The tags to assign to the egress-only internet gateway.
51170	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
51171
51172	// The ID of the VPC for which to create the egress-only internet gateway.
51173	//
51174	// VpcId is a required field
51175	VpcId *string `type:"string" required:"true"`
51176}
51177
51178// String returns the string representation
51179func (s CreateEgressOnlyInternetGatewayInput) String() string {
51180	return awsutil.Prettify(s)
51181}
51182
51183// GoString returns the string representation
51184func (s CreateEgressOnlyInternetGatewayInput) GoString() string {
51185	return s.String()
51186}
51187
51188// Validate inspects the fields of the type to determine if they are valid.
51189func (s *CreateEgressOnlyInternetGatewayInput) Validate() error {
51190	invalidParams := request.ErrInvalidParams{Context: "CreateEgressOnlyInternetGatewayInput"}
51191	if s.VpcId == nil {
51192		invalidParams.Add(request.NewErrParamRequired("VpcId"))
51193	}
51194
51195	if invalidParams.Len() > 0 {
51196		return invalidParams
51197	}
51198	return nil
51199}
51200
51201// SetClientToken sets the ClientToken field's value.
51202func (s *CreateEgressOnlyInternetGatewayInput) SetClientToken(v string) *CreateEgressOnlyInternetGatewayInput {
51203	s.ClientToken = &v
51204	return s
51205}
51206
51207// SetDryRun sets the DryRun field's value.
51208func (s *CreateEgressOnlyInternetGatewayInput) SetDryRun(v bool) *CreateEgressOnlyInternetGatewayInput {
51209	s.DryRun = &v
51210	return s
51211}
51212
51213// SetTagSpecifications sets the TagSpecifications field's value.
51214func (s *CreateEgressOnlyInternetGatewayInput) SetTagSpecifications(v []*TagSpecification) *CreateEgressOnlyInternetGatewayInput {
51215	s.TagSpecifications = v
51216	return s
51217}
51218
51219// SetVpcId sets the VpcId field's value.
51220func (s *CreateEgressOnlyInternetGatewayInput) SetVpcId(v string) *CreateEgressOnlyInternetGatewayInput {
51221	s.VpcId = &v
51222	return s
51223}
51224
51225type CreateEgressOnlyInternetGatewayOutput struct {
51226	_ struct{} `type:"structure"`
51227
51228	// Unique, case-sensitive identifier that you provide to ensure the idempotency
51229	// of the request.
51230	ClientToken *string `locationName:"clientToken" type:"string"`
51231
51232	// Information about the egress-only internet gateway.
51233	EgressOnlyInternetGateway *EgressOnlyInternetGateway `locationName:"egressOnlyInternetGateway" type:"structure"`
51234}
51235
51236// String returns the string representation
51237func (s CreateEgressOnlyInternetGatewayOutput) String() string {
51238	return awsutil.Prettify(s)
51239}
51240
51241// GoString returns the string representation
51242func (s CreateEgressOnlyInternetGatewayOutput) GoString() string {
51243	return s.String()
51244}
51245
51246// SetClientToken sets the ClientToken field's value.
51247func (s *CreateEgressOnlyInternetGatewayOutput) SetClientToken(v string) *CreateEgressOnlyInternetGatewayOutput {
51248	s.ClientToken = &v
51249	return s
51250}
51251
51252// SetEgressOnlyInternetGateway sets the EgressOnlyInternetGateway field's value.
51253func (s *CreateEgressOnlyInternetGatewayOutput) SetEgressOnlyInternetGateway(v *EgressOnlyInternetGateway) *CreateEgressOnlyInternetGatewayOutput {
51254	s.EgressOnlyInternetGateway = v
51255	return s
51256}
51257
51258// Describes the instances that could not be launched by the fleet.
51259type CreateFleetError struct {
51260	_ struct{} `type:"structure"`
51261
51262	// The error code that indicates why the instance could not be launched. For
51263	// more information about error codes, see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html).
51264	ErrorCode *string `locationName:"errorCode" type:"string"`
51265
51266	// The error message that describes why the instance could not be launched.
51267	// For more information about error messages, see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html).
51268	ErrorMessage *string `locationName:"errorMessage" type:"string"`
51269
51270	// The launch templates and overrides that were used for launching the instances.
51271	// The values that you specify in the Overrides replace the values in the launch
51272	// template.
51273	LaunchTemplateAndOverrides *LaunchTemplateAndOverridesResponse `locationName:"launchTemplateAndOverrides" type:"structure"`
51274
51275	// Indicates if the instance that could not be launched was a Spot Instance
51276	// or On-Demand Instance.
51277	Lifecycle *string `locationName:"lifecycle" type:"string" enum:"InstanceLifecycle"`
51278}
51279
51280// String returns the string representation
51281func (s CreateFleetError) String() string {
51282	return awsutil.Prettify(s)
51283}
51284
51285// GoString returns the string representation
51286func (s CreateFleetError) GoString() string {
51287	return s.String()
51288}
51289
51290// SetErrorCode sets the ErrorCode field's value.
51291func (s *CreateFleetError) SetErrorCode(v string) *CreateFleetError {
51292	s.ErrorCode = &v
51293	return s
51294}
51295
51296// SetErrorMessage sets the ErrorMessage field's value.
51297func (s *CreateFleetError) SetErrorMessage(v string) *CreateFleetError {
51298	s.ErrorMessage = &v
51299	return s
51300}
51301
51302// SetLaunchTemplateAndOverrides sets the LaunchTemplateAndOverrides field's value.
51303func (s *CreateFleetError) SetLaunchTemplateAndOverrides(v *LaunchTemplateAndOverridesResponse) *CreateFleetError {
51304	s.LaunchTemplateAndOverrides = v
51305	return s
51306}
51307
51308// SetLifecycle sets the Lifecycle field's value.
51309func (s *CreateFleetError) SetLifecycle(v string) *CreateFleetError {
51310	s.Lifecycle = &v
51311	return s
51312}
51313
51314type CreateFleetInput struct {
51315	_ struct{} `type:"structure"`
51316
51317	// Unique, case-sensitive identifier that you provide to ensure the idempotency
51318	// of the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
51319	ClientToken *string `type:"string"`
51320
51321	// Checks whether you have the required permissions for the action, without
51322	// actually making the request, and provides an error response. If you have
51323	// the required permissions, the error response is DryRunOperation. Otherwise,
51324	// it is UnauthorizedOperation.
51325	DryRun *bool `type:"boolean"`
51326
51327	// Indicates whether running instances should be terminated if the total target
51328	// capacity of the EC2 Fleet is decreased below the current size of the EC2
51329	// Fleet.
51330	ExcessCapacityTerminationPolicy *string `type:"string" enum:"FleetExcessCapacityTerminationPolicy"`
51331
51332	// The configuration for the EC2 Fleet.
51333	//
51334	// LaunchTemplateConfigs is a required field
51335	LaunchTemplateConfigs []*FleetLaunchTemplateConfigRequest `locationNameList:"item" type:"list" required:"true"`
51336
51337	// Describes the configuration of On-Demand Instances in an EC2 Fleet.
51338	OnDemandOptions *OnDemandOptionsRequest `type:"structure"`
51339
51340	// Indicates whether EC2 Fleet should replace unhealthy Spot Instances. Supported
51341	// only for fleets of type maintain. For more information, see EC2 Fleet health
51342	// checks (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/manage-ec2-fleet.html#ec2-fleet-health-checks)
51343	// in the Amazon EC2 User Guide.
51344	ReplaceUnhealthyInstances *bool `type:"boolean"`
51345
51346	// Describes the configuration of Spot Instances in an EC2 Fleet.
51347	SpotOptions *SpotOptionsRequest `type:"structure"`
51348
51349	// The key-value pair for tagging the EC2 Fleet request on creation. The value
51350	// for ResourceType must be fleet, otherwise the fleet request fails. To tag
51351	// 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).
51352	// For information about tagging after launch, see Tagging your resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-resources).
51353	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
51354
51355	// The number of units to request.
51356	//
51357	// TargetCapacitySpecification is a required field
51358	TargetCapacitySpecification *TargetCapacitySpecificationRequest `type:"structure" required:"true"`
51359
51360	// Indicates whether running instances should be terminated when the EC2 Fleet
51361	// expires.
51362	TerminateInstancesWithExpiration *bool `type:"boolean"`
51363
51364	// The type of request. The default value is maintain.
51365	//
51366	//    * maintain - The EC2 Fleet places an asynchronous request for your desired
51367	//    capacity, and continues to maintain your desired Spot capacity by replenishing
51368	//    interrupted Spot Instances.
51369	//
51370	//    * request - The EC2 Fleet places an asynchronous one-time request for
51371	//    your desired capacity, but does submit Spot requests in alternative capacity
51372	//    pools if Spot capacity is unavailable, and does not maintain Spot capacity
51373	//    if Spot Instances are interrupted.
51374	//
51375	//    * instant - The EC2 Fleet places a synchronous one-time request for your
51376	//    desired capacity, and returns errors for any instances that could not
51377	//    be launched.
51378	//
51379	// 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)
51380	// in the Amazon EC2 User Guide.
51381	Type *string `type:"string" enum:"FleetType"`
51382
51383	// The start date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
51384	// The default is to start fulfilling the request immediately.
51385	ValidFrom *time.Time `type:"timestamp"`
51386
51387	// The end date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
51388	// At this point, no new EC2 Fleet requests are placed or able to fulfill the
51389	// request. If no value is specified, the request remains until you cancel it.
51390	ValidUntil *time.Time `type:"timestamp"`
51391}
51392
51393// String returns the string representation
51394func (s CreateFleetInput) String() string {
51395	return awsutil.Prettify(s)
51396}
51397
51398// GoString returns the string representation
51399func (s CreateFleetInput) GoString() string {
51400	return s.String()
51401}
51402
51403// Validate inspects the fields of the type to determine if they are valid.
51404func (s *CreateFleetInput) Validate() error {
51405	invalidParams := request.ErrInvalidParams{Context: "CreateFleetInput"}
51406	if s.LaunchTemplateConfigs == nil {
51407		invalidParams.Add(request.NewErrParamRequired("LaunchTemplateConfigs"))
51408	}
51409	if s.TargetCapacitySpecification == nil {
51410		invalidParams.Add(request.NewErrParamRequired("TargetCapacitySpecification"))
51411	}
51412	if s.LaunchTemplateConfigs != nil {
51413		for i, v := range s.LaunchTemplateConfigs {
51414			if v == nil {
51415				continue
51416			}
51417			if err := v.Validate(); err != nil {
51418				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LaunchTemplateConfigs", i), err.(request.ErrInvalidParams))
51419			}
51420		}
51421	}
51422	if s.TargetCapacitySpecification != nil {
51423		if err := s.TargetCapacitySpecification.Validate(); err != nil {
51424			invalidParams.AddNested("TargetCapacitySpecification", err.(request.ErrInvalidParams))
51425		}
51426	}
51427
51428	if invalidParams.Len() > 0 {
51429		return invalidParams
51430	}
51431	return nil
51432}
51433
51434// SetClientToken sets the ClientToken field's value.
51435func (s *CreateFleetInput) SetClientToken(v string) *CreateFleetInput {
51436	s.ClientToken = &v
51437	return s
51438}
51439
51440// SetDryRun sets the DryRun field's value.
51441func (s *CreateFleetInput) SetDryRun(v bool) *CreateFleetInput {
51442	s.DryRun = &v
51443	return s
51444}
51445
51446// SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
51447func (s *CreateFleetInput) SetExcessCapacityTerminationPolicy(v string) *CreateFleetInput {
51448	s.ExcessCapacityTerminationPolicy = &v
51449	return s
51450}
51451
51452// SetLaunchTemplateConfigs sets the LaunchTemplateConfigs field's value.
51453func (s *CreateFleetInput) SetLaunchTemplateConfigs(v []*FleetLaunchTemplateConfigRequest) *CreateFleetInput {
51454	s.LaunchTemplateConfigs = v
51455	return s
51456}
51457
51458// SetOnDemandOptions sets the OnDemandOptions field's value.
51459func (s *CreateFleetInput) SetOnDemandOptions(v *OnDemandOptionsRequest) *CreateFleetInput {
51460	s.OnDemandOptions = v
51461	return s
51462}
51463
51464// SetReplaceUnhealthyInstances sets the ReplaceUnhealthyInstances field's value.
51465func (s *CreateFleetInput) SetReplaceUnhealthyInstances(v bool) *CreateFleetInput {
51466	s.ReplaceUnhealthyInstances = &v
51467	return s
51468}
51469
51470// SetSpotOptions sets the SpotOptions field's value.
51471func (s *CreateFleetInput) SetSpotOptions(v *SpotOptionsRequest) *CreateFleetInput {
51472	s.SpotOptions = v
51473	return s
51474}
51475
51476// SetTagSpecifications sets the TagSpecifications field's value.
51477func (s *CreateFleetInput) SetTagSpecifications(v []*TagSpecification) *CreateFleetInput {
51478	s.TagSpecifications = v
51479	return s
51480}
51481
51482// SetTargetCapacitySpecification sets the TargetCapacitySpecification field's value.
51483func (s *CreateFleetInput) SetTargetCapacitySpecification(v *TargetCapacitySpecificationRequest) *CreateFleetInput {
51484	s.TargetCapacitySpecification = v
51485	return s
51486}
51487
51488// SetTerminateInstancesWithExpiration sets the TerminateInstancesWithExpiration field's value.
51489func (s *CreateFleetInput) SetTerminateInstancesWithExpiration(v bool) *CreateFleetInput {
51490	s.TerminateInstancesWithExpiration = &v
51491	return s
51492}
51493
51494// SetType sets the Type field's value.
51495func (s *CreateFleetInput) SetType(v string) *CreateFleetInput {
51496	s.Type = &v
51497	return s
51498}
51499
51500// SetValidFrom sets the ValidFrom field's value.
51501func (s *CreateFleetInput) SetValidFrom(v time.Time) *CreateFleetInput {
51502	s.ValidFrom = &v
51503	return s
51504}
51505
51506// SetValidUntil sets the ValidUntil field's value.
51507func (s *CreateFleetInput) SetValidUntil(v time.Time) *CreateFleetInput {
51508	s.ValidUntil = &v
51509	return s
51510}
51511
51512// Describes the instances that were launched by the fleet.
51513type CreateFleetInstance struct {
51514	_ struct{} `type:"structure"`
51515
51516	// The IDs of the instances.
51517	InstanceIds []*string `locationName:"instanceIds" locationNameList:"item" type:"list"`
51518
51519	// The instance type.
51520	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
51521
51522	// The launch templates and overrides that were used for launching the instances.
51523	// The values that you specify in the Overrides replace the values in the launch
51524	// template.
51525	LaunchTemplateAndOverrides *LaunchTemplateAndOverridesResponse `locationName:"launchTemplateAndOverrides" type:"structure"`
51526
51527	// Indicates if the instance that was launched is a Spot Instance or On-Demand
51528	// Instance.
51529	Lifecycle *string `locationName:"lifecycle" type:"string" enum:"InstanceLifecycle"`
51530
51531	// The value is Windows for Windows instances. Otherwise, the value is blank.
51532	Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
51533}
51534
51535// String returns the string representation
51536func (s CreateFleetInstance) String() string {
51537	return awsutil.Prettify(s)
51538}
51539
51540// GoString returns the string representation
51541func (s CreateFleetInstance) GoString() string {
51542	return s.String()
51543}
51544
51545// SetInstanceIds sets the InstanceIds field's value.
51546func (s *CreateFleetInstance) SetInstanceIds(v []*string) *CreateFleetInstance {
51547	s.InstanceIds = v
51548	return s
51549}
51550
51551// SetInstanceType sets the InstanceType field's value.
51552func (s *CreateFleetInstance) SetInstanceType(v string) *CreateFleetInstance {
51553	s.InstanceType = &v
51554	return s
51555}
51556
51557// SetLaunchTemplateAndOverrides sets the LaunchTemplateAndOverrides field's value.
51558func (s *CreateFleetInstance) SetLaunchTemplateAndOverrides(v *LaunchTemplateAndOverridesResponse) *CreateFleetInstance {
51559	s.LaunchTemplateAndOverrides = v
51560	return s
51561}
51562
51563// SetLifecycle sets the Lifecycle field's value.
51564func (s *CreateFleetInstance) SetLifecycle(v string) *CreateFleetInstance {
51565	s.Lifecycle = &v
51566	return s
51567}
51568
51569// SetPlatform sets the Platform field's value.
51570func (s *CreateFleetInstance) SetPlatform(v string) *CreateFleetInstance {
51571	s.Platform = &v
51572	return s
51573}
51574
51575type CreateFleetOutput struct {
51576	_ struct{} `type:"structure"`
51577
51578	// Information about the instances that could not be launched by the fleet.
51579	// Valid only when Type is set to instant.
51580	Errors []*CreateFleetError `locationName:"errorSet" locationNameList:"item" type:"list"`
51581
51582	// The ID of the EC2 Fleet.
51583	FleetId *string `locationName:"fleetId" type:"string"`
51584
51585	// Information about the instances that were launched by the fleet. Valid only
51586	// when Type is set to instant.
51587	Instances []*CreateFleetInstance `locationName:"fleetInstanceSet" locationNameList:"item" type:"list"`
51588}
51589
51590// String returns the string representation
51591func (s CreateFleetOutput) String() string {
51592	return awsutil.Prettify(s)
51593}
51594
51595// GoString returns the string representation
51596func (s CreateFleetOutput) GoString() string {
51597	return s.String()
51598}
51599
51600// SetErrors sets the Errors field's value.
51601func (s *CreateFleetOutput) SetErrors(v []*CreateFleetError) *CreateFleetOutput {
51602	s.Errors = v
51603	return s
51604}
51605
51606// SetFleetId sets the FleetId field's value.
51607func (s *CreateFleetOutput) SetFleetId(v string) *CreateFleetOutput {
51608	s.FleetId = &v
51609	return s
51610}
51611
51612// SetInstances sets the Instances field's value.
51613func (s *CreateFleetOutput) SetInstances(v []*CreateFleetInstance) *CreateFleetOutput {
51614	s.Instances = v
51615	return s
51616}
51617
51618type CreateFlowLogsInput struct {
51619	_ struct{} `type:"structure"`
51620
51621	// Unique, case-sensitive identifier that you provide to ensure the idempotency
51622	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
51623	ClientToken *string `type:"string"`
51624
51625	// The ARN for the IAM role that permits Amazon EC2 to publish flow logs to
51626	// a CloudWatch Logs log group in your account.
51627	//
51628	// If you specify LogDestinationType as s3, do not specify DeliverLogsPermissionArn
51629	// or LogGroupName.
51630	DeliverLogsPermissionArn *string `type:"string"`
51631
51632	// Checks whether you have the required permissions for the action, without
51633	// actually making the request, and provides an error response. If you have
51634	// the required permissions, the error response is DryRunOperation. Otherwise,
51635	// it is UnauthorizedOperation.
51636	DryRun *bool `type:"boolean"`
51637
51638	// Specifies the destination to which the flow log data is to be published.
51639	// Flow log data can be published to a CloudWatch Logs log group or an Amazon
51640	// S3 bucket. The value specified for this parameter depends on the value specified
51641	// for LogDestinationType.
51642	//
51643	// If LogDestinationType is not specified or cloud-watch-logs, specify the Amazon
51644	// Resource Name (ARN) of the CloudWatch Logs log group. For example, to publish
51645	// to a log group called my-logs, specify arn:aws:logs:us-east-1:123456789012:log-group:my-logs.
51646	// Alternatively, use LogGroupName instead.
51647	//
51648	// If LogDestinationType is s3, specify the ARN of the Amazon S3 bucket. You
51649	// can also specify a subfolder in the bucket. To specify a subfolder in the
51650	// bucket, use the following ARN format: bucket_ARN/subfolder_name/. For example,
51651	// to specify a subfolder named my-logs in a bucket named my-bucket, use the
51652	// following ARN: arn:aws:s3:::my-bucket/my-logs/. You cannot use AWSLogs as
51653	// a subfolder name. This is a reserved term.
51654	LogDestination *string `type:"string"`
51655
51656	// Specifies the type of destination to which the flow log data is to be published.
51657	// Flow log data can be published to CloudWatch Logs or Amazon S3. To publish
51658	// flow log data to CloudWatch Logs, specify cloud-watch-logs. To publish flow
51659	// log data to Amazon S3, specify s3.
51660	//
51661	// If you specify LogDestinationType as s3, do not specify DeliverLogsPermissionArn
51662	// or LogGroupName.
51663	//
51664	// Default: cloud-watch-logs
51665	LogDestinationType *string `type:"string" enum:"LogDestinationType"`
51666
51667	// The fields to include in the flow log record, in the order in which they
51668	// should appear. For a list of available fields, see Flow Log Records (https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html#flow-log-records).
51669	// If you omit this parameter, the flow log is created using the default format.
51670	// If you specify this parameter, you must specify at least one field.
51671	//
51672	// Specify the fields using the ${field-id} format, separated by spaces. For
51673	// the AWS CLI, use single quotation marks (' ') to surround the parameter value.
51674	LogFormat *string `type:"string"`
51675
51676	// The name of a new or existing CloudWatch Logs log group where Amazon EC2
51677	// publishes your flow logs.
51678	//
51679	// If you specify LogDestinationType as s3, do not specify DeliverLogsPermissionArn
51680	// or LogGroupName.
51681	LogGroupName *string `type:"string"`
51682
51683	// The maximum interval of time during which a flow of packets is captured and
51684	// aggregated into a flow log record. You can specify 60 seconds (1 minute)
51685	// or 600 seconds (10 minutes).
51686	//
51687	// When a network interface is attached to a Nitro-based instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances),
51688	// the aggregation interval is always 60 seconds or less, regardless of the
51689	// value that you specify.
51690	//
51691	// Default: 600
51692	MaxAggregationInterval *int64 `type:"integer"`
51693
51694	// The ID of the subnet, network interface, or VPC for which you want to create
51695	// a flow log.
51696	//
51697	// Constraints: Maximum of 1000 resources
51698	//
51699	// ResourceIds is a required field
51700	ResourceIds []*string `locationName:"ResourceId" locationNameList:"item" type:"list" required:"true"`
51701
51702	// The type of resource for which to create the flow log. For example, if you
51703	// specified a VPC ID for the ResourceId property, specify VPC for this property.
51704	//
51705	// ResourceType is a required field
51706	ResourceType *string `type:"string" required:"true" enum:"FlowLogsResourceType"`
51707
51708	// The tags to apply to the flow logs.
51709	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
51710
51711	// The type of traffic to log. You can log traffic that the resource accepts
51712	// or rejects, or all traffic.
51713	//
51714	// TrafficType is a required field
51715	TrafficType *string `type:"string" required:"true" enum:"TrafficType"`
51716}
51717
51718// String returns the string representation
51719func (s CreateFlowLogsInput) String() string {
51720	return awsutil.Prettify(s)
51721}
51722
51723// GoString returns the string representation
51724func (s CreateFlowLogsInput) GoString() string {
51725	return s.String()
51726}
51727
51728// Validate inspects the fields of the type to determine if they are valid.
51729func (s *CreateFlowLogsInput) Validate() error {
51730	invalidParams := request.ErrInvalidParams{Context: "CreateFlowLogsInput"}
51731	if s.ResourceIds == nil {
51732		invalidParams.Add(request.NewErrParamRequired("ResourceIds"))
51733	}
51734	if s.ResourceType == nil {
51735		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
51736	}
51737	if s.TrafficType == nil {
51738		invalidParams.Add(request.NewErrParamRequired("TrafficType"))
51739	}
51740
51741	if invalidParams.Len() > 0 {
51742		return invalidParams
51743	}
51744	return nil
51745}
51746
51747// SetClientToken sets the ClientToken field's value.
51748func (s *CreateFlowLogsInput) SetClientToken(v string) *CreateFlowLogsInput {
51749	s.ClientToken = &v
51750	return s
51751}
51752
51753// SetDeliverLogsPermissionArn sets the DeliverLogsPermissionArn field's value.
51754func (s *CreateFlowLogsInput) SetDeliverLogsPermissionArn(v string) *CreateFlowLogsInput {
51755	s.DeliverLogsPermissionArn = &v
51756	return s
51757}
51758
51759// SetDryRun sets the DryRun field's value.
51760func (s *CreateFlowLogsInput) SetDryRun(v bool) *CreateFlowLogsInput {
51761	s.DryRun = &v
51762	return s
51763}
51764
51765// SetLogDestination sets the LogDestination field's value.
51766func (s *CreateFlowLogsInput) SetLogDestination(v string) *CreateFlowLogsInput {
51767	s.LogDestination = &v
51768	return s
51769}
51770
51771// SetLogDestinationType sets the LogDestinationType field's value.
51772func (s *CreateFlowLogsInput) SetLogDestinationType(v string) *CreateFlowLogsInput {
51773	s.LogDestinationType = &v
51774	return s
51775}
51776
51777// SetLogFormat sets the LogFormat field's value.
51778func (s *CreateFlowLogsInput) SetLogFormat(v string) *CreateFlowLogsInput {
51779	s.LogFormat = &v
51780	return s
51781}
51782
51783// SetLogGroupName sets the LogGroupName field's value.
51784func (s *CreateFlowLogsInput) SetLogGroupName(v string) *CreateFlowLogsInput {
51785	s.LogGroupName = &v
51786	return s
51787}
51788
51789// SetMaxAggregationInterval sets the MaxAggregationInterval field's value.
51790func (s *CreateFlowLogsInput) SetMaxAggregationInterval(v int64) *CreateFlowLogsInput {
51791	s.MaxAggregationInterval = &v
51792	return s
51793}
51794
51795// SetResourceIds sets the ResourceIds field's value.
51796func (s *CreateFlowLogsInput) SetResourceIds(v []*string) *CreateFlowLogsInput {
51797	s.ResourceIds = v
51798	return s
51799}
51800
51801// SetResourceType sets the ResourceType field's value.
51802func (s *CreateFlowLogsInput) SetResourceType(v string) *CreateFlowLogsInput {
51803	s.ResourceType = &v
51804	return s
51805}
51806
51807// SetTagSpecifications sets the TagSpecifications field's value.
51808func (s *CreateFlowLogsInput) SetTagSpecifications(v []*TagSpecification) *CreateFlowLogsInput {
51809	s.TagSpecifications = v
51810	return s
51811}
51812
51813// SetTrafficType sets the TrafficType field's value.
51814func (s *CreateFlowLogsInput) SetTrafficType(v string) *CreateFlowLogsInput {
51815	s.TrafficType = &v
51816	return s
51817}
51818
51819type CreateFlowLogsOutput struct {
51820	_ struct{} `type:"structure"`
51821
51822	// Unique, case-sensitive identifier that you provide to ensure the idempotency
51823	// of the request.
51824	ClientToken *string `locationName:"clientToken" type:"string"`
51825
51826	// The IDs of the flow logs.
51827	FlowLogIds []*string `locationName:"flowLogIdSet" locationNameList:"item" type:"list"`
51828
51829	// Information about the flow logs that could not be created successfully.
51830	Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
51831}
51832
51833// String returns the string representation
51834func (s CreateFlowLogsOutput) String() string {
51835	return awsutil.Prettify(s)
51836}
51837
51838// GoString returns the string representation
51839func (s CreateFlowLogsOutput) GoString() string {
51840	return s.String()
51841}
51842
51843// SetClientToken sets the ClientToken field's value.
51844func (s *CreateFlowLogsOutput) SetClientToken(v string) *CreateFlowLogsOutput {
51845	s.ClientToken = &v
51846	return s
51847}
51848
51849// SetFlowLogIds sets the FlowLogIds field's value.
51850func (s *CreateFlowLogsOutput) SetFlowLogIds(v []*string) *CreateFlowLogsOutput {
51851	s.FlowLogIds = v
51852	return s
51853}
51854
51855// SetUnsuccessful sets the Unsuccessful field's value.
51856func (s *CreateFlowLogsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *CreateFlowLogsOutput {
51857	s.Unsuccessful = v
51858	return s
51859}
51860
51861type CreateFpgaImageInput struct {
51862	_ struct{} `type:"structure"`
51863
51864	// Unique, case-sensitive identifier that you provide to ensure the idempotency
51865	// of the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
51866	ClientToken *string `type:"string"`
51867
51868	// A description for the AFI.
51869	Description *string `type:"string"`
51870
51871	// Checks whether you have the required permissions for the action, without
51872	// actually making the request, and provides an error response. If you have
51873	// the required permissions, the error response is DryRunOperation. Otherwise,
51874	// it is UnauthorizedOperation.
51875	DryRun *bool `type:"boolean"`
51876
51877	// The location of the encrypted design checkpoint in Amazon S3. The input must
51878	// be a tarball.
51879	//
51880	// InputStorageLocation is a required field
51881	InputStorageLocation *StorageLocation `type:"structure" required:"true"`
51882
51883	// The location in Amazon S3 for the output logs.
51884	LogsStorageLocation *StorageLocation `type:"structure"`
51885
51886	// A name for the AFI.
51887	Name *string `type:"string"`
51888
51889	// The tags to apply to the FPGA image during creation.
51890	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
51891}
51892
51893// String returns the string representation
51894func (s CreateFpgaImageInput) String() string {
51895	return awsutil.Prettify(s)
51896}
51897
51898// GoString returns the string representation
51899func (s CreateFpgaImageInput) GoString() string {
51900	return s.String()
51901}
51902
51903// Validate inspects the fields of the type to determine if they are valid.
51904func (s *CreateFpgaImageInput) Validate() error {
51905	invalidParams := request.ErrInvalidParams{Context: "CreateFpgaImageInput"}
51906	if s.InputStorageLocation == nil {
51907		invalidParams.Add(request.NewErrParamRequired("InputStorageLocation"))
51908	}
51909
51910	if invalidParams.Len() > 0 {
51911		return invalidParams
51912	}
51913	return nil
51914}
51915
51916// SetClientToken sets the ClientToken field's value.
51917func (s *CreateFpgaImageInput) SetClientToken(v string) *CreateFpgaImageInput {
51918	s.ClientToken = &v
51919	return s
51920}
51921
51922// SetDescription sets the Description field's value.
51923func (s *CreateFpgaImageInput) SetDescription(v string) *CreateFpgaImageInput {
51924	s.Description = &v
51925	return s
51926}
51927
51928// SetDryRun sets the DryRun field's value.
51929func (s *CreateFpgaImageInput) SetDryRun(v bool) *CreateFpgaImageInput {
51930	s.DryRun = &v
51931	return s
51932}
51933
51934// SetInputStorageLocation sets the InputStorageLocation field's value.
51935func (s *CreateFpgaImageInput) SetInputStorageLocation(v *StorageLocation) *CreateFpgaImageInput {
51936	s.InputStorageLocation = v
51937	return s
51938}
51939
51940// SetLogsStorageLocation sets the LogsStorageLocation field's value.
51941func (s *CreateFpgaImageInput) SetLogsStorageLocation(v *StorageLocation) *CreateFpgaImageInput {
51942	s.LogsStorageLocation = v
51943	return s
51944}
51945
51946// SetName sets the Name field's value.
51947func (s *CreateFpgaImageInput) SetName(v string) *CreateFpgaImageInput {
51948	s.Name = &v
51949	return s
51950}
51951
51952// SetTagSpecifications sets the TagSpecifications field's value.
51953func (s *CreateFpgaImageInput) SetTagSpecifications(v []*TagSpecification) *CreateFpgaImageInput {
51954	s.TagSpecifications = v
51955	return s
51956}
51957
51958type CreateFpgaImageOutput struct {
51959	_ struct{} `type:"structure"`
51960
51961	// The global FPGA image identifier (AGFI ID).
51962	FpgaImageGlobalId *string `locationName:"fpgaImageGlobalId" type:"string"`
51963
51964	// The FPGA image identifier (AFI ID).
51965	FpgaImageId *string `locationName:"fpgaImageId" type:"string"`
51966}
51967
51968// String returns the string representation
51969func (s CreateFpgaImageOutput) String() string {
51970	return awsutil.Prettify(s)
51971}
51972
51973// GoString returns the string representation
51974func (s CreateFpgaImageOutput) GoString() string {
51975	return s.String()
51976}
51977
51978// SetFpgaImageGlobalId sets the FpgaImageGlobalId field's value.
51979func (s *CreateFpgaImageOutput) SetFpgaImageGlobalId(v string) *CreateFpgaImageOutput {
51980	s.FpgaImageGlobalId = &v
51981	return s
51982}
51983
51984// SetFpgaImageId sets the FpgaImageId field's value.
51985func (s *CreateFpgaImageOutput) SetFpgaImageId(v string) *CreateFpgaImageOutput {
51986	s.FpgaImageId = &v
51987	return s
51988}
51989
51990type CreateImageInput struct {
51991	_ struct{} `type:"structure"`
51992
51993	// The block device mappings. This parameter cannot be used to modify the encryption
51994	// status of existing volumes or snapshots. To create an AMI with encrypted
51995	// snapshots, use the CopyImage action.
51996	BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
51997
51998	// A description for the new image.
51999	Description *string `locationName:"description" type:"string"`
52000
52001	// Checks whether you have the required permissions for the action, without
52002	// actually making the request, and provides an error response. If you have
52003	// the required permissions, the error response is DryRunOperation. Otherwise,
52004	// it is UnauthorizedOperation.
52005	DryRun *bool `locationName:"dryRun" type:"boolean"`
52006
52007	// The ID of the instance.
52008	//
52009	// InstanceId is a required field
52010	InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
52011
52012	// A name for the new image.
52013	//
52014	// Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets
52015	// ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('),
52016	// at-signs (@), or underscores(_)
52017	//
52018	// Name is a required field
52019	Name *string `locationName:"name" type:"string" required:"true"`
52020
52021	// By default, Amazon EC2 attempts to shut down and reboot the instance before
52022	// creating the image. If the No Reboot option is set, Amazon EC2 doesn't shut
52023	// down the instance before creating the image. When this option is used, file
52024	// system integrity on the created image can't be guaranteed.
52025	NoReboot *bool `locationName:"noReboot" type:"boolean"`
52026
52027	// The tags to apply to the AMI and snapshots on creation. You can tag the AMI,
52028	// the snapshots, or both.
52029	//
52030	//    * To tag the AMI, the value for ResourceType must be image.
52031	//
52032	//    * To tag the snapshots that are created of the root volume and of other
52033	//    EBS volumes that are attached to the instance, the value for ResourceType
52034	//    must be snapshot. The same tag is applied to all of the snapshots that
52035	//    are created.
52036	//
52037	// If you specify other values for ResourceType, the request fails.
52038	//
52039	// To tag an AMI or snapshot after it has been created, see CreateTags (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).
52040	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
52041}
52042
52043// String returns the string representation
52044func (s CreateImageInput) String() string {
52045	return awsutil.Prettify(s)
52046}
52047
52048// GoString returns the string representation
52049func (s CreateImageInput) GoString() string {
52050	return s.String()
52051}
52052
52053// Validate inspects the fields of the type to determine if they are valid.
52054func (s *CreateImageInput) Validate() error {
52055	invalidParams := request.ErrInvalidParams{Context: "CreateImageInput"}
52056	if s.InstanceId == nil {
52057		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
52058	}
52059	if s.Name == nil {
52060		invalidParams.Add(request.NewErrParamRequired("Name"))
52061	}
52062
52063	if invalidParams.Len() > 0 {
52064		return invalidParams
52065	}
52066	return nil
52067}
52068
52069// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
52070func (s *CreateImageInput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *CreateImageInput {
52071	s.BlockDeviceMappings = v
52072	return s
52073}
52074
52075// SetDescription sets the Description field's value.
52076func (s *CreateImageInput) SetDescription(v string) *CreateImageInput {
52077	s.Description = &v
52078	return s
52079}
52080
52081// SetDryRun sets the DryRun field's value.
52082func (s *CreateImageInput) SetDryRun(v bool) *CreateImageInput {
52083	s.DryRun = &v
52084	return s
52085}
52086
52087// SetInstanceId sets the InstanceId field's value.
52088func (s *CreateImageInput) SetInstanceId(v string) *CreateImageInput {
52089	s.InstanceId = &v
52090	return s
52091}
52092
52093// SetName sets the Name field's value.
52094func (s *CreateImageInput) SetName(v string) *CreateImageInput {
52095	s.Name = &v
52096	return s
52097}
52098
52099// SetNoReboot sets the NoReboot field's value.
52100func (s *CreateImageInput) SetNoReboot(v bool) *CreateImageInput {
52101	s.NoReboot = &v
52102	return s
52103}
52104
52105// SetTagSpecifications sets the TagSpecifications field's value.
52106func (s *CreateImageInput) SetTagSpecifications(v []*TagSpecification) *CreateImageInput {
52107	s.TagSpecifications = v
52108	return s
52109}
52110
52111type CreateImageOutput struct {
52112	_ struct{} `type:"structure"`
52113
52114	// The ID of the new AMI.
52115	ImageId *string `locationName:"imageId" type:"string"`
52116}
52117
52118// String returns the string representation
52119func (s CreateImageOutput) String() string {
52120	return awsutil.Prettify(s)
52121}
52122
52123// GoString returns the string representation
52124func (s CreateImageOutput) GoString() string {
52125	return s.String()
52126}
52127
52128// SetImageId sets the ImageId field's value.
52129func (s *CreateImageOutput) SetImageId(v string) *CreateImageOutput {
52130	s.ImageId = &v
52131	return s
52132}
52133
52134type CreateInstanceExportTaskInput struct {
52135	_ struct{} `type:"structure"`
52136
52137	// A description for the conversion task or the resource being exported. The
52138	// maximum length is 255 characters.
52139	Description *string `locationName:"description" type:"string"`
52140
52141	// The format and location for an export instance task.
52142	//
52143	// ExportToS3Task is a required field
52144	ExportToS3Task *ExportToS3TaskSpecification `locationName:"exportToS3" type:"structure" required:"true"`
52145
52146	// The ID of the instance.
52147	//
52148	// InstanceId is a required field
52149	InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
52150
52151	// The tags to apply to the export instance task during creation.
52152	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
52153
52154	// The target virtualization environment.
52155	//
52156	// TargetEnvironment is a required field
52157	TargetEnvironment *string `locationName:"targetEnvironment" type:"string" required:"true" enum:"ExportEnvironment"`
52158}
52159
52160// String returns the string representation
52161func (s CreateInstanceExportTaskInput) String() string {
52162	return awsutil.Prettify(s)
52163}
52164
52165// GoString returns the string representation
52166func (s CreateInstanceExportTaskInput) GoString() string {
52167	return s.String()
52168}
52169
52170// Validate inspects the fields of the type to determine if they are valid.
52171func (s *CreateInstanceExportTaskInput) Validate() error {
52172	invalidParams := request.ErrInvalidParams{Context: "CreateInstanceExportTaskInput"}
52173	if s.ExportToS3Task == nil {
52174		invalidParams.Add(request.NewErrParamRequired("ExportToS3Task"))
52175	}
52176	if s.InstanceId == nil {
52177		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
52178	}
52179	if s.TargetEnvironment == nil {
52180		invalidParams.Add(request.NewErrParamRequired("TargetEnvironment"))
52181	}
52182
52183	if invalidParams.Len() > 0 {
52184		return invalidParams
52185	}
52186	return nil
52187}
52188
52189// SetDescription sets the Description field's value.
52190func (s *CreateInstanceExportTaskInput) SetDescription(v string) *CreateInstanceExportTaskInput {
52191	s.Description = &v
52192	return s
52193}
52194
52195// SetExportToS3Task sets the ExportToS3Task field's value.
52196func (s *CreateInstanceExportTaskInput) SetExportToS3Task(v *ExportToS3TaskSpecification) *CreateInstanceExportTaskInput {
52197	s.ExportToS3Task = v
52198	return s
52199}
52200
52201// SetInstanceId sets the InstanceId field's value.
52202func (s *CreateInstanceExportTaskInput) SetInstanceId(v string) *CreateInstanceExportTaskInput {
52203	s.InstanceId = &v
52204	return s
52205}
52206
52207// SetTagSpecifications sets the TagSpecifications field's value.
52208func (s *CreateInstanceExportTaskInput) SetTagSpecifications(v []*TagSpecification) *CreateInstanceExportTaskInput {
52209	s.TagSpecifications = v
52210	return s
52211}
52212
52213// SetTargetEnvironment sets the TargetEnvironment field's value.
52214func (s *CreateInstanceExportTaskInput) SetTargetEnvironment(v string) *CreateInstanceExportTaskInput {
52215	s.TargetEnvironment = &v
52216	return s
52217}
52218
52219type CreateInstanceExportTaskOutput struct {
52220	_ struct{} `type:"structure"`
52221
52222	// Information about the export instance task.
52223	ExportTask *ExportTask `locationName:"exportTask" type:"structure"`
52224}
52225
52226// String returns the string representation
52227func (s CreateInstanceExportTaskOutput) String() string {
52228	return awsutil.Prettify(s)
52229}
52230
52231// GoString returns the string representation
52232func (s CreateInstanceExportTaskOutput) GoString() string {
52233	return s.String()
52234}
52235
52236// SetExportTask sets the ExportTask field's value.
52237func (s *CreateInstanceExportTaskOutput) SetExportTask(v *ExportTask) *CreateInstanceExportTaskOutput {
52238	s.ExportTask = v
52239	return s
52240}
52241
52242type CreateInternetGatewayInput struct {
52243	_ struct{} `type:"structure"`
52244
52245	// Checks whether you have the required permissions for the action, without
52246	// actually making the request, and provides an error response. If you have
52247	// the required permissions, the error response is DryRunOperation. Otherwise,
52248	// it is UnauthorizedOperation.
52249	DryRun *bool `locationName:"dryRun" type:"boolean"`
52250
52251	// The tags to assign to the internet gateway.
52252	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
52253}
52254
52255// String returns the string representation
52256func (s CreateInternetGatewayInput) String() string {
52257	return awsutil.Prettify(s)
52258}
52259
52260// GoString returns the string representation
52261func (s CreateInternetGatewayInput) GoString() string {
52262	return s.String()
52263}
52264
52265// SetDryRun sets the DryRun field's value.
52266func (s *CreateInternetGatewayInput) SetDryRun(v bool) *CreateInternetGatewayInput {
52267	s.DryRun = &v
52268	return s
52269}
52270
52271// SetTagSpecifications sets the TagSpecifications field's value.
52272func (s *CreateInternetGatewayInput) SetTagSpecifications(v []*TagSpecification) *CreateInternetGatewayInput {
52273	s.TagSpecifications = v
52274	return s
52275}
52276
52277type CreateInternetGatewayOutput struct {
52278	_ struct{} `type:"structure"`
52279
52280	// Information about the internet gateway.
52281	InternetGateway *InternetGateway `locationName:"internetGateway" type:"structure"`
52282}
52283
52284// String returns the string representation
52285func (s CreateInternetGatewayOutput) String() string {
52286	return awsutil.Prettify(s)
52287}
52288
52289// GoString returns the string representation
52290func (s CreateInternetGatewayOutput) GoString() string {
52291	return s.String()
52292}
52293
52294// SetInternetGateway sets the InternetGateway field's value.
52295func (s *CreateInternetGatewayOutput) SetInternetGateway(v *InternetGateway) *CreateInternetGatewayOutput {
52296	s.InternetGateway = v
52297	return s
52298}
52299
52300type CreateKeyPairInput struct {
52301	_ struct{} `type:"structure"`
52302
52303	// Checks whether you have the required permissions for the action, without
52304	// actually making the request, and provides an error response. If you have
52305	// the required permissions, the error response is DryRunOperation. Otherwise,
52306	// it is UnauthorizedOperation.
52307	DryRun *bool `locationName:"dryRun" type:"boolean"`
52308
52309	// A unique name for the key pair.
52310	//
52311	// Constraints: Up to 255 ASCII characters
52312	//
52313	// KeyName is a required field
52314	KeyName *string `type:"string" required:"true"`
52315
52316	// The tags to apply to the new key pair.
52317	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
52318}
52319
52320// String returns the string representation
52321func (s CreateKeyPairInput) String() string {
52322	return awsutil.Prettify(s)
52323}
52324
52325// GoString returns the string representation
52326func (s CreateKeyPairInput) GoString() string {
52327	return s.String()
52328}
52329
52330// Validate inspects the fields of the type to determine if they are valid.
52331func (s *CreateKeyPairInput) Validate() error {
52332	invalidParams := request.ErrInvalidParams{Context: "CreateKeyPairInput"}
52333	if s.KeyName == nil {
52334		invalidParams.Add(request.NewErrParamRequired("KeyName"))
52335	}
52336
52337	if invalidParams.Len() > 0 {
52338		return invalidParams
52339	}
52340	return nil
52341}
52342
52343// SetDryRun sets the DryRun field's value.
52344func (s *CreateKeyPairInput) SetDryRun(v bool) *CreateKeyPairInput {
52345	s.DryRun = &v
52346	return s
52347}
52348
52349// SetKeyName sets the KeyName field's value.
52350func (s *CreateKeyPairInput) SetKeyName(v string) *CreateKeyPairInput {
52351	s.KeyName = &v
52352	return s
52353}
52354
52355// SetTagSpecifications sets the TagSpecifications field's value.
52356func (s *CreateKeyPairInput) SetTagSpecifications(v []*TagSpecification) *CreateKeyPairInput {
52357	s.TagSpecifications = v
52358	return s
52359}
52360
52361// Describes a key pair.
52362type CreateKeyPairOutput struct {
52363	_ struct{} `type:"structure"`
52364
52365	// The SHA-1 digest of the DER encoded private key.
52366	KeyFingerprint *string `locationName:"keyFingerprint" type:"string"`
52367
52368	// An unencrypted PEM encoded RSA private key.
52369	KeyMaterial *string `locationName:"keyMaterial" type:"string" sensitive:"true"`
52370
52371	// The name of the key pair.
52372	KeyName *string `locationName:"keyName" type:"string"`
52373
52374	// The ID of the key pair.
52375	KeyPairId *string `locationName:"keyPairId" type:"string"`
52376
52377	// Any tags applied to the key pair.
52378	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
52379}
52380
52381// String returns the string representation
52382func (s CreateKeyPairOutput) String() string {
52383	return awsutil.Prettify(s)
52384}
52385
52386// GoString returns the string representation
52387func (s CreateKeyPairOutput) GoString() string {
52388	return s.String()
52389}
52390
52391// SetKeyFingerprint sets the KeyFingerprint field's value.
52392func (s *CreateKeyPairOutput) SetKeyFingerprint(v string) *CreateKeyPairOutput {
52393	s.KeyFingerprint = &v
52394	return s
52395}
52396
52397// SetKeyMaterial sets the KeyMaterial field's value.
52398func (s *CreateKeyPairOutput) SetKeyMaterial(v string) *CreateKeyPairOutput {
52399	s.KeyMaterial = &v
52400	return s
52401}
52402
52403// SetKeyName sets the KeyName field's value.
52404func (s *CreateKeyPairOutput) SetKeyName(v string) *CreateKeyPairOutput {
52405	s.KeyName = &v
52406	return s
52407}
52408
52409// SetKeyPairId sets the KeyPairId field's value.
52410func (s *CreateKeyPairOutput) SetKeyPairId(v string) *CreateKeyPairOutput {
52411	s.KeyPairId = &v
52412	return s
52413}
52414
52415// SetTags sets the Tags field's value.
52416func (s *CreateKeyPairOutput) SetTags(v []*Tag) *CreateKeyPairOutput {
52417	s.Tags = v
52418	return s
52419}
52420
52421type CreateLaunchTemplateInput struct {
52422	_ struct{} `type:"structure"`
52423
52424	// Unique, case-sensitive identifier you provide to ensure the idempotency of
52425	// the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
52426	//
52427	// Constraint: Maximum 128 ASCII characters.
52428	ClientToken *string `type:"string"`
52429
52430	// Checks whether you have the required permissions for the action, without
52431	// actually making the request, and provides an error response. If you have
52432	// the required permissions, the error response is DryRunOperation. Otherwise,
52433	// it is UnauthorizedOperation.
52434	DryRun *bool `type:"boolean"`
52435
52436	// The information for the launch template.
52437	//
52438	// LaunchTemplateData is a required field
52439	LaunchTemplateData *RequestLaunchTemplateData `type:"structure" required:"true"`
52440
52441	// A name for the launch template.
52442	//
52443	// LaunchTemplateName is a required field
52444	LaunchTemplateName *string `min:"3" type:"string" required:"true"`
52445
52446	// The tags to apply to the launch template during creation.
52447	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
52448
52449	// A description for the first version of the launch template.
52450	VersionDescription *string `type:"string"`
52451}
52452
52453// String returns the string representation
52454func (s CreateLaunchTemplateInput) String() string {
52455	return awsutil.Prettify(s)
52456}
52457
52458// GoString returns the string representation
52459func (s CreateLaunchTemplateInput) GoString() string {
52460	return s.String()
52461}
52462
52463// Validate inspects the fields of the type to determine if they are valid.
52464func (s *CreateLaunchTemplateInput) Validate() error {
52465	invalidParams := request.ErrInvalidParams{Context: "CreateLaunchTemplateInput"}
52466	if s.LaunchTemplateData == nil {
52467		invalidParams.Add(request.NewErrParamRequired("LaunchTemplateData"))
52468	}
52469	if s.LaunchTemplateName == nil {
52470		invalidParams.Add(request.NewErrParamRequired("LaunchTemplateName"))
52471	}
52472	if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
52473		invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
52474	}
52475	if s.LaunchTemplateData != nil {
52476		if err := s.LaunchTemplateData.Validate(); err != nil {
52477			invalidParams.AddNested("LaunchTemplateData", err.(request.ErrInvalidParams))
52478		}
52479	}
52480
52481	if invalidParams.Len() > 0 {
52482		return invalidParams
52483	}
52484	return nil
52485}
52486
52487// SetClientToken sets the ClientToken field's value.
52488func (s *CreateLaunchTemplateInput) SetClientToken(v string) *CreateLaunchTemplateInput {
52489	s.ClientToken = &v
52490	return s
52491}
52492
52493// SetDryRun sets the DryRun field's value.
52494func (s *CreateLaunchTemplateInput) SetDryRun(v bool) *CreateLaunchTemplateInput {
52495	s.DryRun = &v
52496	return s
52497}
52498
52499// SetLaunchTemplateData sets the LaunchTemplateData field's value.
52500func (s *CreateLaunchTemplateInput) SetLaunchTemplateData(v *RequestLaunchTemplateData) *CreateLaunchTemplateInput {
52501	s.LaunchTemplateData = v
52502	return s
52503}
52504
52505// SetLaunchTemplateName sets the LaunchTemplateName field's value.
52506func (s *CreateLaunchTemplateInput) SetLaunchTemplateName(v string) *CreateLaunchTemplateInput {
52507	s.LaunchTemplateName = &v
52508	return s
52509}
52510
52511// SetTagSpecifications sets the TagSpecifications field's value.
52512func (s *CreateLaunchTemplateInput) SetTagSpecifications(v []*TagSpecification) *CreateLaunchTemplateInput {
52513	s.TagSpecifications = v
52514	return s
52515}
52516
52517// SetVersionDescription sets the VersionDescription field's value.
52518func (s *CreateLaunchTemplateInput) SetVersionDescription(v string) *CreateLaunchTemplateInput {
52519	s.VersionDescription = &v
52520	return s
52521}
52522
52523type CreateLaunchTemplateOutput struct {
52524	_ struct{} `type:"structure"`
52525
52526	// Information about the launch template.
52527	LaunchTemplate *LaunchTemplate `locationName:"launchTemplate" type:"structure"`
52528
52529	// If the launch template contains parameters or parameter combinations that
52530	// are not valid, an error code and an error message are returned for each issue
52531	// that's found.
52532	Warning *ValidationWarning `locationName:"warning" type:"structure"`
52533}
52534
52535// String returns the string representation
52536func (s CreateLaunchTemplateOutput) String() string {
52537	return awsutil.Prettify(s)
52538}
52539
52540// GoString returns the string representation
52541func (s CreateLaunchTemplateOutput) GoString() string {
52542	return s.String()
52543}
52544
52545// SetLaunchTemplate sets the LaunchTemplate field's value.
52546func (s *CreateLaunchTemplateOutput) SetLaunchTemplate(v *LaunchTemplate) *CreateLaunchTemplateOutput {
52547	s.LaunchTemplate = v
52548	return s
52549}
52550
52551// SetWarning sets the Warning field's value.
52552func (s *CreateLaunchTemplateOutput) SetWarning(v *ValidationWarning) *CreateLaunchTemplateOutput {
52553	s.Warning = v
52554	return s
52555}
52556
52557type CreateLaunchTemplateVersionInput struct {
52558	_ struct{} `type:"structure"`
52559
52560	// Unique, case-sensitive identifier you provide to ensure the idempotency of
52561	// the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
52562	//
52563	// Constraint: Maximum 128 ASCII characters.
52564	ClientToken *string `type:"string"`
52565
52566	// Checks whether you have the required permissions for the action, without
52567	// actually making the request, and provides an error response. If you have
52568	// the required permissions, the error response is DryRunOperation. Otherwise,
52569	// it is UnauthorizedOperation.
52570	DryRun *bool `type:"boolean"`
52571
52572	// The information for the launch template.
52573	//
52574	// LaunchTemplateData is a required field
52575	LaunchTemplateData *RequestLaunchTemplateData `type:"structure" required:"true"`
52576
52577	// The ID of the launch template. You must specify either the launch template
52578	// ID or launch template name in the request.
52579	LaunchTemplateId *string `type:"string"`
52580
52581	// The name of the launch template. You must specify either the launch template
52582	// ID or launch template name in the request.
52583	LaunchTemplateName *string `min:"3" type:"string"`
52584
52585	// The version number of the launch template version on which to base the new
52586	// version. The new version inherits the same launch parameters as the source
52587	// version, except for parameters that you specify in LaunchTemplateData. Snapshots
52588	// applied to the block device mapping are ignored when creating a new version
52589	// unless they are explicitly included.
52590	SourceVersion *string `type:"string"`
52591
52592	// A description for the version of the launch template.
52593	VersionDescription *string `type:"string"`
52594}
52595
52596// String returns the string representation
52597func (s CreateLaunchTemplateVersionInput) String() string {
52598	return awsutil.Prettify(s)
52599}
52600
52601// GoString returns the string representation
52602func (s CreateLaunchTemplateVersionInput) GoString() string {
52603	return s.String()
52604}
52605
52606// Validate inspects the fields of the type to determine if they are valid.
52607func (s *CreateLaunchTemplateVersionInput) Validate() error {
52608	invalidParams := request.ErrInvalidParams{Context: "CreateLaunchTemplateVersionInput"}
52609	if s.LaunchTemplateData == nil {
52610		invalidParams.Add(request.NewErrParamRequired("LaunchTemplateData"))
52611	}
52612	if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
52613		invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
52614	}
52615	if s.LaunchTemplateData != nil {
52616		if err := s.LaunchTemplateData.Validate(); err != nil {
52617			invalidParams.AddNested("LaunchTemplateData", err.(request.ErrInvalidParams))
52618		}
52619	}
52620
52621	if invalidParams.Len() > 0 {
52622		return invalidParams
52623	}
52624	return nil
52625}
52626
52627// SetClientToken sets the ClientToken field's value.
52628func (s *CreateLaunchTemplateVersionInput) SetClientToken(v string) *CreateLaunchTemplateVersionInput {
52629	s.ClientToken = &v
52630	return s
52631}
52632
52633// SetDryRun sets the DryRun field's value.
52634func (s *CreateLaunchTemplateVersionInput) SetDryRun(v bool) *CreateLaunchTemplateVersionInput {
52635	s.DryRun = &v
52636	return s
52637}
52638
52639// SetLaunchTemplateData sets the LaunchTemplateData field's value.
52640func (s *CreateLaunchTemplateVersionInput) SetLaunchTemplateData(v *RequestLaunchTemplateData) *CreateLaunchTemplateVersionInput {
52641	s.LaunchTemplateData = v
52642	return s
52643}
52644
52645// SetLaunchTemplateId sets the LaunchTemplateId field's value.
52646func (s *CreateLaunchTemplateVersionInput) SetLaunchTemplateId(v string) *CreateLaunchTemplateVersionInput {
52647	s.LaunchTemplateId = &v
52648	return s
52649}
52650
52651// SetLaunchTemplateName sets the LaunchTemplateName field's value.
52652func (s *CreateLaunchTemplateVersionInput) SetLaunchTemplateName(v string) *CreateLaunchTemplateVersionInput {
52653	s.LaunchTemplateName = &v
52654	return s
52655}
52656
52657// SetSourceVersion sets the SourceVersion field's value.
52658func (s *CreateLaunchTemplateVersionInput) SetSourceVersion(v string) *CreateLaunchTemplateVersionInput {
52659	s.SourceVersion = &v
52660	return s
52661}
52662
52663// SetVersionDescription sets the VersionDescription field's value.
52664func (s *CreateLaunchTemplateVersionInput) SetVersionDescription(v string) *CreateLaunchTemplateVersionInput {
52665	s.VersionDescription = &v
52666	return s
52667}
52668
52669type CreateLaunchTemplateVersionOutput struct {
52670	_ struct{} `type:"structure"`
52671
52672	// Information about the launch template version.
52673	LaunchTemplateVersion *LaunchTemplateVersion `locationName:"launchTemplateVersion" type:"structure"`
52674
52675	// If the new version of the launch template contains parameters or parameter
52676	// combinations that are not valid, an error code and an error message are returned
52677	// for each issue that's found.
52678	Warning *ValidationWarning `locationName:"warning" type:"structure"`
52679}
52680
52681// String returns the string representation
52682func (s CreateLaunchTemplateVersionOutput) String() string {
52683	return awsutil.Prettify(s)
52684}
52685
52686// GoString returns the string representation
52687func (s CreateLaunchTemplateVersionOutput) GoString() string {
52688	return s.String()
52689}
52690
52691// SetLaunchTemplateVersion sets the LaunchTemplateVersion field's value.
52692func (s *CreateLaunchTemplateVersionOutput) SetLaunchTemplateVersion(v *LaunchTemplateVersion) *CreateLaunchTemplateVersionOutput {
52693	s.LaunchTemplateVersion = v
52694	return s
52695}
52696
52697// SetWarning sets the Warning field's value.
52698func (s *CreateLaunchTemplateVersionOutput) SetWarning(v *ValidationWarning) *CreateLaunchTemplateVersionOutput {
52699	s.Warning = v
52700	return s
52701}
52702
52703type CreateLocalGatewayRouteInput struct {
52704	_ struct{} `type:"structure"`
52705
52706	// The CIDR range used for destination matches. Routing decisions are based
52707	// on the most specific match.
52708	//
52709	// DestinationCidrBlock is a required field
52710	DestinationCidrBlock *string `type:"string" required:"true"`
52711
52712	// Checks whether you have the required permissions for the action, without
52713	// actually making the request, and provides an error response. If you have
52714	// the required permissions, the error response is DryRunOperation. Otherwise,
52715	// it is UnauthorizedOperation.
52716	DryRun *bool `type:"boolean"`
52717
52718	// The ID of the local gateway route table.
52719	//
52720	// LocalGatewayRouteTableId is a required field
52721	LocalGatewayRouteTableId *string `type:"string" required:"true"`
52722
52723	// The ID of the virtual interface group.
52724	//
52725	// LocalGatewayVirtualInterfaceGroupId is a required field
52726	LocalGatewayVirtualInterfaceGroupId *string `type:"string" required:"true"`
52727}
52728
52729// String returns the string representation
52730func (s CreateLocalGatewayRouteInput) String() string {
52731	return awsutil.Prettify(s)
52732}
52733
52734// GoString returns the string representation
52735func (s CreateLocalGatewayRouteInput) GoString() string {
52736	return s.String()
52737}
52738
52739// Validate inspects the fields of the type to determine if they are valid.
52740func (s *CreateLocalGatewayRouteInput) Validate() error {
52741	invalidParams := request.ErrInvalidParams{Context: "CreateLocalGatewayRouteInput"}
52742	if s.DestinationCidrBlock == nil {
52743		invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
52744	}
52745	if s.LocalGatewayRouteTableId == nil {
52746		invalidParams.Add(request.NewErrParamRequired("LocalGatewayRouteTableId"))
52747	}
52748	if s.LocalGatewayVirtualInterfaceGroupId == nil {
52749		invalidParams.Add(request.NewErrParamRequired("LocalGatewayVirtualInterfaceGroupId"))
52750	}
52751
52752	if invalidParams.Len() > 0 {
52753		return invalidParams
52754	}
52755	return nil
52756}
52757
52758// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
52759func (s *CreateLocalGatewayRouteInput) SetDestinationCidrBlock(v string) *CreateLocalGatewayRouteInput {
52760	s.DestinationCidrBlock = &v
52761	return s
52762}
52763
52764// SetDryRun sets the DryRun field's value.
52765func (s *CreateLocalGatewayRouteInput) SetDryRun(v bool) *CreateLocalGatewayRouteInput {
52766	s.DryRun = &v
52767	return s
52768}
52769
52770// SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
52771func (s *CreateLocalGatewayRouteInput) SetLocalGatewayRouteTableId(v string) *CreateLocalGatewayRouteInput {
52772	s.LocalGatewayRouteTableId = &v
52773	return s
52774}
52775
52776// SetLocalGatewayVirtualInterfaceGroupId sets the LocalGatewayVirtualInterfaceGroupId field's value.
52777func (s *CreateLocalGatewayRouteInput) SetLocalGatewayVirtualInterfaceGroupId(v string) *CreateLocalGatewayRouteInput {
52778	s.LocalGatewayVirtualInterfaceGroupId = &v
52779	return s
52780}
52781
52782type CreateLocalGatewayRouteOutput struct {
52783	_ struct{} `type:"structure"`
52784
52785	// Information about the route.
52786	Route *LocalGatewayRoute `locationName:"route" type:"structure"`
52787}
52788
52789// String returns the string representation
52790func (s CreateLocalGatewayRouteOutput) String() string {
52791	return awsutil.Prettify(s)
52792}
52793
52794// GoString returns the string representation
52795func (s CreateLocalGatewayRouteOutput) GoString() string {
52796	return s.String()
52797}
52798
52799// SetRoute sets the Route field's value.
52800func (s *CreateLocalGatewayRouteOutput) SetRoute(v *LocalGatewayRoute) *CreateLocalGatewayRouteOutput {
52801	s.Route = v
52802	return s
52803}
52804
52805type CreateLocalGatewayRouteTableVpcAssociationInput struct {
52806	_ struct{} `type:"structure"`
52807
52808	// Checks whether you have the required permissions for the action, without
52809	// actually making the request, and provides an error response. If you have
52810	// the required permissions, the error response is DryRunOperation. Otherwise,
52811	// it is UnauthorizedOperation.
52812	DryRun *bool `type:"boolean"`
52813
52814	// The ID of the local gateway route table.
52815	//
52816	// LocalGatewayRouteTableId is a required field
52817	LocalGatewayRouteTableId *string `type:"string" required:"true"`
52818
52819	// The tags to assign to the local gateway route table VPC association.
52820	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
52821
52822	// The ID of the VPC.
52823	//
52824	// VpcId is a required field
52825	VpcId *string `type:"string" required:"true"`
52826}
52827
52828// String returns the string representation
52829func (s CreateLocalGatewayRouteTableVpcAssociationInput) String() string {
52830	return awsutil.Prettify(s)
52831}
52832
52833// GoString returns the string representation
52834func (s CreateLocalGatewayRouteTableVpcAssociationInput) GoString() string {
52835	return s.String()
52836}
52837
52838// Validate inspects the fields of the type to determine if they are valid.
52839func (s *CreateLocalGatewayRouteTableVpcAssociationInput) Validate() error {
52840	invalidParams := request.ErrInvalidParams{Context: "CreateLocalGatewayRouteTableVpcAssociationInput"}
52841	if s.LocalGatewayRouteTableId == nil {
52842		invalidParams.Add(request.NewErrParamRequired("LocalGatewayRouteTableId"))
52843	}
52844	if s.VpcId == nil {
52845		invalidParams.Add(request.NewErrParamRequired("VpcId"))
52846	}
52847
52848	if invalidParams.Len() > 0 {
52849		return invalidParams
52850	}
52851	return nil
52852}
52853
52854// SetDryRun sets the DryRun field's value.
52855func (s *CreateLocalGatewayRouteTableVpcAssociationInput) SetDryRun(v bool) *CreateLocalGatewayRouteTableVpcAssociationInput {
52856	s.DryRun = &v
52857	return s
52858}
52859
52860// SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
52861func (s *CreateLocalGatewayRouteTableVpcAssociationInput) SetLocalGatewayRouteTableId(v string) *CreateLocalGatewayRouteTableVpcAssociationInput {
52862	s.LocalGatewayRouteTableId = &v
52863	return s
52864}
52865
52866// SetTagSpecifications sets the TagSpecifications field's value.
52867func (s *CreateLocalGatewayRouteTableVpcAssociationInput) SetTagSpecifications(v []*TagSpecification) *CreateLocalGatewayRouteTableVpcAssociationInput {
52868	s.TagSpecifications = v
52869	return s
52870}
52871
52872// SetVpcId sets the VpcId field's value.
52873func (s *CreateLocalGatewayRouteTableVpcAssociationInput) SetVpcId(v string) *CreateLocalGatewayRouteTableVpcAssociationInput {
52874	s.VpcId = &v
52875	return s
52876}
52877
52878type CreateLocalGatewayRouteTableVpcAssociationOutput struct {
52879	_ struct{} `type:"structure"`
52880
52881	// Information about the association.
52882	LocalGatewayRouteTableVpcAssociation *LocalGatewayRouteTableVpcAssociation `locationName:"localGatewayRouteTableVpcAssociation" type:"structure"`
52883}
52884
52885// String returns the string representation
52886func (s CreateLocalGatewayRouteTableVpcAssociationOutput) String() string {
52887	return awsutil.Prettify(s)
52888}
52889
52890// GoString returns the string representation
52891func (s CreateLocalGatewayRouteTableVpcAssociationOutput) GoString() string {
52892	return s.String()
52893}
52894
52895// SetLocalGatewayRouteTableVpcAssociation sets the LocalGatewayRouteTableVpcAssociation field's value.
52896func (s *CreateLocalGatewayRouteTableVpcAssociationOutput) SetLocalGatewayRouteTableVpcAssociation(v *LocalGatewayRouteTableVpcAssociation) *CreateLocalGatewayRouteTableVpcAssociationOutput {
52897	s.LocalGatewayRouteTableVpcAssociation = v
52898	return s
52899}
52900
52901type CreateManagedPrefixListInput struct {
52902	_ struct{} `type:"structure"`
52903
52904	// The IP address type.
52905	//
52906	// Valid Values: IPv4 | IPv6
52907	//
52908	// AddressFamily is a required field
52909	AddressFamily *string `type:"string" required:"true"`
52910
52911	// Unique, case-sensitive identifier you provide to ensure the idempotency of
52912	// the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
52913	//
52914	// Constraints: Up to 255 UTF-8 characters in length.
52915	ClientToken *string `type:"string" idempotencyToken:"true"`
52916
52917	// Checks whether you have the required permissions for the action, without
52918	// actually making the request, and provides an error response. If you have
52919	// the required permissions, the error response is DryRunOperation. Otherwise,
52920	// it is UnauthorizedOperation.
52921	DryRun *bool `type:"boolean"`
52922
52923	// One or more entries for the prefix list.
52924	Entries []*AddPrefixListEntry `locationName:"Entry" type:"list"`
52925
52926	// The maximum number of entries for the prefix list.
52927	//
52928	// MaxEntries is a required field
52929	MaxEntries *int64 `type:"integer" required:"true"`
52930
52931	// A name for the prefix list.
52932	//
52933	// Constraints: Up to 255 characters in length. The name cannot start with com.amazonaws.
52934	//
52935	// PrefixListName is a required field
52936	PrefixListName *string `type:"string" required:"true"`
52937
52938	// The tags to apply to the prefix list during creation.
52939	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
52940}
52941
52942// String returns the string representation
52943func (s CreateManagedPrefixListInput) String() string {
52944	return awsutil.Prettify(s)
52945}
52946
52947// GoString returns the string representation
52948func (s CreateManagedPrefixListInput) GoString() string {
52949	return s.String()
52950}
52951
52952// Validate inspects the fields of the type to determine if they are valid.
52953func (s *CreateManagedPrefixListInput) Validate() error {
52954	invalidParams := request.ErrInvalidParams{Context: "CreateManagedPrefixListInput"}
52955	if s.AddressFamily == nil {
52956		invalidParams.Add(request.NewErrParamRequired("AddressFamily"))
52957	}
52958	if s.MaxEntries == nil {
52959		invalidParams.Add(request.NewErrParamRequired("MaxEntries"))
52960	}
52961	if s.PrefixListName == nil {
52962		invalidParams.Add(request.NewErrParamRequired("PrefixListName"))
52963	}
52964	if s.Entries != nil {
52965		for i, v := range s.Entries {
52966			if v == nil {
52967				continue
52968			}
52969			if err := v.Validate(); err != nil {
52970				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Entries", i), err.(request.ErrInvalidParams))
52971			}
52972		}
52973	}
52974
52975	if invalidParams.Len() > 0 {
52976		return invalidParams
52977	}
52978	return nil
52979}
52980
52981// SetAddressFamily sets the AddressFamily field's value.
52982func (s *CreateManagedPrefixListInput) SetAddressFamily(v string) *CreateManagedPrefixListInput {
52983	s.AddressFamily = &v
52984	return s
52985}
52986
52987// SetClientToken sets the ClientToken field's value.
52988func (s *CreateManagedPrefixListInput) SetClientToken(v string) *CreateManagedPrefixListInput {
52989	s.ClientToken = &v
52990	return s
52991}
52992
52993// SetDryRun sets the DryRun field's value.
52994func (s *CreateManagedPrefixListInput) SetDryRun(v bool) *CreateManagedPrefixListInput {
52995	s.DryRun = &v
52996	return s
52997}
52998
52999// SetEntries sets the Entries field's value.
53000func (s *CreateManagedPrefixListInput) SetEntries(v []*AddPrefixListEntry) *CreateManagedPrefixListInput {
53001	s.Entries = v
53002	return s
53003}
53004
53005// SetMaxEntries sets the MaxEntries field's value.
53006func (s *CreateManagedPrefixListInput) SetMaxEntries(v int64) *CreateManagedPrefixListInput {
53007	s.MaxEntries = &v
53008	return s
53009}
53010
53011// SetPrefixListName sets the PrefixListName field's value.
53012func (s *CreateManagedPrefixListInput) SetPrefixListName(v string) *CreateManagedPrefixListInput {
53013	s.PrefixListName = &v
53014	return s
53015}
53016
53017// SetTagSpecifications sets the TagSpecifications field's value.
53018func (s *CreateManagedPrefixListInput) SetTagSpecifications(v []*TagSpecification) *CreateManagedPrefixListInput {
53019	s.TagSpecifications = v
53020	return s
53021}
53022
53023type CreateManagedPrefixListOutput struct {
53024	_ struct{} `type:"structure"`
53025
53026	// Information about the prefix list.
53027	PrefixList *ManagedPrefixList `locationName:"prefixList" type:"structure"`
53028}
53029
53030// String returns the string representation
53031func (s CreateManagedPrefixListOutput) String() string {
53032	return awsutil.Prettify(s)
53033}
53034
53035// GoString returns the string representation
53036func (s CreateManagedPrefixListOutput) GoString() string {
53037	return s.String()
53038}
53039
53040// SetPrefixList sets the PrefixList field's value.
53041func (s *CreateManagedPrefixListOutput) SetPrefixList(v *ManagedPrefixList) *CreateManagedPrefixListOutput {
53042	s.PrefixList = v
53043	return s
53044}
53045
53046type CreateNatGatewayInput struct {
53047	_ struct{} `type:"structure"`
53048
53049	// The allocation ID of an Elastic IP address to associate with the NAT gateway.
53050	// If the Elastic IP address is associated with another resource, you must first
53051	// disassociate it.
53052	//
53053	// AllocationId is a required field
53054	AllocationId *string `type:"string" required:"true"`
53055
53056	// Unique, case-sensitive identifier that you provide to ensure the idempotency
53057	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
53058	//
53059	// Constraint: Maximum 64 ASCII characters.
53060	ClientToken *string `type:"string" idempotencyToken:"true"`
53061
53062	// Checks whether you have the required permissions for the action, without
53063	// actually making the request, and provides an error response. If you have
53064	// the required permissions, the error response is DryRunOperation. Otherwise,
53065	// it is UnauthorizedOperation.
53066	DryRun *bool `type:"boolean"`
53067
53068	// The subnet in which to create the NAT gateway.
53069	//
53070	// SubnetId is a required field
53071	SubnetId *string `type:"string" required:"true"`
53072
53073	// The tags to assign to the NAT gateway.
53074	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
53075}
53076
53077// String returns the string representation
53078func (s CreateNatGatewayInput) String() string {
53079	return awsutil.Prettify(s)
53080}
53081
53082// GoString returns the string representation
53083func (s CreateNatGatewayInput) GoString() string {
53084	return s.String()
53085}
53086
53087// Validate inspects the fields of the type to determine if they are valid.
53088func (s *CreateNatGatewayInput) Validate() error {
53089	invalidParams := request.ErrInvalidParams{Context: "CreateNatGatewayInput"}
53090	if s.AllocationId == nil {
53091		invalidParams.Add(request.NewErrParamRequired("AllocationId"))
53092	}
53093	if s.SubnetId == nil {
53094		invalidParams.Add(request.NewErrParamRequired("SubnetId"))
53095	}
53096
53097	if invalidParams.Len() > 0 {
53098		return invalidParams
53099	}
53100	return nil
53101}
53102
53103// SetAllocationId sets the AllocationId field's value.
53104func (s *CreateNatGatewayInput) SetAllocationId(v string) *CreateNatGatewayInput {
53105	s.AllocationId = &v
53106	return s
53107}
53108
53109// SetClientToken sets the ClientToken field's value.
53110func (s *CreateNatGatewayInput) SetClientToken(v string) *CreateNatGatewayInput {
53111	s.ClientToken = &v
53112	return s
53113}
53114
53115// SetDryRun sets the DryRun field's value.
53116func (s *CreateNatGatewayInput) SetDryRun(v bool) *CreateNatGatewayInput {
53117	s.DryRun = &v
53118	return s
53119}
53120
53121// SetSubnetId sets the SubnetId field's value.
53122func (s *CreateNatGatewayInput) SetSubnetId(v string) *CreateNatGatewayInput {
53123	s.SubnetId = &v
53124	return s
53125}
53126
53127// SetTagSpecifications sets the TagSpecifications field's value.
53128func (s *CreateNatGatewayInput) SetTagSpecifications(v []*TagSpecification) *CreateNatGatewayInput {
53129	s.TagSpecifications = v
53130	return s
53131}
53132
53133type CreateNatGatewayOutput struct {
53134	_ struct{} `type:"structure"`
53135
53136	// Unique, case-sensitive identifier to ensure the idempotency of the request.
53137	// Only returned if a client token was provided in the request.
53138	ClientToken *string `locationName:"clientToken" type:"string"`
53139
53140	// Information about the NAT gateway.
53141	NatGateway *NatGateway `locationName:"natGateway" type:"structure"`
53142}
53143
53144// String returns the string representation
53145func (s CreateNatGatewayOutput) String() string {
53146	return awsutil.Prettify(s)
53147}
53148
53149// GoString returns the string representation
53150func (s CreateNatGatewayOutput) GoString() string {
53151	return s.String()
53152}
53153
53154// SetClientToken sets the ClientToken field's value.
53155func (s *CreateNatGatewayOutput) SetClientToken(v string) *CreateNatGatewayOutput {
53156	s.ClientToken = &v
53157	return s
53158}
53159
53160// SetNatGateway sets the NatGateway field's value.
53161func (s *CreateNatGatewayOutput) SetNatGateway(v *NatGateway) *CreateNatGatewayOutput {
53162	s.NatGateway = v
53163	return s
53164}
53165
53166type CreateNetworkAclEntryInput struct {
53167	_ struct{} `type:"structure"`
53168
53169	// The IPv4 network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).
53170	// We modify the specified CIDR block to its canonical form; for example, if
53171	// you specify 100.68.0.18/18, we modify it to 100.68.0.0/18.
53172	CidrBlock *string `locationName:"cidrBlock" type:"string"`
53173
53174	// Checks whether you have the required permissions for the action, without
53175	// actually making the request, and provides an error response. If you have
53176	// the required permissions, the error response is DryRunOperation. Otherwise,
53177	// it is UnauthorizedOperation.
53178	DryRun *bool `locationName:"dryRun" type:"boolean"`
53179
53180	// Indicates whether this is an egress rule (rule is applied to traffic leaving
53181	// the subnet).
53182	//
53183	// Egress is a required field
53184	Egress *bool `locationName:"egress" type:"boolean" required:"true"`
53185
53186	// ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying protocol
53187	// 1 (ICMP) or protocol 58 (ICMPv6) with an IPv6 CIDR block.
53188	IcmpTypeCode *IcmpTypeCode `locationName:"Icmp" type:"structure"`
53189
53190	// The IPv6 network range to allow or deny, in CIDR notation (for example 2001:db8:1234:1a00::/64).
53191	Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
53192
53193	// The ID of the network ACL.
53194	//
53195	// NetworkAclId is a required field
53196	NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
53197
53198	// TCP or UDP protocols: The range of ports the rule applies to. Required if
53199	// specifying protocol 6 (TCP) or 17 (UDP).
53200	PortRange *PortRange `locationName:"portRange" type:"structure"`
53201
53202	// The protocol number. A value of "-1" means all protocols. If you specify
53203	// "-1" or a protocol number other than "6" (TCP), "17" (UDP), or "1" (ICMP),
53204	// traffic on all ports is allowed, regardless of any ports or ICMP types or
53205	// codes that you specify. If you specify protocol "58" (ICMPv6) and specify
53206	// an IPv4 CIDR block, traffic for all ICMP types and codes allowed, regardless
53207	// of any that you specify. If you specify protocol "58" (ICMPv6) and specify
53208	// an IPv6 CIDR block, you must specify an ICMP type and code.
53209	//
53210	// Protocol is a required field
53211	Protocol *string `locationName:"protocol" type:"string" required:"true"`
53212
53213	// Indicates whether to allow or deny the traffic that matches the rule.
53214	//
53215	// RuleAction is a required field
53216	RuleAction *string `locationName:"ruleAction" type:"string" required:"true" enum:"RuleAction"`
53217
53218	// The rule number for the entry (for example, 100). ACL entries are processed
53219	// in ascending order by rule number.
53220	//
53221	// Constraints: Positive integer from 1 to 32766. The range 32767 to 65535 is
53222	// reserved for internal use.
53223	//
53224	// RuleNumber is a required field
53225	RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"`
53226}
53227
53228// String returns the string representation
53229func (s CreateNetworkAclEntryInput) String() string {
53230	return awsutil.Prettify(s)
53231}
53232
53233// GoString returns the string representation
53234func (s CreateNetworkAclEntryInput) GoString() string {
53235	return s.String()
53236}
53237
53238// Validate inspects the fields of the type to determine if they are valid.
53239func (s *CreateNetworkAclEntryInput) Validate() error {
53240	invalidParams := request.ErrInvalidParams{Context: "CreateNetworkAclEntryInput"}
53241	if s.Egress == nil {
53242		invalidParams.Add(request.NewErrParamRequired("Egress"))
53243	}
53244	if s.NetworkAclId == nil {
53245		invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
53246	}
53247	if s.Protocol == nil {
53248		invalidParams.Add(request.NewErrParamRequired("Protocol"))
53249	}
53250	if s.RuleAction == nil {
53251		invalidParams.Add(request.NewErrParamRequired("RuleAction"))
53252	}
53253	if s.RuleNumber == nil {
53254		invalidParams.Add(request.NewErrParamRequired("RuleNumber"))
53255	}
53256
53257	if invalidParams.Len() > 0 {
53258		return invalidParams
53259	}
53260	return nil
53261}
53262
53263// SetCidrBlock sets the CidrBlock field's value.
53264func (s *CreateNetworkAclEntryInput) SetCidrBlock(v string) *CreateNetworkAclEntryInput {
53265	s.CidrBlock = &v
53266	return s
53267}
53268
53269// SetDryRun sets the DryRun field's value.
53270func (s *CreateNetworkAclEntryInput) SetDryRun(v bool) *CreateNetworkAclEntryInput {
53271	s.DryRun = &v
53272	return s
53273}
53274
53275// SetEgress sets the Egress field's value.
53276func (s *CreateNetworkAclEntryInput) SetEgress(v bool) *CreateNetworkAclEntryInput {
53277	s.Egress = &v
53278	return s
53279}
53280
53281// SetIcmpTypeCode sets the IcmpTypeCode field's value.
53282func (s *CreateNetworkAclEntryInput) SetIcmpTypeCode(v *IcmpTypeCode) *CreateNetworkAclEntryInput {
53283	s.IcmpTypeCode = v
53284	return s
53285}
53286
53287// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
53288func (s *CreateNetworkAclEntryInput) SetIpv6CidrBlock(v string) *CreateNetworkAclEntryInput {
53289	s.Ipv6CidrBlock = &v
53290	return s
53291}
53292
53293// SetNetworkAclId sets the NetworkAclId field's value.
53294func (s *CreateNetworkAclEntryInput) SetNetworkAclId(v string) *CreateNetworkAclEntryInput {
53295	s.NetworkAclId = &v
53296	return s
53297}
53298
53299// SetPortRange sets the PortRange field's value.
53300func (s *CreateNetworkAclEntryInput) SetPortRange(v *PortRange) *CreateNetworkAclEntryInput {
53301	s.PortRange = v
53302	return s
53303}
53304
53305// SetProtocol sets the Protocol field's value.
53306func (s *CreateNetworkAclEntryInput) SetProtocol(v string) *CreateNetworkAclEntryInput {
53307	s.Protocol = &v
53308	return s
53309}
53310
53311// SetRuleAction sets the RuleAction field's value.
53312func (s *CreateNetworkAclEntryInput) SetRuleAction(v string) *CreateNetworkAclEntryInput {
53313	s.RuleAction = &v
53314	return s
53315}
53316
53317// SetRuleNumber sets the RuleNumber field's value.
53318func (s *CreateNetworkAclEntryInput) SetRuleNumber(v int64) *CreateNetworkAclEntryInput {
53319	s.RuleNumber = &v
53320	return s
53321}
53322
53323type CreateNetworkAclEntryOutput struct {
53324	_ struct{} `type:"structure"`
53325}
53326
53327// String returns the string representation
53328func (s CreateNetworkAclEntryOutput) String() string {
53329	return awsutil.Prettify(s)
53330}
53331
53332// GoString returns the string representation
53333func (s CreateNetworkAclEntryOutput) GoString() string {
53334	return s.String()
53335}
53336
53337type CreateNetworkAclInput struct {
53338	_ struct{} `type:"structure"`
53339
53340	// Checks whether you have the required permissions for the action, without
53341	// actually making the request, and provides an error response. If you have
53342	// the required permissions, the error response is DryRunOperation. Otherwise,
53343	// it is UnauthorizedOperation.
53344	DryRun *bool `locationName:"dryRun" type:"boolean"`
53345
53346	// The tags to assign to the network ACL.
53347	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
53348
53349	// The ID of the VPC.
53350	//
53351	// VpcId is a required field
53352	VpcId *string `locationName:"vpcId" type:"string" required:"true"`
53353}
53354
53355// String returns the string representation
53356func (s CreateNetworkAclInput) String() string {
53357	return awsutil.Prettify(s)
53358}
53359
53360// GoString returns the string representation
53361func (s CreateNetworkAclInput) GoString() string {
53362	return s.String()
53363}
53364
53365// Validate inspects the fields of the type to determine if they are valid.
53366func (s *CreateNetworkAclInput) Validate() error {
53367	invalidParams := request.ErrInvalidParams{Context: "CreateNetworkAclInput"}
53368	if s.VpcId == nil {
53369		invalidParams.Add(request.NewErrParamRequired("VpcId"))
53370	}
53371
53372	if invalidParams.Len() > 0 {
53373		return invalidParams
53374	}
53375	return nil
53376}
53377
53378// SetDryRun sets the DryRun field's value.
53379func (s *CreateNetworkAclInput) SetDryRun(v bool) *CreateNetworkAclInput {
53380	s.DryRun = &v
53381	return s
53382}
53383
53384// SetTagSpecifications sets the TagSpecifications field's value.
53385func (s *CreateNetworkAclInput) SetTagSpecifications(v []*TagSpecification) *CreateNetworkAclInput {
53386	s.TagSpecifications = v
53387	return s
53388}
53389
53390// SetVpcId sets the VpcId field's value.
53391func (s *CreateNetworkAclInput) SetVpcId(v string) *CreateNetworkAclInput {
53392	s.VpcId = &v
53393	return s
53394}
53395
53396type CreateNetworkAclOutput struct {
53397	_ struct{} `type:"structure"`
53398
53399	// Information about the network ACL.
53400	NetworkAcl *NetworkAcl `locationName:"networkAcl" type:"structure"`
53401}
53402
53403// String returns the string representation
53404func (s CreateNetworkAclOutput) String() string {
53405	return awsutil.Prettify(s)
53406}
53407
53408// GoString returns the string representation
53409func (s CreateNetworkAclOutput) GoString() string {
53410	return s.String()
53411}
53412
53413// SetNetworkAcl sets the NetworkAcl field's value.
53414func (s *CreateNetworkAclOutput) SetNetworkAcl(v *NetworkAcl) *CreateNetworkAclOutput {
53415	s.NetworkAcl = v
53416	return s
53417}
53418
53419type CreateNetworkInsightsPathInput struct {
53420	_ struct{} `type:"structure"`
53421
53422	// Unique, case-sensitive identifier that you provide to ensure the idempotency
53423	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
53424	ClientToken *string `type:"string" idempotencyToken:"true"`
53425
53426	// The AWS resource that is the destination of the path.
53427	//
53428	// Destination is a required field
53429	Destination *string `type:"string" required:"true"`
53430
53431	// The IP address of the AWS resource that is the destination of the path.
53432	DestinationIp *string `type:"string"`
53433
53434	// The destination port.
53435	DestinationPort *int64 `min:"1" type:"integer"`
53436
53437	// Checks whether you have the required permissions for the action, without
53438	// actually making the request, and provides an error response. If you have
53439	// the required permissions, the error response is DryRunOperation. Otherwise,
53440	// it is UnauthorizedOperation.
53441	DryRun *bool `type:"boolean"`
53442
53443	// The protocol.
53444	//
53445	// Protocol is a required field
53446	Protocol *string `type:"string" required:"true" enum:"Protocol"`
53447
53448	// The AWS resource that is the source of the path.
53449	//
53450	// Source is a required field
53451	Source *string `type:"string" required:"true"`
53452
53453	// The IP address of the AWS resource that is the source of the path.
53454	SourceIp *string `type:"string"`
53455
53456	// The tags to add to the path.
53457	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
53458}
53459
53460// String returns the string representation
53461func (s CreateNetworkInsightsPathInput) String() string {
53462	return awsutil.Prettify(s)
53463}
53464
53465// GoString returns the string representation
53466func (s CreateNetworkInsightsPathInput) GoString() string {
53467	return s.String()
53468}
53469
53470// Validate inspects the fields of the type to determine if they are valid.
53471func (s *CreateNetworkInsightsPathInput) Validate() error {
53472	invalidParams := request.ErrInvalidParams{Context: "CreateNetworkInsightsPathInput"}
53473	if s.Destination == nil {
53474		invalidParams.Add(request.NewErrParamRequired("Destination"))
53475	}
53476	if s.DestinationPort != nil && *s.DestinationPort < 1 {
53477		invalidParams.Add(request.NewErrParamMinValue("DestinationPort", 1))
53478	}
53479	if s.Protocol == nil {
53480		invalidParams.Add(request.NewErrParamRequired("Protocol"))
53481	}
53482	if s.Source == nil {
53483		invalidParams.Add(request.NewErrParamRequired("Source"))
53484	}
53485
53486	if invalidParams.Len() > 0 {
53487		return invalidParams
53488	}
53489	return nil
53490}
53491
53492// SetClientToken sets the ClientToken field's value.
53493func (s *CreateNetworkInsightsPathInput) SetClientToken(v string) *CreateNetworkInsightsPathInput {
53494	s.ClientToken = &v
53495	return s
53496}
53497
53498// SetDestination sets the Destination field's value.
53499func (s *CreateNetworkInsightsPathInput) SetDestination(v string) *CreateNetworkInsightsPathInput {
53500	s.Destination = &v
53501	return s
53502}
53503
53504// SetDestinationIp sets the DestinationIp field's value.
53505func (s *CreateNetworkInsightsPathInput) SetDestinationIp(v string) *CreateNetworkInsightsPathInput {
53506	s.DestinationIp = &v
53507	return s
53508}
53509
53510// SetDestinationPort sets the DestinationPort field's value.
53511func (s *CreateNetworkInsightsPathInput) SetDestinationPort(v int64) *CreateNetworkInsightsPathInput {
53512	s.DestinationPort = &v
53513	return s
53514}
53515
53516// SetDryRun sets the DryRun field's value.
53517func (s *CreateNetworkInsightsPathInput) SetDryRun(v bool) *CreateNetworkInsightsPathInput {
53518	s.DryRun = &v
53519	return s
53520}
53521
53522// SetProtocol sets the Protocol field's value.
53523func (s *CreateNetworkInsightsPathInput) SetProtocol(v string) *CreateNetworkInsightsPathInput {
53524	s.Protocol = &v
53525	return s
53526}
53527
53528// SetSource sets the Source field's value.
53529func (s *CreateNetworkInsightsPathInput) SetSource(v string) *CreateNetworkInsightsPathInput {
53530	s.Source = &v
53531	return s
53532}
53533
53534// SetSourceIp sets the SourceIp field's value.
53535func (s *CreateNetworkInsightsPathInput) SetSourceIp(v string) *CreateNetworkInsightsPathInput {
53536	s.SourceIp = &v
53537	return s
53538}
53539
53540// SetTagSpecifications sets the TagSpecifications field's value.
53541func (s *CreateNetworkInsightsPathInput) SetTagSpecifications(v []*TagSpecification) *CreateNetworkInsightsPathInput {
53542	s.TagSpecifications = v
53543	return s
53544}
53545
53546type CreateNetworkInsightsPathOutput struct {
53547	_ struct{} `type:"structure"`
53548
53549	// Information about the path.
53550	NetworkInsightsPath *NetworkInsightsPath `locationName:"networkInsightsPath" type:"structure"`
53551}
53552
53553// String returns the string representation
53554func (s CreateNetworkInsightsPathOutput) String() string {
53555	return awsutil.Prettify(s)
53556}
53557
53558// GoString returns the string representation
53559func (s CreateNetworkInsightsPathOutput) GoString() string {
53560	return s.String()
53561}
53562
53563// SetNetworkInsightsPath sets the NetworkInsightsPath field's value.
53564func (s *CreateNetworkInsightsPathOutput) SetNetworkInsightsPath(v *NetworkInsightsPath) *CreateNetworkInsightsPathOutput {
53565	s.NetworkInsightsPath = v
53566	return s
53567}
53568
53569// Contains the parameters for CreateNetworkInterface.
53570type CreateNetworkInterfaceInput struct {
53571	_ struct{} `type:"structure"`
53572
53573	// A description for the network interface.
53574	Description *string `locationName:"description" type:"string"`
53575
53576	// Checks whether you have the required permissions for the action, without
53577	// actually making the request, and provides an error response. If you have
53578	// the required permissions, the error response is DryRunOperation. Otherwise,
53579	// it is UnauthorizedOperation.
53580	DryRun *bool `locationName:"dryRun" type:"boolean"`
53581
53582	// The IDs of one or more security groups.
53583	Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
53584
53585	// Indicates the type of network interface. To create an Elastic Fabric Adapter
53586	// (EFA), specify efa. For more information, see Elastic Fabric Adapter (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html)
53587	// in the Amazon Elastic Compute Cloud User Guide.
53588	InterfaceType *string `type:"string" enum:"NetworkInterfaceCreationType"`
53589
53590	// The number of IPv6 addresses to assign to a network interface. Amazon EC2
53591	// automatically selects the IPv6 addresses from the subnet range. You can't
53592	// use this option if specifying specific IPv6 addresses. If your subnet has
53593	// the AssignIpv6AddressOnCreation attribute set to true, you can specify 0
53594	// to override this setting.
53595	Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"`
53596
53597	// One or more specific IPv6 addresses from the IPv6 CIDR block range of your
53598	// subnet. You can't use this option if you're specifying a number of IPv6 addresses.
53599	Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6Addresses" locationNameList:"item" type:"list"`
53600
53601	// The primary private IPv4 address of the network interface. If you don't specify
53602	// an IPv4 address, Amazon EC2 selects one for you from the subnet's IPv4 CIDR
53603	// range. If you specify an IP address, you cannot indicate any IP addresses
53604	// specified in privateIpAddresses as primary (only one IP address can be designated
53605	// as primary).
53606	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
53607
53608	// One or more private IPv4 addresses.
53609	PrivateIpAddresses []*PrivateIpAddressSpecification `locationName:"privateIpAddresses" locationNameList:"item" type:"list"`
53610
53611	// The number of secondary private IPv4 addresses to assign to a network interface.
53612	// When you specify a number of secondary IPv4 addresses, Amazon EC2 selects
53613	// these IP addresses within the subnet's IPv4 CIDR range. You can't specify
53614	// this option and specify more than one private IP address using privateIpAddresses.
53615	//
53616	// The number of IP addresses you can assign to a network interface varies by
53617	// instance type. For more information, see IP Addresses Per ENI Per Instance
53618	// Type (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI)
53619	// in the Amazon Virtual Private Cloud User Guide.
53620	SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
53621
53622	// The ID of the subnet to associate with the network interface.
53623	//
53624	// SubnetId is a required field
53625	SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
53626
53627	// The tags to apply to the new network interface.
53628	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
53629}
53630
53631// String returns the string representation
53632func (s CreateNetworkInterfaceInput) String() string {
53633	return awsutil.Prettify(s)
53634}
53635
53636// GoString returns the string representation
53637func (s CreateNetworkInterfaceInput) GoString() string {
53638	return s.String()
53639}
53640
53641// Validate inspects the fields of the type to determine if they are valid.
53642func (s *CreateNetworkInterfaceInput) Validate() error {
53643	invalidParams := request.ErrInvalidParams{Context: "CreateNetworkInterfaceInput"}
53644	if s.SubnetId == nil {
53645		invalidParams.Add(request.NewErrParamRequired("SubnetId"))
53646	}
53647
53648	if invalidParams.Len() > 0 {
53649		return invalidParams
53650	}
53651	return nil
53652}
53653
53654// SetDescription sets the Description field's value.
53655func (s *CreateNetworkInterfaceInput) SetDescription(v string) *CreateNetworkInterfaceInput {
53656	s.Description = &v
53657	return s
53658}
53659
53660// SetDryRun sets the DryRun field's value.
53661func (s *CreateNetworkInterfaceInput) SetDryRun(v bool) *CreateNetworkInterfaceInput {
53662	s.DryRun = &v
53663	return s
53664}
53665
53666// SetGroups sets the Groups field's value.
53667func (s *CreateNetworkInterfaceInput) SetGroups(v []*string) *CreateNetworkInterfaceInput {
53668	s.Groups = v
53669	return s
53670}
53671
53672// SetInterfaceType sets the InterfaceType field's value.
53673func (s *CreateNetworkInterfaceInput) SetInterfaceType(v string) *CreateNetworkInterfaceInput {
53674	s.InterfaceType = &v
53675	return s
53676}
53677
53678// SetIpv6AddressCount sets the Ipv6AddressCount field's value.
53679func (s *CreateNetworkInterfaceInput) SetIpv6AddressCount(v int64) *CreateNetworkInterfaceInput {
53680	s.Ipv6AddressCount = &v
53681	return s
53682}
53683
53684// SetIpv6Addresses sets the Ipv6Addresses field's value.
53685func (s *CreateNetworkInterfaceInput) SetIpv6Addresses(v []*InstanceIpv6Address) *CreateNetworkInterfaceInput {
53686	s.Ipv6Addresses = v
53687	return s
53688}
53689
53690// SetPrivateIpAddress sets the PrivateIpAddress field's value.
53691func (s *CreateNetworkInterfaceInput) SetPrivateIpAddress(v string) *CreateNetworkInterfaceInput {
53692	s.PrivateIpAddress = &v
53693	return s
53694}
53695
53696// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
53697func (s *CreateNetworkInterfaceInput) SetPrivateIpAddresses(v []*PrivateIpAddressSpecification) *CreateNetworkInterfaceInput {
53698	s.PrivateIpAddresses = v
53699	return s
53700}
53701
53702// SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
53703func (s *CreateNetworkInterfaceInput) SetSecondaryPrivateIpAddressCount(v int64) *CreateNetworkInterfaceInput {
53704	s.SecondaryPrivateIpAddressCount = &v
53705	return s
53706}
53707
53708// SetSubnetId sets the SubnetId field's value.
53709func (s *CreateNetworkInterfaceInput) SetSubnetId(v string) *CreateNetworkInterfaceInput {
53710	s.SubnetId = &v
53711	return s
53712}
53713
53714// SetTagSpecifications sets the TagSpecifications field's value.
53715func (s *CreateNetworkInterfaceInput) SetTagSpecifications(v []*TagSpecification) *CreateNetworkInterfaceInput {
53716	s.TagSpecifications = v
53717	return s
53718}
53719
53720// Contains the output of CreateNetworkInterface.
53721type CreateNetworkInterfaceOutput struct {
53722	_ struct{} `type:"structure"`
53723
53724	// Information about the network interface.
53725	NetworkInterface *NetworkInterface `locationName:"networkInterface" type:"structure"`
53726}
53727
53728// String returns the string representation
53729func (s CreateNetworkInterfaceOutput) String() string {
53730	return awsutil.Prettify(s)
53731}
53732
53733// GoString returns the string representation
53734func (s CreateNetworkInterfaceOutput) GoString() string {
53735	return s.String()
53736}
53737
53738// SetNetworkInterface sets the NetworkInterface field's value.
53739func (s *CreateNetworkInterfaceOutput) SetNetworkInterface(v *NetworkInterface) *CreateNetworkInterfaceOutput {
53740	s.NetworkInterface = v
53741	return s
53742}
53743
53744// Contains the parameters for CreateNetworkInterfacePermission.
53745type CreateNetworkInterfacePermissionInput struct {
53746	_ struct{} `type:"structure"`
53747
53748	// The AWS account ID.
53749	AwsAccountId *string `type:"string"`
53750
53751	// The AWS service. Currently not supported.
53752	AwsService *string `type:"string"`
53753
53754	// Checks whether you have the required permissions for the action, without
53755	// actually making the request, and provides an error response. If you have
53756	// the required permissions, the error response is DryRunOperation. Otherwise,
53757	// it is UnauthorizedOperation.
53758	DryRun *bool `type:"boolean"`
53759
53760	// The ID of the network interface.
53761	//
53762	// NetworkInterfaceId is a required field
53763	NetworkInterfaceId *string `type:"string" required:"true"`
53764
53765	// The type of permission to grant.
53766	//
53767	// Permission is a required field
53768	Permission *string `type:"string" required:"true" enum:"InterfacePermissionType"`
53769}
53770
53771// String returns the string representation
53772func (s CreateNetworkInterfacePermissionInput) String() string {
53773	return awsutil.Prettify(s)
53774}
53775
53776// GoString returns the string representation
53777func (s CreateNetworkInterfacePermissionInput) GoString() string {
53778	return s.String()
53779}
53780
53781// Validate inspects the fields of the type to determine if they are valid.
53782func (s *CreateNetworkInterfacePermissionInput) Validate() error {
53783	invalidParams := request.ErrInvalidParams{Context: "CreateNetworkInterfacePermissionInput"}
53784	if s.NetworkInterfaceId == nil {
53785		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
53786	}
53787	if s.Permission == nil {
53788		invalidParams.Add(request.NewErrParamRequired("Permission"))
53789	}
53790
53791	if invalidParams.Len() > 0 {
53792		return invalidParams
53793	}
53794	return nil
53795}
53796
53797// SetAwsAccountId sets the AwsAccountId field's value.
53798func (s *CreateNetworkInterfacePermissionInput) SetAwsAccountId(v string) *CreateNetworkInterfacePermissionInput {
53799	s.AwsAccountId = &v
53800	return s
53801}
53802
53803// SetAwsService sets the AwsService field's value.
53804func (s *CreateNetworkInterfacePermissionInput) SetAwsService(v string) *CreateNetworkInterfacePermissionInput {
53805	s.AwsService = &v
53806	return s
53807}
53808
53809// SetDryRun sets the DryRun field's value.
53810func (s *CreateNetworkInterfacePermissionInput) SetDryRun(v bool) *CreateNetworkInterfacePermissionInput {
53811	s.DryRun = &v
53812	return s
53813}
53814
53815// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
53816func (s *CreateNetworkInterfacePermissionInput) SetNetworkInterfaceId(v string) *CreateNetworkInterfacePermissionInput {
53817	s.NetworkInterfaceId = &v
53818	return s
53819}
53820
53821// SetPermission sets the Permission field's value.
53822func (s *CreateNetworkInterfacePermissionInput) SetPermission(v string) *CreateNetworkInterfacePermissionInput {
53823	s.Permission = &v
53824	return s
53825}
53826
53827// Contains the output of CreateNetworkInterfacePermission.
53828type CreateNetworkInterfacePermissionOutput struct {
53829	_ struct{} `type:"structure"`
53830
53831	// Information about the permission for the network interface.
53832	InterfacePermission *NetworkInterfacePermission `locationName:"interfacePermission" type:"structure"`
53833}
53834
53835// String returns the string representation
53836func (s CreateNetworkInterfacePermissionOutput) String() string {
53837	return awsutil.Prettify(s)
53838}
53839
53840// GoString returns the string representation
53841func (s CreateNetworkInterfacePermissionOutput) GoString() string {
53842	return s.String()
53843}
53844
53845// SetInterfacePermission sets the InterfacePermission field's value.
53846func (s *CreateNetworkInterfacePermissionOutput) SetInterfacePermission(v *NetworkInterfacePermission) *CreateNetworkInterfacePermissionOutput {
53847	s.InterfacePermission = v
53848	return s
53849}
53850
53851type CreatePlacementGroupInput struct {
53852	_ struct{} `type:"structure"`
53853
53854	// Checks whether you have the required permissions for the action, without
53855	// actually making the request, and provides an error response. If you have
53856	// the required permissions, the error response is DryRunOperation. Otherwise,
53857	// it is UnauthorizedOperation.
53858	DryRun *bool `locationName:"dryRun" type:"boolean"`
53859
53860	// A name for the placement group. Must be unique within the scope of your account
53861	// for the Region.
53862	//
53863	// Constraints: Up to 255 ASCII characters
53864	GroupName *string `locationName:"groupName" type:"string"`
53865
53866	// The number of partitions. Valid only when Strategy is set to partition.
53867	PartitionCount *int64 `type:"integer"`
53868
53869	// The placement strategy.
53870	Strategy *string `locationName:"strategy" type:"string" enum:"PlacementStrategy"`
53871
53872	// The tags to apply to the new placement group.
53873	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
53874}
53875
53876// String returns the string representation
53877func (s CreatePlacementGroupInput) String() string {
53878	return awsutil.Prettify(s)
53879}
53880
53881// GoString returns the string representation
53882func (s CreatePlacementGroupInput) GoString() string {
53883	return s.String()
53884}
53885
53886// SetDryRun sets the DryRun field's value.
53887func (s *CreatePlacementGroupInput) SetDryRun(v bool) *CreatePlacementGroupInput {
53888	s.DryRun = &v
53889	return s
53890}
53891
53892// SetGroupName sets the GroupName field's value.
53893func (s *CreatePlacementGroupInput) SetGroupName(v string) *CreatePlacementGroupInput {
53894	s.GroupName = &v
53895	return s
53896}
53897
53898// SetPartitionCount sets the PartitionCount field's value.
53899func (s *CreatePlacementGroupInput) SetPartitionCount(v int64) *CreatePlacementGroupInput {
53900	s.PartitionCount = &v
53901	return s
53902}
53903
53904// SetStrategy sets the Strategy field's value.
53905func (s *CreatePlacementGroupInput) SetStrategy(v string) *CreatePlacementGroupInput {
53906	s.Strategy = &v
53907	return s
53908}
53909
53910// SetTagSpecifications sets the TagSpecifications field's value.
53911func (s *CreatePlacementGroupInput) SetTagSpecifications(v []*TagSpecification) *CreatePlacementGroupInput {
53912	s.TagSpecifications = v
53913	return s
53914}
53915
53916type CreatePlacementGroupOutput struct {
53917	_ struct{} `type:"structure"`
53918
53919	// Describes a placement group.
53920	PlacementGroup *PlacementGroup `locationName:"placementGroup" type:"structure"`
53921}
53922
53923// String returns the string representation
53924func (s CreatePlacementGroupOutput) String() string {
53925	return awsutil.Prettify(s)
53926}
53927
53928// GoString returns the string representation
53929func (s CreatePlacementGroupOutput) GoString() string {
53930	return s.String()
53931}
53932
53933// SetPlacementGroup sets the PlacementGroup field's value.
53934func (s *CreatePlacementGroupOutput) SetPlacementGroup(v *PlacementGroup) *CreatePlacementGroupOutput {
53935	s.PlacementGroup = v
53936	return s
53937}
53938
53939type CreateReplaceRootVolumeTaskInput struct {
53940	_ struct{} `type:"structure"`
53941
53942	// Unique, case-sensitive identifier you provide to ensure the idempotency of
53943	// the request. If you do not specify a client token, a randomly generated token
53944	// is used for the request to ensure idempotency. For more information, see
53945	// Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
53946	ClientToken *string `type:"string" idempotencyToken:"true"`
53947
53948	// Checks whether you have the required permissions for the action, without
53949	// actually making the request, and provides an error response. If you have
53950	// the required permissions, the error response is DryRunOperation. Otherwise,
53951	// it is UnauthorizedOperation.
53952	DryRun *bool `type:"boolean"`
53953
53954	// The ID of the instance for which to replace the root volume.
53955	//
53956	// InstanceId is a required field
53957	InstanceId *string `type:"string" required:"true"`
53958
53959	// The ID of the snapshot from which to restore the replacement root volume.
53960	// If you want to restore the volume to the initial launch state, omit this
53961	// parameter.
53962	SnapshotId *string `type:"string"`
53963
53964	// The tags to apply to the root volume replacement task.
53965	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
53966}
53967
53968// String returns the string representation
53969func (s CreateReplaceRootVolumeTaskInput) String() string {
53970	return awsutil.Prettify(s)
53971}
53972
53973// GoString returns the string representation
53974func (s CreateReplaceRootVolumeTaskInput) GoString() string {
53975	return s.String()
53976}
53977
53978// Validate inspects the fields of the type to determine if they are valid.
53979func (s *CreateReplaceRootVolumeTaskInput) Validate() error {
53980	invalidParams := request.ErrInvalidParams{Context: "CreateReplaceRootVolumeTaskInput"}
53981	if s.InstanceId == nil {
53982		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
53983	}
53984
53985	if invalidParams.Len() > 0 {
53986		return invalidParams
53987	}
53988	return nil
53989}
53990
53991// SetClientToken sets the ClientToken field's value.
53992func (s *CreateReplaceRootVolumeTaskInput) SetClientToken(v string) *CreateReplaceRootVolumeTaskInput {
53993	s.ClientToken = &v
53994	return s
53995}
53996
53997// SetDryRun sets the DryRun field's value.
53998func (s *CreateReplaceRootVolumeTaskInput) SetDryRun(v bool) *CreateReplaceRootVolumeTaskInput {
53999	s.DryRun = &v
54000	return s
54001}
54002
54003// SetInstanceId sets the InstanceId field's value.
54004func (s *CreateReplaceRootVolumeTaskInput) SetInstanceId(v string) *CreateReplaceRootVolumeTaskInput {
54005	s.InstanceId = &v
54006	return s
54007}
54008
54009// SetSnapshotId sets the SnapshotId field's value.
54010func (s *CreateReplaceRootVolumeTaskInput) SetSnapshotId(v string) *CreateReplaceRootVolumeTaskInput {
54011	s.SnapshotId = &v
54012	return s
54013}
54014
54015// SetTagSpecifications sets the TagSpecifications field's value.
54016func (s *CreateReplaceRootVolumeTaskInput) SetTagSpecifications(v []*TagSpecification) *CreateReplaceRootVolumeTaskInput {
54017	s.TagSpecifications = v
54018	return s
54019}
54020
54021type CreateReplaceRootVolumeTaskOutput struct {
54022	_ struct{} `type:"structure"`
54023
54024	// Information about the root volume replacement task.
54025	ReplaceRootVolumeTask *ReplaceRootVolumeTask `locationName:"replaceRootVolumeTask" type:"structure"`
54026}
54027
54028// String returns the string representation
54029func (s CreateReplaceRootVolumeTaskOutput) String() string {
54030	return awsutil.Prettify(s)
54031}
54032
54033// GoString returns the string representation
54034func (s CreateReplaceRootVolumeTaskOutput) GoString() string {
54035	return s.String()
54036}
54037
54038// SetReplaceRootVolumeTask sets the ReplaceRootVolumeTask field's value.
54039func (s *CreateReplaceRootVolumeTaskOutput) SetReplaceRootVolumeTask(v *ReplaceRootVolumeTask) *CreateReplaceRootVolumeTaskOutput {
54040	s.ReplaceRootVolumeTask = v
54041	return s
54042}
54043
54044// Contains the parameters for CreateReservedInstancesListing.
54045type CreateReservedInstancesListingInput struct {
54046	_ struct{} `type:"structure"`
54047
54048	// Unique, case-sensitive identifier you provide to ensure idempotency of your
54049	// listings. This helps avoid duplicate listings. For more information, see
54050	// Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
54051	//
54052	// ClientToken is a required field
54053	ClientToken *string `locationName:"clientToken" type:"string" required:"true"`
54054
54055	// The number of instances that are a part of a Reserved Instance account to
54056	// be listed in the Reserved Instance Marketplace. This number should be less
54057	// than or equal to the instance count associated with the Reserved Instance
54058	// ID specified in this call.
54059	//
54060	// InstanceCount is a required field
54061	InstanceCount *int64 `locationName:"instanceCount" type:"integer" required:"true"`
54062
54063	// A list specifying the price of the Standard Reserved Instance for each month
54064	// remaining in the Reserved Instance term.
54065	//
54066	// PriceSchedules is a required field
54067	PriceSchedules []*PriceScheduleSpecification `locationName:"priceSchedules" locationNameList:"item" type:"list" required:"true"`
54068
54069	// The ID of the active Standard Reserved Instance.
54070	//
54071	// ReservedInstancesId is a required field
54072	ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string" required:"true"`
54073}
54074
54075// String returns the string representation
54076func (s CreateReservedInstancesListingInput) String() string {
54077	return awsutil.Prettify(s)
54078}
54079
54080// GoString returns the string representation
54081func (s CreateReservedInstancesListingInput) GoString() string {
54082	return s.String()
54083}
54084
54085// Validate inspects the fields of the type to determine if they are valid.
54086func (s *CreateReservedInstancesListingInput) Validate() error {
54087	invalidParams := request.ErrInvalidParams{Context: "CreateReservedInstancesListingInput"}
54088	if s.ClientToken == nil {
54089		invalidParams.Add(request.NewErrParamRequired("ClientToken"))
54090	}
54091	if s.InstanceCount == nil {
54092		invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
54093	}
54094	if s.PriceSchedules == nil {
54095		invalidParams.Add(request.NewErrParamRequired("PriceSchedules"))
54096	}
54097	if s.ReservedInstancesId == nil {
54098		invalidParams.Add(request.NewErrParamRequired("ReservedInstancesId"))
54099	}
54100
54101	if invalidParams.Len() > 0 {
54102		return invalidParams
54103	}
54104	return nil
54105}
54106
54107// SetClientToken sets the ClientToken field's value.
54108func (s *CreateReservedInstancesListingInput) SetClientToken(v string) *CreateReservedInstancesListingInput {
54109	s.ClientToken = &v
54110	return s
54111}
54112
54113// SetInstanceCount sets the InstanceCount field's value.
54114func (s *CreateReservedInstancesListingInput) SetInstanceCount(v int64) *CreateReservedInstancesListingInput {
54115	s.InstanceCount = &v
54116	return s
54117}
54118
54119// SetPriceSchedules sets the PriceSchedules field's value.
54120func (s *CreateReservedInstancesListingInput) SetPriceSchedules(v []*PriceScheduleSpecification) *CreateReservedInstancesListingInput {
54121	s.PriceSchedules = v
54122	return s
54123}
54124
54125// SetReservedInstancesId sets the ReservedInstancesId field's value.
54126func (s *CreateReservedInstancesListingInput) SetReservedInstancesId(v string) *CreateReservedInstancesListingInput {
54127	s.ReservedInstancesId = &v
54128	return s
54129}
54130
54131// Contains the output of CreateReservedInstancesListing.
54132type CreateReservedInstancesListingOutput struct {
54133	_ struct{} `type:"structure"`
54134
54135	// Information about the Standard Reserved Instance listing.
54136	ReservedInstancesListings []*ReservedInstancesListing `locationName:"reservedInstancesListingsSet" locationNameList:"item" type:"list"`
54137}
54138
54139// String returns the string representation
54140func (s CreateReservedInstancesListingOutput) String() string {
54141	return awsutil.Prettify(s)
54142}
54143
54144// GoString returns the string representation
54145func (s CreateReservedInstancesListingOutput) GoString() string {
54146	return s.String()
54147}
54148
54149// SetReservedInstancesListings sets the ReservedInstancesListings field's value.
54150func (s *CreateReservedInstancesListingOutput) SetReservedInstancesListings(v []*ReservedInstancesListing) *CreateReservedInstancesListingOutput {
54151	s.ReservedInstancesListings = v
54152	return s
54153}
54154
54155type CreateRestoreImageTaskInput struct {
54156	_ struct{} `type:"structure"`
54157
54158	// The name of the S3 bucket that contains the stored AMI object.
54159	//
54160	// Bucket is a required field
54161	Bucket *string `type:"string" required:"true"`
54162
54163	// Checks whether you have the required permissions for the action, without
54164	// actually making the request, and provides an error response. If you have
54165	// the required permissions, the error response is DryRunOperation. Otherwise,
54166	// it is UnauthorizedOperation.
54167	DryRun *bool `type:"boolean"`
54168
54169	// The name for the restored AMI. The name must be unique for AMIs in the Region
54170	// for this account. If you do not provide a name, the new AMI gets the same
54171	// name as the original AMI.
54172	Name *string `type:"string"`
54173
54174	// The name of the stored AMI object in the bucket.
54175	//
54176	// ObjectKey is a required field
54177	ObjectKey *string `type:"string" required:"true"`
54178
54179	// The tags to apply to the AMI and snapshots on restoration. You can tag the
54180	// AMI, the snapshots, or both.
54181	//
54182	//    * To tag the AMI, the value for ResourceType must be image.
54183	//
54184	//    * To tag the snapshots, the value for ResourceType must be snapshot. The
54185	//    same tag is applied to all of the snapshots that are created.
54186	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
54187}
54188
54189// String returns the string representation
54190func (s CreateRestoreImageTaskInput) String() string {
54191	return awsutil.Prettify(s)
54192}
54193
54194// GoString returns the string representation
54195func (s CreateRestoreImageTaskInput) GoString() string {
54196	return s.String()
54197}
54198
54199// Validate inspects the fields of the type to determine if they are valid.
54200func (s *CreateRestoreImageTaskInput) Validate() error {
54201	invalidParams := request.ErrInvalidParams{Context: "CreateRestoreImageTaskInput"}
54202	if s.Bucket == nil {
54203		invalidParams.Add(request.NewErrParamRequired("Bucket"))
54204	}
54205	if s.ObjectKey == nil {
54206		invalidParams.Add(request.NewErrParamRequired("ObjectKey"))
54207	}
54208
54209	if invalidParams.Len() > 0 {
54210		return invalidParams
54211	}
54212	return nil
54213}
54214
54215// SetBucket sets the Bucket field's value.
54216func (s *CreateRestoreImageTaskInput) SetBucket(v string) *CreateRestoreImageTaskInput {
54217	s.Bucket = &v
54218	return s
54219}
54220
54221// SetDryRun sets the DryRun field's value.
54222func (s *CreateRestoreImageTaskInput) SetDryRun(v bool) *CreateRestoreImageTaskInput {
54223	s.DryRun = &v
54224	return s
54225}
54226
54227// SetName sets the Name field's value.
54228func (s *CreateRestoreImageTaskInput) SetName(v string) *CreateRestoreImageTaskInput {
54229	s.Name = &v
54230	return s
54231}
54232
54233// SetObjectKey sets the ObjectKey field's value.
54234func (s *CreateRestoreImageTaskInput) SetObjectKey(v string) *CreateRestoreImageTaskInput {
54235	s.ObjectKey = &v
54236	return s
54237}
54238
54239// SetTagSpecifications sets the TagSpecifications field's value.
54240func (s *CreateRestoreImageTaskInput) SetTagSpecifications(v []*TagSpecification) *CreateRestoreImageTaskInput {
54241	s.TagSpecifications = v
54242	return s
54243}
54244
54245type CreateRestoreImageTaskOutput struct {
54246	_ struct{} `type:"structure"`
54247
54248	// The AMI ID.
54249	ImageId *string `locationName:"imageId" type:"string"`
54250}
54251
54252// String returns the string representation
54253func (s CreateRestoreImageTaskOutput) String() string {
54254	return awsutil.Prettify(s)
54255}
54256
54257// GoString returns the string representation
54258func (s CreateRestoreImageTaskOutput) GoString() string {
54259	return s.String()
54260}
54261
54262// SetImageId sets the ImageId field's value.
54263func (s *CreateRestoreImageTaskOutput) SetImageId(v string) *CreateRestoreImageTaskOutput {
54264	s.ImageId = &v
54265	return s
54266}
54267
54268type CreateRouteInput struct {
54269	_ struct{} `type:"structure"`
54270
54271	// The ID of the carrier gateway.
54272	//
54273	// You can only use this option when the VPC contains a subnet which is associated
54274	// with a Wavelength Zone.
54275	CarrierGatewayId *string `type:"string"`
54276
54277	// The IPv4 CIDR address block used for the destination match. Routing decisions
54278	// are based on the most specific match. We modify the specified CIDR block
54279	// to its canonical form; for example, if you specify 100.68.0.18/18, we modify
54280	// it to 100.68.0.0/18.
54281	DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
54282
54283	// The IPv6 CIDR block used for the destination match. Routing decisions are
54284	// based on the most specific match.
54285	DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"`
54286
54287	// The ID of a prefix list used for the destination match.
54288	DestinationPrefixListId *string `type:"string"`
54289
54290	// Checks whether you have the required permissions for the action, without
54291	// actually making the request, and provides an error response. If you have
54292	// the required permissions, the error response is DryRunOperation. Otherwise,
54293	// it is UnauthorizedOperation.
54294	DryRun *bool `locationName:"dryRun" type:"boolean"`
54295
54296	// [IPv6 traffic only] The ID of an egress-only internet gateway.
54297	EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
54298
54299	// The ID of an internet gateway or virtual private gateway attached to your
54300	// VPC.
54301	GatewayId *string `locationName:"gatewayId" type:"string"`
54302
54303	// The ID of a NAT instance in your VPC. The operation fails if you specify
54304	// an instance ID unless exactly one network interface is attached.
54305	InstanceId *string `locationName:"instanceId" type:"string"`
54306
54307	// The ID of the local gateway.
54308	LocalGatewayId *string `type:"string"`
54309
54310	// [IPv4 traffic only] The ID of a NAT gateway.
54311	NatGatewayId *string `locationName:"natGatewayId" type:"string"`
54312
54313	// The ID of a network interface.
54314	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
54315
54316	// The ID of the route table for the route.
54317	//
54318	// RouteTableId is a required field
54319	RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
54320
54321	// The ID of a transit gateway.
54322	TransitGatewayId *string `type:"string"`
54323
54324	// The ID of a VPC endpoint. Supported for Gateway Load Balancer endpoints only.
54325	VpcEndpointId *string `type:"string"`
54326
54327	// The ID of a VPC peering connection.
54328	VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
54329}
54330
54331// String returns the string representation
54332func (s CreateRouteInput) String() string {
54333	return awsutil.Prettify(s)
54334}
54335
54336// GoString returns the string representation
54337func (s CreateRouteInput) GoString() string {
54338	return s.String()
54339}
54340
54341// Validate inspects the fields of the type to determine if they are valid.
54342func (s *CreateRouteInput) Validate() error {
54343	invalidParams := request.ErrInvalidParams{Context: "CreateRouteInput"}
54344	if s.RouteTableId == nil {
54345		invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
54346	}
54347
54348	if invalidParams.Len() > 0 {
54349		return invalidParams
54350	}
54351	return nil
54352}
54353
54354// SetCarrierGatewayId sets the CarrierGatewayId field's value.
54355func (s *CreateRouteInput) SetCarrierGatewayId(v string) *CreateRouteInput {
54356	s.CarrierGatewayId = &v
54357	return s
54358}
54359
54360// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
54361func (s *CreateRouteInput) SetDestinationCidrBlock(v string) *CreateRouteInput {
54362	s.DestinationCidrBlock = &v
54363	return s
54364}
54365
54366// SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value.
54367func (s *CreateRouteInput) SetDestinationIpv6CidrBlock(v string) *CreateRouteInput {
54368	s.DestinationIpv6CidrBlock = &v
54369	return s
54370}
54371
54372// SetDestinationPrefixListId sets the DestinationPrefixListId field's value.
54373func (s *CreateRouteInput) SetDestinationPrefixListId(v string) *CreateRouteInput {
54374	s.DestinationPrefixListId = &v
54375	return s
54376}
54377
54378// SetDryRun sets the DryRun field's value.
54379func (s *CreateRouteInput) SetDryRun(v bool) *CreateRouteInput {
54380	s.DryRun = &v
54381	return s
54382}
54383
54384// SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
54385func (s *CreateRouteInput) SetEgressOnlyInternetGatewayId(v string) *CreateRouteInput {
54386	s.EgressOnlyInternetGatewayId = &v
54387	return s
54388}
54389
54390// SetGatewayId sets the GatewayId field's value.
54391func (s *CreateRouteInput) SetGatewayId(v string) *CreateRouteInput {
54392	s.GatewayId = &v
54393	return s
54394}
54395
54396// SetInstanceId sets the InstanceId field's value.
54397func (s *CreateRouteInput) SetInstanceId(v string) *CreateRouteInput {
54398	s.InstanceId = &v
54399	return s
54400}
54401
54402// SetLocalGatewayId sets the LocalGatewayId field's value.
54403func (s *CreateRouteInput) SetLocalGatewayId(v string) *CreateRouteInput {
54404	s.LocalGatewayId = &v
54405	return s
54406}
54407
54408// SetNatGatewayId sets the NatGatewayId field's value.
54409func (s *CreateRouteInput) SetNatGatewayId(v string) *CreateRouteInput {
54410	s.NatGatewayId = &v
54411	return s
54412}
54413
54414// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
54415func (s *CreateRouteInput) SetNetworkInterfaceId(v string) *CreateRouteInput {
54416	s.NetworkInterfaceId = &v
54417	return s
54418}
54419
54420// SetRouteTableId sets the RouteTableId field's value.
54421func (s *CreateRouteInput) SetRouteTableId(v string) *CreateRouteInput {
54422	s.RouteTableId = &v
54423	return s
54424}
54425
54426// SetTransitGatewayId sets the TransitGatewayId field's value.
54427func (s *CreateRouteInput) SetTransitGatewayId(v string) *CreateRouteInput {
54428	s.TransitGatewayId = &v
54429	return s
54430}
54431
54432// SetVpcEndpointId sets the VpcEndpointId field's value.
54433func (s *CreateRouteInput) SetVpcEndpointId(v string) *CreateRouteInput {
54434	s.VpcEndpointId = &v
54435	return s
54436}
54437
54438// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
54439func (s *CreateRouteInput) SetVpcPeeringConnectionId(v string) *CreateRouteInput {
54440	s.VpcPeeringConnectionId = &v
54441	return s
54442}
54443
54444type CreateRouteOutput struct {
54445	_ struct{} `type:"structure"`
54446
54447	// Returns true if the request succeeds; otherwise, it returns an error.
54448	Return *bool `locationName:"return" type:"boolean"`
54449}
54450
54451// String returns the string representation
54452func (s CreateRouteOutput) String() string {
54453	return awsutil.Prettify(s)
54454}
54455
54456// GoString returns the string representation
54457func (s CreateRouteOutput) GoString() string {
54458	return s.String()
54459}
54460
54461// SetReturn sets the Return field's value.
54462func (s *CreateRouteOutput) SetReturn(v bool) *CreateRouteOutput {
54463	s.Return = &v
54464	return s
54465}
54466
54467type CreateRouteTableInput struct {
54468	_ struct{} `type:"structure"`
54469
54470	// Checks whether you have the required permissions for the action, without
54471	// actually making the request, and provides an error response. If you have
54472	// the required permissions, the error response is DryRunOperation. Otherwise,
54473	// it is UnauthorizedOperation.
54474	DryRun *bool `locationName:"dryRun" type:"boolean"`
54475
54476	// The tags to assign to the route table.
54477	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
54478
54479	// The ID of the VPC.
54480	//
54481	// VpcId is a required field
54482	VpcId *string `locationName:"vpcId" type:"string" required:"true"`
54483}
54484
54485// String returns the string representation
54486func (s CreateRouteTableInput) String() string {
54487	return awsutil.Prettify(s)
54488}
54489
54490// GoString returns the string representation
54491func (s CreateRouteTableInput) GoString() string {
54492	return s.String()
54493}
54494
54495// Validate inspects the fields of the type to determine if they are valid.
54496func (s *CreateRouteTableInput) Validate() error {
54497	invalidParams := request.ErrInvalidParams{Context: "CreateRouteTableInput"}
54498	if s.VpcId == nil {
54499		invalidParams.Add(request.NewErrParamRequired("VpcId"))
54500	}
54501
54502	if invalidParams.Len() > 0 {
54503		return invalidParams
54504	}
54505	return nil
54506}
54507
54508// SetDryRun sets the DryRun field's value.
54509func (s *CreateRouteTableInput) SetDryRun(v bool) *CreateRouteTableInput {
54510	s.DryRun = &v
54511	return s
54512}
54513
54514// SetTagSpecifications sets the TagSpecifications field's value.
54515func (s *CreateRouteTableInput) SetTagSpecifications(v []*TagSpecification) *CreateRouteTableInput {
54516	s.TagSpecifications = v
54517	return s
54518}
54519
54520// SetVpcId sets the VpcId field's value.
54521func (s *CreateRouteTableInput) SetVpcId(v string) *CreateRouteTableInput {
54522	s.VpcId = &v
54523	return s
54524}
54525
54526type CreateRouteTableOutput struct {
54527	_ struct{} `type:"structure"`
54528
54529	// Information about the route table.
54530	RouteTable *RouteTable `locationName:"routeTable" type:"structure"`
54531}
54532
54533// String returns the string representation
54534func (s CreateRouteTableOutput) String() string {
54535	return awsutil.Prettify(s)
54536}
54537
54538// GoString returns the string representation
54539func (s CreateRouteTableOutput) GoString() string {
54540	return s.String()
54541}
54542
54543// SetRouteTable sets the RouteTable field's value.
54544func (s *CreateRouteTableOutput) SetRouteTable(v *RouteTable) *CreateRouteTableOutput {
54545	s.RouteTable = v
54546	return s
54547}
54548
54549type CreateSecurityGroupInput struct {
54550	_ struct{} `type:"structure"`
54551
54552	// A description for the security group. This is informational only.
54553	//
54554	// Constraints: Up to 255 characters in length
54555	//
54556	// Constraints for EC2-Classic: ASCII characters
54557	//
54558	// Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*
54559	//
54560	// Description is a required field
54561	Description *string `locationName:"GroupDescription" type:"string" required:"true"`
54562
54563	// Checks whether you have the required permissions for the action, without
54564	// actually making the request, and provides an error response. If you have
54565	// the required permissions, the error response is DryRunOperation. Otherwise,
54566	// it is UnauthorizedOperation.
54567	DryRun *bool `locationName:"dryRun" type:"boolean"`
54568
54569	// The name of the security group.
54570	//
54571	// Constraints: Up to 255 characters in length. Cannot start with sg-.
54572	//
54573	// Constraints for EC2-Classic: ASCII characters
54574	//
54575	// Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*
54576	//
54577	// GroupName is a required field
54578	GroupName *string `type:"string" required:"true"`
54579
54580	// The tags to assign to the security group.
54581	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
54582
54583	// [EC2-VPC] The ID of the VPC. Required for EC2-VPC.
54584	VpcId *string `type:"string"`
54585}
54586
54587// String returns the string representation
54588func (s CreateSecurityGroupInput) String() string {
54589	return awsutil.Prettify(s)
54590}
54591
54592// GoString returns the string representation
54593func (s CreateSecurityGroupInput) GoString() string {
54594	return s.String()
54595}
54596
54597// Validate inspects the fields of the type to determine if they are valid.
54598func (s *CreateSecurityGroupInput) Validate() error {
54599	invalidParams := request.ErrInvalidParams{Context: "CreateSecurityGroupInput"}
54600	if s.Description == nil {
54601		invalidParams.Add(request.NewErrParamRequired("Description"))
54602	}
54603	if s.GroupName == nil {
54604		invalidParams.Add(request.NewErrParamRequired("GroupName"))
54605	}
54606
54607	if invalidParams.Len() > 0 {
54608		return invalidParams
54609	}
54610	return nil
54611}
54612
54613// SetDescription sets the Description field's value.
54614func (s *CreateSecurityGroupInput) SetDescription(v string) *CreateSecurityGroupInput {
54615	s.Description = &v
54616	return s
54617}
54618
54619// SetDryRun sets the DryRun field's value.
54620func (s *CreateSecurityGroupInput) SetDryRun(v bool) *CreateSecurityGroupInput {
54621	s.DryRun = &v
54622	return s
54623}
54624
54625// SetGroupName sets the GroupName field's value.
54626func (s *CreateSecurityGroupInput) SetGroupName(v string) *CreateSecurityGroupInput {
54627	s.GroupName = &v
54628	return s
54629}
54630
54631// SetTagSpecifications sets the TagSpecifications field's value.
54632func (s *CreateSecurityGroupInput) SetTagSpecifications(v []*TagSpecification) *CreateSecurityGroupInput {
54633	s.TagSpecifications = v
54634	return s
54635}
54636
54637// SetVpcId sets the VpcId field's value.
54638func (s *CreateSecurityGroupInput) SetVpcId(v string) *CreateSecurityGroupInput {
54639	s.VpcId = &v
54640	return s
54641}
54642
54643type CreateSecurityGroupOutput struct {
54644	_ struct{} `type:"structure"`
54645
54646	// The ID of the security group.
54647	GroupId *string `locationName:"groupId" type:"string"`
54648
54649	// The tags assigned to the security group.
54650	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
54651}
54652
54653// String returns the string representation
54654func (s CreateSecurityGroupOutput) String() string {
54655	return awsutil.Prettify(s)
54656}
54657
54658// GoString returns the string representation
54659func (s CreateSecurityGroupOutput) GoString() string {
54660	return s.String()
54661}
54662
54663// SetGroupId sets the GroupId field's value.
54664func (s *CreateSecurityGroupOutput) SetGroupId(v string) *CreateSecurityGroupOutput {
54665	s.GroupId = &v
54666	return s
54667}
54668
54669// SetTags sets the Tags field's value.
54670func (s *CreateSecurityGroupOutput) SetTags(v []*Tag) *CreateSecurityGroupOutput {
54671	s.Tags = v
54672	return s
54673}
54674
54675type CreateSnapshotInput struct {
54676	_ struct{} `type:"structure"`
54677
54678	// A description for the snapshot.
54679	Description *string `type:"string"`
54680
54681	// Checks whether you have the required permissions for the action, without
54682	// actually making the request, and provides an error response. If you have
54683	// the required permissions, the error response is DryRunOperation. Otherwise,
54684	// it is UnauthorizedOperation.
54685	DryRun *bool `locationName:"dryRun" type:"boolean"`
54686
54687	// The Amazon Resource Name (ARN) of the AWS Outpost on which to create a local
54688	// snapshot.
54689	//
54690	//    * To create a snapshot of a volume in a Region, omit this parameter. The
54691	//    snapshot is created in the same Region as the volume.
54692	//
54693	//    * To create a snapshot of a volume on an Outpost and store the snapshot
54694	//    in the Region, omit this parameter. The snapshot is created in the Region
54695	//    for the Outpost.
54696	//
54697	//    * To create a snapshot of a volume on an Outpost and store the snapshot
54698	//    on an Outpost, specify the ARN of the destination Outpost. The snapshot
54699	//    must be created on the same Outpost as the volume.
54700	//
54701	// For more information, see Creating local snapshots from volumes on an Outpost
54702	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshots-outposts.html#create-snapshot)
54703	// in the Amazon Elastic Compute Cloud User Guide.
54704	OutpostArn *string `type:"string"`
54705
54706	// The tags to apply to the snapshot during creation.
54707	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
54708
54709	// The ID of the EBS volume.
54710	//
54711	// VolumeId is a required field
54712	VolumeId *string `type:"string" required:"true"`
54713}
54714
54715// String returns the string representation
54716func (s CreateSnapshotInput) String() string {
54717	return awsutil.Prettify(s)
54718}
54719
54720// GoString returns the string representation
54721func (s CreateSnapshotInput) GoString() string {
54722	return s.String()
54723}
54724
54725// Validate inspects the fields of the type to determine if they are valid.
54726func (s *CreateSnapshotInput) Validate() error {
54727	invalidParams := request.ErrInvalidParams{Context: "CreateSnapshotInput"}
54728	if s.VolumeId == nil {
54729		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
54730	}
54731
54732	if invalidParams.Len() > 0 {
54733		return invalidParams
54734	}
54735	return nil
54736}
54737
54738// SetDescription sets the Description field's value.
54739func (s *CreateSnapshotInput) SetDescription(v string) *CreateSnapshotInput {
54740	s.Description = &v
54741	return s
54742}
54743
54744// SetDryRun sets the DryRun field's value.
54745func (s *CreateSnapshotInput) SetDryRun(v bool) *CreateSnapshotInput {
54746	s.DryRun = &v
54747	return s
54748}
54749
54750// SetOutpostArn sets the OutpostArn field's value.
54751func (s *CreateSnapshotInput) SetOutpostArn(v string) *CreateSnapshotInput {
54752	s.OutpostArn = &v
54753	return s
54754}
54755
54756// SetTagSpecifications sets the TagSpecifications field's value.
54757func (s *CreateSnapshotInput) SetTagSpecifications(v []*TagSpecification) *CreateSnapshotInput {
54758	s.TagSpecifications = v
54759	return s
54760}
54761
54762// SetVolumeId sets the VolumeId field's value.
54763func (s *CreateSnapshotInput) SetVolumeId(v string) *CreateSnapshotInput {
54764	s.VolumeId = &v
54765	return s
54766}
54767
54768type CreateSnapshotsInput struct {
54769	_ struct{} `type:"structure"`
54770
54771	// Copies the tags from the specified volume to corresponding snapshot.
54772	CopyTagsFromSource *string `type:"string" enum:"CopyTagsFromSource"`
54773
54774	// A description propagated to every snapshot specified by the instance.
54775	Description *string `type:"string"`
54776
54777	// Checks whether you have the required permissions for the action, without
54778	// actually making the request, and provides an error response. If you have
54779	// the required permissions, the error response is DryRunOperation. Otherwise,
54780	// it is UnauthorizedOperation.
54781	DryRun *bool `type:"boolean"`
54782
54783	// The instance to specify which volumes should be included in the snapshots.
54784	//
54785	// InstanceSpecification is a required field
54786	InstanceSpecification *InstanceSpecification `type:"structure" required:"true"`
54787
54788	// The Amazon Resource Name (ARN) of the AWS Outpost on which to create the
54789	// local snapshots.
54790	//
54791	//    * To create snapshots from an instance in a Region, omit this parameter.
54792	//    The snapshots are created in the same Region as the instance.
54793	//
54794	//    * To create snapshots from an instance on an Outpost and store the snapshots
54795	//    in the Region, omit this parameter. The snapshots are created in the Region
54796	//    for the Outpost.
54797	//
54798	//    * To create snapshots from an instance on an Outpost and store the snapshots
54799	//    on an Outpost, specify the ARN of the destination Outpost. The snapshots
54800	//    must be created on the same Outpost as the instance.
54801	//
54802	// For more information, see Creating multi-volume local snapshots from instances
54803	// on an Outpost (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshots-outposts.html#create-multivol-snapshot)
54804	// in the Amazon Elastic Compute Cloud User Guide.
54805	OutpostArn *string `type:"string"`
54806
54807	// Tags to apply to every snapshot specified by the instance.
54808	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
54809}
54810
54811// String returns the string representation
54812func (s CreateSnapshotsInput) String() string {
54813	return awsutil.Prettify(s)
54814}
54815
54816// GoString returns the string representation
54817func (s CreateSnapshotsInput) GoString() string {
54818	return s.String()
54819}
54820
54821// Validate inspects the fields of the type to determine if they are valid.
54822func (s *CreateSnapshotsInput) Validate() error {
54823	invalidParams := request.ErrInvalidParams{Context: "CreateSnapshotsInput"}
54824	if s.InstanceSpecification == nil {
54825		invalidParams.Add(request.NewErrParamRequired("InstanceSpecification"))
54826	}
54827
54828	if invalidParams.Len() > 0 {
54829		return invalidParams
54830	}
54831	return nil
54832}
54833
54834// SetCopyTagsFromSource sets the CopyTagsFromSource field's value.
54835func (s *CreateSnapshotsInput) SetCopyTagsFromSource(v string) *CreateSnapshotsInput {
54836	s.CopyTagsFromSource = &v
54837	return s
54838}
54839
54840// SetDescription sets the Description field's value.
54841func (s *CreateSnapshotsInput) SetDescription(v string) *CreateSnapshotsInput {
54842	s.Description = &v
54843	return s
54844}
54845
54846// SetDryRun sets the DryRun field's value.
54847func (s *CreateSnapshotsInput) SetDryRun(v bool) *CreateSnapshotsInput {
54848	s.DryRun = &v
54849	return s
54850}
54851
54852// SetInstanceSpecification sets the InstanceSpecification field's value.
54853func (s *CreateSnapshotsInput) SetInstanceSpecification(v *InstanceSpecification) *CreateSnapshotsInput {
54854	s.InstanceSpecification = v
54855	return s
54856}
54857
54858// SetOutpostArn sets the OutpostArn field's value.
54859func (s *CreateSnapshotsInput) SetOutpostArn(v string) *CreateSnapshotsInput {
54860	s.OutpostArn = &v
54861	return s
54862}
54863
54864// SetTagSpecifications sets the TagSpecifications field's value.
54865func (s *CreateSnapshotsInput) SetTagSpecifications(v []*TagSpecification) *CreateSnapshotsInput {
54866	s.TagSpecifications = v
54867	return s
54868}
54869
54870type CreateSnapshotsOutput struct {
54871	_ struct{} `type:"structure"`
54872
54873	// List of snapshots.
54874	Snapshots []*SnapshotInfo `locationName:"snapshotSet" locationNameList:"item" type:"list"`
54875}
54876
54877// String returns the string representation
54878func (s CreateSnapshotsOutput) String() string {
54879	return awsutil.Prettify(s)
54880}
54881
54882// GoString returns the string representation
54883func (s CreateSnapshotsOutput) GoString() string {
54884	return s.String()
54885}
54886
54887// SetSnapshots sets the Snapshots field's value.
54888func (s *CreateSnapshotsOutput) SetSnapshots(v []*SnapshotInfo) *CreateSnapshotsOutput {
54889	s.Snapshots = v
54890	return s
54891}
54892
54893// Contains the parameters for CreateSpotDatafeedSubscription.
54894type CreateSpotDatafeedSubscriptionInput struct {
54895	_ struct{} `type:"structure"`
54896
54897	// The name of the Amazon S3 bucket in which to store the Spot Instance data
54898	// feed. For more information about bucket names, see Rules for bucket naming
54899	// (https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html#bucketnamingrules)
54900	// in the Amazon S3 Developer Guide.
54901	//
54902	// Bucket is a required field
54903	Bucket *string `locationName:"bucket" type:"string" required:"true"`
54904
54905	// Checks whether you have the required permissions for the action, without
54906	// actually making the request, and provides an error response. If you have
54907	// the required permissions, the error response is DryRunOperation. Otherwise,
54908	// it is UnauthorizedOperation.
54909	DryRun *bool `locationName:"dryRun" type:"boolean"`
54910
54911	// The prefix for the data feed file names.
54912	Prefix *string `locationName:"prefix" type:"string"`
54913}
54914
54915// String returns the string representation
54916func (s CreateSpotDatafeedSubscriptionInput) String() string {
54917	return awsutil.Prettify(s)
54918}
54919
54920// GoString returns the string representation
54921func (s CreateSpotDatafeedSubscriptionInput) GoString() string {
54922	return s.String()
54923}
54924
54925// Validate inspects the fields of the type to determine if they are valid.
54926func (s *CreateSpotDatafeedSubscriptionInput) Validate() error {
54927	invalidParams := request.ErrInvalidParams{Context: "CreateSpotDatafeedSubscriptionInput"}
54928	if s.Bucket == nil {
54929		invalidParams.Add(request.NewErrParamRequired("Bucket"))
54930	}
54931
54932	if invalidParams.Len() > 0 {
54933		return invalidParams
54934	}
54935	return nil
54936}
54937
54938// SetBucket sets the Bucket field's value.
54939func (s *CreateSpotDatafeedSubscriptionInput) SetBucket(v string) *CreateSpotDatafeedSubscriptionInput {
54940	s.Bucket = &v
54941	return s
54942}
54943
54944// SetDryRun sets the DryRun field's value.
54945func (s *CreateSpotDatafeedSubscriptionInput) SetDryRun(v bool) *CreateSpotDatafeedSubscriptionInput {
54946	s.DryRun = &v
54947	return s
54948}
54949
54950// SetPrefix sets the Prefix field's value.
54951func (s *CreateSpotDatafeedSubscriptionInput) SetPrefix(v string) *CreateSpotDatafeedSubscriptionInput {
54952	s.Prefix = &v
54953	return s
54954}
54955
54956// Contains the output of CreateSpotDatafeedSubscription.
54957type CreateSpotDatafeedSubscriptionOutput struct {
54958	_ struct{} `type:"structure"`
54959
54960	// The Spot Instance data feed subscription.
54961	SpotDatafeedSubscription *SpotDatafeedSubscription `locationName:"spotDatafeedSubscription" type:"structure"`
54962}
54963
54964// String returns the string representation
54965func (s CreateSpotDatafeedSubscriptionOutput) String() string {
54966	return awsutil.Prettify(s)
54967}
54968
54969// GoString returns the string representation
54970func (s CreateSpotDatafeedSubscriptionOutput) GoString() string {
54971	return s.String()
54972}
54973
54974// SetSpotDatafeedSubscription sets the SpotDatafeedSubscription field's value.
54975func (s *CreateSpotDatafeedSubscriptionOutput) SetSpotDatafeedSubscription(v *SpotDatafeedSubscription) *CreateSpotDatafeedSubscriptionOutput {
54976	s.SpotDatafeedSubscription = v
54977	return s
54978}
54979
54980type CreateStoreImageTaskInput struct {
54981	_ struct{} `type:"structure"`
54982
54983	// The name of the S3 bucket in which the AMI object will be stored. The bucket
54984	// must be in the Region in which the request is being made. The AMI object
54985	// appears in the bucket only after the upload task has completed.
54986	//
54987	// Bucket is a required field
54988	Bucket *string `type:"string" required:"true"`
54989
54990	// Checks whether you have the required permissions for the action, without
54991	// actually making the request, and provides an error response. If you have
54992	// the required permissions, the error response is DryRunOperation. Otherwise,
54993	// it is UnauthorizedOperation.
54994	DryRun *bool `type:"boolean"`
54995
54996	// The ID of the AMI.
54997	//
54998	// ImageId is a required field
54999	ImageId *string `type:"string" required:"true"`
55000
55001	// The tags to apply to the AMI object that will be stored in the S3 bucket.
55002	S3ObjectTags []*S3ObjectTag `locationName:"S3ObjectTag" locationNameList:"item" type:"list"`
55003}
55004
55005// String returns the string representation
55006func (s CreateStoreImageTaskInput) String() string {
55007	return awsutil.Prettify(s)
55008}
55009
55010// GoString returns the string representation
55011func (s CreateStoreImageTaskInput) GoString() string {
55012	return s.String()
55013}
55014
55015// Validate inspects the fields of the type to determine if they are valid.
55016func (s *CreateStoreImageTaskInput) Validate() error {
55017	invalidParams := request.ErrInvalidParams{Context: "CreateStoreImageTaskInput"}
55018	if s.Bucket == nil {
55019		invalidParams.Add(request.NewErrParamRequired("Bucket"))
55020	}
55021	if s.ImageId == nil {
55022		invalidParams.Add(request.NewErrParamRequired("ImageId"))
55023	}
55024
55025	if invalidParams.Len() > 0 {
55026		return invalidParams
55027	}
55028	return nil
55029}
55030
55031// SetBucket sets the Bucket field's value.
55032func (s *CreateStoreImageTaskInput) SetBucket(v string) *CreateStoreImageTaskInput {
55033	s.Bucket = &v
55034	return s
55035}
55036
55037// SetDryRun sets the DryRun field's value.
55038func (s *CreateStoreImageTaskInput) SetDryRun(v bool) *CreateStoreImageTaskInput {
55039	s.DryRun = &v
55040	return s
55041}
55042
55043// SetImageId sets the ImageId field's value.
55044func (s *CreateStoreImageTaskInput) SetImageId(v string) *CreateStoreImageTaskInput {
55045	s.ImageId = &v
55046	return s
55047}
55048
55049// SetS3ObjectTags sets the S3ObjectTags field's value.
55050func (s *CreateStoreImageTaskInput) SetS3ObjectTags(v []*S3ObjectTag) *CreateStoreImageTaskInput {
55051	s.S3ObjectTags = v
55052	return s
55053}
55054
55055type CreateStoreImageTaskOutput struct {
55056	_ struct{} `type:"structure"`
55057
55058	// The name of the stored AMI object in the S3 bucket.
55059	ObjectKey *string `locationName:"objectKey" type:"string"`
55060}
55061
55062// String returns the string representation
55063func (s CreateStoreImageTaskOutput) String() string {
55064	return awsutil.Prettify(s)
55065}
55066
55067// GoString returns the string representation
55068func (s CreateStoreImageTaskOutput) GoString() string {
55069	return s.String()
55070}
55071
55072// SetObjectKey sets the ObjectKey field's value.
55073func (s *CreateStoreImageTaskOutput) SetObjectKey(v string) *CreateStoreImageTaskOutput {
55074	s.ObjectKey = &v
55075	return s
55076}
55077
55078type CreateSubnetInput struct {
55079	_ struct{} `type:"structure"`
55080
55081	// The Availability Zone or Local Zone for the subnet.
55082	//
55083	// Default: AWS selects one for you. If you create more than one subnet in your
55084	// VPC, we do not necessarily select a different zone for each subnet.
55085	//
55086	// To create a subnet in a Local Zone, set this value to the Local Zone ID,
55087	// for example us-west-2-lax-1a. For information about the Regions that support
55088	// Local Zones, see Available Regions (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-available-regions)
55089	// in the Amazon Elastic Compute Cloud User Guide.
55090	//
55091	// To create a subnet in an Outpost, set this value to the Availability Zone
55092	// for the Outpost and specify the Outpost ARN.
55093	AvailabilityZone *string `type:"string"`
55094
55095	// The AZ ID or the Local Zone ID of the subnet.
55096	AvailabilityZoneId *string `type:"string"`
55097
55098	// The IPv4 network range for the subnet, in CIDR notation. For example, 10.0.0.0/24.
55099	// We modify the specified CIDR block to its canonical form; for example, if
55100	// you specify 100.68.0.18/18, we modify it to 100.68.0.0/18.
55101	//
55102	// CidrBlock is a required field
55103	CidrBlock *string `type:"string" required:"true"`
55104
55105	// Checks whether you have the required permissions for the action, without
55106	// actually making the request, and provides an error response. If you have
55107	// the required permissions, the error response is DryRunOperation. Otherwise,
55108	// it is UnauthorizedOperation.
55109	DryRun *bool `locationName:"dryRun" type:"boolean"`
55110
55111	// The IPv6 network range for the subnet, in CIDR notation. The subnet size
55112	// must use a /64 prefix length.
55113	Ipv6CidrBlock *string `type:"string"`
55114
55115	// The Amazon Resource Name (ARN) of the Outpost. If you specify an Outpost
55116	// ARN, you must also specify the Availability Zone of the Outpost subnet.
55117	OutpostArn *string `type:"string"`
55118
55119	// The tags to assign to the subnet.
55120	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
55121
55122	// The ID of the VPC.
55123	//
55124	// VpcId is a required field
55125	VpcId *string `type:"string" required:"true"`
55126}
55127
55128// String returns the string representation
55129func (s CreateSubnetInput) String() string {
55130	return awsutil.Prettify(s)
55131}
55132
55133// GoString returns the string representation
55134func (s CreateSubnetInput) GoString() string {
55135	return s.String()
55136}
55137
55138// Validate inspects the fields of the type to determine if they are valid.
55139func (s *CreateSubnetInput) Validate() error {
55140	invalidParams := request.ErrInvalidParams{Context: "CreateSubnetInput"}
55141	if s.CidrBlock == nil {
55142		invalidParams.Add(request.NewErrParamRequired("CidrBlock"))
55143	}
55144	if s.VpcId == nil {
55145		invalidParams.Add(request.NewErrParamRequired("VpcId"))
55146	}
55147
55148	if invalidParams.Len() > 0 {
55149		return invalidParams
55150	}
55151	return nil
55152}
55153
55154// SetAvailabilityZone sets the AvailabilityZone field's value.
55155func (s *CreateSubnetInput) SetAvailabilityZone(v string) *CreateSubnetInput {
55156	s.AvailabilityZone = &v
55157	return s
55158}
55159
55160// SetAvailabilityZoneId sets the AvailabilityZoneId field's value.
55161func (s *CreateSubnetInput) SetAvailabilityZoneId(v string) *CreateSubnetInput {
55162	s.AvailabilityZoneId = &v
55163	return s
55164}
55165
55166// SetCidrBlock sets the CidrBlock field's value.
55167func (s *CreateSubnetInput) SetCidrBlock(v string) *CreateSubnetInput {
55168	s.CidrBlock = &v
55169	return s
55170}
55171
55172// SetDryRun sets the DryRun field's value.
55173func (s *CreateSubnetInput) SetDryRun(v bool) *CreateSubnetInput {
55174	s.DryRun = &v
55175	return s
55176}
55177
55178// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
55179func (s *CreateSubnetInput) SetIpv6CidrBlock(v string) *CreateSubnetInput {
55180	s.Ipv6CidrBlock = &v
55181	return s
55182}
55183
55184// SetOutpostArn sets the OutpostArn field's value.
55185func (s *CreateSubnetInput) SetOutpostArn(v string) *CreateSubnetInput {
55186	s.OutpostArn = &v
55187	return s
55188}
55189
55190// SetTagSpecifications sets the TagSpecifications field's value.
55191func (s *CreateSubnetInput) SetTagSpecifications(v []*TagSpecification) *CreateSubnetInput {
55192	s.TagSpecifications = v
55193	return s
55194}
55195
55196// SetVpcId sets the VpcId field's value.
55197func (s *CreateSubnetInput) SetVpcId(v string) *CreateSubnetInput {
55198	s.VpcId = &v
55199	return s
55200}
55201
55202type CreateSubnetOutput struct {
55203	_ struct{} `type:"structure"`
55204
55205	// Information about the subnet.
55206	Subnet *Subnet `locationName:"subnet" type:"structure"`
55207}
55208
55209// String returns the string representation
55210func (s CreateSubnetOutput) String() string {
55211	return awsutil.Prettify(s)
55212}
55213
55214// GoString returns the string representation
55215func (s CreateSubnetOutput) GoString() string {
55216	return s.String()
55217}
55218
55219// SetSubnet sets the Subnet field's value.
55220func (s *CreateSubnetOutput) SetSubnet(v *Subnet) *CreateSubnetOutput {
55221	s.Subnet = v
55222	return s
55223}
55224
55225type CreateTagsInput struct {
55226	_ struct{} `type:"structure"`
55227
55228	// Checks whether you have the required permissions for the action, without
55229	// actually making the request, and provides an error response. If you have
55230	// the required permissions, the error response is DryRunOperation. Otherwise,
55231	// it is UnauthorizedOperation.
55232	DryRun *bool `locationName:"dryRun" type:"boolean"`
55233
55234	// The IDs of the resources, separated by spaces.
55235	//
55236	// Constraints: Up to 1000 resource IDs. We recommend breaking up this request
55237	// into smaller batches.
55238	//
55239	// Resources is a required field
55240	Resources []*string `locationName:"ResourceId" type:"list" required:"true"`
55241
55242	// The tags. The value parameter is required, but if you don't want the tag
55243	// to have a value, specify the parameter with no value, and we set the value
55244	// to an empty string.
55245	//
55246	// Tags is a required field
55247	Tags []*Tag `locationName:"Tag" locationNameList:"item" type:"list" required:"true"`
55248}
55249
55250// String returns the string representation
55251func (s CreateTagsInput) String() string {
55252	return awsutil.Prettify(s)
55253}
55254
55255// GoString returns the string representation
55256func (s CreateTagsInput) GoString() string {
55257	return s.String()
55258}
55259
55260// Validate inspects the fields of the type to determine if they are valid.
55261func (s *CreateTagsInput) Validate() error {
55262	invalidParams := request.ErrInvalidParams{Context: "CreateTagsInput"}
55263	if s.Resources == nil {
55264		invalidParams.Add(request.NewErrParamRequired("Resources"))
55265	}
55266	if s.Tags == nil {
55267		invalidParams.Add(request.NewErrParamRequired("Tags"))
55268	}
55269
55270	if invalidParams.Len() > 0 {
55271		return invalidParams
55272	}
55273	return nil
55274}
55275
55276// SetDryRun sets the DryRun field's value.
55277func (s *CreateTagsInput) SetDryRun(v bool) *CreateTagsInput {
55278	s.DryRun = &v
55279	return s
55280}
55281
55282// SetResources sets the Resources field's value.
55283func (s *CreateTagsInput) SetResources(v []*string) *CreateTagsInput {
55284	s.Resources = v
55285	return s
55286}
55287
55288// SetTags sets the Tags field's value.
55289func (s *CreateTagsInput) SetTags(v []*Tag) *CreateTagsInput {
55290	s.Tags = v
55291	return s
55292}
55293
55294type CreateTagsOutput struct {
55295	_ struct{} `type:"structure"`
55296}
55297
55298// String returns the string representation
55299func (s CreateTagsOutput) String() string {
55300	return awsutil.Prettify(s)
55301}
55302
55303// GoString returns the string representation
55304func (s CreateTagsOutput) GoString() string {
55305	return s.String()
55306}
55307
55308type CreateTrafficMirrorFilterInput struct {
55309	_ struct{} `type:"structure"`
55310
55311	// Unique, case-sensitive identifier that you provide to ensure the idempotency
55312	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
55313	ClientToken *string `type:"string" idempotencyToken:"true"`
55314
55315	// The description of the Traffic Mirror filter.
55316	Description *string `type:"string"`
55317
55318	// Checks whether you have the required permissions for the action, without
55319	// actually making the request, and provides an error response. If you have
55320	// the required permissions, the error response is DryRunOperation. Otherwise,
55321	// it is UnauthorizedOperation.
55322	DryRun *bool `type:"boolean"`
55323
55324	// The tags to assign to a Traffic Mirror filter.
55325	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
55326}
55327
55328// String returns the string representation
55329func (s CreateTrafficMirrorFilterInput) String() string {
55330	return awsutil.Prettify(s)
55331}
55332
55333// GoString returns the string representation
55334func (s CreateTrafficMirrorFilterInput) GoString() string {
55335	return s.String()
55336}
55337
55338// SetClientToken sets the ClientToken field's value.
55339func (s *CreateTrafficMirrorFilterInput) SetClientToken(v string) *CreateTrafficMirrorFilterInput {
55340	s.ClientToken = &v
55341	return s
55342}
55343
55344// SetDescription sets the Description field's value.
55345func (s *CreateTrafficMirrorFilterInput) SetDescription(v string) *CreateTrafficMirrorFilterInput {
55346	s.Description = &v
55347	return s
55348}
55349
55350// SetDryRun sets the DryRun field's value.
55351func (s *CreateTrafficMirrorFilterInput) SetDryRun(v bool) *CreateTrafficMirrorFilterInput {
55352	s.DryRun = &v
55353	return s
55354}
55355
55356// SetTagSpecifications sets the TagSpecifications field's value.
55357func (s *CreateTrafficMirrorFilterInput) SetTagSpecifications(v []*TagSpecification) *CreateTrafficMirrorFilterInput {
55358	s.TagSpecifications = v
55359	return s
55360}
55361
55362type CreateTrafficMirrorFilterOutput struct {
55363	_ struct{} `type:"structure"`
55364
55365	// Unique, case-sensitive identifier that you provide to ensure the idempotency
55366	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
55367	ClientToken *string `locationName:"clientToken" type:"string"`
55368
55369	// Information about the Traffic Mirror filter.
55370	TrafficMirrorFilter *TrafficMirrorFilter `locationName:"trafficMirrorFilter" type:"structure"`
55371}
55372
55373// String returns the string representation
55374func (s CreateTrafficMirrorFilterOutput) String() string {
55375	return awsutil.Prettify(s)
55376}
55377
55378// GoString returns the string representation
55379func (s CreateTrafficMirrorFilterOutput) GoString() string {
55380	return s.String()
55381}
55382
55383// SetClientToken sets the ClientToken field's value.
55384func (s *CreateTrafficMirrorFilterOutput) SetClientToken(v string) *CreateTrafficMirrorFilterOutput {
55385	s.ClientToken = &v
55386	return s
55387}
55388
55389// SetTrafficMirrorFilter sets the TrafficMirrorFilter field's value.
55390func (s *CreateTrafficMirrorFilterOutput) SetTrafficMirrorFilter(v *TrafficMirrorFilter) *CreateTrafficMirrorFilterOutput {
55391	s.TrafficMirrorFilter = v
55392	return s
55393}
55394
55395type CreateTrafficMirrorFilterRuleInput struct {
55396	_ struct{} `type:"structure"`
55397
55398	// Unique, case-sensitive identifier that you provide to ensure the idempotency
55399	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
55400	ClientToken *string `type:"string" idempotencyToken:"true"`
55401
55402	// The description of the Traffic Mirror rule.
55403	Description *string `type:"string"`
55404
55405	// The destination CIDR block to assign to the Traffic Mirror rule.
55406	//
55407	// DestinationCidrBlock is a required field
55408	DestinationCidrBlock *string `type:"string" required:"true"`
55409
55410	// The destination port range.
55411	DestinationPortRange *TrafficMirrorPortRangeRequest `type:"structure"`
55412
55413	// Checks whether you have the required permissions for the action, without
55414	// actually making the request, and provides an error response. If you have
55415	// the required permissions, the error response is DryRunOperation. Otherwise,
55416	// it is UnauthorizedOperation.
55417	DryRun *bool `type:"boolean"`
55418
55419	// The protocol, for example UDP, to assign to the Traffic Mirror rule.
55420	//
55421	// For information about the protocol value, see Protocol Numbers (https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)
55422	// on the Internet Assigned Numbers Authority (IANA) website.
55423	Protocol *int64 `type:"integer"`
55424
55425	// The action to take (accept | reject) on the filtered traffic.
55426	//
55427	// RuleAction is a required field
55428	RuleAction *string `type:"string" required:"true" enum:"TrafficMirrorRuleAction"`
55429
55430	// The number of the Traffic Mirror rule. This number must be unique for each
55431	// Traffic Mirror rule in a given direction. The rules are processed in ascending
55432	// order by rule number.
55433	//
55434	// RuleNumber is a required field
55435	RuleNumber *int64 `type:"integer" required:"true"`
55436
55437	// The source CIDR block to assign to the Traffic Mirror rule.
55438	//
55439	// SourceCidrBlock is a required field
55440	SourceCidrBlock *string `type:"string" required:"true"`
55441
55442	// The source port range.
55443	SourcePortRange *TrafficMirrorPortRangeRequest `type:"structure"`
55444
55445	// The type of traffic (ingress | egress).
55446	//
55447	// TrafficDirection is a required field
55448	TrafficDirection *string `type:"string" required:"true" enum:"TrafficDirection"`
55449
55450	// The ID of the filter that this rule is associated with.
55451	//
55452	// TrafficMirrorFilterId is a required field
55453	TrafficMirrorFilterId *string `type:"string" required:"true"`
55454}
55455
55456// String returns the string representation
55457func (s CreateTrafficMirrorFilterRuleInput) String() string {
55458	return awsutil.Prettify(s)
55459}
55460
55461// GoString returns the string representation
55462func (s CreateTrafficMirrorFilterRuleInput) GoString() string {
55463	return s.String()
55464}
55465
55466// Validate inspects the fields of the type to determine if they are valid.
55467func (s *CreateTrafficMirrorFilterRuleInput) Validate() error {
55468	invalidParams := request.ErrInvalidParams{Context: "CreateTrafficMirrorFilterRuleInput"}
55469	if s.DestinationCidrBlock == nil {
55470		invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
55471	}
55472	if s.RuleAction == nil {
55473		invalidParams.Add(request.NewErrParamRequired("RuleAction"))
55474	}
55475	if s.RuleNumber == nil {
55476		invalidParams.Add(request.NewErrParamRequired("RuleNumber"))
55477	}
55478	if s.SourceCidrBlock == nil {
55479		invalidParams.Add(request.NewErrParamRequired("SourceCidrBlock"))
55480	}
55481	if s.TrafficDirection == nil {
55482		invalidParams.Add(request.NewErrParamRequired("TrafficDirection"))
55483	}
55484	if s.TrafficMirrorFilterId == nil {
55485		invalidParams.Add(request.NewErrParamRequired("TrafficMirrorFilterId"))
55486	}
55487
55488	if invalidParams.Len() > 0 {
55489		return invalidParams
55490	}
55491	return nil
55492}
55493
55494// SetClientToken sets the ClientToken field's value.
55495func (s *CreateTrafficMirrorFilterRuleInput) SetClientToken(v string) *CreateTrafficMirrorFilterRuleInput {
55496	s.ClientToken = &v
55497	return s
55498}
55499
55500// SetDescription sets the Description field's value.
55501func (s *CreateTrafficMirrorFilterRuleInput) SetDescription(v string) *CreateTrafficMirrorFilterRuleInput {
55502	s.Description = &v
55503	return s
55504}
55505
55506// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
55507func (s *CreateTrafficMirrorFilterRuleInput) SetDestinationCidrBlock(v string) *CreateTrafficMirrorFilterRuleInput {
55508	s.DestinationCidrBlock = &v
55509	return s
55510}
55511
55512// SetDestinationPortRange sets the DestinationPortRange field's value.
55513func (s *CreateTrafficMirrorFilterRuleInput) SetDestinationPortRange(v *TrafficMirrorPortRangeRequest) *CreateTrafficMirrorFilterRuleInput {
55514	s.DestinationPortRange = v
55515	return s
55516}
55517
55518// SetDryRun sets the DryRun field's value.
55519func (s *CreateTrafficMirrorFilterRuleInput) SetDryRun(v bool) *CreateTrafficMirrorFilterRuleInput {
55520	s.DryRun = &v
55521	return s
55522}
55523
55524// SetProtocol sets the Protocol field's value.
55525func (s *CreateTrafficMirrorFilterRuleInput) SetProtocol(v int64) *CreateTrafficMirrorFilterRuleInput {
55526	s.Protocol = &v
55527	return s
55528}
55529
55530// SetRuleAction sets the RuleAction field's value.
55531func (s *CreateTrafficMirrorFilterRuleInput) SetRuleAction(v string) *CreateTrafficMirrorFilterRuleInput {
55532	s.RuleAction = &v
55533	return s
55534}
55535
55536// SetRuleNumber sets the RuleNumber field's value.
55537func (s *CreateTrafficMirrorFilterRuleInput) SetRuleNumber(v int64) *CreateTrafficMirrorFilterRuleInput {
55538	s.RuleNumber = &v
55539	return s
55540}
55541
55542// SetSourceCidrBlock sets the SourceCidrBlock field's value.
55543func (s *CreateTrafficMirrorFilterRuleInput) SetSourceCidrBlock(v string) *CreateTrafficMirrorFilterRuleInput {
55544	s.SourceCidrBlock = &v
55545	return s
55546}
55547
55548// SetSourcePortRange sets the SourcePortRange field's value.
55549func (s *CreateTrafficMirrorFilterRuleInput) SetSourcePortRange(v *TrafficMirrorPortRangeRequest) *CreateTrafficMirrorFilterRuleInput {
55550	s.SourcePortRange = v
55551	return s
55552}
55553
55554// SetTrafficDirection sets the TrafficDirection field's value.
55555func (s *CreateTrafficMirrorFilterRuleInput) SetTrafficDirection(v string) *CreateTrafficMirrorFilterRuleInput {
55556	s.TrafficDirection = &v
55557	return s
55558}
55559
55560// SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value.
55561func (s *CreateTrafficMirrorFilterRuleInput) SetTrafficMirrorFilterId(v string) *CreateTrafficMirrorFilterRuleInput {
55562	s.TrafficMirrorFilterId = &v
55563	return s
55564}
55565
55566type CreateTrafficMirrorFilterRuleOutput struct {
55567	_ struct{} `type:"structure"`
55568
55569	// Unique, case-sensitive identifier that you provide to ensure the idempotency
55570	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
55571	ClientToken *string `locationName:"clientToken" type:"string"`
55572
55573	// The Traffic Mirror rule.
55574	TrafficMirrorFilterRule *TrafficMirrorFilterRule `locationName:"trafficMirrorFilterRule" type:"structure"`
55575}
55576
55577// String returns the string representation
55578func (s CreateTrafficMirrorFilterRuleOutput) String() string {
55579	return awsutil.Prettify(s)
55580}
55581
55582// GoString returns the string representation
55583func (s CreateTrafficMirrorFilterRuleOutput) GoString() string {
55584	return s.String()
55585}
55586
55587// SetClientToken sets the ClientToken field's value.
55588func (s *CreateTrafficMirrorFilterRuleOutput) SetClientToken(v string) *CreateTrafficMirrorFilterRuleOutput {
55589	s.ClientToken = &v
55590	return s
55591}
55592
55593// SetTrafficMirrorFilterRule sets the TrafficMirrorFilterRule field's value.
55594func (s *CreateTrafficMirrorFilterRuleOutput) SetTrafficMirrorFilterRule(v *TrafficMirrorFilterRule) *CreateTrafficMirrorFilterRuleOutput {
55595	s.TrafficMirrorFilterRule = v
55596	return s
55597}
55598
55599type CreateTrafficMirrorSessionInput struct {
55600	_ struct{} `type:"structure"`
55601
55602	// Unique, case-sensitive identifier that you provide to ensure the idempotency
55603	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
55604	ClientToken *string `type:"string" idempotencyToken:"true"`
55605
55606	// The description of the Traffic Mirror session.
55607	Description *string `type:"string"`
55608
55609	// Checks whether you have the required permissions for the action, without
55610	// actually making the request, and provides an error response. If you have
55611	// the required permissions, the error response is DryRunOperation. Otherwise,
55612	// it is UnauthorizedOperation.
55613	DryRun *bool `type:"boolean"`
55614
55615	// The ID of the source network interface.
55616	//
55617	// NetworkInterfaceId is a required field
55618	NetworkInterfaceId *string `type:"string" required:"true"`
55619
55620	// The number of bytes in each packet to mirror. These are bytes after the VXLAN
55621	// header. Do not specify this parameter when you want to mirror the entire
55622	// packet. To mirror a subset of the packet, set this to the length (in bytes)
55623	// that you want to mirror. For example, if you set this value to 100, then
55624	// the first 100 bytes that meet the filter criteria are copied to the target.
55625	//
55626	// If you do not want to mirror the entire packet, use the PacketLength parameter
55627	// to specify the number of bytes in each packet to mirror.
55628	PacketLength *int64 `type:"integer"`
55629
55630	// The session number determines the order in which sessions are evaluated when
55631	// an interface is used by multiple sessions. The first session with a matching
55632	// filter is the one that mirrors the packets.
55633	//
55634	// Valid values are 1-32766.
55635	//
55636	// SessionNumber is a required field
55637	SessionNumber *int64 `type:"integer" required:"true"`
55638
55639	// The tags to assign to a Traffic Mirror session.
55640	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
55641
55642	// The ID of the Traffic Mirror filter.
55643	//
55644	// TrafficMirrorFilterId is a required field
55645	TrafficMirrorFilterId *string `type:"string" required:"true"`
55646
55647	// The ID of the Traffic Mirror target.
55648	//
55649	// TrafficMirrorTargetId is a required field
55650	TrafficMirrorTargetId *string `type:"string" required:"true"`
55651
55652	// The VXLAN ID for the Traffic Mirror session. For more information about the
55653	// VXLAN protocol, see RFC 7348 (https://tools.ietf.org/html/rfc7348). If you
55654	// do not specify a VirtualNetworkId, an account-wide unique id is chosen at
55655	// random.
55656	VirtualNetworkId *int64 `type:"integer"`
55657}
55658
55659// String returns the string representation
55660func (s CreateTrafficMirrorSessionInput) String() string {
55661	return awsutil.Prettify(s)
55662}
55663
55664// GoString returns the string representation
55665func (s CreateTrafficMirrorSessionInput) GoString() string {
55666	return s.String()
55667}
55668
55669// Validate inspects the fields of the type to determine if they are valid.
55670func (s *CreateTrafficMirrorSessionInput) Validate() error {
55671	invalidParams := request.ErrInvalidParams{Context: "CreateTrafficMirrorSessionInput"}
55672	if s.NetworkInterfaceId == nil {
55673		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
55674	}
55675	if s.SessionNumber == nil {
55676		invalidParams.Add(request.NewErrParamRequired("SessionNumber"))
55677	}
55678	if s.TrafficMirrorFilterId == nil {
55679		invalidParams.Add(request.NewErrParamRequired("TrafficMirrorFilterId"))
55680	}
55681	if s.TrafficMirrorTargetId == nil {
55682		invalidParams.Add(request.NewErrParamRequired("TrafficMirrorTargetId"))
55683	}
55684
55685	if invalidParams.Len() > 0 {
55686		return invalidParams
55687	}
55688	return nil
55689}
55690
55691// SetClientToken sets the ClientToken field's value.
55692func (s *CreateTrafficMirrorSessionInput) SetClientToken(v string) *CreateTrafficMirrorSessionInput {
55693	s.ClientToken = &v
55694	return s
55695}
55696
55697// SetDescription sets the Description field's value.
55698func (s *CreateTrafficMirrorSessionInput) SetDescription(v string) *CreateTrafficMirrorSessionInput {
55699	s.Description = &v
55700	return s
55701}
55702
55703// SetDryRun sets the DryRun field's value.
55704func (s *CreateTrafficMirrorSessionInput) SetDryRun(v bool) *CreateTrafficMirrorSessionInput {
55705	s.DryRun = &v
55706	return s
55707}
55708
55709// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
55710func (s *CreateTrafficMirrorSessionInput) SetNetworkInterfaceId(v string) *CreateTrafficMirrorSessionInput {
55711	s.NetworkInterfaceId = &v
55712	return s
55713}
55714
55715// SetPacketLength sets the PacketLength field's value.
55716func (s *CreateTrafficMirrorSessionInput) SetPacketLength(v int64) *CreateTrafficMirrorSessionInput {
55717	s.PacketLength = &v
55718	return s
55719}
55720
55721// SetSessionNumber sets the SessionNumber field's value.
55722func (s *CreateTrafficMirrorSessionInput) SetSessionNumber(v int64) *CreateTrafficMirrorSessionInput {
55723	s.SessionNumber = &v
55724	return s
55725}
55726
55727// SetTagSpecifications sets the TagSpecifications field's value.
55728func (s *CreateTrafficMirrorSessionInput) SetTagSpecifications(v []*TagSpecification) *CreateTrafficMirrorSessionInput {
55729	s.TagSpecifications = v
55730	return s
55731}
55732
55733// SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value.
55734func (s *CreateTrafficMirrorSessionInput) SetTrafficMirrorFilterId(v string) *CreateTrafficMirrorSessionInput {
55735	s.TrafficMirrorFilterId = &v
55736	return s
55737}
55738
55739// SetTrafficMirrorTargetId sets the TrafficMirrorTargetId field's value.
55740func (s *CreateTrafficMirrorSessionInput) SetTrafficMirrorTargetId(v string) *CreateTrafficMirrorSessionInput {
55741	s.TrafficMirrorTargetId = &v
55742	return s
55743}
55744
55745// SetVirtualNetworkId sets the VirtualNetworkId field's value.
55746func (s *CreateTrafficMirrorSessionInput) SetVirtualNetworkId(v int64) *CreateTrafficMirrorSessionInput {
55747	s.VirtualNetworkId = &v
55748	return s
55749}
55750
55751type CreateTrafficMirrorSessionOutput struct {
55752	_ struct{} `type:"structure"`
55753
55754	// Unique, case-sensitive identifier that you provide to ensure the idempotency
55755	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
55756	ClientToken *string `locationName:"clientToken" type:"string"`
55757
55758	// Information about the Traffic Mirror session.
55759	TrafficMirrorSession *TrafficMirrorSession `locationName:"trafficMirrorSession" type:"structure"`
55760}
55761
55762// String returns the string representation
55763func (s CreateTrafficMirrorSessionOutput) String() string {
55764	return awsutil.Prettify(s)
55765}
55766
55767// GoString returns the string representation
55768func (s CreateTrafficMirrorSessionOutput) GoString() string {
55769	return s.String()
55770}
55771
55772// SetClientToken sets the ClientToken field's value.
55773func (s *CreateTrafficMirrorSessionOutput) SetClientToken(v string) *CreateTrafficMirrorSessionOutput {
55774	s.ClientToken = &v
55775	return s
55776}
55777
55778// SetTrafficMirrorSession sets the TrafficMirrorSession field's value.
55779func (s *CreateTrafficMirrorSessionOutput) SetTrafficMirrorSession(v *TrafficMirrorSession) *CreateTrafficMirrorSessionOutput {
55780	s.TrafficMirrorSession = v
55781	return s
55782}
55783
55784type CreateTrafficMirrorTargetInput struct {
55785	_ struct{} `type:"structure"`
55786
55787	// Unique, case-sensitive identifier that you provide to ensure the idempotency
55788	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
55789	ClientToken *string `type:"string" idempotencyToken:"true"`
55790
55791	// The description of the Traffic Mirror target.
55792	Description *string `type:"string"`
55793
55794	// Checks whether you have the required permissions for the action, without
55795	// actually making the request, and provides an error response. If you have
55796	// the required permissions, the error response is DryRunOperation. Otherwise,
55797	// it is UnauthorizedOperation.
55798	DryRun *bool `type:"boolean"`
55799
55800	// The network interface ID that is associated with the target.
55801	NetworkInterfaceId *string `type:"string"`
55802
55803	// The Amazon Resource Name (ARN) of the Network Load Balancer that is associated
55804	// with the target.
55805	NetworkLoadBalancerArn *string `type:"string"`
55806
55807	// The tags to assign to the Traffic Mirror target.
55808	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
55809}
55810
55811// String returns the string representation
55812func (s CreateTrafficMirrorTargetInput) String() string {
55813	return awsutil.Prettify(s)
55814}
55815
55816// GoString returns the string representation
55817func (s CreateTrafficMirrorTargetInput) GoString() string {
55818	return s.String()
55819}
55820
55821// SetClientToken sets the ClientToken field's value.
55822func (s *CreateTrafficMirrorTargetInput) SetClientToken(v string) *CreateTrafficMirrorTargetInput {
55823	s.ClientToken = &v
55824	return s
55825}
55826
55827// SetDescription sets the Description field's value.
55828func (s *CreateTrafficMirrorTargetInput) SetDescription(v string) *CreateTrafficMirrorTargetInput {
55829	s.Description = &v
55830	return s
55831}
55832
55833// SetDryRun sets the DryRun field's value.
55834func (s *CreateTrafficMirrorTargetInput) SetDryRun(v bool) *CreateTrafficMirrorTargetInput {
55835	s.DryRun = &v
55836	return s
55837}
55838
55839// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
55840func (s *CreateTrafficMirrorTargetInput) SetNetworkInterfaceId(v string) *CreateTrafficMirrorTargetInput {
55841	s.NetworkInterfaceId = &v
55842	return s
55843}
55844
55845// SetNetworkLoadBalancerArn sets the NetworkLoadBalancerArn field's value.
55846func (s *CreateTrafficMirrorTargetInput) SetNetworkLoadBalancerArn(v string) *CreateTrafficMirrorTargetInput {
55847	s.NetworkLoadBalancerArn = &v
55848	return s
55849}
55850
55851// SetTagSpecifications sets the TagSpecifications field's value.
55852func (s *CreateTrafficMirrorTargetInput) SetTagSpecifications(v []*TagSpecification) *CreateTrafficMirrorTargetInput {
55853	s.TagSpecifications = v
55854	return s
55855}
55856
55857type CreateTrafficMirrorTargetOutput struct {
55858	_ struct{} `type:"structure"`
55859
55860	// Unique, case-sensitive identifier that you provide to ensure the idempotency
55861	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
55862	ClientToken *string `locationName:"clientToken" type:"string"`
55863
55864	// Information about the Traffic Mirror target.
55865	TrafficMirrorTarget *TrafficMirrorTarget `locationName:"trafficMirrorTarget" type:"structure"`
55866}
55867
55868// String returns the string representation
55869func (s CreateTrafficMirrorTargetOutput) String() string {
55870	return awsutil.Prettify(s)
55871}
55872
55873// GoString returns the string representation
55874func (s CreateTrafficMirrorTargetOutput) GoString() string {
55875	return s.String()
55876}
55877
55878// SetClientToken sets the ClientToken field's value.
55879func (s *CreateTrafficMirrorTargetOutput) SetClientToken(v string) *CreateTrafficMirrorTargetOutput {
55880	s.ClientToken = &v
55881	return s
55882}
55883
55884// SetTrafficMirrorTarget sets the TrafficMirrorTarget field's value.
55885func (s *CreateTrafficMirrorTargetOutput) SetTrafficMirrorTarget(v *TrafficMirrorTarget) *CreateTrafficMirrorTargetOutput {
55886	s.TrafficMirrorTarget = v
55887	return s
55888}
55889
55890type CreateTransitGatewayConnectInput struct {
55891	_ struct{} `type:"structure"`
55892
55893	// Checks whether you have the required permissions for the action, without
55894	// actually making the request, and provides an error response. If you have
55895	// the required permissions, the error response is DryRunOperation. Otherwise,
55896	// it is UnauthorizedOperation.
55897	DryRun *bool `type:"boolean"`
55898
55899	// The Connect attachment options.
55900	//
55901	// Options is a required field
55902	Options *CreateTransitGatewayConnectRequestOptions `type:"structure" required:"true"`
55903
55904	// The tags to apply to the Connect attachment.
55905	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
55906
55907	// The ID of the transit gateway attachment. You can specify a VPC attachment
55908	// or a AWS Direct Connect attachment.
55909	//
55910	// TransportTransitGatewayAttachmentId is a required field
55911	TransportTransitGatewayAttachmentId *string `type:"string" required:"true"`
55912}
55913
55914// String returns the string representation
55915func (s CreateTransitGatewayConnectInput) String() string {
55916	return awsutil.Prettify(s)
55917}
55918
55919// GoString returns the string representation
55920func (s CreateTransitGatewayConnectInput) GoString() string {
55921	return s.String()
55922}
55923
55924// Validate inspects the fields of the type to determine if they are valid.
55925func (s *CreateTransitGatewayConnectInput) Validate() error {
55926	invalidParams := request.ErrInvalidParams{Context: "CreateTransitGatewayConnectInput"}
55927	if s.Options == nil {
55928		invalidParams.Add(request.NewErrParamRequired("Options"))
55929	}
55930	if s.TransportTransitGatewayAttachmentId == nil {
55931		invalidParams.Add(request.NewErrParamRequired("TransportTransitGatewayAttachmentId"))
55932	}
55933	if s.Options != nil {
55934		if err := s.Options.Validate(); err != nil {
55935			invalidParams.AddNested("Options", err.(request.ErrInvalidParams))
55936		}
55937	}
55938
55939	if invalidParams.Len() > 0 {
55940		return invalidParams
55941	}
55942	return nil
55943}
55944
55945// SetDryRun sets the DryRun field's value.
55946func (s *CreateTransitGatewayConnectInput) SetDryRun(v bool) *CreateTransitGatewayConnectInput {
55947	s.DryRun = &v
55948	return s
55949}
55950
55951// SetOptions sets the Options field's value.
55952func (s *CreateTransitGatewayConnectInput) SetOptions(v *CreateTransitGatewayConnectRequestOptions) *CreateTransitGatewayConnectInput {
55953	s.Options = v
55954	return s
55955}
55956
55957// SetTagSpecifications sets the TagSpecifications field's value.
55958func (s *CreateTransitGatewayConnectInput) SetTagSpecifications(v []*TagSpecification) *CreateTransitGatewayConnectInput {
55959	s.TagSpecifications = v
55960	return s
55961}
55962
55963// SetTransportTransitGatewayAttachmentId sets the TransportTransitGatewayAttachmentId field's value.
55964func (s *CreateTransitGatewayConnectInput) SetTransportTransitGatewayAttachmentId(v string) *CreateTransitGatewayConnectInput {
55965	s.TransportTransitGatewayAttachmentId = &v
55966	return s
55967}
55968
55969type CreateTransitGatewayConnectOutput struct {
55970	_ struct{} `type:"structure"`
55971
55972	// Information about the Connect attachment.
55973	TransitGatewayConnect *TransitGatewayConnect `locationName:"transitGatewayConnect" type:"structure"`
55974}
55975
55976// String returns the string representation
55977func (s CreateTransitGatewayConnectOutput) String() string {
55978	return awsutil.Prettify(s)
55979}
55980
55981// GoString returns the string representation
55982func (s CreateTransitGatewayConnectOutput) GoString() string {
55983	return s.String()
55984}
55985
55986// SetTransitGatewayConnect sets the TransitGatewayConnect field's value.
55987func (s *CreateTransitGatewayConnectOutput) SetTransitGatewayConnect(v *TransitGatewayConnect) *CreateTransitGatewayConnectOutput {
55988	s.TransitGatewayConnect = v
55989	return s
55990}
55991
55992type CreateTransitGatewayConnectPeerInput struct {
55993	_ struct{} `type:"structure"`
55994
55995	// The BGP options for the Connect peer.
55996	BgpOptions *TransitGatewayConnectRequestBgpOptions `type:"structure"`
55997
55998	// Checks whether you have the required permissions for the action, without
55999	// actually making the request, and provides an error response. If you have
56000	// the required permissions, the error response is DryRunOperation. Otherwise,
56001	// it is UnauthorizedOperation.
56002	DryRun *bool `type:"boolean"`
56003
56004	// The range of inside IP addresses that are used for BGP peering. You must
56005	// specify a size /29 IPv4 CIDR block from the 169.254.0.0/16 range. The first
56006	// address from the range must be configured on the appliance as the BGP IP
56007	// address. You can also optionally specify a size /125 IPv6 CIDR block from
56008	// the fd00::/8 range.
56009	//
56010	// InsideCidrBlocks is a required field
56011	InsideCidrBlocks []*string `locationNameList:"item" type:"list" required:"true"`
56012
56013	// The peer IP address (GRE outer IP address) on the appliance side of the Connect
56014	// peer.
56015	//
56016	// PeerAddress is a required field
56017	PeerAddress *string `type:"string" required:"true"`
56018
56019	// The tags to apply to the Connect peer.
56020	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
56021
56022	// The peer IP address (GRE outer IP address) on the transit gateway side of
56023	// the Connect peer, which must be specified from a transit gateway CIDR block.
56024	// If not specified, Amazon automatically assigns the first available IP address
56025	// from the transit gateway CIDR block.
56026	TransitGatewayAddress *string `type:"string"`
56027
56028	// The ID of the Connect attachment.
56029	//
56030	// TransitGatewayAttachmentId is a required field
56031	TransitGatewayAttachmentId *string `type:"string" required:"true"`
56032}
56033
56034// String returns the string representation
56035func (s CreateTransitGatewayConnectPeerInput) String() string {
56036	return awsutil.Prettify(s)
56037}
56038
56039// GoString returns the string representation
56040func (s CreateTransitGatewayConnectPeerInput) GoString() string {
56041	return s.String()
56042}
56043
56044// Validate inspects the fields of the type to determine if they are valid.
56045func (s *CreateTransitGatewayConnectPeerInput) Validate() error {
56046	invalidParams := request.ErrInvalidParams{Context: "CreateTransitGatewayConnectPeerInput"}
56047	if s.InsideCidrBlocks == nil {
56048		invalidParams.Add(request.NewErrParamRequired("InsideCidrBlocks"))
56049	}
56050	if s.PeerAddress == nil {
56051		invalidParams.Add(request.NewErrParamRequired("PeerAddress"))
56052	}
56053	if s.TransitGatewayAttachmentId == nil {
56054		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
56055	}
56056
56057	if invalidParams.Len() > 0 {
56058		return invalidParams
56059	}
56060	return nil
56061}
56062
56063// SetBgpOptions sets the BgpOptions field's value.
56064func (s *CreateTransitGatewayConnectPeerInput) SetBgpOptions(v *TransitGatewayConnectRequestBgpOptions) *CreateTransitGatewayConnectPeerInput {
56065	s.BgpOptions = v
56066	return s
56067}
56068
56069// SetDryRun sets the DryRun field's value.
56070func (s *CreateTransitGatewayConnectPeerInput) SetDryRun(v bool) *CreateTransitGatewayConnectPeerInput {
56071	s.DryRun = &v
56072	return s
56073}
56074
56075// SetInsideCidrBlocks sets the InsideCidrBlocks field's value.
56076func (s *CreateTransitGatewayConnectPeerInput) SetInsideCidrBlocks(v []*string) *CreateTransitGatewayConnectPeerInput {
56077	s.InsideCidrBlocks = v
56078	return s
56079}
56080
56081// SetPeerAddress sets the PeerAddress field's value.
56082func (s *CreateTransitGatewayConnectPeerInput) SetPeerAddress(v string) *CreateTransitGatewayConnectPeerInput {
56083	s.PeerAddress = &v
56084	return s
56085}
56086
56087// SetTagSpecifications sets the TagSpecifications field's value.
56088func (s *CreateTransitGatewayConnectPeerInput) SetTagSpecifications(v []*TagSpecification) *CreateTransitGatewayConnectPeerInput {
56089	s.TagSpecifications = v
56090	return s
56091}
56092
56093// SetTransitGatewayAddress sets the TransitGatewayAddress field's value.
56094func (s *CreateTransitGatewayConnectPeerInput) SetTransitGatewayAddress(v string) *CreateTransitGatewayConnectPeerInput {
56095	s.TransitGatewayAddress = &v
56096	return s
56097}
56098
56099// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
56100func (s *CreateTransitGatewayConnectPeerInput) SetTransitGatewayAttachmentId(v string) *CreateTransitGatewayConnectPeerInput {
56101	s.TransitGatewayAttachmentId = &v
56102	return s
56103}
56104
56105type CreateTransitGatewayConnectPeerOutput struct {
56106	_ struct{} `type:"structure"`
56107
56108	// Information about the Connect peer.
56109	TransitGatewayConnectPeer *TransitGatewayConnectPeer `locationName:"transitGatewayConnectPeer" type:"structure"`
56110}
56111
56112// String returns the string representation
56113func (s CreateTransitGatewayConnectPeerOutput) String() string {
56114	return awsutil.Prettify(s)
56115}
56116
56117// GoString returns the string representation
56118func (s CreateTransitGatewayConnectPeerOutput) GoString() string {
56119	return s.String()
56120}
56121
56122// SetTransitGatewayConnectPeer sets the TransitGatewayConnectPeer field's value.
56123func (s *CreateTransitGatewayConnectPeerOutput) SetTransitGatewayConnectPeer(v *TransitGatewayConnectPeer) *CreateTransitGatewayConnectPeerOutput {
56124	s.TransitGatewayConnectPeer = v
56125	return s
56126}
56127
56128// The options for a Connect attachment.
56129type CreateTransitGatewayConnectRequestOptions struct {
56130	_ struct{} `type:"structure"`
56131
56132	// The tunnel protocol.
56133	//
56134	// Protocol is a required field
56135	Protocol *string `type:"string" required:"true" enum:"ProtocolValue"`
56136}
56137
56138// String returns the string representation
56139func (s CreateTransitGatewayConnectRequestOptions) String() string {
56140	return awsutil.Prettify(s)
56141}
56142
56143// GoString returns the string representation
56144func (s CreateTransitGatewayConnectRequestOptions) GoString() string {
56145	return s.String()
56146}
56147
56148// Validate inspects the fields of the type to determine if they are valid.
56149func (s *CreateTransitGatewayConnectRequestOptions) Validate() error {
56150	invalidParams := request.ErrInvalidParams{Context: "CreateTransitGatewayConnectRequestOptions"}
56151	if s.Protocol == nil {
56152		invalidParams.Add(request.NewErrParamRequired("Protocol"))
56153	}
56154
56155	if invalidParams.Len() > 0 {
56156		return invalidParams
56157	}
56158	return nil
56159}
56160
56161// SetProtocol sets the Protocol field's value.
56162func (s *CreateTransitGatewayConnectRequestOptions) SetProtocol(v string) *CreateTransitGatewayConnectRequestOptions {
56163	s.Protocol = &v
56164	return s
56165}
56166
56167type CreateTransitGatewayInput struct {
56168	_ struct{} `type:"structure"`
56169
56170	// A description of the transit gateway.
56171	Description *string `type:"string"`
56172
56173	// Checks whether you have the required permissions for the action, without
56174	// actually making the request, and provides an error response. If you have
56175	// the required permissions, the error response is DryRunOperation. Otherwise,
56176	// it is UnauthorizedOperation.
56177	DryRun *bool `type:"boolean"`
56178
56179	// The transit gateway options.
56180	Options *TransitGatewayRequestOptions `type:"structure"`
56181
56182	// The tags to apply to the transit gateway.
56183	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
56184}
56185
56186// String returns the string representation
56187func (s CreateTransitGatewayInput) String() string {
56188	return awsutil.Prettify(s)
56189}
56190
56191// GoString returns the string representation
56192func (s CreateTransitGatewayInput) GoString() string {
56193	return s.String()
56194}
56195
56196// SetDescription sets the Description field's value.
56197func (s *CreateTransitGatewayInput) SetDescription(v string) *CreateTransitGatewayInput {
56198	s.Description = &v
56199	return s
56200}
56201
56202// SetDryRun sets the DryRun field's value.
56203func (s *CreateTransitGatewayInput) SetDryRun(v bool) *CreateTransitGatewayInput {
56204	s.DryRun = &v
56205	return s
56206}
56207
56208// SetOptions sets the Options field's value.
56209func (s *CreateTransitGatewayInput) SetOptions(v *TransitGatewayRequestOptions) *CreateTransitGatewayInput {
56210	s.Options = v
56211	return s
56212}
56213
56214// SetTagSpecifications sets the TagSpecifications field's value.
56215func (s *CreateTransitGatewayInput) SetTagSpecifications(v []*TagSpecification) *CreateTransitGatewayInput {
56216	s.TagSpecifications = v
56217	return s
56218}
56219
56220type CreateTransitGatewayMulticastDomainInput struct {
56221	_ struct{} `type:"structure"`
56222
56223	// Checks whether you have the required permissions for the action, without
56224	// actually making the request, and provides an error response. If you have
56225	// the required permissions, the error response is DryRunOperation. Otherwise,
56226	// it is UnauthorizedOperation.
56227	DryRun *bool `type:"boolean"`
56228
56229	// The options for the transit gateway multicast domain.
56230	Options *CreateTransitGatewayMulticastDomainRequestOptions `type:"structure"`
56231
56232	// The tags for the transit gateway multicast domain.
56233	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
56234
56235	// The ID of the transit gateway.
56236	//
56237	// TransitGatewayId is a required field
56238	TransitGatewayId *string `type:"string" required:"true"`
56239}
56240
56241// String returns the string representation
56242func (s CreateTransitGatewayMulticastDomainInput) String() string {
56243	return awsutil.Prettify(s)
56244}
56245
56246// GoString returns the string representation
56247func (s CreateTransitGatewayMulticastDomainInput) GoString() string {
56248	return s.String()
56249}
56250
56251// Validate inspects the fields of the type to determine if they are valid.
56252func (s *CreateTransitGatewayMulticastDomainInput) Validate() error {
56253	invalidParams := request.ErrInvalidParams{Context: "CreateTransitGatewayMulticastDomainInput"}
56254	if s.TransitGatewayId == nil {
56255		invalidParams.Add(request.NewErrParamRequired("TransitGatewayId"))
56256	}
56257
56258	if invalidParams.Len() > 0 {
56259		return invalidParams
56260	}
56261	return nil
56262}
56263
56264// SetDryRun sets the DryRun field's value.
56265func (s *CreateTransitGatewayMulticastDomainInput) SetDryRun(v bool) *CreateTransitGatewayMulticastDomainInput {
56266	s.DryRun = &v
56267	return s
56268}
56269
56270// SetOptions sets the Options field's value.
56271func (s *CreateTransitGatewayMulticastDomainInput) SetOptions(v *CreateTransitGatewayMulticastDomainRequestOptions) *CreateTransitGatewayMulticastDomainInput {
56272	s.Options = v
56273	return s
56274}
56275
56276// SetTagSpecifications sets the TagSpecifications field's value.
56277func (s *CreateTransitGatewayMulticastDomainInput) SetTagSpecifications(v []*TagSpecification) *CreateTransitGatewayMulticastDomainInput {
56278	s.TagSpecifications = v
56279	return s
56280}
56281
56282// SetTransitGatewayId sets the TransitGatewayId field's value.
56283func (s *CreateTransitGatewayMulticastDomainInput) SetTransitGatewayId(v string) *CreateTransitGatewayMulticastDomainInput {
56284	s.TransitGatewayId = &v
56285	return s
56286}
56287
56288type CreateTransitGatewayMulticastDomainOutput struct {
56289	_ struct{} `type:"structure"`
56290
56291	// Information about the transit gateway multicast domain.
56292	TransitGatewayMulticastDomain *TransitGatewayMulticastDomain `locationName:"transitGatewayMulticastDomain" type:"structure"`
56293}
56294
56295// String returns the string representation
56296func (s CreateTransitGatewayMulticastDomainOutput) String() string {
56297	return awsutil.Prettify(s)
56298}
56299
56300// GoString returns the string representation
56301func (s CreateTransitGatewayMulticastDomainOutput) GoString() string {
56302	return s.String()
56303}
56304
56305// SetTransitGatewayMulticastDomain sets the TransitGatewayMulticastDomain field's value.
56306func (s *CreateTransitGatewayMulticastDomainOutput) SetTransitGatewayMulticastDomain(v *TransitGatewayMulticastDomain) *CreateTransitGatewayMulticastDomainOutput {
56307	s.TransitGatewayMulticastDomain = v
56308	return s
56309}
56310
56311// The options for the transit gateway multicast domain.
56312type CreateTransitGatewayMulticastDomainRequestOptions struct {
56313	_ struct{} `type:"structure"`
56314
56315	// Indicates whether to automatically accept cross-account subnet associations
56316	// that are associated with the transit gateway multicast domain.
56317	AutoAcceptSharedAssociations *string `type:"string" enum:"AutoAcceptSharedAssociationsValue"`
56318
56319	// Specify whether to enable Internet Group Management Protocol (IGMP) version
56320	// 2 for the transit gateway multicast domain.
56321	Igmpv2Support *string `type:"string" enum:"Igmpv2SupportValue"`
56322
56323	// Specify whether to enable support for statically configuring multicast group
56324	// sources for a domain.
56325	StaticSourcesSupport *string `type:"string" enum:"StaticSourcesSupportValue"`
56326}
56327
56328// String returns the string representation
56329func (s CreateTransitGatewayMulticastDomainRequestOptions) String() string {
56330	return awsutil.Prettify(s)
56331}
56332
56333// GoString returns the string representation
56334func (s CreateTransitGatewayMulticastDomainRequestOptions) GoString() string {
56335	return s.String()
56336}
56337
56338// SetAutoAcceptSharedAssociations sets the AutoAcceptSharedAssociations field's value.
56339func (s *CreateTransitGatewayMulticastDomainRequestOptions) SetAutoAcceptSharedAssociations(v string) *CreateTransitGatewayMulticastDomainRequestOptions {
56340	s.AutoAcceptSharedAssociations = &v
56341	return s
56342}
56343
56344// SetIgmpv2Support sets the Igmpv2Support field's value.
56345func (s *CreateTransitGatewayMulticastDomainRequestOptions) SetIgmpv2Support(v string) *CreateTransitGatewayMulticastDomainRequestOptions {
56346	s.Igmpv2Support = &v
56347	return s
56348}
56349
56350// SetStaticSourcesSupport sets the StaticSourcesSupport field's value.
56351func (s *CreateTransitGatewayMulticastDomainRequestOptions) SetStaticSourcesSupport(v string) *CreateTransitGatewayMulticastDomainRequestOptions {
56352	s.StaticSourcesSupport = &v
56353	return s
56354}
56355
56356type CreateTransitGatewayOutput struct {
56357	_ struct{} `type:"structure"`
56358
56359	// Information about the transit gateway.
56360	TransitGateway *TransitGateway `locationName:"transitGateway" type:"structure"`
56361}
56362
56363// String returns the string representation
56364func (s CreateTransitGatewayOutput) String() string {
56365	return awsutil.Prettify(s)
56366}
56367
56368// GoString returns the string representation
56369func (s CreateTransitGatewayOutput) GoString() string {
56370	return s.String()
56371}
56372
56373// SetTransitGateway sets the TransitGateway field's value.
56374func (s *CreateTransitGatewayOutput) SetTransitGateway(v *TransitGateway) *CreateTransitGatewayOutput {
56375	s.TransitGateway = v
56376	return s
56377}
56378
56379type CreateTransitGatewayPeeringAttachmentInput struct {
56380	_ struct{} `type:"structure"`
56381
56382	// Checks whether you have the required permissions for the action, without
56383	// actually making the request, and provides an error response. If you have
56384	// the required permissions, the error response is DryRunOperation. Otherwise,
56385	// it is UnauthorizedOperation.
56386	DryRun *bool `type:"boolean"`
56387
56388	// The AWS account ID of the owner of the peer transit gateway.
56389	//
56390	// PeerAccountId is a required field
56391	PeerAccountId *string `type:"string" required:"true"`
56392
56393	// The Region where the peer transit gateway is located.
56394	//
56395	// PeerRegion is a required field
56396	PeerRegion *string `type:"string" required:"true"`
56397
56398	// The ID of the peer transit gateway with which to create the peering attachment.
56399	//
56400	// PeerTransitGatewayId is a required field
56401	PeerTransitGatewayId *string `type:"string" required:"true"`
56402
56403	// The tags to apply to the transit gateway peering attachment.
56404	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
56405
56406	// The ID of the transit gateway.
56407	//
56408	// TransitGatewayId is a required field
56409	TransitGatewayId *string `type:"string" required:"true"`
56410}
56411
56412// String returns the string representation
56413func (s CreateTransitGatewayPeeringAttachmentInput) String() string {
56414	return awsutil.Prettify(s)
56415}
56416
56417// GoString returns the string representation
56418func (s CreateTransitGatewayPeeringAttachmentInput) GoString() string {
56419	return s.String()
56420}
56421
56422// Validate inspects the fields of the type to determine if they are valid.
56423func (s *CreateTransitGatewayPeeringAttachmentInput) Validate() error {
56424	invalidParams := request.ErrInvalidParams{Context: "CreateTransitGatewayPeeringAttachmentInput"}
56425	if s.PeerAccountId == nil {
56426		invalidParams.Add(request.NewErrParamRequired("PeerAccountId"))
56427	}
56428	if s.PeerRegion == nil {
56429		invalidParams.Add(request.NewErrParamRequired("PeerRegion"))
56430	}
56431	if s.PeerTransitGatewayId == nil {
56432		invalidParams.Add(request.NewErrParamRequired("PeerTransitGatewayId"))
56433	}
56434	if s.TransitGatewayId == nil {
56435		invalidParams.Add(request.NewErrParamRequired("TransitGatewayId"))
56436	}
56437
56438	if invalidParams.Len() > 0 {
56439		return invalidParams
56440	}
56441	return nil
56442}
56443
56444// SetDryRun sets the DryRun field's value.
56445func (s *CreateTransitGatewayPeeringAttachmentInput) SetDryRun(v bool) *CreateTransitGatewayPeeringAttachmentInput {
56446	s.DryRun = &v
56447	return s
56448}
56449
56450// SetPeerAccountId sets the PeerAccountId field's value.
56451func (s *CreateTransitGatewayPeeringAttachmentInput) SetPeerAccountId(v string) *CreateTransitGatewayPeeringAttachmentInput {
56452	s.PeerAccountId = &v
56453	return s
56454}
56455
56456// SetPeerRegion sets the PeerRegion field's value.
56457func (s *CreateTransitGatewayPeeringAttachmentInput) SetPeerRegion(v string) *CreateTransitGatewayPeeringAttachmentInput {
56458	s.PeerRegion = &v
56459	return s
56460}
56461
56462// SetPeerTransitGatewayId sets the PeerTransitGatewayId field's value.
56463func (s *CreateTransitGatewayPeeringAttachmentInput) SetPeerTransitGatewayId(v string) *CreateTransitGatewayPeeringAttachmentInput {
56464	s.PeerTransitGatewayId = &v
56465	return s
56466}
56467
56468// SetTagSpecifications sets the TagSpecifications field's value.
56469func (s *CreateTransitGatewayPeeringAttachmentInput) SetTagSpecifications(v []*TagSpecification) *CreateTransitGatewayPeeringAttachmentInput {
56470	s.TagSpecifications = v
56471	return s
56472}
56473
56474// SetTransitGatewayId sets the TransitGatewayId field's value.
56475func (s *CreateTransitGatewayPeeringAttachmentInput) SetTransitGatewayId(v string) *CreateTransitGatewayPeeringAttachmentInput {
56476	s.TransitGatewayId = &v
56477	return s
56478}
56479
56480type CreateTransitGatewayPeeringAttachmentOutput struct {
56481	_ struct{} `type:"structure"`
56482
56483	// The transit gateway peering attachment.
56484	TransitGatewayPeeringAttachment *TransitGatewayPeeringAttachment `locationName:"transitGatewayPeeringAttachment" type:"structure"`
56485}
56486
56487// String returns the string representation
56488func (s CreateTransitGatewayPeeringAttachmentOutput) String() string {
56489	return awsutil.Prettify(s)
56490}
56491
56492// GoString returns the string representation
56493func (s CreateTransitGatewayPeeringAttachmentOutput) GoString() string {
56494	return s.String()
56495}
56496
56497// SetTransitGatewayPeeringAttachment sets the TransitGatewayPeeringAttachment field's value.
56498func (s *CreateTransitGatewayPeeringAttachmentOutput) SetTransitGatewayPeeringAttachment(v *TransitGatewayPeeringAttachment) *CreateTransitGatewayPeeringAttachmentOutput {
56499	s.TransitGatewayPeeringAttachment = v
56500	return s
56501}
56502
56503type CreateTransitGatewayPrefixListReferenceInput struct {
56504	_ struct{} `type:"structure"`
56505
56506	// Indicates whether to drop traffic that matches this route.
56507	Blackhole *bool `type:"boolean"`
56508
56509	// Checks whether you have the required permissions for the action, without
56510	// actually making the request, and provides an error response. If you have
56511	// the required permissions, the error response is DryRunOperation. Otherwise,
56512	// it is UnauthorizedOperation.
56513	DryRun *bool `type:"boolean"`
56514
56515	// The ID of the prefix list that is used for destination matches.
56516	//
56517	// PrefixListId is a required field
56518	PrefixListId *string `type:"string" required:"true"`
56519
56520	// The ID of the attachment to which traffic is routed.
56521	TransitGatewayAttachmentId *string `type:"string"`
56522
56523	// The ID of the transit gateway route table.
56524	//
56525	// TransitGatewayRouteTableId is a required field
56526	TransitGatewayRouteTableId *string `type:"string" required:"true"`
56527}
56528
56529// String returns the string representation
56530func (s CreateTransitGatewayPrefixListReferenceInput) String() string {
56531	return awsutil.Prettify(s)
56532}
56533
56534// GoString returns the string representation
56535func (s CreateTransitGatewayPrefixListReferenceInput) GoString() string {
56536	return s.String()
56537}
56538
56539// Validate inspects the fields of the type to determine if they are valid.
56540func (s *CreateTransitGatewayPrefixListReferenceInput) Validate() error {
56541	invalidParams := request.ErrInvalidParams{Context: "CreateTransitGatewayPrefixListReferenceInput"}
56542	if s.PrefixListId == nil {
56543		invalidParams.Add(request.NewErrParamRequired("PrefixListId"))
56544	}
56545	if s.TransitGatewayRouteTableId == nil {
56546		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
56547	}
56548
56549	if invalidParams.Len() > 0 {
56550		return invalidParams
56551	}
56552	return nil
56553}
56554
56555// SetBlackhole sets the Blackhole field's value.
56556func (s *CreateTransitGatewayPrefixListReferenceInput) SetBlackhole(v bool) *CreateTransitGatewayPrefixListReferenceInput {
56557	s.Blackhole = &v
56558	return s
56559}
56560
56561// SetDryRun sets the DryRun field's value.
56562func (s *CreateTransitGatewayPrefixListReferenceInput) SetDryRun(v bool) *CreateTransitGatewayPrefixListReferenceInput {
56563	s.DryRun = &v
56564	return s
56565}
56566
56567// SetPrefixListId sets the PrefixListId field's value.
56568func (s *CreateTransitGatewayPrefixListReferenceInput) SetPrefixListId(v string) *CreateTransitGatewayPrefixListReferenceInput {
56569	s.PrefixListId = &v
56570	return s
56571}
56572
56573// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
56574func (s *CreateTransitGatewayPrefixListReferenceInput) SetTransitGatewayAttachmentId(v string) *CreateTransitGatewayPrefixListReferenceInput {
56575	s.TransitGatewayAttachmentId = &v
56576	return s
56577}
56578
56579// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
56580func (s *CreateTransitGatewayPrefixListReferenceInput) SetTransitGatewayRouteTableId(v string) *CreateTransitGatewayPrefixListReferenceInput {
56581	s.TransitGatewayRouteTableId = &v
56582	return s
56583}
56584
56585type CreateTransitGatewayPrefixListReferenceOutput struct {
56586	_ struct{} `type:"structure"`
56587
56588	// Information about the prefix list reference.
56589	TransitGatewayPrefixListReference *TransitGatewayPrefixListReference `locationName:"transitGatewayPrefixListReference" type:"structure"`
56590}
56591
56592// String returns the string representation
56593func (s CreateTransitGatewayPrefixListReferenceOutput) String() string {
56594	return awsutil.Prettify(s)
56595}
56596
56597// GoString returns the string representation
56598func (s CreateTransitGatewayPrefixListReferenceOutput) GoString() string {
56599	return s.String()
56600}
56601
56602// SetTransitGatewayPrefixListReference sets the TransitGatewayPrefixListReference field's value.
56603func (s *CreateTransitGatewayPrefixListReferenceOutput) SetTransitGatewayPrefixListReference(v *TransitGatewayPrefixListReference) *CreateTransitGatewayPrefixListReferenceOutput {
56604	s.TransitGatewayPrefixListReference = v
56605	return s
56606}
56607
56608type CreateTransitGatewayRouteInput struct {
56609	_ struct{} `type:"structure"`
56610
56611	// Indicates whether to drop traffic that matches this route.
56612	Blackhole *bool `type:"boolean"`
56613
56614	// The CIDR range used for destination matches. Routing decisions are based
56615	// on the most specific match.
56616	//
56617	// DestinationCidrBlock is a required field
56618	DestinationCidrBlock *string `type:"string" required:"true"`
56619
56620	// Checks whether you have the required permissions for the action, without
56621	// actually making the request, and provides an error response. If you have
56622	// the required permissions, the error response is DryRunOperation. Otherwise,
56623	// it is UnauthorizedOperation.
56624	DryRun *bool `type:"boolean"`
56625
56626	// The ID of the attachment.
56627	TransitGatewayAttachmentId *string `type:"string"`
56628
56629	// The ID of the transit gateway route table.
56630	//
56631	// TransitGatewayRouteTableId is a required field
56632	TransitGatewayRouteTableId *string `type:"string" required:"true"`
56633}
56634
56635// String returns the string representation
56636func (s CreateTransitGatewayRouteInput) String() string {
56637	return awsutil.Prettify(s)
56638}
56639
56640// GoString returns the string representation
56641func (s CreateTransitGatewayRouteInput) GoString() string {
56642	return s.String()
56643}
56644
56645// Validate inspects the fields of the type to determine if they are valid.
56646func (s *CreateTransitGatewayRouteInput) Validate() error {
56647	invalidParams := request.ErrInvalidParams{Context: "CreateTransitGatewayRouteInput"}
56648	if s.DestinationCidrBlock == nil {
56649		invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
56650	}
56651	if s.TransitGatewayRouteTableId == nil {
56652		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
56653	}
56654
56655	if invalidParams.Len() > 0 {
56656		return invalidParams
56657	}
56658	return nil
56659}
56660
56661// SetBlackhole sets the Blackhole field's value.
56662func (s *CreateTransitGatewayRouteInput) SetBlackhole(v bool) *CreateTransitGatewayRouteInput {
56663	s.Blackhole = &v
56664	return s
56665}
56666
56667// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
56668func (s *CreateTransitGatewayRouteInput) SetDestinationCidrBlock(v string) *CreateTransitGatewayRouteInput {
56669	s.DestinationCidrBlock = &v
56670	return s
56671}
56672
56673// SetDryRun sets the DryRun field's value.
56674func (s *CreateTransitGatewayRouteInput) SetDryRun(v bool) *CreateTransitGatewayRouteInput {
56675	s.DryRun = &v
56676	return s
56677}
56678
56679// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
56680func (s *CreateTransitGatewayRouteInput) SetTransitGatewayAttachmentId(v string) *CreateTransitGatewayRouteInput {
56681	s.TransitGatewayAttachmentId = &v
56682	return s
56683}
56684
56685// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
56686func (s *CreateTransitGatewayRouteInput) SetTransitGatewayRouteTableId(v string) *CreateTransitGatewayRouteInput {
56687	s.TransitGatewayRouteTableId = &v
56688	return s
56689}
56690
56691type CreateTransitGatewayRouteOutput struct {
56692	_ struct{} `type:"structure"`
56693
56694	// Information about the route.
56695	Route *TransitGatewayRoute `locationName:"route" type:"structure"`
56696}
56697
56698// String returns the string representation
56699func (s CreateTransitGatewayRouteOutput) String() string {
56700	return awsutil.Prettify(s)
56701}
56702
56703// GoString returns the string representation
56704func (s CreateTransitGatewayRouteOutput) GoString() string {
56705	return s.String()
56706}
56707
56708// SetRoute sets the Route field's value.
56709func (s *CreateTransitGatewayRouteOutput) SetRoute(v *TransitGatewayRoute) *CreateTransitGatewayRouteOutput {
56710	s.Route = v
56711	return s
56712}
56713
56714type CreateTransitGatewayRouteTableInput struct {
56715	_ struct{} `type:"structure"`
56716
56717	// Checks whether you have the required permissions for the action, without
56718	// actually making the request, and provides an error response. If you have
56719	// the required permissions, the error response is DryRunOperation. Otherwise,
56720	// it is UnauthorizedOperation.
56721	DryRun *bool `type:"boolean"`
56722
56723	// The tags to apply to the transit gateway route table.
56724	TagSpecifications []*TagSpecification `locationNameList:"item" type:"list"`
56725
56726	// The ID of the transit gateway.
56727	//
56728	// TransitGatewayId is a required field
56729	TransitGatewayId *string `type:"string" required:"true"`
56730}
56731
56732// String returns the string representation
56733func (s CreateTransitGatewayRouteTableInput) String() string {
56734	return awsutil.Prettify(s)
56735}
56736
56737// GoString returns the string representation
56738func (s CreateTransitGatewayRouteTableInput) GoString() string {
56739	return s.String()
56740}
56741
56742// Validate inspects the fields of the type to determine if they are valid.
56743func (s *CreateTransitGatewayRouteTableInput) Validate() error {
56744	invalidParams := request.ErrInvalidParams{Context: "CreateTransitGatewayRouteTableInput"}
56745	if s.TransitGatewayId == nil {
56746		invalidParams.Add(request.NewErrParamRequired("TransitGatewayId"))
56747	}
56748
56749	if invalidParams.Len() > 0 {
56750		return invalidParams
56751	}
56752	return nil
56753}
56754
56755// SetDryRun sets the DryRun field's value.
56756func (s *CreateTransitGatewayRouteTableInput) SetDryRun(v bool) *CreateTransitGatewayRouteTableInput {
56757	s.DryRun = &v
56758	return s
56759}
56760
56761// SetTagSpecifications sets the TagSpecifications field's value.
56762func (s *CreateTransitGatewayRouteTableInput) SetTagSpecifications(v []*TagSpecification) *CreateTransitGatewayRouteTableInput {
56763	s.TagSpecifications = v
56764	return s
56765}
56766
56767// SetTransitGatewayId sets the TransitGatewayId field's value.
56768func (s *CreateTransitGatewayRouteTableInput) SetTransitGatewayId(v string) *CreateTransitGatewayRouteTableInput {
56769	s.TransitGatewayId = &v
56770	return s
56771}
56772
56773type CreateTransitGatewayRouteTableOutput struct {
56774	_ struct{} `type:"structure"`
56775
56776	// Information about the transit gateway route table.
56777	TransitGatewayRouteTable *TransitGatewayRouteTable `locationName:"transitGatewayRouteTable" type:"structure"`
56778}
56779
56780// String returns the string representation
56781func (s CreateTransitGatewayRouteTableOutput) String() string {
56782	return awsutil.Prettify(s)
56783}
56784
56785// GoString returns the string representation
56786func (s CreateTransitGatewayRouteTableOutput) GoString() string {
56787	return s.String()
56788}
56789
56790// SetTransitGatewayRouteTable sets the TransitGatewayRouteTable field's value.
56791func (s *CreateTransitGatewayRouteTableOutput) SetTransitGatewayRouteTable(v *TransitGatewayRouteTable) *CreateTransitGatewayRouteTableOutput {
56792	s.TransitGatewayRouteTable = v
56793	return s
56794}
56795
56796type CreateTransitGatewayVpcAttachmentInput struct {
56797	_ struct{} `type:"structure"`
56798
56799	// Checks whether you have the required permissions for the action, without
56800	// actually making the request, and provides an error response. If you have
56801	// the required permissions, the error response is DryRunOperation. Otherwise,
56802	// it is UnauthorizedOperation.
56803	DryRun *bool `type:"boolean"`
56804
56805	// The VPC attachment options.
56806	Options *CreateTransitGatewayVpcAttachmentRequestOptions `type:"structure"`
56807
56808	// The IDs of one or more subnets. You can specify only one subnet per Availability
56809	// Zone. You must specify at least one subnet, but we recommend that you specify
56810	// two subnets for better availability. The transit gateway uses one IP address
56811	// from each specified subnet.
56812	//
56813	// SubnetIds is a required field
56814	SubnetIds []*string `locationNameList:"item" type:"list" required:"true"`
56815
56816	// The tags to apply to the VPC attachment.
56817	TagSpecifications []*TagSpecification `locationNameList:"item" type:"list"`
56818
56819	// The ID of the transit gateway.
56820	//
56821	// TransitGatewayId is a required field
56822	TransitGatewayId *string `type:"string" required:"true"`
56823
56824	// The ID of the VPC.
56825	//
56826	// VpcId is a required field
56827	VpcId *string `type:"string" required:"true"`
56828}
56829
56830// String returns the string representation
56831func (s CreateTransitGatewayVpcAttachmentInput) String() string {
56832	return awsutil.Prettify(s)
56833}
56834
56835// GoString returns the string representation
56836func (s CreateTransitGatewayVpcAttachmentInput) GoString() string {
56837	return s.String()
56838}
56839
56840// Validate inspects the fields of the type to determine if they are valid.
56841func (s *CreateTransitGatewayVpcAttachmentInput) Validate() error {
56842	invalidParams := request.ErrInvalidParams{Context: "CreateTransitGatewayVpcAttachmentInput"}
56843	if s.SubnetIds == nil {
56844		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
56845	}
56846	if s.TransitGatewayId == nil {
56847		invalidParams.Add(request.NewErrParamRequired("TransitGatewayId"))
56848	}
56849	if s.VpcId == nil {
56850		invalidParams.Add(request.NewErrParamRequired("VpcId"))
56851	}
56852
56853	if invalidParams.Len() > 0 {
56854		return invalidParams
56855	}
56856	return nil
56857}
56858
56859// SetDryRun sets the DryRun field's value.
56860func (s *CreateTransitGatewayVpcAttachmentInput) SetDryRun(v bool) *CreateTransitGatewayVpcAttachmentInput {
56861	s.DryRun = &v
56862	return s
56863}
56864
56865// SetOptions sets the Options field's value.
56866func (s *CreateTransitGatewayVpcAttachmentInput) SetOptions(v *CreateTransitGatewayVpcAttachmentRequestOptions) *CreateTransitGatewayVpcAttachmentInput {
56867	s.Options = v
56868	return s
56869}
56870
56871// SetSubnetIds sets the SubnetIds field's value.
56872func (s *CreateTransitGatewayVpcAttachmentInput) SetSubnetIds(v []*string) *CreateTransitGatewayVpcAttachmentInput {
56873	s.SubnetIds = v
56874	return s
56875}
56876
56877// SetTagSpecifications sets the TagSpecifications field's value.
56878func (s *CreateTransitGatewayVpcAttachmentInput) SetTagSpecifications(v []*TagSpecification) *CreateTransitGatewayVpcAttachmentInput {
56879	s.TagSpecifications = v
56880	return s
56881}
56882
56883// SetTransitGatewayId sets the TransitGatewayId field's value.
56884func (s *CreateTransitGatewayVpcAttachmentInput) SetTransitGatewayId(v string) *CreateTransitGatewayVpcAttachmentInput {
56885	s.TransitGatewayId = &v
56886	return s
56887}
56888
56889// SetVpcId sets the VpcId field's value.
56890func (s *CreateTransitGatewayVpcAttachmentInput) SetVpcId(v string) *CreateTransitGatewayVpcAttachmentInput {
56891	s.VpcId = &v
56892	return s
56893}
56894
56895type CreateTransitGatewayVpcAttachmentOutput struct {
56896	_ struct{} `type:"structure"`
56897
56898	// Information about the VPC attachment.
56899	TransitGatewayVpcAttachment *TransitGatewayVpcAttachment `locationName:"transitGatewayVpcAttachment" type:"structure"`
56900}
56901
56902// String returns the string representation
56903func (s CreateTransitGatewayVpcAttachmentOutput) String() string {
56904	return awsutil.Prettify(s)
56905}
56906
56907// GoString returns the string representation
56908func (s CreateTransitGatewayVpcAttachmentOutput) GoString() string {
56909	return s.String()
56910}
56911
56912// SetTransitGatewayVpcAttachment sets the TransitGatewayVpcAttachment field's value.
56913func (s *CreateTransitGatewayVpcAttachmentOutput) SetTransitGatewayVpcAttachment(v *TransitGatewayVpcAttachment) *CreateTransitGatewayVpcAttachmentOutput {
56914	s.TransitGatewayVpcAttachment = v
56915	return s
56916}
56917
56918// Describes the options for a VPC attachment.
56919type CreateTransitGatewayVpcAttachmentRequestOptions struct {
56920	_ struct{} `type:"structure"`
56921
56922	// Enable or disable support for appliance mode. If enabled, a traffic flow
56923	// between a source and destination uses the same Availability Zone for the
56924	// VPC attachment for the lifetime of that flow. The default is disable.
56925	ApplianceModeSupport *string `type:"string" enum:"ApplianceModeSupportValue"`
56926
56927	// Enable or disable DNS support. The default is enable.
56928	DnsSupport *string `type:"string" enum:"DnsSupportValue"`
56929
56930	// Enable or disable IPv6 support. The default is disable.
56931	Ipv6Support *string `type:"string" enum:"Ipv6SupportValue"`
56932}
56933
56934// String returns the string representation
56935func (s CreateTransitGatewayVpcAttachmentRequestOptions) String() string {
56936	return awsutil.Prettify(s)
56937}
56938
56939// GoString returns the string representation
56940func (s CreateTransitGatewayVpcAttachmentRequestOptions) GoString() string {
56941	return s.String()
56942}
56943
56944// SetApplianceModeSupport sets the ApplianceModeSupport field's value.
56945func (s *CreateTransitGatewayVpcAttachmentRequestOptions) SetApplianceModeSupport(v string) *CreateTransitGatewayVpcAttachmentRequestOptions {
56946	s.ApplianceModeSupport = &v
56947	return s
56948}
56949
56950// SetDnsSupport sets the DnsSupport field's value.
56951func (s *CreateTransitGatewayVpcAttachmentRequestOptions) SetDnsSupport(v string) *CreateTransitGatewayVpcAttachmentRequestOptions {
56952	s.DnsSupport = &v
56953	return s
56954}
56955
56956// SetIpv6Support sets the Ipv6Support field's value.
56957func (s *CreateTransitGatewayVpcAttachmentRequestOptions) SetIpv6Support(v string) *CreateTransitGatewayVpcAttachmentRequestOptions {
56958	s.Ipv6Support = &v
56959	return s
56960}
56961
56962type CreateVolumeInput struct {
56963	_ struct{} `type:"structure"`
56964
56965	// The Availability Zone in which to create the volume.
56966	//
56967	// AvailabilityZone is a required field
56968	AvailabilityZone *string `type:"string" required:"true"`
56969
56970	// Checks whether you have the required permissions for the action, without
56971	// actually making the request, and provides an error response. If you have
56972	// the required permissions, the error response is DryRunOperation. Otherwise,
56973	// it is UnauthorizedOperation.
56974	DryRun *bool `locationName:"dryRun" type:"boolean"`
56975
56976	// Indicates whether the volume should be encrypted. The effect of setting the
56977	// encryption state to true depends on the volume origin (new or from a snapshot),
56978	// starting encryption state, ownership, and whether encryption by default is
56979	// enabled. For more information, see Encryption by default (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default)
56980	// in the Amazon Elastic Compute Cloud User Guide.
56981	//
56982	// Encrypted Amazon EBS volumes must be attached to instances that support Amazon
56983	// EBS encryption. For more information, see Supported instance types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances).
56984	Encrypted *bool `locationName:"encrypted" type:"boolean"`
56985
56986	// The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes,
56987	// this represents the number of IOPS that are provisioned for the volume. For
56988	// gp2 volumes, this represents the baseline performance of the volume and the
56989	// rate at which the volume accumulates I/O credits for bursting.
56990	//
56991	// The following are the supported values for each volume type:
56992	//
56993	//    * gp3: 3,000-16,000 IOPS
56994	//
56995	//    * io1: 100-64,000 IOPS
56996	//
56997	//    * io2: 100-64,000 IOPS
56998	//
56999	// For io1 and io2 volumes, we guarantee 64,000 IOPS only for Instances built
57000	// on the Nitro System (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances).
57001	// Other instance families guarantee performance up to 32,000 IOPS.
57002	//
57003	// This parameter is required for io1 and io2 volumes. The default for gp3 volumes
57004	// is 3,000 IOPS. This parameter is not supported for gp2, st1, sc1, or standard
57005	// volumes.
57006	Iops *int64 `type:"integer"`
57007
57008	// The identifier of the AWS Key Management Service (AWS KMS) customer master
57009	// key (CMK) to use for Amazon EBS encryption. If this parameter is not specified,
57010	// your AWS managed CMK for EBS is used. If KmsKeyId is specified, the encrypted
57011	// state must be true.
57012	//
57013	// You can specify the CMK using any of the following:
57014	//
57015	//    * Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.
57016	//
57017	//    * Key alias. For example, alias/ExampleAlias.
57018	//
57019	//    * Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.
57020	//
57021	//    * Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
57022	//
57023	// AWS authenticates the CMK asynchronously. Therefore, if you specify an ID,
57024	// alias, or ARN that is not valid, the action can appear to complete, but eventually
57025	// fails.
57026	KmsKeyId *string `type:"string"`
57027
57028	// Indicates whether to enable Amazon EBS Multi-Attach. If you enable Multi-Attach,
57029	// you can attach the volume to up to 16 Instances built on the Nitro System
57030	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances)
57031	// in the same Availability Zone. This parameter is supported with io1 and io2
57032	// volumes only. For more information, see Amazon EBS Multi-Attach (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volumes-multi.html)
57033	// in the Amazon Elastic Compute Cloud User Guide.
57034	MultiAttachEnabled *bool `type:"boolean"`
57035
57036	// The Amazon Resource Name (ARN) of the Outpost.
57037	OutpostArn *string `type:"string"`
57038
57039	// The size of the volume, in GiBs. You must specify either a snapshot ID or
57040	// a volume size. If you specify a snapshot, the default is the snapshot size.
57041	// You can specify a volume size that is equal to or larger than the snapshot
57042	// size.
57043	//
57044	// The following are the supported volumes sizes for each volume type:
57045	//
57046	//    * gp2 and gp3: 1-16,384
57047	//
57048	//    * io1 and io2: 4-16,384
57049	//
57050	//    * st1 and sc1: 125-16,384
57051	//
57052	//    * standard: 1-1,024
57053	Size *int64 `type:"integer"`
57054
57055	// The snapshot from which to create the volume. You must specify either a snapshot
57056	// ID or a volume size.
57057	SnapshotId *string `type:"string"`
57058
57059	// The tags to apply to the volume during creation.
57060	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
57061
57062	// The throughput to provision for a volume, with a maximum of 1,000 MiB/s.
57063	//
57064	// This parameter is valid only for gp3 volumes.
57065	//
57066	// Valid Range: Minimum value of 125. Maximum value of 1000.
57067	Throughput *int64 `type:"integer"`
57068
57069	// The volume type. This parameter can be one of the following values:
57070	//
57071	//    * General Purpose SSD: gp2 | gp3
57072	//
57073	//    * Provisioned IOPS SSD: io1 | io2
57074	//
57075	//    * Throughput Optimized HDD: st1
57076	//
57077	//    * Cold HDD: sc1
57078	//
57079	//    * Magnetic: standard
57080	//
57081	// For more information, see Amazon EBS volume types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
57082	// in the Amazon Elastic Compute Cloud User Guide.
57083	//
57084	// Default: gp2
57085	VolumeType *string `type:"string" enum:"VolumeType"`
57086}
57087
57088// String returns the string representation
57089func (s CreateVolumeInput) String() string {
57090	return awsutil.Prettify(s)
57091}
57092
57093// GoString returns the string representation
57094func (s CreateVolumeInput) GoString() string {
57095	return s.String()
57096}
57097
57098// Validate inspects the fields of the type to determine if they are valid.
57099func (s *CreateVolumeInput) Validate() error {
57100	invalidParams := request.ErrInvalidParams{Context: "CreateVolumeInput"}
57101	if s.AvailabilityZone == nil {
57102		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
57103	}
57104
57105	if invalidParams.Len() > 0 {
57106		return invalidParams
57107	}
57108	return nil
57109}
57110
57111// SetAvailabilityZone sets the AvailabilityZone field's value.
57112func (s *CreateVolumeInput) SetAvailabilityZone(v string) *CreateVolumeInput {
57113	s.AvailabilityZone = &v
57114	return s
57115}
57116
57117// SetDryRun sets the DryRun field's value.
57118func (s *CreateVolumeInput) SetDryRun(v bool) *CreateVolumeInput {
57119	s.DryRun = &v
57120	return s
57121}
57122
57123// SetEncrypted sets the Encrypted field's value.
57124func (s *CreateVolumeInput) SetEncrypted(v bool) *CreateVolumeInput {
57125	s.Encrypted = &v
57126	return s
57127}
57128
57129// SetIops sets the Iops field's value.
57130func (s *CreateVolumeInput) SetIops(v int64) *CreateVolumeInput {
57131	s.Iops = &v
57132	return s
57133}
57134
57135// SetKmsKeyId sets the KmsKeyId field's value.
57136func (s *CreateVolumeInput) SetKmsKeyId(v string) *CreateVolumeInput {
57137	s.KmsKeyId = &v
57138	return s
57139}
57140
57141// SetMultiAttachEnabled sets the MultiAttachEnabled field's value.
57142func (s *CreateVolumeInput) SetMultiAttachEnabled(v bool) *CreateVolumeInput {
57143	s.MultiAttachEnabled = &v
57144	return s
57145}
57146
57147// SetOutpostArn sets the OutpostArn field's value.
57148func (s *CreateVolumeInput) SetOutpostArn(v string) *CreateVolumeInput {
57149	s.OutpostArn = &v
57150	return s
57151}
57152
57153// SetSize sets the Size field's value.
57154func (s *CreateVolumeInput) SetSize(v int64) *CreateVolumeInput {
57155	s.Size = &v
57156	return s
57157}
57158
57159// SetSnapshotId sets the SnapshotId field's value.
57160func (s *CreateVolumeInput) SetSnapshotId(v string) *CreateVolumeInput {
57161	s.SnapshotId = &v
57162	return s
57163}
57164
57165// SetTagSpecifications sets the TagSpecifications field's value.
57166func (s *CreateVolumeInput) SetTagSpecifications(v []*TagSpecification) *CreateVolumeInput {
57167	s.TagSpecifications = v
57168	return s
57169}
57170
57171// SetThroughput sets the Throughput field's value.
57172func (s *CreateVolumeInput) SetThroughput(v int64) *CreateVolumeInput {
57173	s.Throughput = &v
57174	return s
57175}
57176
57177// SetVolumeType sets the VolumeType field's value.
57178func (s *CreateVolumeInput) SetVolumeType(v string) *CreateVolumeInput {
57179	s.VolumeType = &v
57180	return s
57181}
57182
57183// Describes the user or group to be added or removed from the list of create
57184// volume permissions for a volume.
57185type CreateVolumePermission struct {
57186	_ struct{} `type:"structure"`
57187
57188	// The group to be added or removed. The possible value is all.
57189	Group *string `locationName:"group" type:"string" enum:"PermissionGroup"`
57190
57191	// The AWS account ID to be added or removed.
57192	UserId *string `locationName:"userId" type:"string"`
57193}
57194
57195// String returns the string representation
57196func (s CreateVolumePermission) String() string {
57197	return awsutil.Prettify(s)
57198}
57199
57200// GoString returns the string representation
57201func (s CreateVolumePermission) GoString() string {
57202	return s.String()
57203}
57204
57205// SetGroup sets the Group field's value.
57206func (s *CreateVolumePermission) SetGroup(v string) *CreateVolumePermission {
57207	s.Group = &v
57208	return s
57209}
57210
57211// SetUserId sets the UserId field's value.
57212func (s *CreateVolumePermission) SetUserId(v string) *CreateVolumePermission {
57213	s.UserId = &v
57214	return s
57215}
57216
57217// Describes modifications to the list of create volume permissions for a volume.
57218type CreateVolumePermissionModifications struct {
57219	_ struct{} `type:"structure"`
57220
57221	// Adds the specified AWS account ID or group to the list.
57222	Add []*CreateVolumePermission `locationNameList:"item" type:"list"`
57223
57224	// Removes the specified AWS account ID or group from the list.
57225	Remove []*CreateVolumePermission `locationNameList:"item" type:"list"`
57226}
57227
57228// String returns the string representation
57229func (s CreateVolumePermissionModifications) String() string {
57230	return awsutil.Prettify(s)
57231}
57232
57233// GoString returns the string representation
57234func (s CreateVolumePermissionModifications) GoString() string {
57235	return s.String()
57236}
57237
57238// SetAdd sets the Add field's value.
57239func (s *CreateVolumePermissionModifications) SetAdd(v []*CreateVolumePermission) *CreateVolumePermissionModifications {
57240	s.Add = v
57241	return s
57242}
57243
57244// SetRemove sets the Remove field's value.
57245func (s *CreateVolumePermissionModifications) SetRemove(v []*CreateVolumePermission) *CreateVolumePermissionModifications {
57246	s.Remove = v
57247	return s
57248}
57249
57250type CreateVpcEndpointConnectionNotificationInput struct {
57251	_ struct{} `type:"structure"`
57252
57253	// Unique, case-sensitive identifier that you provide to ensure the idempotency
57254	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
57255	ClientToken *string `type:"string"`
57256
57257	// One or more endpoint events for which to receive notifications. Valid values
57258	// are Accept, Connect, Delete, and Reject.
57259	//
57260	// ConnectionEvents is a required field
57261	ConnectionEvents []*string `locationNameList:"item" type:"list" required:"true"`
57262
57263	// The ARN of the SNS topic for the notifications.
57264	//
57265	// ConnectionNotificationArn is a required field
57266	ConnectionNotificationArn *string `type:"string" required:"true"`
57267
57268	// Checks whether you have the required permissions for the action, without
57269	// actually making the request, and provides an error response. If you have
57270	// the required permissions, the error response is DryRunOperation. Otherwise,
57271	// it is UnauthorizedOperation.
57272	DryRun *bool `type:"boolean"`
57273
57274	// The ID of the endpoint service.
57275	ServiceId *string `type:"string"`
57276
57277	// The ID of the endpoint.
57278	VpcEndpointId *string `type:"string"`
57279}
57280
57281// String returns the string representation
57282func (s CreateVpcEndpointConnectionNotificationInput) String() string {
57283	return awsutil.Prettify(s)
57284}
57285
57286// GoString returns the string representation
57287func (s CreateVpcEndpointConnectionNotificationInput) GoString() string {
57288	return s.String()
57289}
57290
57291// Validate inspects the fields of the type to determine if they are valid.
57292func (s *CreateVpcEndpointConnectionNotificationInput) Validate() error {
57293	invalidParams := request.ErrInvalidParams{Context: "CreateVpcEndpointConnectionNotificationInput"}
57294	if s.ConnectionEvents == nil {
57295		invalidParams.Add(request.NewErrParamRequired("ConnectionEvents"))
57296	}
57297	if s.ConnectionNotificationArn == nil {
57298		invalidParams.Add(request.NewErrParamRequired("ConnectionNotificationArn"))
57299	}
57300
57301	if invalidParams.Len() > 0 {
57302		return invalidParams
57303	}
57304	return nil
57305}
57306
57307// SetClientToken sets the ClientToken field's value.
57308func (s *CreateVpcEndpointConnectionNotificationInput) SetClientToken(v string) *CreateVpcEndpointConnectionNotificationInput {
57309	s.ClientToken = &v
57310	return s
57311}
57312
57313// SetConnectionEvents sets the ConnectionEvents field's value.
57314func (s *CreateVpcEndpointConnectionNotificationInput) SetConnectionEvents(v []*string) *CreateVpcEndpointConnectionNotificationInput {
57315	s.ConnectionEvents = v
57316	return s
57317}
57318
57319// SetConnectionNotificationArn sets the ConnectionNotificationArn field's value.
57320func (s *CreateVpcEndpointConnectionNotificationInput) SetConnectionNotificationArn(v string) *CreateVpcEndpointConnectionNotificationInput {
57321	s.ConnectionNotificationArn = &v
57322	return s
57323}
57324
57325// SetDryRun sets the DryRun field's value.
57326func (s *CreateVpcEndpointConnectionNotificationInput) SetDryRun(v bool) *CreateVpcEndpointConnectionNotificationInput {
57327	s.DryRun = &v
57328	return s
57329}
57330
57331// SetServiceId sets the ServiceId field's value.
57332func (s *CreateVpcEndpointConnectionNotificationInput) SetServiceId(v string) *CreateVpcEndpointConnectionNotificationInput {
57333	s.ServiceId = &v
57334	return s
57335}
57336
57337// SetVpcEndpointId sets the VpcEndpointId field's value.
57338func (s *CreateVpcEndpointConnectionNotificationInput) SetVpcEndpointId(v string) *CreateVpcEndpointConnectionNotificationInput {
57339	s.VpcEndpointId = &v
57340	return s
57341}
57342
57343type CreateVpcEndpointConnectionNotificationOutput struct {
57344	_ struct{} `type:"structure"`
57345
57346	// Unique, case-sensitive identifier that you provide to ensure the idempotency
57347	// of the request.
57348	ClientToken *string `locationName:"clientToken" type:"string"`
57349
57350	// Information about the notification.
57351	ConnectionNotification *ConnectionNotification `locationName:"connectionNotification" type:"structure"`
57352}
57353
57354// String returns the string representation
57355func (s CreateVpcEndpointConnectionNotificationOutput) String() string {
57356	return awsutil.Prettify(s)
57357}
57358
57359// GoString returns the string representation
57360func (s CreateVpcEndpointConnectionNotificationOutput) GoString() string {
57361	return s.String()
57362}
57363
57364// SetClientToken sets the ClientToken field's value.
57365func (s *CreateVpcEndpointConnectionNotificationOutput) SetClientToken(v string) *CreateVpcEndpointConnectionNotificationOutput {
57366	s.ClientToken = &v
57367	return s
57368}
57369
57370// SetConnectionNotification sets the ConnectionNotification field's value.
57371func (s *CreateVpcEndpointConnectionNotificationOutput) SetConnectionNotification(v *ConnectionNotification) *CreateVpcEndpointConnectionNotificationOutput {
57372	s.ConnectionNotification = v
57373	return s
57374}
57375
57376// Contains the parameters for CreateVpcEndpoint.
57377type CreateVpcEndpointInput struct {
57378	_ struct{} `type:"structure"`
57379
57380	// Unique, case-sensitive identifier that you provide to ensure the idempotency
57381	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
57382	ClientToken *string `type:"string"`
57383
57384	// Checks whether you have the required permissions for the action, without
57385	// actually making the request, and provides an error response. If you have
57386	// the required permissions, the error response is DryRunOperation. Otherwise,
57387	// it is UnauthorizedOperation.
57388	DryRun *bool `type:"boolean"`
57389
57390	// (Interface and gateway endpoints) A policy to attach to the endpoint that
57391	// controls access to the service. The policy must be in valid JSON format.
57392	// If this parameter is not specified, we attach a default policy that allows
57393	// full access to the service.
57394	PolicyDocument *string `type:"string"`
57395
57396	// (Interface endpoint) Indicates whether to associate a private hosted zone
57397	// with the specified VPC. The private hosted zone contains a record set for
57398	// the default public DNS name for the service for the Region (for example,
57399	// kinesis.us-east-1.amazonaws.com), which resolves to the private IP addresses
57400	// of the endpoint network interfaces in the VPC. This enables you to make requests
57401	// to the default public DNS name for the service instead of the public DNS
57402	// names that are automatically generated by the VPC endpoint service.
57403	//
57404	// To use a private hosted zone, you must set the following VPC attributes to
57405	// true: enableDnsHostnames and enableDnsSupport. Use ModifyVpcAttribute to
57406	// set the VPC attributes.
57407	//
57408	// Default: true
57409	PrivateDnsEnabled *bool `type:"boolean"`
57410
57411	// (Gateway endpoint) One or more route table IDs.
57412	RouteTableIds []*string `locationName:"RouteTableId" locationNameList:"item" type:"list"`
57413
57414	// (Interface endpoint) The ID of one or more security groups to associate with
57415	// the endpoint network interface.
57416	SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"item" type:"list"`
57417
57418	// The service name. To get a list of available services, use the DescribeVpcEndpointServices
57419	// request, or get the name from the service provider.
57420	//
57421	// ServiceName is a required field
57422	ServiceName *string `type:"string" required:"true"`
57423
57424	// (Interface and Gateway Load Balancer endpoints) The ID of one or more subnets
57425	// in which to create an endpoint network interface. For a Gateway Load Balancer
57426	// endpoint, you can specify one subnet only.
57427	SubnetIds []*string `locationName:"SubnetId" locationNameList:"item" type:"list"`
57428
57429	// The tags to associate with the endpoint.
57430	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
57431
57432	// The type of endpoint.
57433	//
57434	// Default: Gateway
57435	VpcEndpointType *string `type:"string" enum:"VpcEndpointType"`
57436
57437	// The ID of the VPC in which the endpoint will be used.
57438	//
57439	// VpcId is a required field
57440	VpcId *string `type:"string" required:"true"`
57441}
57442
57443// String returns the string representation
57444func (s CreateVpcEndpointInput) String() string {
57445	return awsutil.Prettify(s)
57446}
57447
57448// GoString returns the string representation
57449func (s CreateVpcEndpointInput) GoString() string {
57450	return s.String()
57451}
57452
57453// Validate inspects the fields of the type to determine if they are valid.
57454func (s *CreateVpcEndpointInput) Validate() error {
57455	invalidParams := request.ErrInvalidParams{Context: "CreateVpcEndpointInput"}
57456	if s.ServiceName == nil {
57457		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
57458	}
57459	if s.VpcId == nil {
57460		invalidParams.Add(request.NewErrParamRequired("VpcId"))
57461	}
57462
57463	if invalidParams.Len() > 0 {
57464		return invalidParams
57465	}
57466	return nil
57467}
57468
57469// SetClientToken sets the ClientToken field's value.
57470func (s *CreateVpcEndpointInput) SetClientToken(v string) *CreateVpcEndpointInput {
57471	s.ClientToken = &v
57472	return s
57473}
57474
57475// SetDryRun sets the DryRun field's value.
57476func (s *CreateVpcEndpointInput) SetDryRun(v bool) *CreateVpcEndpointInput {
57477	s.DryRun = &v
57478	return s
57479}
57480
57481// SetPolicyDocument sets the PolicyDocument field's value.
57482func (s *CreateVpcEndpointInput) SetPolicyDocument(v string) *CreateVpcEndpointInput {
57483	s.PolicyDocument = &v
57484	return s
57485}
57486
57487// SetPrivateDnsEnabled sets the PrivateDnsEnabled field's value.
57488func (s *CreateVpcEndpointInput) SetPrivateDnsEnabled(v bool) *CreateVpcEndpointInput {
57489	s.PrivateDnsEnabled = &v
57490	return s
57491}
57492
57493// SetRouteTableIds sets the RouteTableIds field's value.
57494func (s *CreateVpcEndpointInput) SetRouteTableIds(v []*string) *CreateVpcEndpointInput {
57495	s.RouteTableIds = v
57496	return s
57497}
57498
57499// SetSecurityGroupIds sets the SecurityGroupIds field's value.
57500func (s *CreateVpcEndpointInput) SetSecurityGroupIds(v []*string) *CreateVpcEndpointInput {
57501	s.SecurityGroupIds = v
57502	return s
57503}
57504
57505// SetServiceName sets the ServiceName field's value.
57506func (s *CreateVpcEndpointInput) SetServiceName(v string) *CreateVpcEndpointInput {
57507	s.ServiceName = &v
57508	return s
57509}
57510
57511// SetSubnetIds sets the SubnetIds field's value.
57512func (s *CreateVpcEndpointInput) SetSubnetIds(v []*string) *CreateVpcEndpointInput {
57513	s.SubnetIds = v
57514	return s
57515}
57516
57517// SetTagSpecifications sets the TagSpecifications field's value.
57518func (s *CreateVpcEndpointInput) SetTagSpecifications(v []*TagSpecification) *CreateVpcEndpointInput {
57519	s.TagSpecifications = v
57520	return s
57521}
57522
57523// SetVpcEndpointType sets the VpcEndpointType field's value.
57524func (s *CreateVpcEndpointInput) SetVpcEndpointType(v string) *CreateVpcEndpointInput {
57525	s.VpcEndpointType = &v
57526	return s
57527}
57528
57529// SetVpcId sets the VpcId field's value.
57530func (s *CreateVpcEndpointInput) SetVpcId(v string) *CreateVpcEndpointInput {
57531	s.VpcId = &v
57532	return s
57533}
57534
57535// Contains the output of CreateVpcEndpoint.
57536type CreateVpcEndpointOutput struct {
57537	_ struct{} `type:"structure"`
57538
57539	// Unique, case-sensitive identifier that you provide to ensure the idempotency
57540	// of the request.
57541	ClientToken *string `locationName:"clientToken" type:"string"`
57542
57543	// Information about the endpoint.
57544	VpcEndpoint *VpcEndpoint `locationName:"vpcEndpoint" type:"structure"`
57545}
57546
57547// String returns the string representation
57548func (s CreateVpcEndpointOutput) String() string {
57549	return awsutil.Prettify(s)
57550}
57551
57552// GoString returns the string representation
57553func (s CreateVpcEndpointOutput) GoString() string {
57554	return s.String()
57555}
57556
57557// SetClientToken sets the ClientToken field's value.
57558func (s *CreateVpcEndpointOutput) SetClientToken(v string) *CreateVpcEndpointOutput {
57559	s.ClientToken = &v
57560	return s
57561}
57562
57563// SetVpcEndpoint sets the VpcEndpoint field's value.
57564func (s *CreateVpcEndpointOutput) SetVpcEndpoint(v *VpcEndpoint) *CreateVpcEndpointOutput {
57565	s.VpcEndpoint = v
57566	return s
57567}
57568
57569type CreateVpcEndpointServiceConfigurationInput struct {
57570	_ struct{} `type:"structure"`
57571
57572	// Indicates whether requests from service consumers to create an endpoint to
57573	// your service must be accepted. To accept a request, use AcceptVpcEndpointConnections.
57574	AcceptanceRequired *bool `type:"boolean"`
57575
57576	// Unique, case-sensitive identifier that you provide to ensure the idempotency
57577	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
57578	ClientToken *string `type:"string"`
57579
57580	// Checks whether you have the required permissions for the action, without
57581	// actually making the request, and provides an error response. If you have
57582	// the required permissions, the error response is DryRunOperation. Otherwise,
57583	// it is UnauthorizedOperation.
57584	DryRun *bool `type:"boolean"`
57585
57586	// The Amazon Resource Names (ARNs) of one or more Gateway Load Balancers.
57587	GatewayLoadBalancerArns []*string `locationName:"GatewayLoadBalancerArn" locationNameList:"item" type:"list"`
57588
57589	// The Amazon Resource Names (ARNs) of one or more Network Load Balancers for
57590	// your service.
57591	NetworkLoadBalancerArns []*string `locationName:"NetworkLoadBalancerArn" locationNameList:"item" type:"list"`
57592
57593	// (Interface endpoint configuration) The private DNS name to assign to the
57594	// VPC endpoint service.
57595	PrivateDnsName *string `type:"string"`
57596
57597	// The tags to associate with the service.
57598	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
57599}
57600
57601// String returns the string representation
57602func (s CreateVpcEndpointServiceConfigurationInput) String() string {
57603	return awsutil.Prettify(s)
57604}
57605
57606// GoString returns the string representation
57607func (s CreateVpcEndpointServiceConfigurationInput) GoString() string {
57608	return s.String()
57609}
57610
57611// SetAcceptanceRequired sets the AcceptanceRequired field's value.
57612func (s *CreateVpcEndpointServiceConfigurationInput) SetAcceptanceRequired(v bool) *CreateVpcEndpointServiceConfigurationInput {
57613	s.AcceptanceRequired = &v
57614	return s
57615}
57616
57617// SetClientToken sets the ClientToken field's value.
57618func (s *CreateVpcEndpointServiceConfigurationInput) SetClientToken(v string) *CreateVpcEndpointServiceConfigurationInput {
57619	s.ClientToken = &v
57620	return s
57621}
57622
57623// SetDryRun sets the DryRun field's value.
57624func (s *CreateVpcEndpointServiceConfigurationInput) SetDryRun(v bool) *CreateVpcEndpointServiceConfigurationInput {
57625	s.DryRun = &v
57626	return s
57627}
57628
57629// SetGatewayLoadBalancerArns sets the GatewayLoadBalancerArns field's value.
57630func (s *CreateVpcEndpointServiceConfigurationInput) SetGatewayLoadBalancerArns(v []*string) *CreateVpcEndpointServiceConfigurationInput {
57631	s.GatewayLoadBalancerArns = v
57632	return s
57633}
57634
57635// SetNetworkLoadBalancerArns sets the NetworkLoadBalancerArns field's value.
57636func (s *CreateVpcEndpointServiceConfigurationInput) SetNetworkLoadBalancerArns(v []*string) *CreateVpcEndpointServiceConfigurationInput {
57637	s.NetworkLoadBalancerArns = v
57638	return s
57639}
57640
57641// SetPrivateDnsName sets the PrivateDnsName field's value.
57642func (s *CreateVpcEndpointServiceConfigurationInput) SetPrivateDnsName(v string) *CreateVpcEndpointServiceConfigurationInput {
57643	s.PrivateDnsName = &v
57644	return s
57645}
57646
57647// SetTagSpecifications sets the TagSpecifications field's value.
57648func (s *CreateVpcEndpointServiceConfigurationInput) SetTagSpecifications(v []*TagSpecification) *CreateVpcEndpointServiceConfigurationInput {
57649	s.TagSpecifications = v
57650	return s
57651}
57652
57653type CreateVpcEndpointServiceConfigurationOutput struct {
57654	_ struct{} `type:"structure"`
57655
57656	// Unique, case-sensitive identifier that you provide to ensure the idempotency
57657	// of the request.
57658	ClientToken *string `locationName:"clientToken" type:"string"`
57659
57660	// Information about the service configuration.
57661	ServiceConfiguration *ServiceConfiguration `locationName:"serviceConfiguration" type:"structure"`
57662}
57663
57664// String returns the string representation
57665func (s CreateVpcEndpointServiceConfigurationOutput) String() string {
57666	return awsutil.Prettify(s)
57667}
57668
57669// GoString returns the string representation
57670func (s CreateVpcEndpointServiceConfigurationOutput) GoString() string {
57671	return s.String()
57672}
57673
57674// SetClientToken sets the ClientToken field's value.
57675func (s *CreateVpcEndpointServiceConfigurationOutput) SetClientToken(v string) *CreateVpcEndpointServiceConfigurationOutput {
57676	s.ClientToken = &v
57677	return s
57678}
57679
57680// SetServiceConfiguration sets the ServiceConfiguration field's value.
57681func (s *CreateVpcEndpointServiceConfigurationOutput) SetServiceConfiguration(v *ServiceConfiguration) *CreateVpcEndpointServiceConfigurationOutput {
57682	s.ServiceConfiguration = v
57683	return s
57684}
57685
57686type CreateVpcInput struct {
57687	_ struct{} `type:"structure"`
57688
57689	// Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for
57690	// the VPC. You cannot specify the range of IP addresses, or the size of the
57691	// CIDR block.
57692	AmazonProvidedIpv6CidrBlock *bool `locationName:"amazonProvidedIpv6CidrBlock" type:"boolean"`
57693
57694	// The IPv4 network range for the VPC, in CIDR notation. For example, 10.0.0.0/16.
57695	// We modify the specified CIDR block to its canonical form; for example, if
57696	// you specify 100.68.0.18/18, we modify it to 100.68.0.0/18.
57697	//
57698	// CidrBlock is a required field
57699	CidrBlock *string `type:"string" required:"true"`
57700
57701	// Checks whether you have the required permissions for the action, without
57702	// actually making the request, and provides an error response. If you have
57703	// the required permissions, the error response is DryRunOperation. Otherwise,
57704	// it is UnauthorizedOperation.
57705	DryRun *bool `locationName:"dryRun" type:"boolean"`
57706
57707	// The tenancy options for instances launched into the VPC. For default, instances
57708	// are launched with shared tenancy by default. You can launch instances with
57709	// any tenancy into a shared tenancy VPC. For dedicated, instances are launched
57710	// as dedicated tenancy instances by default. You can only launch instances
57711	// with a tenancy of dedicated or host into a dedicated tenancy VPC.
57712	//
57713	// Important: The host value cannot be used with this parameter. Use the default
57714	// or dedicated values only.
57715	//
57716	// Default: default
57717	InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
57718
57719	// The IPv6 CIDR block from the IPv6 address pool. You must also specify Ipv6Pool
57720	// in the request.
57721	//
57722	// To let Amazon choose the IPv6 CIDR block for you, omit this parameter.
57723	Ipv6CidrBlock *string `type:"string"`
57724
57725	// The name of the location from which we advertise the IPV6 CIDR block. Use
57726	// this parameter to limit the address to this location.
57727	//
57728	// You must set AmazonProvidedIpv6CidrBlock to true to use this parameter.
57729	Ipv6CidrBlockNetworkBorderGroup *string `type:"string"`
57730
57731	// The ID of an IPv6 address pool from which to allocate the IPv6 CIDR block.
57732	Ipv6Pool *string `type:"string"`
57733
57734	// The tags to assign to the VPC.
57735	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
57736}
57737
57738// String returns the string representation
57739func (s CreateVpcInput) String() string {
57740	return awsutil.Prettify(s)
57741}
57742
57743// GoString returns the string representation
57744func (s CreateVpcInput) GoString() string {
57745	return s.String()
57746}
57747
57748// Validate inspects the fields of the type to determine if they are valid.
57749func (s *CreateVpcInput) Validate() error {
57750	invalidParams := request.ErrInvalidParams{Context: "CreateVpcInput"}
57751	if s.CidrBlock == nil {
57752		invalidParams.Add(request.NewErrParamRequired("CidrBlock"))
57753	}
57754
57755	if invalidParams.Len() > 0 {
57756		return invalidParams
57757	}
57758	return nil
57759}
57760
57761// SetAmazonProvidedIpv6CidrBlock sets the AmazonProvidedIpv6CidrBlock field's value.
57762func (s *CreateVpcInput) SetAmazonProvidedIpv6CidrBlock(v bool) *CreateVpcInput {
57763	s.AmazonProvidedIpv6CidrBlock = &v
57764	return s
57765}
57766
57767// SetCidrBlock sets the CidrBlock field's value.
57768func (s *CreateVpcInput) SetCidrBlock(v string) *CreateVpcInput {
57769	s.CidrBlock = &v
57770	return s
57771}
57772
57773// SetDryRun sets the DryRun field's value.
57774func (s *CreateVpcInput) SetDryRun(v bool) *CreateVpcInput {
57775	s.DryRun = &v
57776	return s
57777}
57778
57779// SetInstanceTenancy sets the InstanceTenancy field's value.
57780func (s *CreateVpcInput) SetInstanceTenancy(v string) *CreateVpcInput {
57781	s.InstanceTenancy = &v
57782	return s
57783}
57784
57785// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
57786func (s *CreateVpcInput) SetIpv6CidrBlock(v string) *CreateVpcInput {
57787	s.Ipv6CidrBlock = &v
57788	return s
57789}
57790
57791// SetIpv6CidrBlockNetworkBorderGroup sets the Ipv6CidrBlockNetworkBorderGroup field's value.
57792func (s *CreateVpcInput) SetIpv6CidrBlockNetworkBorderGroup(v string) *CreateVpcInput {
57793	s.Ipv6CidrBlockNetworkBorderGroup = &v
57794	return s
57795}
57796
57797// SetIpv6Pool sets the Ipv6Pool field's value.
57798func (s *CreateVpcInput) SetIpv6Pool(v string) *CreateVpcInput {
57799	s.Ipv6Pool = &v
57800	return s
57801}
57802
57803// SetTagSpecifications sets the TagSpecifications field's value.
57804func (s *CreateVpcInput) SetTagSpecifications(v []*TagSpecification) *CreateVpcInput {
57805	s.TagSpecifications = v
57806	return s
57807}
57808
57809type CreateVpcOutput struct {
57810	_ struct{} `type:"structure"`
57811
57812	// Information about the VPC.
57813	Vpc *Vpc `locationName:"vpc" type:"structure"`
57814}
57815
57816// String returns the string representation
57817func (s CreateVpcOutput) String() string {
57818	return awsutil.Prettify(s)
57819}
57820
57821// GoString returns the string representation
57822func (s CreateVpcOutput) GoString() string {
57823	return s.String()
57824}
57825
57826// SetVpc sets the Vpc field's value.
57827func (s *CreateVpcOutput) SetVpc(v *Vpc) *CreateVpcOutput {
57828	s.Vpc = v
57829	return s
57830}
57831
57832type CreateVpcPeeringConnectionInput struct {
57833	_ struct{} `type:"structure"`
57834
57835	// Checks whether you have the required permissions for the action, without
57836	// actually making the request, and provides an error response. If you have
57837	// the required permissions, the error response is DryRunOperation. Otherwise,
57838	// it is UnauthorizedOperation.
57839	DryRun *bool `locationName:"dryRun" type:"boolean"`
57840
57841	// The AWS account ID of the owner of the accepter VPC.
57842	//
57843	// Default: Your AWS account ID
57844	PeerOwnerId *string `locationName:"peerOwnerId" type:"string"`
57845
57846	// The Region code for the accepter VPC, if the accepter VPC is located in a
57847	// Region other than the Region in which you make the request.
57848	//
57849	// Default: The Region in which you make the request.
57850	PeerRegion *string `type:"string"`
57851
57852	// The ID of the VPC with which you are creating the VPC peering connection.
57853	// You must specify this parameter in the request.
57854	PeerVpcId *string `locationName:"peerVpcId" type:"string"`
57855
57856	// The tags to assign to the peering connection.
57857	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
57858
57859	// The ID of the requester VPC. You must specify this parameter in the request.
57860	VpcId *string `locationName:"vpcId" type:"string"`
57861}
57862
57863// String returns the string representation
57864func (s CreateVpcPeeringConnectionInput) String() string {
57865	return awsutil.Prettify(s)
57866}
57867
57868// GoString returns the string representation
57869func (s CreateVpcPeeringConnectionInput) GoString() string {
57870	return s.String()
57871}
57872
57873// SetDryRun sets the DryRun field's value.
57874func (s *CreateVpcPeeringConnectionInput) SetDryRun(v bool) *CreateVpcPeeringConnectionInput {
57875	s.DryRun = &v
57876	return s
57877}
57878
57879// SetPeerOwnerId sets the PeerOwnerId field's value.
57880func (s *CreateVpcPeeringConnectionInput) SetPeerOwnerId(v string) *CreateVpcPeeringConnectionInput {
57881	s.PeerOwnerId = &v
57882	return s
57883}
57884
57885// SetPeerRegion sets the PeerRegion field's value.
57886func (s *CreateVpcPeeringConnectionInput) SetPeerRegion(v string) *CreateVpcPeeringConnectionInput {
57887	s.PeerRegion = &v
57888	return s
57889}
57890
57891// SetPeerVpcId sets the PeerVpcId field's value.
57892func (s *CreateVpcPeeringConnectionInput) SetPeerVpcId(v string) *CreateVpcPeeringConnectionInput {
57893	s.PeerVpcId = &v
57894	return s
57895}
57896
57897// SetTagSpecifications sets the TagSpecifications field's value.
57898func (s *CreateVpcPeeringConnectionInput) SetTagSpecifications(v []*TagSpecification) *CreateVpcPeeringConnectionInput {
57899	s.TagSpecifications = v
57900	return s
57901}
57902
57903// SetVpcId sets the VpcId field's value.
57904func (s *CreateVpcPeeringConnectionInput) SetVpcId(v string) *CreateVpcPeeringConnectionInput {
57905	s.VpcId = &v
57906	return s
57907}
57908
57909type CreateVpcPeeringConnectionOutput struct {
57910	_ struct{} `type:"structure"`
57911
57912	// Information about the VPC peering connection.
57913	VpcPeeringConnection *VpcPeeringConnection `locationName:"vpcPeeringConnection" type:"structure"`
57914}
57915
57916// String returns the string representation
57917func (s CreateVpcPeeringConnectionOutput) String() string {
57918	return awsutil.Prettify(s)
57919}
57920
57921// GoString returns the string representation
57922func (s CreateVpcPeeringConnectionOutput) GoString() string {
57923	return s.String()
57924}
57925
57926// SetVpcPeeringConnection sets the VpcPeeringConnection field's value.
57927func (s *CreateVpcPeeringConnectionOutput) SetVpcPeeringConnection(v *VpcPeeringConnection) *CreateVpcPeeringConnectionOutput {
57928	s.VpcPeeringConnection = v
57929	return s
57930}
57931
57932// Contains the parameters for CreateVpnConnection.
57933type CreateVpnConnectionInput struct {
57934	_ struct{} `type:"structure"`
57935
57936	// The ID of the customer gateway.
57937	//
57938	// CustomerGatewayId is a required field
57939	CustomerGatewayId *string `type:"string" required:"true"`
57940
57941	// Checks whether you have the required permissions for the action, without
57942	// actually making the request, and provides an error response. If you have
57943	// the required permissions, the error response is DryRunOperation. Otherwise,
57944	// it is UnauthorizedOperation.
57945	DryRun *bool `locationName:"dryRun" type:"boolean"`
57946
57947	// The options for the VPN connection.
57948	Options *VpnConnectionOptionsSpecification `locationName:"options" type:"structure"`
57949
57950	// The tags to apply to the VPN connection.
57951	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
57952
57953	// The ID of the transit gateway. If you specify a transit gateway, you cannot
57954	// specify a virtual private gateway.
57955	TransitGatewayId *string `type:"string"`
57956
57957	// The type of VPN connection (ipsec.1).
57958	//
57959	// Type is a required field
57960	Type *string `type:"string" required:"true"`
57961
57962	// The ID of the virtual private gateway. If you specify a virtual private gateway,
57963	// you cannot specify a transit gateway.
57964	VpnGatewayId *string `type:"string"`
57965}
57966
57967// String returns the string representation
57968func (s CreateVpnConnectionInput) String() string {
57969	return awsutil.Prettify(s)
57970}
57971
57972// GoString returns the string representation
57973func (s CreateVpnConnectionInput) GoString() string {
57974	return s.String()
57975}
57976
57977// Validate inspects the fields of the type to determine if they are valid.
57978func (s *CreateVpnConnectionInput) Validate() error {
57979	invalidParams := request.ErrInvalidParams{Context: "CreateVpnConnectionInput"}
57980	if s.CustomerGatewayId == nil {
57981		invalidParams.Add(request.NewErrParamRequired("CustomerGatewayId"))
57982	}
57983	if s.Type == nil {
57984		invalidParams.Add(request.NewErrParamRequired("Type"))
57985	}
57986
57987	if invalidParams.Len() > 0 {
57988		return invalidParams
57989	}
57990	return nil
57991}
57992
57993// SetCustomerGatewayId sets the CustomerGatewayId field's value.
57994func (s *CreateVpnConnectionInput) SetCustomerGatewayId(v string) *CreateVpnConnectionInput {
57995	s.CustomerGatewayId = &v
57996	return s
57997}
57998
57999// SetDryRun sets the DryRun field's value.
58000func (s *CreateVpnConnectionInput) SetDryRun(v bool) *CreateVpnConnectionInput {
58001	s.DryRun = &v
58002	return s
58003}
58004
58005// SetOptions sets the Options field's value.
58006func (s *CreateVpnConnectionInput) SetOptions(v *VpnConnectionOptionsSpecification) *CreateVpnConnectionInput {
58007	s.Options = v
58008	return s
58009}
58010
58011// SetTagSpecifications sets the TagSpecifications field's value.
58012func (s *CreateVpnConnectionInput) SetTagSpecifications(v []*TagSpecification) *CreateVpnConnectionInput {
58013	s.TagSpecifications = v
58014	return s
58015}
58016
58017// SetTransitGatewayId sets the TransitGatewayId field's value.
58018func (s *CreateVpnConnectionInput) SetTransitGatewayId(v string) *CreateVpnConnectionInput {
58019	s.TransitGatewayId = &v
58020	return s
58021}
58022
58023// SetType sets the Type field's value.
58024func (s *CreateVpnConnectionInput) SetType(v string) *CreateVpnConnectionInput {
58025	s.Type = &v
58026	return s
58027}
58028
58029// SetVpnGatewayId sets the VpnGatewayId field's value.
58030func (s *CreateVpnConnectionInput) SetVpnGatewayId(v string) *CreateVpnConnectionInput {
58031	s.VpnGatewayId = &v
58032	return s
58033}
58034
58035// Contains the output of CreateVpnConnection.
58036type CreateVpnConnectionOutput struct {
58037	_ struct{} `type:"structure"`
58038
58039	// Information about the VPN connection.
58040	VpnConnection *VpnConnection `locationName:"vpnConnection" type:"structure"`
58041}
58042
58043// String returns the string representation
58044func (s CreateVpnConnectionOutput) String() string {
58045	return awsutil.Prettify(s)
58046}
58047
58048// GoString returns the string representation
58049func (s CreateVpnConnectionOutput) GoString() string {
58050	return s.String()
58051}
58052
58053// SetVpnConnection sets the VpnConnection field's value.
58054func (s *CreateVpnConnectionOutput) SetVpnConnection(v *VpnConnection) *CreateVpnConnectionOutput {
58055	s.VpnConnection = v
58056	return s
58057}
58058
58059// Contains the parameters for CreateVpnConnectionRoute.
58060type CreateVpnConnectionRouteInput struct {
58061	_ struct{} `type:"structure"`
58062
58063	// The CIDR block associated with the local subnet of the customer network.
58064	//
58065	// DestinationCidrBlock is a required field
58066	DestinationCidrBlock *string `type:"string" required:"true"`
58067
58068	// The ID of the VPN connection.
58069	//
58070	// VpnConnectionId is a required field
58071	VpnConnectionId *string `type:"string" required:"true"`
58072}
58073
58074// String returns the string representation
58075func (s CreateVpnConnectionRouteInput) String() string {
58076	return awsutil.Prettify(s)
58077}
58078
58079// GoString returns the string representation
58080func (s CreateVpnConnectionRouteInput) GoString() string {
58081	return s.String()
58082}
58083
58084// Validate inspects the fields of the type to determine if they are valid.
58085func (s *CreateVpnConnectionRouteInput) Validate() error {
58086	invalidParams := request.ErrInvalidParams{Context: "CreateVpnConnectionRouteInput"}
58087	if s.DestinationCidrBlock == nil {
58088		invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
58089	}
58090	if s.VpnConnectionId == nil {
58091		invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
58092	}
58093
58094	if invalidParams.Len() > 0 {
58095		return invalidParams
58096	}
58097	return nil
58098}
58099
58100// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
58101func (s *CreateVpnConnectionRouteInput) SetDestinationCidrBlock(v string) *CreateVpnConnectionRouteInput {
58102	s.DestinationCidrBlock = &v
58103	return s
58104}
58105
58106// SetVpnConnectionId sets the VpnConnectionId field's value.
58107func (s *CreateVpnConnectionRouteInput) SetVpnConnectionId(v string) *CreateVpnConnectionRouteInput {
58108	s.VpnConnectionId = &v
58109	return s
58110}
58111
58112type CreateVpnConnectionRouteOutput struct {
58113	_ struct{} `type:"structure"`
58114}
58115
58116// String returns the string representation
58117func (s CreateVpnConnectionRouteOutput) String() string {
58118	return awsutil.Prettify(s)
58119}
58120
58121// GoString returns the string representation
58122func (s CreateVpnConnectionRouteOutput) GoString() string {
58123	return s.String()
58124}
58125
58126// Contains the parameters for CreateVpnGateway.
58127type CreateVpnGatewayInput struct {
58128	_ struct{} `type:"structure"`
58129
58130	// A private Autonomous System Number (ASN) for the Amazon side of a BGP session.
58131	// If you're using a 16-bit ASN, it must be in the 64512 to 65534 range. If
58132	// you're using a 32-bit ASN, it must be in the 4200000000 to 4294967294 range.
58133	//
58134	// Default: 64512
58135	AmazonSideAsn *int64 `type:"long"`
58136
58137	// The Availability Zone for the virtual private gateway.
58138	AvailabilityZone *string `type:"string"`
58139
58140	// Checks whether you have the required permissions for the action, without
58141	// actually making the request, and provides an error response. If you have
58142	// the required permissions, the error response is DryRunOperation. Otherwise,
58143	// it is UnauthorizedOperation.
58144	DryRun *bool `locationName:"dryRun" type:"boolean"`
58145
58146	// The tags to apply to the virtual private gateway.
58147	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
58148
58149	// The type of VPN connection this virtual private gateway supports.
58150	//
58151	// Type is a required field
58152	Type *string `type:"string" required:"true" enum:"GatewayType"`
58153}
58154
58155// String returns the string representation
58156func (s CreateVpnGatewayInput) String() string {
58157	return awsutil.Prettify(s)
58158}
58159
58160// GoString returns the string representation
58161func (s CreateVpnGatewayInput) GoString() string {
58162	return s.String()
58163}
58164
58165// Validate inspects the fields of the type to determine if they are valid.
58166func (s *CreateVpnGatewayInput) Validate() error {
58167	invalidParams := request.ErrInvalidParams{Context: "CreateVpnGatewayInput"}
58168	if s.Type == nil {
58169		invalidParams.Add(request.NewErrParamRequired("Type"))
58170	}
58171
58172	if invalidParams.Len() > 0 {
58173		return invalidParams
58174	}
58175	return nil
58176}
58177
58178// SetAmazonSideAsn sets the AmazonSideAsn field's value.
58179func (s *CreateVpnGatewayInput) SetAmazonSideAsn(v int64) *CreateVpnGatewayInput {
58180	s.AmazonSideAsn = &v
58181	return s
58182}
58183
58184// SetAvailabilityZone sets the AvailabilityZone field's value.
58185func (s *CreateVpnGatewayInput) SetAvailabilityZone(v string) *CreateVpnGatewayInput {
58186	s.AvailabilityZone = &v
58187	return s
58188}
58189
58190// SetDryRun sets the DryRun field's value.
58191func (s *CreateVpnGatewayInput) SetDryRun(v bool) *CreateVpnGatewayInput {
58192	s.DryRun = &v
58193	return s
58194}
58195
58196// SetTagSpecifications sets the TagSpecifications field's value.
58197func (s *CreateVpnGatewayInput) SetTagSpecifications(v []*TagSpecification) *CreateVpnGatewayInput {
58198	s.TagSpecifications = v
58199	return s
58200}
58201
58202// SetType sets the Type field's value.
58203func (s *CreateVpnGatewayInput) SetType(v string) *CreateVpnGatewayInput {
58204	s.Type = &v
58205	return s
58206}
58207
58208// Contains the output of CreateVpnGateway.
58209type CreateVpnGatewayOutput struct {
58210	_ struct{} `type:"structure"`
58211
58212	// Information about the virtual private gateway.
58213	VpnGateway *VpnGateway `locationName:"vpnGateway" type:"structure"`
58214}
58215
58216// String returns the string representation
58217func (s CreateVpnGatewayOutput) String() string {
58218	return awsutil.Prettify(s)
58219}
58220
58221// GoString returns the string representation
58222func (s CreateVpnGatewayOutput) GoString() string {
58223	return s.String()
58224}
58225
58226// SetVpnGateway sets the VpnGateway field's value.
58227func (s *CreateVpnGatewayOutput) SetVpnGateway(v *VpnGateway) *CreateVpnGatewayOutput {
58228	s.VpnGateway = v
58229	return s
58230}
58231
58232// Describes the credit option for CPU usage of a T2, T3, or T3a instance.
58233type CreditSpecification struct {
58234	_ struct{} `type:"structure"`
58235
58236	// The credit option for CPU usage of a T2, T3, or T3a instance. Valid values
58237	// are standard and unlimited.
58238	CpuCredits *string `locationName:"cpuCredits" type:"string"`
58239}
58240
58241// String returns the string representation
58242func (s CreditSpecification) String() string {
58243	return awsutil.Prettify(s)
58244}
58245
58246// GoString returns the string representation
58247func (s CreditSpecification) GoString() string {
58248	return s.String()
58249}
58250
58251// SetCpuCredits sets the CpuCredits field's value.
58252func (s *CreditSpecification) SetCpuCredits(v string) *CreditSpecification {
58253	s.CpuCredits = &v
58254	return s
58255}
58256
58257// The credit option for CPU usage of a T2, T3, or T3a instance.
58258type CreditSpecificationRequest struct {
58259	_ struct{} `type:"structure"`
58260
58261	// The credit option for CPU usage of a T2, T3, or T3a instance. Valid values
58262	// are standard and unlimited.
58263	//
58264	// CpuCredits is a required field
58265	CpuCredits *string `type:"string" required:"true"`
58266}
58267
58268// String returns the string representation
58269func (s CreditSpecificationRequest) String() string {
58270	return awsutil.Prettify(s)
58271}
58272
58273// GoString returns the string representation
58274func (s CreditSpecificationRequest) GoString() string {
58275	return s.String()
58276}
58277
58278// Validate inspects the fields of the type to determine if they are valid.
58279func (s *CreditSpecificationRequest) Validate() error {
58280	invalidParams := request.ErrInvalidParams{Context: "CreditSpecificationRequest"}
58281	if s.CpuCredits == nil {
58282		invalidParams.Add(request.NewErrParamRequired("CpuCredits"))
58283	}
58284
58285	if invalidParams.Len() > 0 {
58286		return invalidParams
58287	}
58288	return nil
58289}
58290
58291// SetCpuCredits sets the CpuCredits field's value.
58292func (s *CreditSpecificationRequest) SetCpuCredits(v string) *CreditSpecificationRequest {
58293	s.CpuCredits = &v
58294	return s
58295}
58296
58297// Describes a customer gateway.
58298type CustomerGateway struct {
58299	_ struct{} `type:"structure"`
58300
58301	// The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number
58302	// (ASN).
58303	BgpAsn *string `locationName:"bgpAsn" type:"string"`
58304
58305	// The Amazon Resource Name (ARN) for the customer gateway certificate.
58306	CertificateArn *string `locationName:"certificateArn" type:"string"`
58307
58308	// The ID of the customer gateway.
58309	CustomerGatewayId *string `locationName:"customerGatewayId" type:"string"`
58310
58311	// The name of customer gateway device.
58312	DeviceName *string `locationName:"deviceName" type:"string"`
58313
58314	// The Internet-routable IP address of the customer gateway's outside interface.
58315	IpAddress *string `locationName:"ipAddress" type:"string"`
58316
58317	// The current state of the customer gateway (pending | available | deleting
58318	// | deleted).
58319	State *string `locationName:"state" type:"string"`
58320
58321	// Any tags assigned to the customer gateway.
58322	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
58323
58324	// The type of VPN connection the customer gateway supports (ipsec.1).
58325	Type *string `locationName:"type" type:"string"`
58326}
58327
58328// String returns the string representation
58329func (s CustomerGateway) String() string {
58330	return awsutil.Prettify(s)
58331}
58332
58333// GoString returns the string representation
58334func (s CustomerGateway) GoString() string {
58335	return s.String()
58336}
58337
58338// SetBgpAsn sets the BgpAsn field's value.
58339func (s *CustomerGateway) SetBgpAsn(v string) *CustomerGateway {
58340	s.BgpAsn = &v
58341	return s
58342}
58343
58344// SetCertificateArn sets the CertificateArn field's value.
58345func (s *CustomerGateway) SetCertificateArn(v string) *CustomerGateway {
58346	s.CertificateArn = &v
58347	return s
58348}
58349
58350// SetCustomerGatewayId sets the CustomerGatewayId field's value.
58351func (s *CustomerGateway) SetCustomerGatewayId(v string) *CustomerGateway {
58352	s.CustomerGatewayId = &v
58353	return s
58354}
58355
58356// SetDeviceName sets the DeviceName field's value.
58357func (s *CustomerGateway) SetDeviceName(v string) *CustomerGateway {
58358	s.DeviceName = &v
58359	return s
58360}
58361
58362// SetIpAddress sets the IpAddress field's value.
58363func (s *CustomerGateway) SetIpAddress(v string) *CustomerGateway {
58364	s.IpAddress = &v
58365	return s
58366}
58367
58368// SetState sets the State field's value.
58369func (s *CustomerGateway) SetState(v string) *CustomerGateway {
58370	s.State = &v
58371	return s
58372}
58373
58374// SetTags sets the Tags field's value.
58375func (s *CustomerGateway) SetTags(v []*Tag) *CustomerGateway {
58376	s.Tags = v
58377	return s
58378}
58379
58380// SetType sets the Type field's value.
58381func (s *CustomerGateway) SetType(v string) *CustomerGateway {
58382	s.Type = &v
58383	return s
58384}
58385
58386type DeleteCarrierGatewayInput struct {
58387	_ struct{} `type:"structure"`
58388
58389	// The ID of the carrier gateway.
58390	//
58391	// CarrierGatewayId is a required field
58392	CarrierGatewayId *string `type:"string" required:"true"`
58393
58394	// Checks whether you have the required permissions for the action, without
58395	// actually making the request, and provides an error response. If you have
58396	// the required permissions, the error response is DryRunOperation. Otherwise,
58397	// it is UnauthorizedOperation.
58398	DryRun *bool `type:"boolean"`
58399}
58400
58401// String returns the string representation
58402func (s DeleteCarrierGatewayInput) String() string {
58403	return awsutil.Prettify(s)
58404}
58405
58406// GoString returns the string representation
58407func (s DeleteCarrierGatewayInput) GoString() string {
58408	return s.String()
58409}
58410
58411// Validate inspects the fields of the type to determine if they are valid.
58412func (s *DeleteCarrierGatewayInput) Validate() error {
58413	invalidParams := request.ErrInvalidParams{Context: "DeleteCarrierGatewayInput"}
58414	if s.CarrierGatewayId == nil {
58415		invalidParams.Add(request.NewErrParamRequired("CarrierGatewayId"))
58416	}
58417
58418	if invalidParams.Len() > 0 {
58419		return invalidParams
58420	}
58421	return nil
58422}
58423
58424// SetCarrierGatewayId sets the CarrierGatewayId field's value.
58425func (s *DeleteCarrierGatewayInput) SetCarrierGatewayId(v string) *DeleteCarrierGatewayInput {
58426	s.CarrierGatewayId = &v
58427	return s
58428}
58429
58430// SetDryRun sets the DryRun field's value.
58431func (s *DeleteCarrierGatewayInput) SetDryRun(v bool) *DeleteCarrierGatewayInput {
58432	s.DryRun = &v
58433	return s
58434}
58435
58436type DeleteCarrierGatewayOutput struct {
58437	_ struct{} `type:"structure"`
58438
58439	// Information about the carrier gateway.
58440	CarrierGateway *CarrierGateway `locationName:"carrierGateway" type:"structure"`
58441}
58442
58443// String returns the string representation
58444func (s DeleteCarrierGatewayOutput) String() string {
58445	return awsutil.Prettify(s)
58446}
58447
58448// GoString returns the string representation
58449func (s DeleteCarrierGatewayOutput) GoString() string {
58450	return s.String()
58451}
58452
58453// SetCarrierGateway sets the CarrierGateway field's value.
58454func (s *DeleteCarrierGatewayOutput) SetCarrierGateway(v *CarrierGateway) *DeleteCarrierGatewayOutput {
58455	s.CarrierGateway = v
58456	return s
58457}
58458
58459type DeleteClientVpnEndpointInput struct {
58460	_ struct{} `type:"structure"`
58461
58462	// The ID of the Client VPN to be deleted.
58463	//
58464	// ClientVpnEndpointId is a required field
58465	ClientVpnEndpointId *string `type:"string" required:"true"`
58466
58467	// Checks whether you have the required permissions for the action, without
58468	// actually making the request, and provides an error response. If you have
58469	// the required permissions, the error response is DryRunOperation. Otherwise,
58470	// it is UnauthorizedOperation.
58471	DryRun *bool `type:"boolean"`
58472}
58473
58474// String returns the string representation
58475func (s DeleteClientVpnEndpointInput) String() string {
58476	return awsutil.Prettify(s)
58477}
58478
58479// GoString returns the string representation
58480func (s DeleteClientVpnEndpointInput) GoString() string {
58481	return s.String()
58482}
58483
58484// Validate inspects the fields of the type to determine if they are valid.
58485func (s *DeleteClientVpnEndpointInput) Validate() error {
58486	invalidParams := request.ErrInvalidParams{Context: "DeleteClientVpnEndpointInput"}
58487	if s.ClientVpnEndpointId == nil {
58488		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
58489	}
58490
58491	if invalidParams.Len() > 0 {
58492		return invalidParams
58493	}
58494	return nil
58495}
58496
58497// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
58498func (s *DeleteClientVpnEndpointInput) SetClientVpnEndpointId(v string) *DeleteClientVpnEndpointInput {
58499	s.ClientVpnEndpointId = &v
58500	return s
58501}
58502
58503// SetDryRun sets the DryRun field's value.
58504func (s *DeleteClientVpnEndpointInput) SetDryRun(v bool) *DeleteClientVpnEndpointInput {
58505	s.DryRun = &v
58506	return s
58507}
58508
58509type DeleteClientVpnEndpointOutput struct {
58510	_ struct{} `type:"structure"`
58511
58512	// The current state of the Client VPN endpoint.
58513	Status *ClientVpnEndpointStatus `locationName:"status" type:"structure"`
58514}
58515
58516// String returns the string representation
58517func (s DeleteClientVpnEndpointOutput) String() string {
58518	return awsutil.Prettify(s)
58519}
58520
58521// GoString returns the string representation
58522func (s DeleteClientVpnEndpointOutput) GoString() string {
58523	return s.String()
58524}
58525
58526// SetStatus sets the Status field's value.
58527func (s *DeleteClientVpnEndpointOutput) SetStatus(v *ClientVpnEndpointStatus) *DeleteClientVpnEndpointOutput {
58528	s.Status = v
58529	return s
58530}
58531
58532type DeleteClientVpnRouteInput struct {
58533	_ struct{} `type:"structure"`
58534
58535	// The ID of the Client VPN endpoint from which the route is to be deleted.
58536	//
58537	// ClientVpnEndpointId is a required field
58538	ClientVpnEndpointId *string `type:"string" required:"true"`
58539
58540	// The IPv4 address range, in CIDR notation, of the route to be deleted.
58541	//
58542	// DestinationCidrBlock is a required field
58543	DestinationCidrBlock *string `type:"string" required:"true"`
58544
58545	// Checks whether you have the required permissions for the action, without
58546	// actually making the request, and provides an error response. If you have
58547	// the required permissions, the error response is DryRunOperation. Otherwise,
58548	// it is UnauthorizedOperation.
58549	DryRun *bool `type:"boolean"`
58550
58551	// The ID of the target subnet used by the route.
58552	TargetVpcSubnetId *string `type:"string"`
58553}
58554
58555// String returns the string representation
58556func (s DeleteClientVpnRouteInput) String() string {
58557	return awsutil.Prettify(s)
58558}
58559
58560// GoString returns the string representation
58561func (s DeleteClientVpnRouteInput) GoString() string {
58562	return s.String()
58563}
58564
58565// Validate inspects the fields of the type to determine if they are valid.
58566func (s *DeleteClientVpnRouteInput) Validate() error {
58567	invalidParams := request.ErrInvalidParams{Context: "DeleteClientVpnRouteInput"}
58568	if s.ClientVpnEndpointId == nil {
58569		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
58570	}
58571	if s.DestinationCidrBlock == nil {
58572		invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
58573	}
58574
58575	if invalidParams.Len() > 0 {
58576		return invalidParams
58577	}
58578	return nil
58579}
58580
58581// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
58582func (s *DeleteClientVpnRouteInput) SetClientVpnEndpointId(v string) *DeleteClientVpnRouteInput {
58583	s.ClientVpnEndpointId = &v
58584	return s
58585}
58586
58587// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
58588func (s *DeleteClientVpnRouteInput) SetDestinationCidrBlock(v string) *DeleteClientVpnRouteInput {
58589	s.DestinationCidrBlock = &v
58590	return s
58591}
58592
58593// SetDryRun sets the DryRun field's value.
58594func (s *DeleteClientVpnRouteInput) SetDryRun(v bool) *DeleteClientVpnRouteInput {
58595	s.DryRun = &v
58596	return s
58597}
58598
58599// SetTargetVpcSubnetId sets the TargetVpcSubnetId field's value.
58600func (s *DeleteClientVpnRouteInput) SetTargetVpcSubnetId(v string) *DeleteClientVpnRouteInput {
58601	s.TargetVpcSubnetId = &v
58602	return s
58603}
58604
58605type DeleteClientVpnRouteOutput struct {
58606	_ struct{} `type:"structure"`
58607
58608	// The current state of the route.
58609	Status *ClientVpnRouteStatus `locationName:"status" type:"structure"`
58610}
58611
58612// String returns the string representation
58613func (s DeleteClientVpnRouteOutput) String() string {
58614	return awsutil.Prettify(s)
58615}
58616
58617// GoString returns the string representation
58618func (s DeleteClientVpnRouteOutput) GoString() string {
58619	return s.String()
58620}
58621
58622// SetStatus sets the Status field's value.
58623func (s *DeleteClientVpnRouteOutput) SetStatus(v *ClientVpnRouteStatus) *DeleteClientVpnRouteOutput {
58624	s.Status = v
58625	return s
58626}
58627
58628// Contains the parameters for DeleteCustomerGateway.
58629type DeleteCustomerGatewayInput struct {
58630	_ struct{} `type:"structure"`
58631
58632	// The ID of the customer gateway.
58633	//
58634	// CustomerGatewayId is a required field
58635	CustomerGatewayId *string `type:"string" required:"true"`
58636
58637	// Checks whether you have the required permissions for the action, without
58638	// actually making the request, and provides an error response. If you have
58639	// the required permissions, the error response is DryRunOperation. Otherwise,
58640	// it is UnauthorizedOperation.
58641	DryRun *bool `locationName:"dryRun" type:"boolean"`
58642}
58643
58644// String returns the string representation
58645func (s DeleteCustomerGatewayInput) String() string {
58646	return awsutil.Prettify(s)
58647}
58648
58649// GoString returns the string representation
58650func (s DeleteCustomerGatewayInput) GoString() string {
58651	return s.String()
58652}
58653
58654// Validate inspects the fields of the type to determine if they are valid.
58655func (s *DeleteCustomerGatewayInput) Validate() error {
58656	invalidParams := request.ErrInvalidParams{Context: "DeleteCustomerGatewayInput"}
58657	if s.CustomerGatewayId == nil {
58658		invalidParams.Add(request.NewErrParamRequired("CustomerGatewayId"))
58659	}
58660
58661	if invalidParams.Len() > 0 {
58662		return invalidParams
58663	}
58664	return nil
58665}
58666
58667// SetCustomerGatewayId sets the CustomerGatewayId field's value.
58668func (s *DeleteCustomerGatewayInput) SetCustomerGatewayId(v string) *DeleteCustomerGatewayInput {
58669	s.CustomerGatewayId = &v
58670	return s
58671}
58672
58673// SetDryRun sets the DryRun field's value.
58674func (s *DeleteCustomerGatewayInput) SetDryRun(v bool) *DeleteCustomerGatewayInput {
58675	s.DryRun = &v
58676	return s
58677}
58678
58679type DeleteCustomerGatewayOutput struct {
58680	_ struct{} `type:"structure"`
58681}
58682
58683// String returns the string representation
58684func (s DeleteCustomerGatewayOutput) String() string {
58685	return awsutil.Prettify(s)
58686}
58687
58688// GoString returns the string representation
58689func (s DeleteCustomerGatewayOutput) GoString() string {
58690	return s.String()
58691}
58692
58693type DeleteDhcpOptionsInput struct {
58694	_ struct{} `type:"structure"`
58695
58696	// The ID of the DHCP options set.
58697	//
58698	// DhcpOptionsId is a required field
58699	DhcpOptionsId *string `type:"string" required:"true"`
58700
58701	// Checks whether you have the required permissions for the action, without
58702	// actually making the request, and provides an error response. If you have
58703	// the required permissions, the error response is DryRunOperation. Otherwise,
58704	// it is UnauthorizedOperation.
58705	DryRun *bool `locationName:"dryRun" type:"boolean"`
58706}
58707
58708// String returns the string representation
58709func (s DeleteDhcpOptionsInput) String() string {
58710	return awsutil.Prettify(s)
58711}
58712
58713// GoString returns the string representation
58714func (s DeleteDhcpOptionsInput) GoString() string {
58715	return s.String()
58716}
58717
58718// Validate inspects the fields of the type to determine if they are valid.
58719func (s *DeleteDhcpOptionsInput) Validate() error {
58720	invalidParams := request.ErrInvalidParams{Context: "DeleteDhcpOptionsInput"}
58721	if s.DhcpOptionsId == nil {
58722		invalidParams.Add(request.NewErrParamRequired("DhcpOptionsId"))
58723	}
58724
58725	if invalidParams.Len() > 0 {
58726		return invalidParams
58727	}
58728	return nil
58729}
58730
58731// SetDhcpOptionsId sets the DhcpOptionsId field's value.
58732func (s *DeleteDhcpOptionsInput) SetDhcpOptionsId(v string) *DeleteDhcpOptionsInput {
58733	s.DhcpOptionsId = &v
58734	return s
58735}
58736
58737// SetDryRun sets the DryRun field's value.
58738func (s *DeleteDhcpOptionsInput) SetDryRun(v bool) *DeleteDhcpOptionsInput {
58739	s.DryRun = &v
58740	return s
58741}
58742
58743type DeleteDhcpOptionsOutput struct {
58744	_ struct{} `type:"structure"`
58745}
58746
58747// String returns the string representation
58748func (s DeleteDhcpOptionsOutput) String() string {
58749	return awsutil.Prettify(s)
58750}
58751
58752// GoString returns the string representation
58753func (s DeleteDhcpOptionsOutput) GoString() string {
58754	return s.String()
58755}
58756
58757type DeleteEgressOnlyInternetGatewayInput struct {
58758	_ struct{} `type:"structure"`
58759
58760	// Checks whether you have the required permissions for the action, without
58761	// actually making the request, and provides an error response. If you have
58762	// the required permissions, the error response is DryRunOperation. Otherwise,
58763	// it is UnauthorizedOperation.
58764	DryRun *bool `type:"boolean"`
58765
58766	// The ID of the egress-only internet gateway.
58767	//
58768	// EgressOnlyInternetGatewayId is a required field
58769	EgressOnlyInternetGatewayId *string `type:"string" required:"true"`
58770}
58771
58772// String returns the string representation
58773func (s DeleteEgressOnlyInternetGatewayInput) String() string {
58774	return awsutil.Prettify(s)
58775}
58776
58777// GoString returns the string representation
58778func (s DeleteEgressOnlyInternetGatewayInput) GoString() string {
58779	return s.String()
58780}
58781
58782// Validate inspects the fields of the type to determine if they are valid.
58783func (s *DeleteEgressOnlyInternetGatewayInput) Validate() error {
58784	invalidParams := request.ErrInvalidParams{Context: "DeleteEgressOnlyInternetGatewayInput"}
58785	if s.EgressOnlyInternetGatewayId == nil {
58786		invalidParams.Add(request.NewErrParamRequired("EgressOnlyInternetGatewayId"))
58787	}
58788
58789	if invalidParams.Len() > 0 {
58790		return invalidParams
58791	}
58792	return nil
58793}
58794
58795// SetDryRun sets the DryRun field's value.
58796func (s *DeleteEgressOnlyInternetGatewayInput) SetDryRun(v bool) *DeleteEgressOnlyInternetGatewayInput {
58797	s.DryRun = &v
58798	return s
58799}
58800
58801// SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
58802func (s *DeleteEgressOnlyInternetGatewayInput) SetEgressOnlyInternetGatewayId(v string) *DeleteEgressOnlyInternetGatewayInput {
58803	s.EgressOnlyInternetGatewayId = &v
58804	return s
58805}
58806
58807type DeleteEgressOnlyInternetGatewayOutput struct {
58808	_ struct{} `type:"structure"`
58809
58810	// Returns true if the request succeeds; otherwise, it returns an error.
58811	ReturnCode *bool `locationName:"returnCode" type:"boolean"`
58812}
58813
58814// String returns the string representation
58815func (s DeleteEgressOnlyInternetGatewayOutput) String() string {
58816	return awsutil.Prettify(s)
58817}
58818
58819// GoString returns the string representation
58820func (s DeleteEgressOnlyInternetGatewayOutput) GoString() string {
58821	return s.String()
58822}
58823
58824// SetReturnCode sets the ReturnCode field's value.
58825func (s *DeleteEgressOnlyInternetGatewayOutput) SetReturnCode(v bool) *DeleteEgressOnlyInternetGatewayOutput {
58826	s.ReturnCode = &v
58827	return s
58828}
58829
58830// Describes an EC2 Fleet error.
58831type DeleteFleetError struct {
58832	_ struct{} `type:"structure"`
58833
58834	// The error code.
58835	Code *string `locationName:"code" type:"string" enum:"DeleteFleetErrorCode"`
58836
58837	// The description for the error code.
58838	Message *string `locationName:"message" type:"string"`
58839}
58840
58841// String returns the string representation
58842func (s DeleteFleetError) String() string {
58843	return awsutil.Prettify(s)
58844}
58845
58846// GoString returns the string representation
58847func (s DeleteFleetError) GoString() string {
58848	return s.String()
58849}
58850
58851// SetCode sets the Code field's value.
58852func (s *DeleteFleetError) SetCode(v string) *DeleteFleetError {
58853	s.Code = &v
58854	return s
58855}
58856
58857// SetMessage sets the Message field's value.
58858func (s *DeleteFleetError) SetMessage(v string) *DeleteFleetError {
58859	s.Message = &v
58860	return s
58861}
58862
58863// Describes an EC2 Fleet that was not successfully deleted.
58864type DeleteFleetErrorItem struct {
58865	_ struct{} `type:"structure"`
58866
58867	// The error.
58868	Error *DeleteFleetError `locationName:"error" type:"structure"`
58869
58870	// The ID of the EC2 Fleet.
58871	FleetId *string `locationName:"fleetId" type:"string"`
58872}
58873
58874// String returns the string representation
58875func (s DeleteFleetErrorItem) String() string {
58876	return awsutil.Prettify(s)
58877}
58878
58879// GoString returns the string representation
58880func (s DeleteFleetErrorItem) GoString() string {
58881	return s.String()
58882}
58883
58884// SetError sets the Error field's value.
58885func (s *DeleteFleetErrorItem) SetError(v *DeleteFleetError) *DeleteFleetErrorItem {
58886	s.Error = v
58887	return s
58888}
58889
58890// SetFleetId sets the FleetId field's value.
58891func (s *DeleteFleetErrorItem) SetFleetId(v string) *DeleteFleetErrorItem {
58892	s.FleetId = &v
58893	return s
58894}
58895
58896// Describes an EC2 Fleet that was successfully deleted.
58897type DeleteFleetSuccessItem struct {
58898	_ struct{} `type:"structure"`
58899
58900	// The current state of the EC2 Fleet.
58901	CurrentFleetState *string `locationName:"currentFleetState" type:"string" enum:"FleetStateCode"`
58902
58903	// The ID of the EC2 Fleet.
58904	FleetId *string `locationName:"fleetId" type:"string"`
58905
58906	// The previous state of the EC2 Fleet.
58907	PreviousFleetState *string `locationName:"previousFleetState" type:"string" enum:"FleetStateCode"`
58908}
58909
58910// String returns the string representation
58911func (s DeleteFleetSuccessItem) String() string {
58912	return awsutil.Prettify(s)
58913}
58914
58915// GoString returns the string representation
58916func (s DeleteFleetSuccessItem) GoString() string {
58917	return s.String()
58918}
58919
58920// SetCurrentFleetState sets the CurrentFleetState field's value.
58921func (s *DeleteFleetSuccessItem) SetCurrentFleetState(v string) *DeleteFleetSuccessItem {
58922	s.CurrentFleetState = &v
58923	return s
58924}
58925
58926// SetFleetId sets the FleetId field's value.
58927func (s *DeleteFleetSuccessItem) SetFleetId(v string) *DeleteFleetSuccessItem {
58928	s.FleetId = &v
58929	return s
58930}
58931
58932// SetPreviousFleetState sets the PreviousFleetState field's value.
58933func (s *DeleteFleetSuccessItem) SetPreviousFleetState(v string) *DeleteFleetSuccessItem {
58934	s.PreviousFleetState = &v
58935	return s
58936}
58937
58938type DeleteFleetsInput struct {
58939	_ struct{} `type:"structure"`
58940
58941	// Checks whether you have the required permissions for the action, without
58942	// actually making the request, and provides an error response. If you have
58943	// the required permissions, the error response is DryRunOperation. Otherwise,
58944	// it is UnauthorizedOperation.
58945	DryRun *bool `type:"boolean"`
58946
58947	// The IDs of the EC2 Fleets.
58948	//
58949	// FleetIds is a required field
58950	FleetIds []*string `locationName:"FleetId" type:"list" required:"true"`
58951
58952	// Indicates whether to terminate the instances when the EC2 Fleet is deleted.
58953	// The default is to terminate the instances.
58954	//
58955	// To let the instances continue to run after the EC2 Fleet is deleted, specify
58956	// NoTerminateInstances. Supported only for fleets of type maintain and request.
58957	//
58958	// For instant fleets, you cannot specify NoTerminateInstances. A deleted instant
58959	// fleet with running instances is not supported.
58960	//
58961	// TerminateInstances is a required field
58962	TerminateInstances *bool `type:"boolean" required:"true"`
58963}
58964
58965// String returns the string representation
58966func (s DeleteFleetsInput) String() string {
58967	return awsutil.Prettify(s)
58968}
58969
58970// GoString returns the string representation
58971func (s DeleteFleetsInput) GoString() string {
58972	return s.String()
58973}
58974
58975// Validate inspects the fields of the type to determine if they are valid.
58976func (s *DeleteFleetsInput) Validate() error {
58977	invalidParams := request.ErrInvalidParams{Context: "DeleteFleetsInput"}
58978	if s.FleetIds == nil {
58979		invalidParams.Add(request.NewErrParamRequired("FleetIds"))
58980	}
58981	if s.TerminateInstances == nil {
58982		invalidParams.Add(request.NewErrParamRequired("TerminateInstances"))
58983	}
58984
58985	if invalidParams.Len() > 0 {
58986		return invalidParams
58987	}
58988	return nil
58989}
58990
58991// SetDryRun sets the DryRun field's value.
58992func (s *DeleteFleetsInput) SetDryRun(v bool) *DeleteFleetsInput {
58993	s.DryRun = &v
58994	return s
58995}
58996
58997// SetFleetIds sets the FleetIds field's value.
58998func (s *DeleteFleetsInput) SetFleetIds(v []*string) *DeleteFleetsInput {
58999	s.FleetIds = v
59000	return s
59001}
59002
59003// SetTerminateInstances sets the TerminateInstances field's value.
59004func (s *DeleteFleetsInput) SetTerminateInstances(v bool) *DeleteFleetsInput {
59005	s.TerminateInstances = &v
59006	return s
59007}
59008
59009type DeleteFleetsOutput struct {
59010	_ struct{} `type:"structure"`
59011
59012	// Information about the EC2 Fleets that are successfully deleted.
59013	SuccessfulFleetDeletions []*DeleteFleetSuccessItem `locationName:"successfulFleetDeletionSet" locationNameList:"item" type:"list"`
59014
59015	// Information about the EC2 Fleets that are not successfully deleted.
59016	UnsuccessfulFleetDeletions []*DeleteFleetErrorItem `locationName:"unsuccessfulFleetDeletionSet" locationNameList:"item" type:"list"`
59017}
59018
59019// String returns the string representation
59020func (s DeleteFleetsOutput) String() string {
59021	return awsutil.Prettify(s)
59022}
59023
59024// GoString returns the string representation
59025func (s DeleteFleetsOutput) GoString() string {
59026	return s.String()
59027}
59028
59029// SetSuccessfulFleetDeletions sets the SuccessfulFleetDeletions field's value.
59030func (s *DeleteFleetsOutput) SetSuccessfulFleetDeletions(v []*DeleteFleetSuccessItem) *DeleteFleetsOutput {
59031	s.SuccessfulFleetDeletions = v
59032	return s
59033}
59034
59035// SetUnsuccessfulFleetDeletions sets the UnsuccessfulFleetDeletions field's value.
59036func (s *DeleteFleetsOutput) SetUnsuccessfulFleetDeletions(v []*DeleteFleetErrorItem) *DeleteFleetsOutput {
59037	s.UnsuccessfulFleetDeletions = v
59038	return s
59039}
59040
59041type DeleteFlowLogsInput struct {
59042	_ struct{} `type:"structure"`
59043
59044	// Checks whether you have the required permissions for the action, without
59045	// actually making the request, and provides an error response. If you have
59046	// the required permissions, the error response is DryRunOperation. Otherwise,
59047	// it is UnauthorizedOperation.
59048	DryRun *bool `type:"boolean"`
59049
59050	// One or more flow log IDs.
59051	//
59052	// Constraint: Maximum of 1000 flow log IDs.
59053	//
59054	// FlowLogIds is a required field
59055	FlowLogIds []*string `locationName:"FlowLogId" locationNameList:"item" type:"list" required:"true"`
59056}
59057
59058// String returns the string representation
59059func (s DeleteFlowLogsInput) String() string {
59060	return awsutil.Prettify(s)
59061}
59062
59063// GoString returns the string representation
59064func (s DeleteFlowLogsInput) GoString() string {
59065	return s.String()
59066}
59067
59068// Validate inspects the fields of the type to determine if they are valid.
59069func (s *DeleteFlowLogsInput) Validate() error {
59070	invalidParams := request.ErrInvalidParams{Context: "DeleteFlowLogsInput"}
59071	if s.FlowLogIds == nil {
59072		invalidParams.Add(request.NewErrParamRequired("FlowLogIds"))
59073	}
59074
59075	if invalidParams.Len() > 0 {
59076		return invalidParams
59077	}
59078	return nil
59079}
59080
59081// SetDryRun sets the DryRun field's value.
59082func (s *DeleteFlowLogsInput) SetDryRun(v bool) *DeleteFlowLogsInput {
59083	s.DryRun = &v
59084	return s
59085}
59086
59087// SetFlowLogIds sets the FlowLogIds field's value.
59088func (s *DeleteFlowLogsInput) SetFlowLogIds(v []*string) *DeleteFlowLogsInput {
59089	s.FlowLogIds = v
59090	return s
59091}
59092
59093type DeleteFlowLogsOutput struct {
59094	_ struct{} `type:"structure"`
59095
59096	// Information about the flow logs that could not be deleted successfully.
59097	Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
59098}
59099
59100// String returns the string representation
59101func (s DeleteFlowLogsOutput) String() string {
59102	return awsutil.Prettify(s)
59103}
59104
59105// GoString returns the string representation
59106func (s DeleteFlowLogsOutput) GoString() string {
59107	return s.String()
59108}
59109
59110// SetUnsuccessful sets the Unsuccessful field's value.
59111func (s *DeleteFlowLogsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *DeleteFlowLogsOutput {
59112	s.Unsuccessful = v
59113	return s
59114}
59115
59116type DeleteFpgaImageInput struct {
59117	_ struct{} `type:"structure"`
59118
59119	// Checks whether you have the required permissions for the action, without
59120	// actually making the request, and provides an error response. If you have
59121	// the required permissions, the error response is DryRunOperation. Otherwise,
59122	// it is UnauthorizedOperation.
59123	DryRun *bool `type:"boolean"`
59124
59125	// The ID of the AFI.
59126	//
59127	// FpgaImageId is a required field
59128	FpgaImageId *string `type:"string" required:"true"`
59129}
59130
59131// String returns the string representation
59132func (s DeleteFpgaImageInput) String() string {
59133	return awsutil.Prettify(s)
59134}
59135
59136// GoString returns the string representation
59137func (s DeleteFpgaImageInput) GoString() string {
59138	return s.String()
59139}
59140
59141// Validate inspects the fields of the type to determine if they are valid.
59142func (s *DeleteFpgaImageInput) Validate() error {
59143	invalidParams := request.ErrInvalidParams{Context: "DeleteFpgaImageInput"}
59144	if s.FpgaImageId == nil {
59145		invalidParams.Add(request.NewErrParamRequired("FpgaImageId"))
59146	}
59147
59148	if invalidParams.Len() > 0 {
59149		return invalidParams
59150	}
59151	return nil
59152}
59153
59154// SetDryRun sets the DryRun field's value.
59155func (s *DeleteFpgaImageInput) SetDryRun(v bool) *DeleteFpgaImageInput {
59156	s.DryRun = &v
59157	return s
59158}
59159
59160// SetFpgaImageId sets the FpgaImageId field's value.
59161func (s *DeleteFpgaImageInput) SetFpgaImageId(v string) *DeleteFpgaImageInput {
59162	s.FpgaImageId = &v
59163	return s
59164}
59165
59166type DeleteFpgaImageOutput struct {
59167	_ struct{} `type:"structure"`
59168
59169	// Is true if the request succeeds, and an error otherwise.
59170	Return *bool `locationName:"return" type:"boolean"`
59171}
59172
59173// String returns the string representation
59174func (s DeleteFpgaImageOutput) String() string {
59175	return awsutil.Prettify(s)
59176}
59177
59178// GoString returns the string representation
59179func (s DeleteFpgaImageOutput) GoString() string {
59180	return s.String()
59181}
59182
59183// SetReturn sets the Return field's value.
59184func (s *DeleteFpgaImageOutput) SetReturn(v bool) *DeleteFpgaImageOutput {
59185	s.Return = &v
59186	return s
59187}
59188
59189type DeleteInternetGatewayInput struct {
59190	_ struct{} `type:"structure"`
59191
59192	// Checks whether you have the required permissions for the action, without
59193	// actually making the request, and provides an error response. If you have
59194	// the required permissions, the error response is DryRunOperation. Otherwise,
59195	// it is UnauthorizedOperation.
59196	DryRun *bool `locationName:"dryRun" type:"boolean"`
59197
59198	// The ID of the internet gateway.
59199	//
59200	// InternetGatewayId is a required field
59201	InternetGatewayId *string `locationName:"internetGatewayId" type:"string" required:"true"`
59202}
59203
59204// String returns the string representation
59205func (s DeleteInternetGatewayInput) String() string {
59206	return awsutil.Prettify(s)
59207}
59208
59209// GoString returns the string representation
59210func (s DeleteInternetGatewayInput) GoString() string {
59211	return s.String()
59212}
59213
59214// Validate inspects the fields of the type to determine if they are valid.
59215func (s *DeleteInternetGatewayInput) Validate() error {
59216	invalidParams := request.ErrInvalidParams{Context: "DeleteInternetGatewayInput"}
59217	if s.InternetGatewayId == nil {
59218		invalidParams.Add(request.NewErrParamRequired("InternetGatewayId"))
59219	}
59220
59221	if invalidParams.Len() > 0 {
59222		return invalidParams
59223	}
59224	return nil
59225}
59226
59227// SetDryRun sets the DryRun field's value.
59228func (s *DeleteInternetGatewayInput) SetDryRun(v bool) *DeleteInternetGatewayInput {
59229	s.DryRun = &v
59230	return s
59231}
59232
59233// SetInternetGatewayId sets the InternetGatewayId field's value.
59234func (s *DeleteInternetGatewayInput) SetInternetGatewayId(v string) *DeleteInternetGatewayInput {
59235	s.InternetGatewayId = &v
59236	return s
59237}
59238
59239type DeleteInternetGatewayOutput struct {
59240	_ struct{} `type:"structure"`
59241}
59242
59243// String returns the string representation
59244func (s DeleteInternetGatewayOutput) String() string {
59245	return awsutil.Prettify(s)
59246}
59247
59248// GoString returns the string representation
59249func (s DeleteInternetGatewayOutput) GoString() string {
59250	return s.String()
59251}
59252
59253type DeleteKeyPairInput struct {
59254	_ struct{} `type:"structure"`
59255
59256	// Checks whether you have the required permissions for the action, without
59257	// actually making the request, and provides an error response. If you have
59258	// the required permissions, the error response is DryRunOperation. Otherwise,
59259	// it is UnauthorizedOperation.
59260	DryRun *bool `locationName:"dryRun" type:"boolean"`
59261
59262	// The name of the key pair.
59263	KeyName *string `type:"string"`
59264
59265	// The ID of the key pair.
59266	KeyPairId *string `type:"string"`
59267}
59268
59269// String returns the string representation
59270func (s DeleteKeyPairInput) String() string {
59271	return awsutil.Prettify(s)
59272}
59273
59274// GoString returns the string representation
59275func (s DeleteKeyPairInput) GoString() string {
59276	return s.String()
59277}
59278
59279// SetDryRun sets the DryRun field's value.
59280func (s *DeleteKeyPairInput) SetDryRun(v bool) *DeleteKeyPairInput {
59281	s.DryRun = &v
59282	return s
59283}
59284
59285// SetKeyName sets the KeyName field's value.
59286func (s *DeleteKeyPairInput) SetKeyName(v string) *DeleteKeyPairInput {
59287	s.KeyName = &v
59288	return s
59289}
59290
59291// SetKeyPairId sets the KeyPairId field's value.
59292func (s *DeleteKeyPairInput) SetKeyPairId(v string) *DeleteKeyPairInput {
59293	s.KeyPairId = &v
59294	return s
59295}
59296
59297type DeleteKeyPairOutput struct {
59298	_ struct{} `type:"structure"`
59299}
59300
59301// String returns the string representation
59302func (s DeleteKeyPairOutput) String() string {
59303	return awsutil.Prettify(s)
59304}
59305
59306// GoString returns the string representation
59307func (s DeleteKeyPairOutput) GoString() string {
59308	return s.String()
59309}
59310
59311type DeleteLaunchTemplateInput struct {
59312	_ struct{} `type:"structure"`
59313
59314	// Checks whether you have the required permissions for the action, without
59315	// actually making the request, and provides an error response. If you have
59316	// the required permissions, the error response is DryRunOperation. Otherwise,
59317	// it is UnauthorizedOperation.
59318	DryRun *bool `type:"boolean"`
59319
59320	// The ID of the launch template. You must specify either the launch template
59321	// ID or launch template name in the request.
59322	LaunchTemplateId *string `type:"string"`
59323
59324	// The name of the launch template. You must specify either the launch template
59325	// ID or launch template name in the request.
59326	LaunchTemplateName *string `min:"3" type:"string"`
59327}
59328
59329// String returns the string representation
59330func (s DeleteLaunchTemplateInput) String() string {
59331	return awsutil.Prettify(s)
59332}
59333
59334// GoString returns the string representation
59335func (s DeleteLaunchTemplateInput) GoString() string {
59336	return s.String()
59337}
59338
59339// Validate inspects the fields of the type to determine if they are valid.
59340func (s *DeleteLaunchTemplateInput) Validate() error {
59341	invalidParams := request.ErrInvalidParams{Context: "DeleteLaunchTemplateInput"}
59342	if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
59343		invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
59344	}
59345
59346	if invalidParams.Len() > 0 {
59347		return invalidParams
59348	}
59349	return nil
59350}
59351
59352// SetDryRun sets the DryRun field's value.
59353func (s *DeleteLaunchTemplateInput) SetDryRun(v bool) *DeleteLaunchTemplateInput {
59354	s.DryRun = &v
59355	return s
59356}
59357
59358// SetLaunchTemplateId sets the LaunchTemplateId field's value.
59359func (s *DeleteLaunchTemplateInput) SetLaunchTemplateId(v string) *DeleteLaunchTemplateInput {
59360	s.LaunchTemplateId = &v
59361	return s
59362}
59363
59364// SetLaunchTemplateName sets the LaunchTemplateName field's value.
59365func (s *DeleteLaunchTemplateInput) SetLaunchTemplateName(v string) *DeleteLaunchTemplateInput {
59366	s.LaunchTemplateName = &v
59367	return s
59368}
59369
59370type DeleteLaunchTemplateOutput struct {
59371	_ struct{} `type:"structure"`
59372
59373	// Information about the launch template.
59374	LaunchTemplate *LaunchTemplate `locationName:"launchTemplate" type:"structure"`
59375}
59376
59377// String returns the string representation
59378func (s DeleteLaunchTemplateOutput) String() string {
59379	return awsutil.Prettify(s)
59380}
59381
59382// GoString returns the string representation
59383func (s DeleteLaunchTemplateOutput) GoString() string {
59384	return s.String()
59385}
59386
59387// SetLaunchTemplate sets the LaunchTemplate field's value.
59388func (s *DeleteLaunchTemplateOutput) SetLaunchTemplate(v *LaunchTemplate) *DeleteLaunchTemplateOutput {
59389	s.LaunchTemplate = v
59390	return s
59391}
59392
59393type DeleteLaunchTemplateVersionsInput struct {
59394	_ struct{} `type:"structure"`
59395
59396	// Checks whether you have the required permissions for the action, without
59397	// actually making the request, and provides an error response. If you have
59398	// the required permissions, the error response is DryRunOperation. Otherwise,
59399	// it is UnauthorizedOperation.
59400	DryRun *bool `type:"boolean"`
59401
59402	// The ID of the launch template. You must specify either the launch template
59403	// ID or launch template name in the request.
59404	LaunchTemplateId *string `type:"string"`
59405
59406	// The name of the launch template. You must specify either the launch template
59407	// ID or launch template name in the request.
59408	LaunchTemplateName *string `min:"3" type:"string"`
59409
59410	// The version numbers of one or more launch template versions to delete.
59411	//
59412	// Versions is a required field
59413	Versions []*string `locationName:"LaunchTemplateVersion" locationNameList:"item" type:"list" required:"true"`
59414}
59415
59416// String returns the string representation
59417func (s DeleteLaunchTemplateVersionsInput) String() string {
59418	return awsutil.Prettify(s)
59419}
59420
59421// GoString returns the string representation
59422func (s DeleteLaunchTemplateVersionsInput) GoString() string {
59423	return s.String()
59424}
59425
59426// Validate inspects the fields of the type to determine if they are valid.
59427func (s *DeleteLaunchTemplateVersionsInput) Validate() error {
59428	invalidParams := request.ErrInvalidParams{Context: "DeleteLaunchTemplateVersionsInput"}
59429	if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
59430		invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
59431	}
59432	if s.Versions == nil {
59433		invalidParams.Add(request.NewErrParamRequired("Versions"))
59434	}
59435
59436	if invalidParams.Len() > 0 {
59437		return invalidParams
59438	}
59439	return nil
59440}
59441
59442// SetDryRun sets the DryRun field's value.
59443func (s *DeleteLaunchTemplateVersionsInput) SetDryRun(v bool) *DeleteLaunchTemplateVersionsInput {
59444	s.DryRun = &v
59445	return s
59446}
59447
59448// SetLaunchTemplateId sets the LaunchTemplateId field's value.
59449func (s *DeleteLaunchTemplateVersionsInput) SetLaunchTemplateId(v string) *DeleteLaunchTemplateVersionsInput {
59450	s.LaunchTemplateId = &v
59451	return s
59452}
59453
59454// SetLaunchTemplateName sets the LaunchTemplateName field's value.
59455func (s *DeleteLaunchTemplateVersionsInput) SetLaunchTemplateName(v string) *DeleteLaunchTemplateVersionsInput {
59456	s.LaunchTemplateName = &v
59457	return s
59458}
59459
59460// SetVersions sets the Versions field's value.
59461func (s *DeleteLaunchTemplateVersionsInput) SetVersions(v []*string) *DeleteLaunchTemplateVersionsInput {
59462	s.Versions = v
59463	return s
59464}
59465
59466type DeleteLaunchTemplateVersionsOutput struct {
59467	_ struct{} `type:"structure"`
59468
59469	// Information about the launch template versions that were successfully deleted.
59470	SuccessfullyDeletedLaunchTemplateVersions []*DeleteLaunchTemplateVersionsResponseSuccessItem `locationName:"successfullyDeletedLaunchTemplateVersionSet" locationNameList:"item" type:"list"`
59471
59472	// Information about the launch template versions that could not be deleted.
59473	UnsuccessfullyDeletedLaunchTemplateVersions []*DeleteLaunchTemplateVersionsResponseErrorItem `locationName:"unsuccessfullyDeletedLaunchTemplateVersionSet" locationNameList:"item" type:"list"`
59474}
59475
59476// String returns the string representation
59477func (s DeleteLaunchTemplateVersionsOutput) String() string {
59478	return awsutil.Prettify(s)
59479}
59480
59481// GoString returns the string representation
59482func (s DeleteLaunchTemplateVersionsOutput) GoString() string {
59483	return s.String()
59484}
59485
59486// SetSuccessfullyDeletedLaunchTemplateVersions sets the SuccessfullyDeletedLaunchTemplateVersions field's value.
59487func (s *DeleteLaunchTemplateVersionsOutput) SetSuccessfullyDeletedLaunchTemplateVersions(v []*DeleteLaunchTemplateVersionsResponseSuccessItem) *DeleteLaunchTemplateVersionsOutput {
59488	s.SuccessfullyDeletedLaunchTemplateVersions = v
59489	return s
59490}
59491
59492// SetUnsuccessfullyDeletedLaunchTemplateVersions sets the UnsuccessfullyDeletedLaunchTemplateVersions field's value.
59493func (s *DeleteLaunchTemplateVersionsOutput) SetUnsuccessfullyDeletedLaunchTemplateVersions(v []*DeleteLaunchTemplateVersionsResponseErrorItem) *DeleteLaunchTemplateVersionsOutput {
59494	s.UnsuccessfullyDeletedLaunchTemplateVersions = v
59495	return s
59496}
59497
59498// Describes a launch template version that could not be deleted.
59499type DeleteLaunchTemplateVersionsResponseErrorItem struct {
59500	_ struct{} `type:"structure"`
59501
59502	// The ID of the launch template.
59503	LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"`
59504
59505	// The name of the launch template.
59506	LaunchTemplateName *string `locationName:"launchTemplateName" type:"string"`
59507
59508	// Information about the error.
59509	ResponseError *ResponseError `locationName:"responseError" type:"structure"`
59510
59511	// The version number of the launch template.
59512	VersionNumber *int64 `locationName:"versionNumber" type:"long"`
59513}
59514
59515// String returns the string representation
59516func (s DeleteLaunchTemplateVersionsResponseErrorItem) String() string {
59517	return awsutil.Prettify(s)
59518}
59519
59520// GoString returns the string representation
59521func (s DeleteLaunchTemplateVersionsResponseErrorItem) GoString() string {
59522	return s.String()
59523}
59524
59525// SetLaunchTemplateId sets the LaunchTemplateId field's value.
59526func (s *DeleteLaunchTemplateVersionsResponseErrorItem) SetLaunchTemplateId(v string) *DeleteLaunchTemplateVersionsResponseErrorItem {
59527	s.LaunchTemplateId = &v
59528	return s
59529}
59530
59531// SetLaunchTemplateName sets the LaunchTemplateName field's value.
59532func (s *DeleteLaunchTemplateVersionsResponseErrorItem) SetLaunchTemplateName(v string) *DeleteLaunchTemplateVersionsResponseErrorItem {
59533	s.LaunchTemplateName = &v
59534	return s
59535}
59536
59537// SetResponseError sets the ResponseError field's value.
59538func (s *DeleteLaunchTemplateVersionsResponseErrorItem) SetResponseError(v *ResponseError) *DeleteLaunchTemplateVersionsResponseErrorItem {
59539	s.ResponseError = v
59540	return s
59541}
59542
59543// SetVersionNumber sets the VersionNumber field's value.
59544func (s *DeleteLaunchTemplateVersionsResponseErrorItem) SetVersionNumber(v int64) *DeleteLaunchTemplateVersionsResponseErrorItem {
59545	s.VersionNumber = &v
59546	return s
59547}
59548
59549// Describes a launch template version that was successfully deleted.
59550type DeleteLaunchTemplateVersionsResponseSuccessItem struct {
59551	_ struct{} `type:"structure"`
59552
59553	// The ID of the launch template.
59554	LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"`
59555
59556	// The name of the launch template.
59557	LaunchTemplateName *string `locationName:"launchTemplateName" type:"string"`
59558
59559	// The version number of the launch template.
59560	VersionNumber *int64 `locationName:"versionNumber" type:"long"`
59561}
59562
59563// String returns the string representation
59564func (s DeleteLaunchTemplateVersionsResponseSuccessItem) String() string {
59565	return awsutil.Prettify(s)
59566}
59567
59568// GoString returns the string representation
59569func (s DeleteLaunchTemplateVersionsResponseSuccessItem) GoString() string {
59570	return s.String()
59571}
59572
59573// SetLaunchTemplateId sets the LaunchTemplateId field's value.
59574func (s *DeleteLaunchTemplateVersionsResponseSuccessItem) SetLaunchTemplateId(v string) *DeleteLaunchTemplateVersionsResponseSuccessItem {
59575	s.LaunchTemplateId = &v
59576	return s
59577}
59578
59579// SetLaunchTemplateName sets the LaunchTemplateName field's value.
59580func (s *DeleteLaunchTemplateVersionsResponseSuccessItem) SetLaunchTemplateName(v string) *DeleteLaunchTemplateVersionsResponseSuccessItem {
59581	s.LaunchTemplateName = &v
59582	return s
59583}
59584
59585// SetVersionNumber sets the VersionNumber field's value.
59586func (s *DeleteLaunchTemplateVersionsResponseSuccessItem) SetVersionNumber(v int64) *DeleteLaunchTemplateVersionsResponseSuccessItem {
59587	s.VersionNumber = &v
59588	return s
59589}
59590
59591type DeleteLocalGatewayRouteInput struct {
59592	_ struct{} `type:"structure"`
59593
59594	// The CIDR range for the route. This must match the CIDR for the route exactly.
59595	//
59596	// DestinationCidrBlock is a required field
59597	DestinationCidrBlock *string `type:"string" required:"true"`
59598
59599	// Checks whether you have the required permissions for the action, without
59600	// actually making the request, and provides an error response. If you have
59601	// the required permissions, the error response is DryRunOperation. Otherwise,
59602	// it is UnauthorizedOperation.
59603	DryRun *bool `type:"boolean"`
59604
59605	// The ID of the local gateway route table.
59606	//
59607	// LocalGatewayRouteTableId is a required field
59608	LocalGatewayRouteTableId *string `type:"string" required:"true"`
59609}
59610
59611// String returns the string representation
59612func (s DeleteLocalGatewayRouteInput) String() string {
59613	return awsutil.Prettify(s)
59614}
59615
59616// GoString returns the string representation
59617func (s DeleteLocalGatewayRouteInput) GoString() string {
59618	return s.String()
59619}
59620
59621// Validate inspects the fields of the type to determine if they are valid.
59622func (s *DeleteLocalGatewayRouteInput) Validate() error {
59623	invalidParams := request.ErrInvalidParams{Context: "DeleteLocalGatewayRouteInput"}
59624	if s.DestinationCidrBlock == nil {
59625		invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
59626	}
59627	if s.LocalGatewayRouteTableId == nil {
59628		invalidParams.Add(request.NewErrParamRequired("LocalGatewayRouteTableId"))
59629	}
59630
59631	if invalidParams.Len() > 0 {
59632		return invalidParams
59633	}
59634	return nil
59635}
59636
59637// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
59638func (s *DeleteLocalGatewayRouteInput) SetDestinationCidrBlock(v string) *DeleteLocalGatewayRouteInput {
59639	s.DestinationCidrBlock = &v
59640	return s
59641}
59642
59643// SetDryRun sets the DryRun field's value.
59644func (s *DeleteLocalGatewayRouteInput) SetDryRun(v bool) *DeleteLocalGatewayRouteInput {
59645	s.DryRun = &v
59646	return s
59647}
59648
59649// SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
59650func (s *DeleteLocalGatewayRouteInput) SetLocalGatewayRouteTableId(v string) *DeleteLocalGatewayRouteInput {
59651	s.LocalGatewayRouteTableId = &v
59652	return s
59653}
59654
59655type DeleteLocalGatewayRouteOutput struct {
59656	_ struct{} `type:"structure"`
59657
59658	// Information about the route.
59659	Route *LocalGatewayRoute `locationName:"route" type:"structure"`
59660}
59661
59662// String returns the string representation
59663func (s DeleteLocalGatewayRouteOutput) String() string {
59664	return awsutil.Prettify(s)
59665}
59666
59667// GoString returns the string representation
59668func (s DeleteLocalGatewayRouteOutput) GoString() string {
59669	return s.String()
59670}
59671
59672// SetRoute sets the Route field's value.
59673func (s *DeleteLocalGatewayRouteOutput) SetRoute(v *LocalGatewayRoute) *DeleteLocalGatewayRouteOutput {
59674	s.Route = v
59675	return s
59676}
59677
59678type DeleteLocalGatewayRouteTableVpcAssociationInput struct {
59679	_ struct{} `type:"structure"`
59680
59681	// Checks whether you have the required permissions for the action, without
59682	// actually making the request, and provides an error response. If you have
59683	// the required permissions, the error response is DryRunOperation. Otherwise,
59684	// it is UnauthorizedOperation.
59685	DryRun *bool `type:"boolean"`
59686
59687	// The ID of the association.
59688	//
59689	// LocalGatewayRouteTableVpcAssociationId is a required field
59690	LocalGatewayRouteTableVpcAssociationId *string `type:"string" required:"true"`
59691}
59692
59693// String returns the string representation
59694func (s DeleteLocalGatewayRouteTableVpcAssociationInput) String() string {
59695	return awsutil.Prettify(s)
59696}
59697
59698// GoString returns the string representation
59699func (s DeleteLocalGatewayRouteTableVpcAssociationInput) GoString() string {
59700	return s.String()
59701}
59702
59703// Validate inspects the fields of the type to determine if they are valid.
59704func (s *DeleteLocalGatewayRouteTableVpcAssociationInput) Validate() error {
59705	invalidParams := request.ErrInvalidParams{Context: "DeleteLocalGatewayRouteTableVpcAssociationInput"}
59706	if s.LocalGatewayRouteTableVpcAssociationId == nil {
59707		invalidParams.Add(request.NewErrParamRequired("LocalGatewayRouteTableVpcAssociationId"))
59708	}
59709
59710	if invalidParams.Len() > 0 {
59711		return invalidParams
59712	}
59713	return nil
59714}
59715
59716// SetDryRun sets the DryRun field's value.
59717func (s *DeleteLocalGatewayRouteTableVpcAssociationInput) SetDryRun(v bool) *DeleteLocalGatewayRouteTableVpcAssociationInput {
59718	s.DryRun = &v
59719	return s
59720}
59721
59722// SetLocalGatewayRouteTableVpcAssociationId sets the LocalGatewayRouteTableVpcAssociationId field's value.
59723func (s *DeleteLocalGatewayRouteTableVpcAssociationInput) SetLocalGatewayRouteTableVpcAssociationId(v string) *DeleteLocalGatewayRouteTableVpcAssociationInput {
59724	s.LocalGatewayRouteTableVpcAssociationId = &v
59725	return s
59726}
59727
59728type DeleteLocalGatewayRouteTableVpcAssociationOutput struct {
59729	_ struct{} `type:"structure"`
59730
59731	// Information about the association.
59732	LocalGatewayRouteTableVpcAssociation *LocalGatewayRouteTableVpcAssociation `locationName:"localGatewayRouteTableVpcAssociation" type:"structure"`
59733}
59734
59735// String returns the string representation
59736func (s DeleteLocalGatewayRouteTableVpcAssociationOutput) String() string {
59737	return awsutil.Prettify(s)
59738}
59739
59740// GoString returns the string representation
59741func (s DeleteLocalGatewayRouteTableVpcAssociationOutput) GoString() string {
59742	return s.String()
59743}
59744
59745// SetLocalGatewayRouteTableVpcAssociation sets the LocalGatewayRouteTableVpcAssociation field's value.
59746func (s *DeleteLocalGatewayRouteTableVpcAssociationOutput) SetLocalGatewayRouteTableVpcAssociation(v *LocalGatewayRouteTableVpcAssociation) *DeleteLocalGatewayRouteTableVpcAssociationOutput {
59747	s.LocalGatewayRouteTableVpcAssociation = v
59748	return s
59749}
59750
59751type DeleteManagedPrefixListInput struct {
59752	_ struct{} `type:"structure"`
59753
59754	// Checks whether you have the required permissions for the action, without
59755	// actually making the request, and provides an error response. If you have
59756	// the required permissions, the error response is DryRunOperation. Otherwise,
59757	// it is UnauthorizedOperation.
59758	DryRun *bool `type:"boolean"`
59759
59760	// The ID of the prefix list.
59761	//
59762	// PrefixListId is a required field
59763	PrefixListId *string `type:"string" required:"true"`
59764}
59765
59766// String returns the string representation
59767func (s DeleteManagedPrefixListInput) String() string {
59768	return awsutil.Prettify(s)
59769}
59770
59771// GoString returns the string representation
59772func (s DeleteManagedPrefixListInput) GoString() string {
59773	return s.String()
59774}
59775
59776// Validate inspects the fields of the type to determine if they are valid.
59777func (s *DeleteManagedPrefixListInput) Validate() error {
59778	invalidParams := request.ErrInvalidParams{Context: "DeleteManagedPrefixListInput"}
59779	if s.PrefixListId == nil {
59780		invalidParams.Add(request.NewErrParamRequired("PrefixListId"))
59781	}
59782
59783	if invalidParams.Len() > 0 {
59784		return invalidParams
59785	}
59786	return nil
59787}
59788
59789// SetDryRun sets the DryRun field's value.
59790func (s *DeleteManagedPrefixListInput) SetDryRun(v bool) *DeleteManagedPrefixListInput {
59791	s.DryRun = &v
59792	return s
59793}
59794
59795// SetPrefixListId sets the PrefixListId field's value.
59796func (s *DeleteManagedPrefixListInput) SetPrefixListId(v string) *DeleteManagedPrefixListInput {
59797	s.PrefixListId = &v
59798	return s
59799}
59800
59801type DeleteManagedPrefixListOutput struct {
59802	_ struct{} `type:"structure"`
59803
59804	// Information about the prefix list.
59805	PrefixList *ManagedPrefixList `locationName:"prefixList" type:"structure"`
59806}
59807
59808// String returns the string representation
59809func (s DeleteManagedPrefixListOutput) String() string {
59810	return awsutil.Prettify(s)
59811}
59812
59813// GoString returns the string representation
59814func (s DeleteManagedPrefixListOutput) GoString() string {
59815	return s.String()
59816}
59817
59818// SetPrefixList sets the PrefixList field's value.
59819func (s *DeleteManagedPrefixListOutput) SetPrefixList(v *ManagedPrefixList) *DeleteManagedPrefixListOutput {
59820	s.PrefixList = v
59821	return s
59822}
59823
59824type DeleteNatGatewayInput struct {
59825	_ struct{} `type:"structure"`
59826
59827	// Checks whether you have the required permissions for the action, without
59828	// actually making the request, and provides an error response. If you have
59829	// the required permissions, the error response is DryRunOperation. Otherwise,
59830	// it is UnauthorizedOperation.
59831	DryRun *bool `type:"boolean"`
59832
59833	// The ID of the NAT gateway.
59834	//
59835	// NatGatewayId is a required field
59836	NatGatewayId *string `type:"string" required:"true"`
59837}
59838
59839// String returns the string representation
59840func (s DeleteNatGatewayInput) String() string {
59841	return awsutil.Prettify(s)
59842}
59843
59844// GoString returns the string representation
59845func (s DeleteNatGatewayInput) GoString() string {
59846	return s.String()
59847}
59848
59849// Validate inspects the fields of the type to determine if they are valid.
59850func (s *DeleteNatGatewayInput) Validate() error {
59851	invalidParams := request.ErrInvalidParams{Context: "DeleteNatGatewayInput"}
59852	if s.NatGatewayId == nil {
59853		invalidParams.Add(request.NewErrParamRequired("NatGatewayId"))
59854	}
59855
59856	if invalidParams.Len() > 0 {
59857		return invalidParams
59858	}
59859	return nil
59860}
59861
59862// SetDryRun sets the DryRun field's value.
59863func (s *DeleteNatGatewayInput) SetDryRun(v bool) *DeleteNatGatewayInput {
59864	s.DryRun = &v
59865	return s
59866}
59867
59868// SetNatGatewayId sets the NatGatewayId field's value.
59869func (s *DeleteNatGatewayInput) SetNatGatewayId(v string) *DeleteNatGatewayInput {
59870	s.NatGatewayId = &v
59871	return s
59872}
59873
59874type DeleteNatGatewayOutput struct {
59875	_ struct{} `type:"structure"`
59876
59877	// The ID of the NAT gateway.
59878	NatGatewayId *string `locationName:"natGatewayId" type:"string"`
59879}
59880
59881// String returns the string representation
59882func (s DeleteNatGatewayOutput) String() string {
59883	return awsutil.Prettify(s)
59884}
59885
59886// GoString returns the string representation
59887func (s DeleteNatGatewayOutput) GoString() string {
59888	return s.String()
59889}
59890
59891// SetNatGatewayId sets the NatGatewayId field's value.
59892func (s *DeleteNatGatewayOutput) SetNatGatewayId(v string) *DeleteNatGatewayOutput {
59893	s.NatGatewayId = &v
59894	return s
59895}
59896
59897type DeleteNetworkAclEntryInput struct {
59898	_ struct{} `type:"structure"`
59899
59900	// Checks whether you have the required permissions for the action, without
59901	// actually making the request, and provides an error response. If you have
59902	// the required permissions, the error response is DryRunOperation. Otherwise,
59903	// it is UnauthorizedOperation.
59904	DryRun *bool `locationName:"dryRun" type:"boolean"`
59905
59906	// Indicates whether the rule is an egress rule.
59907	//
59908	// Egress is a required field
59909	Egress *bool `locationName:"egress" type:"boolean" required:"true"`
59910
59911	// The ID of the network ACL.
59912	//
59913	// NetworkAclId is a required field
59914	NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
59915
59916	// The rule number of the entry to delete.
59917	//
59918	// RuleNumber is a required field
59919	RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"`
59920}
59921
59922// String returns the string representation
59923func (s DeleteNetworkAclEntryInput) String() string {
59924	return awsutil.Prettify(s)
59925}
59926
59927// GoString returns the string representation
59928func (s DeleteNetworkAclEntryInput) GoString() string {
59929	return s.String()
59930}
59931
59932// Validate inspects the fields of the type to determine if they are valid.
59933func (s *DeleteNetworkAclEntryInput) Validate() error {
59934	invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkAclEntryInput"}
59935	if s.Egress == nil {
59936		invalidParams.Add(request.NewErrParamRequired("Egress"))
59937	}
59938	if s.NetworkAclId == nil {
59939		invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
59940	}
59941	if s.RuleNumber == nil {
59942		invalidParams.Add(request.NewErrParamRequired("RuleNumber"))
59943	}
59944
59945	if invalidParams.Len() > 0 {
59946		return invalidParams
59947	}
59948	return nil
59949}
59950
59951// SetDryRun sets the DryRun field's value.
59952func (s *DeleteNetworkAclEntryInput) SetDryRun(v bool) *DeleteNetworkAclEntryInput {
59953	s.DryRun = &v
59954	return s
59955}
59956
59957// SetEgress sets the Egress field's value.
59958func (s *DeleteNetworkAclEntryInput) SetEgress(v bool) *DeleteNetworkAclEntryInput {
59959	s.Egress = &v
59960	return s
59961}
59962
59963// SetNetworkAclId sets the NetworkAclId field's value.
59964func (s *DeleteNetworkAclEntryInput) SetNetworkAclId(v string) *DeleteNetworkAclEntryInput {
59965	s.NetworkAclId = &v
59966	return s
59967}
59968
59969// SetRuleNumber sets the RuleNumber field's value.
59970func (s *DeleteNetworkAclEntryInput) SetRuleNumber(v int64) *DeleteNetworkAclEntryInput {
59971	s.RuleNumber = &v
59972	return s
59973}
59974
59975type DeleteNetworkAclEntryOutput struct {
59976	_ struct{} `type:"structure"`
59977}
59978
59979// String returns the string representation
59980func (s DeleteNetworkAclEntryOutput) String() string {
59981	return awsutil.Prettify(s)
59982}
59983
59984// GoString returns the string representation
59985func (s DeleteNetworkAclEntryOutput) GoString() string {
59986	return s.String()
59987}
59988
59989type DeleteNetworkAclInput struct {
59990	_ struct{} `type:"structure"`
59991
59992	// Checks whether you have the required permissions for the action, without
59993	// actually making the request, and provides an error response. If you have
59994	// the required permissions, the error response is DryRunOperation. Otherwise,
59995	// it is UnauthorizedOperation.
59996	DryRun *bool `locationName:"dryRun" type:"boolean"`
59997
59998	// The ID of the network ACL.
59999	//
60000	// NetworkAclId is a required field
60001	NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
60002}
60003
60004// String returns the string representation
60005func (s DeleteNetworkAclInput) String() string {
60006	return awsutil.Prettify(s)
60007}
60008
60009// GoString returns the string representation
60010func (s DeleteNetworkAclInput) GoString() string {
60011	return s.String()
60012}
60013
60014// Validate inspects the fields of the type to determine if they are valid.
60015func (s *DeleteNetworkAclInput) Validate() error {
60016	invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkAclInput"}
60017	if s.NetworkAclId == nil {
60018		invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
60019	}
60020
60021	if invalidParams.Len() > 0 {
60022		return invalidParams
60023	}
60024	return nil
60025}
60026
60027// SetDryRun sets the DryRun field's value.
60028func (s *DeleteNetworkAclInput) SetDryRun(v bool) *DeleteNetworkAclInput {
60029	s.DryRun = &v
60030	return s
60031}
60032
60033// SetNetworkAclId sets the NetworkAclId field's value.
60034func (s *DeleteNetworkAclInput) SetNetworkAclId(v string) *DeleteNetworkAclInput {
60035	s.NetworkAclId = &v
60036	return s
60037}
60038
60039type DeleteNetworkAclOutput struct {
60040	_ struct{} `type:"structure"`
60041}
60042
60043// String returns the string representation
60044func (s DeleteNetworkAclOutput) String() string {
60045	return awsutil.Prettify(s)
60046}
60047
60048// GoString returns the string representation
60049func (s DeleteNetworkAclOutput) GoString() string {
60050	return s.String()
60051}
60052
60053type DeleteNetworkInsightsAnalysisInput struct {
60054	_ struct{} `type:"structure"`
60055
60056	// Checks whether you have the required permissions for the action, without
60057	// actually making the request, and provides an error response. If you have
60058	// the required permissions, the error response is DryRunOperation. Otherwise,
60059	// it is UnauthorizedOperation.
60060	DryRun *bool `type:"boolean"`
60061
60062	// The ID of the network insights analysis.
60063	//
60064	// NetworkInsightsAnalysisId is a required field
60065	NetworkInsightsAnalysisId *string `type:"string" required:"true"`
60066}
60067
60068// String returns the string representation
60069func (s DeleteNetworkInsightsAnalysisInput) String() string {
60070	return awsutil.Prettify(s)
60071}
60072
60073// GoString returns the string representation
60074func (s DeleteNetworkInsightsAnalysisInput) GoString() string {
60075	return s.String()
60076}
60077
60078// Validate inspects the fields of the type to determine if they are valid.
60079func (s *DeleteNetworkInsightsAnalysisInput) Validate() error {
60080	invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkInsightsAnalysisInput"}
60081	if s.NetworkInsightsAnalysisId == nil {
60082		invalidParams.Add(request.NewErrParamRequired("NetworkInsightsAnalysisId"))
60083	}
60084
60085	if invalidParams.Len() > 0 {
60086		return invalidParams
60087	}
60088	return nil
60089}
60090
60091// SetDryRun sets the DryRun field's value.
60092func (s *DeleteNetworkInsightsAnalysisInput) SetDryRun(v bool) *DeleteNetworkInsightsAnalysisInput {
60093	s.DryRun = &v
60094	return s
60095}
60096
60097// SetNetworkInsightsAnalysisId sets the NetworkInsightsAnalysisId field's value.
60098func (s *DeleteNetworkInsightsAnalysisInput) SetNetworkInsightsAnalysisId(v string) *DeleteNetworkInsightsAnalysisInput {
60099	s.NetworkInsightsAnalysisId = &v
60100	return s
60101}
60102
60103type DeleteNetworkInsightsAnalysisOutput struct {
60104	_ struct{} `type:"structure"`
60105
60106	// The ID of the network insights analysis.
60107	NetworkInsightsAnalysisId *string `locationName:"networkInsightsAnalysisId" type:"string"`
60108}
60109
60110// String returns the string representation
60111func (s DeleteNetworkInsightsAnalysisOutput) String() string {
60112	return awsutil.Prettify(s)
60113}
60114
60115// GoString returns the string representation
60116func (s DeleteNetworkInsightsAnalysisOutput) GoString() string {
60117	return s.String()
60118}
60119
60120// SetNetworkInsightsAnalysisId sets the NetworkInsightsAnalysisId field's value.
60121func (s *DeleteNetworkInsightsAnalysisOutput) SetNetworkInsightsAnalysisId(v string) *DeleteNetworkInsightsAnalysisOutput {
60122	s.NetworkInsightsAnalysisId = &v
60123	return s
60124}
60125
60126type DeleteNetworkInsightsPathInput struct {
60127	_ struct{} `type:"structure"`
60128
60129	// Checks whether you have the required permissions for the action, without
60130	// actually making the request, and provides an error response. If you have
60131	// the required permissions, the error response is DryRunOperation. Otherwise,
60132	// it is UnauthorizedOperation.
60133	DryRun *bool `type:"boolean"`
60134
60135	// The ID of the path.
60136	//
60137	// NetworkInsightsPathId is a required field
60138	NetworkInsightsPathId *string `type:"string" required:"true"`
60139}
60140
60141// String returns the string representation
60142func (s DeleteNetworkInsightsPathInput) String() string {
60143	return awsutil.Prettify(s)
60144}
60145
60146// GoString returns the string representation
60147func (s DeleteNetworkInsightsPathInput) GoString() string {
60148	return s.String()
60149}
60150
60151// Validate inspects the fields of the type to determine if they are valid.
60152func (s *DeleteNetworkInsightsPathInput) Validate() error {
60153	invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkInsightsPathInput"}
60154	if s.NetworkInsightsPathId == nil {
60155		invalidParams.Add(request.NewErrParamRequired("NetworkInsightsPathId"))
60156	}
60157
60158	if invalidParams.Len() > 0 {
60159		return invalidParams
60160	}
60161	return nil
60162}
60163
60164// SetDryRun sets the DryRun field's value.
60165func (s *DeleteNetworkInsightsPathInput) SetDryRun(v bool) *DeleteNetworkInsightsPathInput {
60166	s.DryRun = &v
60167	return s
60168}
60169
60170// SetNetworkInsightsPathId sets the NetworkInsightsPathId field's value.
60171func (s *DeleteNetworkInsightsPathInput) SetNetworkInsightsPathId(v string) *DeleteNetworkInsightsPathInput {
60172	s.NetworkInsightsPathId = &v
60173	return s
60174}
60175
60176type DeleteNetworkInsightsPathOutput struct {
60177	_ struct{} `type:"structure"`
60178
60179	// The ID of the path.
60180	NetworkInsightsPathId *string `locationName:"networkInsightsPathId" type:"string"`
60181}
60182
60183// String returns the string representation
60184func (s DeleteNetworkInsightsPathOutput) String() string {
60185	return awsutil.Prettify(s)
60186}
60187
60188// GoString returns the string representation
60189func (s DeleteNetworkInsightsPathOutput) GoString() string {
60190	return s.String()
60191}
60192
60193// SetNetworkInsightsPathId sets the NetworkInsightsPathId field's value.
60194func (s *DeleteNetworkInsightsPathOutput) SetNetworkInsightsPathId(v string) *DeleteNetworkInsightsPathOutput {
60195	s.NetworkInsightsPathId = &v
60196	return s
60197}
60198
60199// Contains the parameters for DeleteNetworkInterface.
60200type DeleteNetworkInterfaceInput struct {
60201	_ struct{} `type:"structure"`
60202
60203	// Checks whether you have the required permissions for the action, without
60204	// actually making the request, and provides an error response. If you have
60205	// the required permissions, the error response is DryRunOperation. Otherwise,
60206	// it is UnauthorizedOperation.
60207	DryRun *bool `locationName:"dryRun" type:"boolean"`
60208
60209	// The ID of the network interface.
60210	//
60211	// NetworkInterfaceId is a required field
60212	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
60213}
60214
60215// String returns the string representation
60216func (s DeleteNetworkInterfaceInput) String() string {
60217	return awsutil.Prettify(s)
60218}
60219
60220// GoString returns the string representation
60221func (s DeleteNetworkInterfaceInput) GoString() string {
60222	return s.String()
60223}
60224
60225// Validate inspects the fields of the type to determine if they are valid.
60226func (s *DeleteNetworkInterfaceInput) Validate() error {
60227	invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkInterfaceInput"}
60228	if s.NetworkInterfaceId == nil {
60229		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
60230	}
60231
60232	if invalidParams.Len() > 0 {
60233		return invalidParams
60234	}
60235	return nil
60236}
60237
60238// SetDryRun sets the DryRun field's value.
60239func (s *DeleteNetworkInterfaceInput) SetDryRun(v bool) *DeleteNetworkInterfaceInput {
60240	s.DryRun = &v
60241	return s
60242}
60243
60244// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
60245func (s *DeleteNetworkInterfaceInput) SetNetworkInterfaceId(v string) *DeleteNetworkInterfaceInput {
60246	s.NetworkInterfaceId = &v
60247	return s
60248}
60249
60250type DeleteNetworkInterfaceOutput struct {
60251	_ struct{} `type:"structure"`
60252}
60253
60254// String returns the string representation
60255func (s DeleteNetworkInterfaceOutput) String() string {
60256	return awsutil.Prettify(s)
60257}
60258
60259// GoString returns the string representation
60260func (s DeleteNetworkInterfaceOutput) GoString() string {
60261	return s.String()
60262}
60263
60264// Contains the parameters for DeleteNetworkInterfacePermission.
60265type DeleteNetworkInterfacePermissionInput struct {
60266	_ struct{} `type:"structure"`
60267
60268	// Checks whether you have the required permissions for the action, without
60269	// actually making the request, and provides an error response. If you have
60270	// the required permissions, the error response is DryRunOperation. Otherwise,
60271	// it is UnauthorizedOperation.
60272	DryRun *bool `type:"boolean"`
60273
60274	// Specify true to remove the permission even if the network interface is attached
60275	// to an instance.
60276	Force *bool `type:"boolean"`
60277
60278	// The ID of the network interface permission.
60279	//
60280	// NetworkInterfacePermissionId is a required field
60281	NetworkInterfacePermissionId *string `type:"string" required:"true"`
60282}
60283
60284// String returns the string representation
60285func (s DeleteNetworkInterfacePermissionInput) String() string {
60286	return awsutil.Prettify(s)
60287}
60288
60289// GoString returns the string representation
60290func (s DeleteNetworkInterfacePermissionInput) GoString() string {
60291	return s.String()
60292}
60293
60294// Validate inspects the fields of the type to determine if they are valid.
60295func (s *DeleteNetworkInterfacePermissionInput) Validate() error {
60296	invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkInterfacePermissionInput"}
60297	if s.NetworkInterfacePermissionId == nil {
60298		invalidParams.Add(request.NewErrParamRequired("NetworkInterfacePermissionId"))
60299	}
60300
60301	if invalidParams.Len() > 0 {
60302		return invalidParams
60303	}
60304	return nil
60305}
60306
60307// SetDryRun sets the DryRun field's value.
60308func (s *DeleteNetworkInterfacePermissionInput) SetDryRun(v bool) *DeleteNetworkInterfacePermissionInput {
60309	s.DryRun = &v
60310	return s
60311}
60312
60313// SetForce sets the Force field's value.
60314func (s *DeleteNetworkInterfacePermissionInput) SetForce(v bool) *DeleteNetworkInterfacePermissionInput {
60315	s.Force = &v
60316	return s
60317}
60318
60319// SetNetworkInterfacePermissionId sets the NetworkInterfacePermissionId field's value.
60320func (s *DeleteNetworkInterfacePermissionInput) SetNetworkInterfacePermissionId(v string) *DeleteNetworkInterfacePermissionInput {
60321	s.NetworkInterfacePermissionId = &v
60322	return s
60323}
60324
60325// Contains the output for DeleteNetworkInterfacePermission.
60326type DeleteNetworkInterfacePermissionOutput struct {
60327	_ struct{} `type:"structure"`
60328
60329	// Returns true if the request succeeds, otherwise returns an error.
60330	Return *bool `locationName:"return" type:"boolean"`
60331}
60332
60333// String returns the string representation
60334func (s DeleteNetworkInterfacePermissionOutput) String() string {
60335	return awsutil.Prettify(s)
60336}
60337
60338// GoString returns the string representation
60339func (s DeleteNetworkInterfacePermissionOutput) GoString() string {
60340	return s.String()
60341}
60342
60343// SetReturn sets the Return field's value.
60344func (s *DeleteNetworkInterfacePermissionOutput) SetReturn(v bool) *DeleteNetworkInterfacePermissionOutput {
60345	s.Return = &v
60346	return s
60347}
60348
60349type DeletePlacementGroupInput struct {
60350	_ struct{} `type:"structure"`
60351
60352	// Checks whether you have the required permissions for the action, without
60353	// actually making the request, and provides an error response. If you have
60354	// the required permissions, the error response is DryRunOperation. Otherwise,
60355	// it is UnauthorizedOperation.
60356	DryRun *bool `locationName:"dryRun" type:"boolean"`
60357
60358	// The name of the placement group.
60359	//
60360	// GroupName is a required field
60361	GroupName *string `locationName:"groupName" type:"string" required:"true"`
60362}
60363
60364// String returns the string representation
60365func (s DeletePlacementGroupInput) String() string {
60366	return awsutil.Prettify(s)
60367}
60368
60369// GoString returns the string representation
60370func (s DeletePlacementGroupInput) GoString() string {
60371	return s.String()
60372}
60373
60374// Validate inspects the fields of the type to determine if they are valid.
60375func (s *DeletePlacementGroupInput) Validate() error {
60376	invalidParams := request.ErrInvalidParams{Context: "DeletePlacementGroupInput"}
60377	if s.GroupName == nil {
60378		invalidParams.Add(request.NewErrParamRequired("GroupName"))
60379	}
60380
60381	if invalidParams.Len() > 0 {
60382		return invalidParams
60383	}
60384	return nil
60385}
60386
60387// SetDryRun sets the DryRun field's value.
60388func (s *DeletePlacementGroupInput) SetDryRun(v bool) *DeletePlacementGroupInput {
60389	s.DryRun = &v
60390	return s
60391}
60392
60393// SetGroupName sets the GroupName field's value.
60394func (s *DeletePlacementGroupInput) SetGroupName(v string) *DeletePlacementGroupInput {
60395	s.GroupName = &v
60396	return s
60397}
60398
60399type DeletePlacementGroupOutput struct {
60400	_ struct{} `type:"structure"`
60401}
60402
60403// String returns the string representation
60404func (s DeletePlacementGroupOutput) String() string {
60405	return awsutil.Prettify(s)
60406}
60407
60408// GoString returns the string representation
60409func (s DeletePlacementGroupOutput) GoString() string {
60410	return s.String()
60411}
60412
60413// Describes the error for a Reserved Instance whose queued purchase could not
60414// be deleted.
60415type DeleteQueuedReservedInstancesError struct {
60416	_ struct{} `type:"structure"`
60417
60418	// The error code.
60419	Code *string `locationName:"code" type:"string" enum:"DeleteQueuedReservedInstancesErrorCode"`
60420
60421	// The error message.
60422	Message *string `locationName:"message" type:"string"`
60423}
60424
60425// String returns the string representation
60426func (s DeleteQueuedReservedInstancesError) String() string {
60427	return awsutil.Prettify(s)
60428}
60429
60430// GoString returns the string representation
60431func (s DeleteQueuedReservedInstancesError) GoString() string {
60432	return s.String()
60433}
60434
60435// SetCode sets the Code field's value.
60436func (s *DeleteQueuedReservedInstancesError) SetCode(v string) *DeleteQueuedReservedInstancesError {
60437	s.Code = &v
60438	return s
60439}
60440
60441// SetMessage sets the Message field's value.
60442func (s *DeleteQueuedReservedInstancesError) SetMessage(v string) *DeleteQueuedReservedInstancesError {
60443	s.Message = &v
60444	return s
60445}
60446
60447type DeleteQueuedReservedInstancesInput struct {
60448	_ struct{} `type:"structure"`
60449
60450	// Checks whether you have the required permissions for the action, without
60451	// actually making the request, and provides an error response. If you have
60452	// the required permissions, the error response is DryRunOperation. Otherwise,
60453	// it is UnauthorizedOperation.
60454	DryRun *bool `type:"boolean"`
60455
60456	// The IDs of the Reserved Instances.
60457	//
60458	// ReservedInstancesIds is a required field
60459	ReservedInstancesIds []*string `locationName:"ReservedInstancesId" locationNameList:"item" min:"1" type:"list" required:"true"`
60460}
60461
60462// String returns the string representation
60463func (s DeleteQueuedReservedInstancesInput) String() string {
60464	return awsutil.Prettify(s)
60465}
60466
60467// GoString returns the string representation
60468func (s DeleteQueuedReservedInstancesInput) GoString() string {
60469	return s.String()
60470}
60471
60472// Validate inspects the fields of the type to determine if they are valid.
60473func (s *DeleteQueuedReservedInstancesInput) Validate() error {
60474	invalidParams := request.ErrInvalidParams{Context: "DeleteQueuedReservedInstancesInput"}
60475	if s.ReservedInstancesIds == nil {
60476		invalidParams.Add(request.NewErrParamRequired("ReservedInstancesIds"))
60477	}
60478	if s.ReservedInstancesIds != nil && len(s.ReservedInstancesIds) < 1 {
60479		invalidParams.Add(request.NewErrParamMinLen("ReservedInstancesIds", 1))
60480	}
60481
60482	if invalidParams.Len() > 0 {
60483		return invalidParams
60484	}
60485	return nil
60486}
60487
60488// SetDryRun sets the DryRun field's value.
60489func (s *DeleteQueuedReservedInstancesInput) SetDryRun(v bool) *DeleteQueuedReservedInstancesInput {
60490	s.DryRun = &v
60491	return s
60492}
60493
60494// SetReservedInstancesIds sets the ReservedInstancesIds field's value.
60495func (s *DeleteQueuedReservedInstancesInput) SetReservedInstancesIds(v []*string) *DeleteQueuedReservedInstancesInput {
60496	s.ReservedInstancesIds = v
60497	return s
60498}
60499
60500type DeleteQueuedReservedInstancesOutput struct {
60501	_ struct{} `type:"structure"`
60502
60503	// Information about the queued purchases that could not be deleted.
60504	FailedQueuedPurchaseDeletions []*FailedQueuedPurchaseDeletion `locationName:"failedQueuedPurchaseDeletionSet" locationNameList:"item" type:"list"`
60505
60506	// Information about the queued purchases that were successfully deleted.
60507	SuccessfulQueuedPurchaseDeletions []*SuccessfulQueuedPurchaseDeletion `locationName:"successfulQueuedPurchaseDeletionSet" locationNameList:"item" type:"list"`
60508}
60509
60510// String returns the string representation
60511func (s DeleteQueuedReservedInstancesOutput) String() string {
60512	return awsutil.Prettify(s)
60513}
60514
60515// GoString returns the string representation
60516func (s DeleteQueuedReservedInstancesOutput) GoString() string {
60517	return s.String()
60518}
60519
60520// SetFailedQueuedPurchaseDeletions sets the FailedQueuedPurchaseDeletions field's value.
60521func (s *DeleteQueuedReservedInstancesOutput) SetFailedQueuedPurchaseDeletions(v []*FailedQueuedPurchaseDeletion) *DeleteQueuedReservedInstancesOutput {
60522	s.FailedQueuedPurchaseDeletions = v
60523	return s
60524}
60525
60526// SetSuccessfulQueuedPurchaseDeletions sets the SuccessfulQueuedPurchaseDeletions field's value.
60527func (s *DeleteQueuedReservedInstancesOutput) SetSuccessfulQueuedPurchaseDeletions(v []*SuccessfulQueuedPurchaseDeletion) *DeleteQueuedReservedInstancesOutput {
60528	s.SuccessfulQueuedPurchaseDeletions = v
60529	return s
60530}
60531
60532type DeleteRouteInput struct {
60533	_ struct{} `type:"structure"`
60534
60535	// The IPv4 CIDR range for the route. The value you specify must match the CIDR
60536	// for the route exactly.
60537	DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
60538
60539	// The IPv6 CIDR range for the route. The value you specify must match the CIDR
60540	// for the route exactly.
60541	DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"`
60542
60543	// The ID of the prefix list for the route.
60544	DestinationPrefixListId *string `type:"string"`
60545
60546	// Checks whether you have the required permissions for the action, without
60547	// actually making the request, and provides an error response. If you have
60548	// the required permissions, the error response is DryRunOperation. Otherwise,
60549	// it is UnauthorizedOperation.
60550	DryRun *bool `locationName:"dryRun" type:"boolean"`
60551
60552	// The ID of the route table.
60553	//
60554	// RouteTableId is a required field
60555	RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
60556}
60557
60558// String returns the string representation
60559func (s DeleteRouteInput) String() string {
60560	return awsutil.Prettify(s)
60561}
60562
60563// GoString returns the string representation
60564func (s DeleteRouteInput) GoString() string {
60565	return s.String()
60566}
60567
60568// Validate inspects the fields of the type to determine if they are valid.
60569func (s *DeleteRouteInput) Validate() error {
60570	invalidParams := request.ErrInvalidParams{Context: "DeleteRouteInput"}
60571	if s.RouteTableId == nil {
60572		invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
60573	}
60574
60575	if invalidParams.Len() > 0 {
60576		return invalidParams
60577	}
60578	return nil
60579}
60580
60581// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
60582func (s *DeleteRouteInput) SetDestinationCidrBlock(v string) *DeleteRouteInput {
60583	s.DestinationCidrBlock = &v
60584	return s
60585}
60586
60587// SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value.
60588func (s *DeleteRouteInput) SetDestinationIpv6CidrBlock(v string) *DeleteRouteInput {
60589	s.DestinationIpv6CidrBlock = &v
60590	return s
60591}
60592
60593// SetDestinationPrefixListId sets the DestinationPrefixListId field's value.
60594func (s *DeleteRouteInput) SetDestinationPrefixListId(v string) *DeleteRouteInput {
60595	s.DestinationPrefixListId = &v
60596	return s
60597}
60598
60599// SetDryRun sets the DryRun field's value.
60600func (s *DeleteRouteInput) SetDryRun(v bool) *DeleteRouteInput {
60601	s.DryRun = &v
60602	return s
60603}
60604
60605// SetRouteTableId sets the RouteTableId field's value.
60606func (s *DeleteRouteInput) SetRouteTableId(v string) *DeleteRouteInput {
60607	s.RouteTableId = &v
60608	return s
60609}
60610
60611type DeleteRouteOutput struct {
60612	_ struct{} `type:"structure"`
60613}
60614
60615// String returns the string representation
60616func (s DeleteRouteOutput) String() string {
60617	return awsutil.Prettify(s)
60618}
60619
60620// GoString returns the string representation
60621func (s DeleteRouteOutput) GoString() string {
60622	return s.String()
60623}
60624
60625type DeleteRouteTableInput struct {
60626	_ struct{} `type:"structure"`
60627
60628	// Checks whether you have the required permissions for the action, without
60629	// actually making the request, and provides an error response. If you have
60630	// the required permissions, the error response is DryRunOperation. Otherwise,
60631	// it is UnauthorizedOperation.
60632	DryRun *bool `locationName:"dryRun" type:"boolean"`
60633
60634	// The ID of the route table.
60635	//
60636	// RouteTableId is a required field
60637	RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
60638}
60639
60640// String returns the string representation
60641func (s DeleteRouteTableInput) String() string {
60642	return awsutil.Prettify(s)
60643}
60644
60645// GoString returns the string representation
60646func (s DeleteRouteTableInput) GoString() string {
60647	return s.String()
60648}
60649
60650// Validate inspects the fields of the type to determine if they are valid.
60651func (s *DeleteRouteTableInput) Validate() error {
60652	invalidParams := request.ErrInvalidParams{Context: "DeleteRouteTableInput"}
60653	if s.RouteTableId == nil {
60654		invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
60655	}
60656
60657	if invalidParams.Len() > 0 {
60658		return invalidParams
60659	}
60660	return nil
60661}
60662
60663// SetDryRun sets the DryRun field's value.
60664func (s *DeleteRouteTableInput) SetDryRun(v bool) *DeleteRouteTableInput {
60665	s.DryRun = &v
60666	return s
60667}
60668
60669// SetRouteTableId sets the RouteTableId field's value.
60670func (s *DeleteRouteTableInput) SetRouteTableId(v string) *DeleteRouteTableInput {
60671	s.RouteTableId = &v
60672	return s
60673}
60674
60675type DeleteRouteTableOutput struct {
60676	_ struct{} `type:"structure"`
60677}
60678
60679// String returns the string representation
60680func (s DeleteRouteTableOutput) String() string {
60681	return awsutil.Prettify(s)
60682}
60683
60684// GoString returns the string representation
60685func (s DeleteRouteTableOutput) GoString() string {
60686	return s.String()
60687}
60688
60689type DeleteSecurityGroupInput struct {
60690	_ struct{} `type:"structure"`
60691
60692	// Checks whether you have the required permissions for the action, without
60693	// actually making the request, and provides an error response. If you have
60694	// the required permissions, the error response is DryRunOperation. Otherwise,
60695	// it is UnauthorizedOperation.
60696	DryRun *bool `locationName:"dryRun" type:"boolean"`
60697
60698	// The ID of the security group. Required for a nondefault VPC.
60699	GroupId *string `type:"string"`
60700
60701	// [EC2-Classic, default VPC] The name of the security group. You can specify
60702	// either the security group name or the security group ID.
60703	GroupName *string `type:"string"`
60704}
60705
60706// String returns the string representation
60707func (s DeleteSecurityGroupInput) String() string {
60708	return awsutil.Prettify(s)
60709}
60710
60711// GoString returns the string representation
60712func (s DeleteSecurityGroupInput) GoString() string {
60713	return s.String()
60714}
60715
60716// SetDryRun sets the DryRun field's value.
60717func (s *DeleteSecurityGroupInput) SetDryRun(v bool) *DeleteSecurityGroupInput {
60718	s.DryRun = &v
60719	return s
60720}
60721
60722// SetGroupId sets the GroupId field's value.
60723func (s *DeleteSecurityGroupInput) SetGroupId(v string) *DeleteSecurityGroupInput {
60724	s.GroupId = &v
60725	return s
60726}
60727
60728// SetGroupName sets the GroupName field's value.
60729func (s *DeleteSecurityGroupInput) SetGroupName(v string) *DeleteSecurityGroupInput {
60730	s.GroupName = &v
60731	return s
60732}
60733
60734type DeleteSecurityGroupOutput struct {
60735	_ struct{} `type:"structure"`
60736}
60737
60738// String returns the string representation
60739func (s DeleteSecurityGroupOutput) String() string {
60740	return awsutil.Prettify(s)
60741}
60742
60743// GoString returns the string representation
60744func (s DeleteSecurityGroupOutput) GoString() string {
60745	return s.String()
60746}
60747
60748type DeleteSnapshotInput struct {
60749	_ struct{} `type:"structure"`
60750
60751	// Checks whether you have the required permissions for the action, without
60752	// actually making the request, and provides an error response. If you have
60753	// the required permissions, the error response is DryRunOperation. Otherwise,
60754	// it is UnauthorizedOperation.
60755	DryRun *bool `locationName:"dryRun" type:"boolean"`
60756
60757	// The ID of the EBS snapshot.
60758	//
60759	// SnapshotId is a required field
60760	SnapshotId *string `type:"string" required:"true"`
60761}
60762
60763// String returns the string representation
60764func (s DeleteSnapshotInput) String() string {
60765	return awsutil.Prettify(s)
60766}
60767
60768// GoString returns the string representation
60769func (s DeleteSnapshotInput) GoString() string {
60770	return s.String()
60771}
60772
60773// Validate inspects the fields of the type to determine if they are valid.
60774func (s *DeleteSnapshotInput) Validate() error {
60775	invalidParams := request.ErrInvalidParams{Context: "DeleteSnapshotInput"}
60776	if s.SnapshotId == nil {
60777		invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
60778	}
60779
60780	if invalidParams.Len() > 0 {
60781		return invalidParams
60782	}
60783	return nil
60784}
60785
60786// SetDryRun sets the DryRun field's value.
60787func (s *DeleteSnapshotInput) SetDryRun(v bool) *DeleteSnapshotInput {
60788	s.DryRun = &v
60789	return s
60790}
60791
60792// SetSnapshotId sets the SnapshotId field's value.
60793func (s *DeleteSnapshotInput) SetSnapshotId(v string) *DeleteSnapshotInput {
60794	s.SnapshotId = &v
60795	return s
60796}
60797
60798type DeleteSnapshotOutput struct {
60799	_ struct{} `type:"structure"`
60800}
60801
60802// String returns the string representation
60803func (s DeleteSnapshotOutput) String() string {
60804	return awsutil.Prettify(s)
60805}
60806
60807// GoString returns the string representation
60808func (s DeleteSnapshotOutput) GoString() string {
60809	return s.String()
60810}
60811
60812// Contains the parameters for DeleteSpotDatafeedSubscription.
60813type DeleteSpotDatafeedSubscriptionInput struct {
60814	_ struct{} `type:"structure"`
60815
60816	// Checks whether you have the required permissions for the action, without
60817	// actually making the request, and provides an error response. If you have
60818	// the required permissions, the error response is DryRunOperation. Otherwise,
60819	// it is UnauthorizedOperation.
60820	DryRun *bool `locationName:"dryRun" type:"boolean"`
60821}
60822
60823// String returns the string representation
60824func (s DeleteSpotDatafeedSubscriptionInput) String() string {
60825	return awsutil.Prettify(s)
60826}
60827
60828// GoString returns the string representation
60829func (s DeleteSpotDatafeedSubscriptionInput) GoString() string {
60830	return s.String()
60831}
60832
60833// SetDryRun sets the DryRun field's value.
60834func (s *DeleteSpotDatafeedSubscriptionInput) SetDryRun(v bool) *DeleteSpotDatafeedSubscriptionInput {
60835	s.DryRun = &v
60836	return s
60837}
60838
60839type DeleteSpotDatafeedSubscriptionOutput struct {
60840	_ struct{} `type:"structure"`
60841}
60842
60843// String returns the string representation
60844func (s DeleteSpotDatafeedSubscriptionOutput) String() string {
60845	return awsutil.Prettify(s)
60846}
60847
60848// GoString returns the string representation
60849func (s DeleteSpotDatafeedSubscriptionOutput) GoString() string {
60850	return s.String()
60851}
60852
60853type DeleteSubnetInput struct {
60854	_ struct{} `type:"structure"`
60855
60856	// Checks whether you have the required permissions for the action, without
60857	// actually making the request, and provides an error response. If you have
60858	// the required permissions, the error response is DryRunOperation. Otherwise,
60859	// it is UnauthorizedOperation.
60860	DryRun *bool `locationName:"dryRun" type:"boolean"`
60861
60862	// The ID of the subnet.
60863	//
60864	// SubnetId is a required field
60865	SubnetId *string `type:"string" required:"true"`
60866}
60867
60868// String returns the string representation
60869func (s DeleteSubnetInput) String() string {
60870	return awsutil.Prettify(s)
60871}
60872
60873// GoString returns the string representation
60874func (s DeleteSubnetInput) GoString() string {
60875	return s.String()
60876}
60877
60878// Validate inspects the fields of the type to determine if they are valid.
60879func (s *DeleteSubnetInput) Validate() error {
60880	invalidParams := request.ErrInvalidParams{Context: "DeleteSubnetInput"}
60881	if s.SubnetId == nil {
60882		invalidParams.Add(request.NewErrParamRequired("SubnetId"))
60883	}
60884
60885	if invalidParams.Len() > 0 {
60886		return invalidParams
60887	}
60888	return nil
60889}
60890
60891// SetDryRun sets the DryRun field's value.
60892func (s *DeleteSubnetInput) SetDryRun(v bool) *DeleteSubnetInput {
60893	s.DryRun = &v
60894	return s
60895}
60896
60897// SetSubnetId sets the SubnetId field's value.
60898func (s *DeleteSubnetInput) SetSubnetId(v string) *DeleteSubnetInput {
60899	s.SubnetId = &v
60900	return s
60901}
60902
60903type DeleteSubnetOutput struct {
60904	_ struct{} `type:"structure"`
60905}
60906
60907// String returns the string representation
60908func (s DeleteSubnetOutput) String() string {
60909	return awsutil.Prettify(s)
60910}
60911
60912// GoString returns the string representation
60913func (s DeleteSubnetOutput) GoString() string {
60914	return s.String()
60915}
60916
60917type DeleteTagsInput struct {
60918	_ struct{} `type:"structure"`
60919
60920	// Checks whether you have the required permissions for the action, without
60921	// actually making the request, and provides an error response. If you have
60922	// the required permissions, the error response is DryRunOperation. Otherwise,
60923	// it is UnauthorizedOperation.
60924	DryRun *bool `locationName:"dryRun" type:"boolean"`
60925
60926	// The IDs of the resources, separated by spaces.
60927	//
60928	// Constraints: Up to 1000 resource IDs. We recommend breaking up this request
60929	// into smaller batches.
60930	//
60931	// Resources is a required field
60932	Resources []*string `locationName:"resourceId" type:"list" required:"true"`
60933
60934	// The tags to delete. Specify a tag key and an optional tag value to delete
60935	// specific tags. If you specify a tag key without a tag value, we delete any
60936	// tag with this key regardless of its value. If you specify a tag key with
60937	// an empty string as the tag value, we delete the tag only if its value is
60938	// an empty string.
60939	//
60940	// If you omit this parameter, we delete all user-defined tags for the specified
60941	// resources. We do not delete AWS-generated tags (tags that have the aws: prefix).
60942	Tags []*Tag `locationName:"tag" locationNameList:"item" type:"list"`
60943}
60944
60945// String returns the string representation
60946func (s DeleteTagsInput) String() string {
60947	return awsutil.Prettify(s)
60948}
60949
60950// GoString returns the string representation
60951func (s DeleteTagsInput) GoString() string {
60952	return s.String()
60953}
60954
60955// Validate inspects the fields of the type to determine if they are valid.
60956func (s *DeleteTagsInput) Validate() error {
60957	invalidParams := request.ErrInvalidParams{Context: "DeleteTagsInput"}
60958	if s.Resources == nil {
60959		invalidParams.Add(request.NewErrParamRequired("Resources"))
60960	}
60961
60962	if invalidParams.Len() > 0 {
60963		return invalidParams
60964	}
60965	return nil
60966}
60967
60968// SetDryRun sets the DryRun field's value.
60969func (s *DeleteTagsInput) SetDryRun(v bool) *DeleteTagsInput {
60970	s.DryRun = &v
60971	return s
60972}
60973
60974// SetResources sets the Resources field's value.
60975func (s *DeleteTagsInput) SetResources(v []*string) *DeleteTagsInput {
60976	s.Resources = v
60977	return s
60978}
60979
60980// SetTags sets the Tags field's value.
60981func (s *DeleteTagsInput) SetTags(v []*Tag) *DeleteTagsInput {
60982	s.Tags = v
60983	return s
60984}
60985
60986type DeleteTagsOutput struct {
60987	_ struct{} `type:"structure"`
60988}
60989
60990// String returns the string representation
60991func (s DeleteTagsOutput) String() string {
60992	return awsutil.Prettify(s)
60993}
60994
60995// GoString returns the string representation
60996func (s DeleteTagsOutput) GoString() string {
60997	return s.String()
60998}
60999
61000type DeleteTrafficMirrorFilterInput struct {
61001	_ struct{} `type:"structure"`
61002
61003	// Checks whether you have the required permissions for the action, without
61004	// actually making the request, and provides an error response. If you have
61005	// the required permissions, the error response is DryRunOperation. Otherwise,
61006	// it is UnauthorizedOperation.
61007	DryRun *bool `type:"boolean"`
61008
61009	// The ID of the Traffic Mirror filter.
61010	//
61011	// TrafficMirrorFilterId is a required field
61012	TrafficMirrorFilterId *string `type:"string" required:"true"`
61013}
61014
61015// String returns the string representation
61016func (s DeleteTrafficMirrorFilterInput) String() string {
61017	return awsutil.Prettify(s)
61018}
61019
61020// GoString returns the string representation
61021func (s DeleteTrafficMirrorFilterInput) GoString() string {
61022	return s.String()
61023}
61024
61025// Validate inspects the fields of the type to determine if they are valid.
61026func (s *DeleteTrafficMirrorFilterInput) Validate() error {
61027	invalidParams := request.ErrInvalidParams{Context: "DeleteTrafficMirrorFilterInput"}
61028	if s.TrafficMirrorFilterId == nil {
61029		invalidParams.Add(request.NewErrParamRequired("TrafficMirrorFilterId"))
61030	}
61031
61032	if invalidParams.Len() > 0 {
61033		return invalidParams
61034	}
61035	return nil
61036}
61037
61038// SetDryRun sets the DryRun field's value.
61039func (s *DeleteTrafficMirrorFilterInput) SetDryRun(v bool) *DeleteTrafficMirrorFilterInput {
61040	s.DryRun = &v
61041	return s
61042}
61043
61044// SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value.
61045func (s *DeleteTrafficMirrorFilterInput) SetTrafficMirrorFilterId(v string) *DeleteTrafficMirrorFilterInput {
61046	s.TrafficMirrorFilterId = &v
61047	return s
61048}
61049
61050type DeleteTrafficMirrorFilterOutput struct {
61051	_ struct{} `type:"structure"`
61052
61053	// The ID of the Traffic Mirror filter.
61054	TrafficMirrorFilterId *string `locationName:"trafficMirrorFilterId" type:"string"`
61055}
61056
61057// String returns the string representation
61058func (s DeleteTrafficMirrorFilterOutput) String() string {
61059	return awsutil.Prettify(s)
61060}
61061
61062// GoString returns the string representation
61063func (s DeleteTrafficMirrorFilterOutput) GoString() string {
61064	return s.String()
61065}
61066
61067// SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value.
61068func (s *DeleteTrafficMirrorFilterOutput) SetTrafficMirrorFilterId(v string) *DeleteTrafficMirrorFilterOutput {
61069	s.TrafficMirrorFilterId = &v
61070	return s
61071}
61072
61073type DeleteTrafficMirrorFilterRuleInput struct {
61074	_ struct{} `type:"structure"`
61075
61076	// Checks whether you have the required permissions for the action, without
61077	// actually making the request, and provides an error response. If you have
61078	// the required permissions, the error response is DryRunOperation. Otherwise,
61079	// it is UnauthorizedOperation.
61080	DryRun *bool `type:"boolean"`
61081
61082	// The ID of the Traffic Mirror rule.
61083	//
61084	// TrafficMirrorFilterRuleId is a required field
61085	TrafficMirrorFilterRuleId *string `type:"string" required:"true"`
61086}
61087
61088// String returns the string representation
61089func (s DeleteTrafficMirrorFilterRuleInput) String() string {
61090	return awsutil.Prettify(s)
61091}
61092
61093// GoString returns the string representation
61094func (s DeleteTrafficMirrorFilterRuleInput) GoString() string {
61095	return s.String()
61096}
61097
61098// Validate inspects the fields of the type to determine if they are valid.
61099func (s *DeleteTrafficMirrorFilterRuleInput) Validate() error {
61100	invalidParams := request.ErrInvalidParams{Context: "DeleteTrafficMirrorFilterRuleInput"}
61101	if s.TrafficMirrorFilterRuleId == nil {
61102		invalidParams.Add(request.NewErrParamRequired("TrafficMirrorFilterRuleId"))
61103	}
61104
61105	if invalidParams.Len() > 0 {
61106		return invalidParams
61107	}
61108	return nil
61109}
61110
61111// SetDryRun sets the DryRun field's value.
61112func (s *DeleteTrafficMirrorFilterRuleInput) SetDryRun(v bool) *DeleteTrafficMirrorFilterRuleInput {
61113	s.DryRun = &v
61114	return s
61115}
61116
61117// SetTrafficMirrorFilterRuleId sets the TrafficMirrorFilterRuleId field's value.
61118func (s *DeleteTrafficMirrorFilterRuleInput) SetTrafficMirrorFilterRuleId(v string) *DeleteTrafficMirrorFilterRuleInput {
61119	s.TrafficMirrorFilterRuleId = &v
61120	return s
61121}
61122
61123type DeleteTrafficMirrorFilterRuleOutput struct {
61124	_ struct{} `type:"structure"`
61125
61126	// The ID of the deleted Traffic Mirror rule.
61127	TrafficMirrorFilterRuleId *string `locationName:"trafficMirrorFilterRuleId" type:"string"`
61128}
61129
61130// String returns the string representation
61131func (s DeleteTrafficMirrorFilterRuleOutput) String() string {
61132	return awsutil.Prettify(s)
61133}
61134
61135// GoString returns the string representation
61136func (s DeleteTrafficMirrorFilterRuleOutput) GoString() string {
61137	return s.String()
61138}
61139
61140// SetTrafficMirrorFilterRuleId sets the TrafficMirrorFilterRuleId field's value.
61141func (s *DeleteTrafficMirrorFilterRuleOutput) SetTrafficMirrorFilterRuleId(v string) *DeleteTrafficMirrorFilterRuleOutput {
61142	s.TrafficMirrorFilterRuleId = &v
61143	return s
61144}
61145
61146type DeleteTrafficMirrorSessionInput struct {
61147	_ struct{} `type:"structure"`
61148
61149	// Checks whether you have the required permissions for the action, without
61150	// actually making the request, and provides an error response. If you have
61151	// the required permissions, the error response is DryRunOperation. Otherwise,
61152	// it is UnauthorizedOperation.
61153	DryRun *bool `type:"boolean"`
61154
61155	// The ID of the Traffic Mirror session.
61156	//
61157	// TrafficMirrorSessionId is a required field
61158	TrafficMirrorSessionId *string `type:"string" required:"true"`
61159}
61160
61161// String returns the string representation
61162func (s DeleteTrafficMirrorSessionInput) String() string {
61163	return awsutil.Prettify(s)
61164}
61165
61166// GoString returns the string representation
61167func (s DeleteTrafficMirrorSessionInput) GoString() string {
61168	return s.String()
61169}
61170
61171// Validate inspects the fields of the type to determine if they are valid.
61172func (s *DeleteTrafficMirrorSessionInput) Validate() error {
61173	invalidParams := request.ErrInvalidParams{Context: "DeleteTrafficMirrorSessionInput"}
61174	if s.TrafficMirrorSessionId == nil {
61175		invalidParams.Add(request.NewErrParamRequired("TrafficMirrorSessionId"))
61176	}
61177
61178	if invalidParams.Len() > 0 {
61179		return invalidParams
61180	}
61181	return nil
61182}
61183
61184// SetDryRun sets the DryRun field's value.
61185func (s *DeleteTrafficMirrorSessionInput) SetDryRun(v bool) *DeleteTrafficMirrorSessionInput {
61186	s.DryRun = &v
61187	return s
61188}
61189
61190// SetTrafficMirrorSessionId sets the TrafficMirrorSessionId field's value.
61191func (s *DeleteTrafficMirrorSessionInput) SetTrafficMirrorSessionId(v string) *DeleteTrafficMirrorSessionInput {
61192	s.TrafficMirrorSessionId = &v
61193	return s
61194}
61195
61196type DeleteTrafficMirrorSessionOutput struct {
61197	_ struct{} `type:"structure"`
61198
61199	// The ID of the deleted Traffic Mirror session.
61200	TrafficMirrorSessionId *string `locationName:"trafficMirrorSessionId" type:"string"`
61201}
61202
61203// String returns the string representation
61204func (s DeleteTrafficMirrorSessionOutput) String() string {
61205	return awsutil.Prettify(s)
61206}
61207
61208// GoString returns the string representation
61209func (s DeleteTrafficMirrorSessionOutput) GoString() string {
61210	return s.String()
61211}
61212
61213// SetTrafficMirrorSessionId sets the TrafficMirrorSessionId field's value.
61214func (s *DeleteTrafficMirrorSessionOutput) SetTrafficMirrorSessionId(v string) *DeleteTrafficMirrorSessionOutput {
61215	s.TrafficMirrorSessionId = &v
61216	return s
61217}
61218
61219type DeleteTrafficMirrorTargetInput struct {
61220	_ struct{} `type:"structure"`
61221
61222	// Checks whether you have the required permissions for the action, without
61223	// actually making the request, and provides an error response. If you have
61224	// the required permissions, the error response is DryRunOperation. Otherwise,
61225	// it is UnauthorizedOperation.
61226	DryRun *bool `type:"boolean"`
61227
61228	// The ID of the Traffic Mirror target.
61229	//
61230	// TrafficMirrorTargetId is a required field
61231	TrafficMirrorTargetId *string `type:"string" required:"true"`
61232}
61233
61234// String returns the string representation
61235func (s DeleteTrafficMirrorTargetInput) String() string {
61236	return awsutil.Prettify(s)
61237}
61238
61239// GoString returns the string representation
61240func (s DeleteTrafficMirrorTargetInput) GoString() string {
61241	return s.String()
61242}
61243
61244// Validate inspects the fields of the type to determine if they are valid.
61245func (s *DeleteTrafficMirrorTargetInput) Validate() error {
61246	invalidParams := request.ErrInvalidParams{Context: "DeleteTrafficMirrorTargetInput"}
61247	if s.TrafficMirrorTargetId == nil {
61248		invalidParams.Add(request.NewErrParamRequired("TrafficMirrorTargetId"))
61249	}
61250
61251	if invalidParams.Len() > 0 {
61252		return invalidParams
61253	}
61254	return nil
61255}
61256
61257// SetDryRun sets the DryRun field's value.
61258func (s *DeleteTrafficMirrorTargetInput) SetDryRun(v bool) *DeleteTrafficMirrorTargetInput {
61259	s.DryRun = &v
61260	return s
61261}
61262
61263// SetTrafficMirrorTargetId sets the TrafficMirrorTargetId field's value.
61264func (s *DeleteTrafficMirrorTargetInput) SetTrafficMirrorTargetId(v string) *DeleteTrafficMirrorTargetInput {
61265	s.TrafficMirrorTargetId = &v
61266	return s
61267}
61268
61269type DeleteTrafficMirrorTargetOutput struct {
61270	_ struct{} `type:"structure"`
61271
61272	// The ID of the deleted Traffic Mirror target.
61273	TrafficMirrorTargetId *string `locationName:"trafficMirrorTargetId" type:"string"`
61274}
61275
61276// String returns the string representation
61277func (s DeleteTrafficMirrorTargetOutput) String() string {
61278	return awsutil.Prettify(s)
61279}
61280
61281// GoString returns the string representation
61282func (s DeleteTrafficMirrorTargetOutput) GoString() string {
61283	return s.String()
61284}
61285
61286// SetTrafficMirrorTargetId sets the TrafficMirrorTargetId field's value.
61287func (s *DeleteTrafficMirrorTargetOutput) SetTrafficMirrorTargetId(v string) *DeleteTrafficMirrorTargetOutput {
61288	s.TrafficMirrorTargetId = &v
61289	return s
61290}
61291
61292type DeleteTransitGatewayConnectInput struct {
61293	_ struct{} `type:"structure"`
61294
61295	// Checks whether you have the required permissions for the action, without
61296	// actually making the request, and provides an error response. If you have
61297	// the required permissions, the error response is DryRunOperation. Otherwise,
61298	// it is UnauthorizedOperation.
61299	DryRun *bool `type:"boolean"`
61300
61301	// The ID of the Connect attachment.
61302	//
61303	// TransitGatewayAttachmentId is a required field
61304	TransitGatewayAttachmentId *string `type:"string" required:"true"`
61305}
61306
61307// String returns the string representation
61308func (s DeleteTransitGatewayConnectInput) String() string {
61309	return awsutil.Prettify(s)
61310}
61311
61312// GoString returns the string representation
61313func (s DeleteTransitGatewayConnectInput) GoString() string {
61314	return s.String()
61315}
61316
61317// Validate inspects the fields of the type to determine if they are valid.
61318func (s *DeleteTransitGatewayConnectInput) Validate() error {
61319	invalidParams := request.ErrInvalidParams{Context: "DeleteTransitGatewayConnectInput"}
61320	if s.TransitGatewayAttachmentId == nil {
61321		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
61322	}
61323
61324	if invalidParams.Len() > 0 {
61325		return invalidParams
61326	}
61327	return nil
61328}
61329
61330// SetDryRun sets the DryRun field's value.
61331func (s *DeleteTransitGatewayConnectInput) SetDryRun(v bool) *DeleteTransitGatewayConnectInput {
61332	s.DryRun = &v
61333	return s
61334}
61335
61336// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
61337func (s *DeleteTransitGatewayConnectInput) SetTransitGatewayAttachmentId(v string) *DeleteTransitGatewayConnectInput {
61338	s.TransitGatewayAttachmentId = &v
61339	return s
61340}
61341
61342type DeleteTransitGatewayConnectOutput struct {
61343	_ struct{} `type:"structure"`
61344
61345	// Information about the deleted Connect attachment.
61346	TransitGatewayConnect *TransitGatewayConnect `locationName:"transitGatewayConnect" type:"structure"`
61347}
61348
61349// String returns the string representation
61350func (s DeleteTransitGatewayConnectOutput) String() string {
61351	return awsutil.Prettify(s)
61352}
61353
61354// GoString returns the string representation
61355func (s DeleteTransitGatewayConnectOutput) GoString() string {
61356	return s.String()
61357}
61358
61359// SetTransitGatewayConnect sets the TransitGatewayConnect field's value.
61360func (s *DeleteTransitGatewayConnectOutput) SetTransitGatewayConnect(v *TransitGatewayConnect) *DeleteTransitGatewayConnectOutput {
61361	s.TransitGatewayConnect = v
61362	return s
61363}
61364
61365type DeleteTransitGatewayConnectPeerInput struct {
61366	_ struct{} `type:"structure"`
61367
61368	// Checks whether you have the required permissions for the action, without
61369	// actually making the request, and provides an error response. If you have
61370	// the required permissions, the error response is DryRunOperation. Otherwise,
61371	// it is UnauthorizedOperation.
61372	DryRun *bool `type:"boolean"`
61373
61374	// The ID of the Connect peer.
61375	//
61376	// TransitGatewayConnectPeerId is a required field
61377	TransitGatewayConnectPeerId *string `type:"string" required:"true"`
61378}
61379
61380// String returns the string representation
61381func (s DeleteTransitGatewayConnectPeerInput) String() string {
61382	return awsutil.Prettify(s)
61383}
61384
61385// GoString returns the string representation
61386func (s DeleteTransitGatewayConnectPeerInput) GoString() string {
61387	return s.String()
61388}
61389
61390// Validate inspects the fields of the type to determine if they are valid.
61391func (s *DeleteTransitGatewayConnectPeerInput) Validate() error {
61392	invalidParams := request.ErrInvalidParams{Context: "DeleteTransitGatewayConnectPeerInput"}
61393	if s.TransitGatewayConnectPeerId == nil {
61394		invalidParams.Add(request.NewErrParamRequired("TransitGatewayConnectPeerId"))
61395	}
61396
61397	if invalidParams.Len() > 0 {
61398		return invalidParams
61399	}
61400	return nil
61401}
61402
61403// SetDryRun sets the DryRun field's value.
61404func (s *DeleteTransitGatewayConnectPeerInput) SetDryRun(v bool) *DeleteTransitGatewayConnectPeerInput {
61405	s.DryRun = &v
61406	return s
61407}
61408
61409// SetTransitGatewayConnectPeerId sets the TransitGatewayConnectPeerId field's value.
61410func (s *DeleteTransitGatewayConnectPeerInput) SetTransitGatewayConnectPeerId(v string) *DeleteTransitGatewayConnectPeerInput {
61411	s.TransitGatewayConnectPeerId = &v
61412	return s
61413}
61414
61415type DeleteTransitGatewayConnectPeerOutput struct {
61416	_ struct{} `type:"structure"`
61417
61418	// Information about the deleted Connect peer.
61419	TransitGatewayConnectPeer *TransitGatewayConnectPeer `locationName:"transitGatewayConnectPeer" type:"structure"`
61420}
61421
61422// String returns the string representation
61423func (s DeleteTransitGatewayConnectPeerOutput) String() string {
61424	return awsutil.Prettify(s)
61425}
61426
61427// GoString returns the string representation
61428func (s DeleteTransitGatewayConnectPeerOutput) GoString() string {
61429	return s.String()
61430}
61431
61432// SetTransitGatewayConnectPeer sets the TransitGatewayConnectPeer field's value.
61433func (s *DeleteTransitGatewayConnectPeerOutput) SetTransitGatewayConnectPeer(v *TransitGatewayConnectPeer) *DeleteTransitGatewayConnectPeerOutput {
61434	s.TransitGatewayConnectPeer = v
61435	return s
61436}
61437
61438type DeleteTransitGatewayInput struct {
61439	_ struct{} `type:"structure"`
61440
61441	// Checks whether you have the required permissions for the action, without
61442	// actually making the request, and provides an error response. If you have
61443	// the required permissions, the error response is DryRunOperation. Otherwise,
61444	// it is UnauthorizedOperation.
61445	DryRun *bool `type:"boolean"`
61446
61447	// The ID of the transit gateway.
61448	//
61449	// TransitGatewayId is a required field
61450	TransitGatewayId *string `type:"string" required:"true"`
61451}
61452
61453// String returns the string representation
61454func (s DeleteTransitGatewayInput) String() string {
61455	return awsutil.Prettify(s)
61456}
61457
61458// GoString returns the string representation
61459func (s DeleteTransitGatewayInput) GoString() string {
61460	return s.String()
61461}
61462
61463// Validate inspects the fields of the type to determine if they are valid.
61464func (s *DeleteTransitGatewayInput) Validate() error {
61465	invalidParams := request.ErrInvalidParams{Context: "DeleteTransitGatewayInput"}
61466	if s.TransitGatewayId == nil {
61467		invalidParams.Add(request.NewErrParamRequired("TransitGatewayId"))
61468	}
61469
61470	if invalidParams.Len() > 0 {
61471		return invalidParams
61472	}
61473	return nil
61474}
61475
61476// SetDryRun sets the DryRun field's value.
61477func (s *DeleteTransitGatewayInput) SetDryRun(v bool) *DeleteTransitGatewayInput {
61478	s.DryRun = &v
61479	return s
61480}
61481
61482// SetTransitGatewayId sets the TransitGatewayId field's value.
61483func (s *DeleteTransitGatewayInput) SetTransitGatewayId(v string) *DeleteTransitGatewayInput {
61484	s.TransitGatewayId = &v
61485	return s
61486}
61487
61488type DeleteTransitGatewayMulticastDomainInput struct {
61489	_ struct{} `type:"structure"`
61490
61491	// Checks whether you have the required permissions for the action, without
61492	// actually making the request, and provides an error response. If you have
61493	// the required permissions, the error response is DryRunOperation. Otherwise,
61494	// it is UnauthorizedOperation.
61495	DryRun *bool `type:"boolean"`
61496
61497	// The ID of the transit gateway multicast domain.
61498	//
61499	// TransitGatewayMulticastDomainId is a required field
61500	TransitGatewayMulticastDomainId *string `type:"string" required:"true"`
61501}
61502
61503// String returns the string representation
61504func (s DeleteTransitGatewayMulticastDomainInput) String() string {
61505	return awsutil.Prettify(s)
61506}
61507
61508// GoString returns the string representation
61509func (s DeleteTransitGatewayMulticastDomainInput) GoString() string {
61510	return s.String()
61511}
61512
61513// Validate inspects the fields of the type to determine if they are valid.
61514func (s *DeleteTransitGatewayMulticastDomainInput) Validate() error {
61515	invalidParams := request.ErrInvalidParams{Context: "DeleteTransitGatewayMulticastDomainInput"}
61516	if s.TransitGatewayMulticastDomainId == nil {
61517		invalidParams.Add(request.NewErrParamRequired("TransitGatewayMulticastDomainId"))
61518	}
61519
61520	if invalidParams.Len() > 0 {
61521		return invalidParams
61522	}
61523	return nil
61524}
61525
61526// SetDryRun sets the DryRun field's value.
61527func (s *DeleteTransitGatewayMulticastDomainInput) SetDryRun(v bool) *DeleteTransitGatewayMulticastDomainInput {
61528	s.DryRun = &v
61529	return s
61530}
61531
61532// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
61533func (s *DeleteTransitGatewayMulticastDomainInput) SetTransitGatewayMulticastDomainId(v string) *DeleteTransitGatewayMulticastDomainInput {
61534	s.TransitGatewayMulticastDomainId = &v
61535	return s
61536}
61537
61538type DeleteTransitGatewayMulticastDomainOutput struct {
61539	_ struct{} `type:"structure"`
61540
61541	// Information about the deleted transit gateway multicast domain.
61542	TransitGatewayMulticastDomain *TransitGatewayMulticastDomain `locationName:"transitGatewayMulticastDomain" type:"structure"`
61543}
61544
61545// String returns the string representation
61546func (s DeleteTransitGatewayMulticastDomainOutput) String() string {
61547	return awsutil.Prettify(s)
61548}
61549
61550// GoString returns the string representation
61551func (s DeleteTransitGatewayMulticastDomainOutput) GoString() string {
61552	return s.String()
61553}
61554
61555// SetTransitGatewayMulticastDomain sets the TransitGatewayMulticastDomain field's value.
61556func (s *DeleteTransitGatewayMulticastDomainOutput) SetTransitGatewayMulticastDomain(v *TransitGatewayMulticastDomain) *DeleteTransitGatewayMulticastDomainOutput {
61557	s.TransitGatewayMulticastDomain = v
61558	return s
61559}
61560
61561type DeleteTransitGatewayOutput struct {
61562	_ struct{} `type:"structure"`
61563
61564	// Information about the deleted transit gateway.
61565	TransitGateway *TransitGateway `locationName:"transitGateway" type:"structure"`
61566}
61567
61568// String returns the string representation
61569func (s DeleteTransitGatewayOutput) String() string {
61570	return awsutil.Prettify(s)
61571}
61572
61573// GoString returns the string representation
61574func (s DeleteTransitGatewayOutput) GoString() string {
61575	return s.String()
61576}
61577
61578// SetTransitGateway sets the TransitGateway field's value.
61579func (s *DeleteTransitGatewayOutput) SetTransitGateway(v *TransitGateway) *DeleteTransitGatewayOutput {
61580	s.TransitGateway = v
61581	return s
61582}
61583
61584type DeleteTransitGatewayPeeringAttachmentInput struct {
61585	_ struct{} `type:"structure"`
61586
61587	// Checks whether you have the required permissions for the action, without
61588	// actually making the request, and provides an error response. If you have
61589	// the required permissions, the error response is DryRunOperation. Otherwise,
61590	// it is UnauthorizedOperation.
61591	DryRun *bool `type:"boolean"`
61592
61593	// The ID of the transit gateway peering attachment.
61594	//
61595	// TransitGatewayAttachmentId is a required field
61596	TransitGatewayAttachmentId *string `type:"string" required:"true"`
61597}
61598
61599// String returns the string representation
61600func (s DeleteTransitGatewayPeeringAttachmentInput) String() string {
61601	return awsutil.Prettify(s)
61602}
61603
61604// GoString returns the string representation
61605func (s DeleteTransitGatewayPeeringAttachmentInput) GoString() string {
61606	return s.String()
61607}
61608
61609// Validate inspects the fields of the type to determine if they are valid.
61610func (s *DeleteTransitGatewayPeeringAttachmentInput) Validate() error {
61611	invalidParams := request.ErrInvalidParams{Context: "DeleteTransitGatewayPeeringAttachmentInput"}
61612	if s.TransitGatewayAttachmentId == nil {
61613		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
61614	}
61615
61616	if invalidParams.Len() > 0 {
61617		return invalidParams
61618	}
61619	return nil
61620}
61621
61622// SetDryRun sets the DryRun field's value.
61623func (s *DeleteTransitGatewayPeeringAttachmentInput) SetDryRun(v bool) *DeleteTransitGatewayPeeringAttachmentInput {
61624	s.DryRun = &v
61625	return s
61626}
61627
61628// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
61629func (s *DeleteTransitGatewayPeeringAttachmentInput) SetTransitGatewayAttachmentId(v string) *DeleteTransitGatewayPeeringAttachmentInput {
61630	s.TransitGatewayAttachmentId = &v
61631	return s
61632}
61633
61634type DeleteTransitGatewayPeeringAttachmentOutput struct {
61635	_ struct{} `type:"structure"`
61636
61637	// The transit gateway peering attachment.
61638	TransitGatewayPeeringAttachment *TransitGatewayPeeringAttachment `locationName:"transitGatewayPeeringAttachment" type:"structure"`
61639}
61640
61641// String returns the string representation
61642func (s DeleteTransitGatewayPeeringAttachmentOutput) String() string {
61643	return awsutil.Prettify(s)
61644}
61645
61646// GoString returns the string representation
61647func (s DeleteTransitGatewayPeeringAttachmentOutput) GoString() string {
61648	return s.String()
61649}
61650
61651// SetTransitGatewayPeeringAttachment sets the TransitGatewayPeeringAttachment field's value.
61652func (s *DeleteTransitGatewayPeeringAttachmentOutput) SetTransitGatewayPeeringAttachment(v *TransitGatewayPeeringAttachment) *DeleteTransitGatewayPeeringAttachmentOutput {
61653	s.TransitGatewayPeeringAttachment = v
61654	return s
61655}
61656
61657type DeleteTransitGatewayPrefixListReferenceInput struct {
61658	_ struct{} `type:"structure"`
61659
61660	// Checks whether you have the required permissions for the action, without
61661	// actually making the request, and provides an error response. If you have
61662	// the required permissions, the error response is DryRunOperation. Otherwise,
61663	// it is UnauthorizedOperation.
61664	DryRun *bool `type:"boolean"`
61665
61666	// The ID of the prefix list.
61667	//
61668	// PrefixListId is a required field
61669	PrefixListId *string `type:"string" required:"true"`
61670
61671	// The ID of the route table.
61672	//
61673	// TransitGatewayRouteTableId is a required field
61674	TransitGatewayRouteTableId *string `type:"string" required:"true"`
61675}
61676
61677// String returns the string representation
61678func (s DeleteTransitGatewayPrefixListReferenceInput) String() string {
61679	return awsutil.Prettify(s)
61680}
61681
61682// GoString returns the string representation
61683func (s DeleteTransitGatewayPrefixListReferenceInput) GoString() string {
61684	return s.String()
61685}
61686
61687// Validate inspects the fields of the type to determine if they are valid.
61688func (s *DeleteTransitGatewayPrefixListReferenceInput) Validate() error {
61689	invalidParams := request.ErrInvalidParams{Context: "DeleteTransitGatewayPrefixListReferenceInput"}
61690	if s.PrefixListId == nil {
61691		invalidParams.Add(request.NewErrParamRequired("PrefixListId"))
61692	}
61693	if s.TransitGatewayRouteTableId == nil {
61694		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
61695	}
61696
61697	if invalidParams.Len() > 0 {
61698		return invalidParams
61699	}
61700	return nil
61701}
61702
61703// SetDryRun sets the DryRun field's value.
61704func (s *DeleteTransitGatewayPrefixListReferenceInput) SetDryRun(v bool) *DeleteTransitGatewayPrefixListReferenceInput {
61705	s.DryRun = &v
61706	return s
61707}
61708
61709// SetPrefixListId sets the PrefixListId field's value.
61710func (s *DeleteTransitGatewayPrefixListReferenceInput) SetPrefixListId(v string) *DeleteTransitGatewayPrefixListReferenceInput {
61711	s.PrefixListId = &v
61712	return s
61713}
61714
61715// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
61716func (s *DeleteTransitGatewayPrefixListReferenceInput) SetTransitGatewayRouteTableId(v string) *DeleteTransitGatewayPrefixListReferenceInput {
61717	s.TransitGatewayRouteTableId = &v
61718	return s
61719}
61720
61721type DeleteTransitGatewayPrefixListReferenceOutput struct {
61722	_ struct{} `type:"structure"`
61723
61724	// Information about the deleted prefix list reference.
61725	TransitGatewayPrefixListReference *TransitGatewayPrefixListReference `locationName:"transitGatewayPrefixListReference" type:"structure"`
61726}
61727
61728// String returns the string representation
61729func (s DeleteTransitGatewayPrefixListReferenceOutput) String() string {
61730	return awsutil.Prettify(s)
61731}
61732
61733// GoString returns the string representation
61734func (s DeleteTransitGatewayPrefixListReferenceOutput) GoString() string {
61735	return s.String()
61736}
61737
61738// SetTransitGatewayPrefixListReference sets the TransitGatewayPrefixListReference field's value.
61739func (s *DeleteTransitGatewayPrefixListReferenceOutput) SetTransitGatewayPrefixListReference(v *TransitGatewayPrefixListReference) *DeleteTransitGatewayPrefixListReferenceOutput {
61740	s.TransitGatewayPrefixListReference = v
61741	return s
61742}
61743
61744type DeleteTransitGatewayRouteInput struct {
61745	_ struct{} `type:"structure"`
61746
61747	// The CIDR range for the route. This must match the CIDR for the route exactly.
61748	//
61749	// DestinationCidrBlock is a required field
61750	DestinationCidrBlock *string `type:"string" required:"true"`
61751
61752	// Checks whether you have the required permissions for the action, without
61753	// actually making the request, and provides an error response. If you have
61754	// the required permissions, the error response is DryRunOperation. Otherwise,
61755	// it is UnauthorizedOperation.
61756	DryRun *bool `type:"boolean"`
61757
61758	// The ID of the transit gateway route table.
61759	//
61760	// TransitGatewayRouteTableId is a required field
61761	TransitGatewayRouteTableId *string `type:"string" required:"true"`
61762}
61763
61764// String returns the string representation
61765func (s DeleteTransitGatewayRouteInput) String() string {
61766	return awsutil.Prettify(s)
61767}
61768
61769// GoString returns the string representation
61770func (s DeleteTransitGatewayRouteInput) GoString() string {
61771	return s.String()
61772}
61773
61774// Validate inspects the fields of the type to determine if they are valid.
61775func (s *DeleteTransitGatewayRouteInput) Validate() error {
61776	invalidParams := request.ErrInvalidParams{Context: "DeleteTransitGatewayRouteInput"}
61777	if s.DestinationCidrBlock == nil {
61778		invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
61779	}
61780	if s.TransitGatewayRouteTableId == nil {
61781		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
61782	}
61783
61784	if invalidParams.Len() > 0 {
61785		return invalidParams
61786	}
61787	return nil
61788}
61789
61790// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
61791func (s *DeleteTransitGatewayRouteInput) SetDestinationCidrBlock(v string) *DeleteTransitGatewayRouteInput {
61792	s.DestinationCidrBlock = &v
61793	return s
61794}
61795
61796// SetDryRun sets the DryRun field's value.
61797func (s *DeleteTransitGatewayRouteInput) SetDryRun(v bool) *DeleteTransitGatewayRouteInput {
61798	s.DryRun = &v
61799	return s
61800}
61801
61802// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
61803func (s *DeleteTransitGatewayRouteInput) SetTransitGatewayRouteTableId(v string) *DeleteTransitGatewayRouteInput {
61804	s.TransitGatewayRouteTableId = &v
61805	return s
61806}
61807
61808type DeleteTransitGatewayRouteOutput struct {
61809	_ struct{} `type:"structure"`
61810
61811	// Information about the route.
61812	Route *TransitGatewayRoute `locationName:"route" type:"structure"`
61813}
61814
61815// String returns the string representation
61816func (s DeleteTransitGatewayRouteOutput) String() string {
61817	return awsutil.Prettify(s)
61818}
61819
61820// GoString returns the string representation
61821func (s DeleteTransitGatewayRouteOutput) GoString() string {
61822	return s.String()
61823}
61824
61825// SetRoute sets the Route field's value.
61826func (s *DeleteTransitGatewayRouteOutput) SetRoute(v *TransitGatewayRoute) *DeleteTransitGatewayRouteOutput {
61827	s.Route = v
61828	return s
61829}
61830
61831type DeleteTransitGatewayRouteTableInput struct {
61832	_ struct{} `type:"structure"`
61833
61834	// Checks whether you have the required permissions for the action, without
61835	// actually making the request, and provides an error response. If you have
61836	// the required permissions, the error response is DryRunOperation. Otherwise,
61837	// it is UnauthorizedOperation.
61838	DryRun *bool `type:"boolean"`
61839
61840	// The ID of the transit gateway route table.
61841	//
61842	// TransitGatewayRouteTableId is a required field
61843	TransitGatewayRouteTableId *string `type:"string" required:"true"`
61844}
61845
61846// String returns the string representation
61847func (s DeleteTransitGatewayRouteTableInput) String() string {
61848	return awsutil.Prettify(s)
61849}
61850
61851// GoString returns the string representation
61852func (s DeleteTransitGatewayRouteTableInput) GoString() string {
61853	return s.String()
61854}
61855
61856// Validate inspects the fields of the type to determine if they are valid.
61857func (s *DeleteTransitGatewayRouteTableInput) Validate() error {
61858	invalidParams := request.ErrInvalidParams{Context: "DeleteTransitGatewayRouteTableInput"}
61859	if s.TransitGatewayRouteTableId == nil {
61860		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
61861	}
61862
61863	if invalidParams.Len() > 0 {
61864		return invalidParams
61865	}
61866	return nil
61867}
61868
61869// SetDryRun sets the DryRun field's value.
61870func (s *DeleteTransitGatewayRouteTableInput) SetDryRun(v bool) *DeleteTransitGatewayRouteTableInput {
61871	s.DryRun = &v
61872	return s
61873}
61874
61875// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
61876func (s *DeleteTransitGatewayRouteTableInput) SetTransitGatewayRouteTableId(v string) *DeleteTransitGatewayRouteTableInput {
61877	s.TransitGatewayRouteTableId = &v
61878	return s
61879}
61880
61881type DeleteTransitGatewayRouteTableOutput struct {
61882	_ struct{} `type:"structure"`
61883
61884	// Information about the deleted transit gateway route table.
61885	TransitGatewayRouteTable *TransitGatewayRouteTable `locationName:"transitGatewayRouteTable" type:"structure"`
61886}
61887
61888// String returns the string representation
61889func (s DeleteTransitGatewayRouteTableOutput) String() string {
61890	return awsutil.Prettify(s)
61891}
61892
61893// GoString returns the string representation
61894func (s DeleteTransitGatewayRouteTableOutput) GoString() string {
61895	return s.String()
61896}
61897
61898// SetTransitGatewayRouteTable sets the TransitGatewayRouteTable field's value.
61899func (s *DeleteTransitGatewayRouteTableOutput) SetTransitGatewayRouteTable(v *TransitGatewayRouteTable) *DeleteTransitGatewayRouteTableOutput {
61900	s.TransitGatewayRouteTable = v
61901	return s
61902}
61903
61904type DeleteTransitGatewayVpcAttachmentInput struct {
61905	_ struct{} `type:"structure"`
61906
61907	// Checks whether you have the required permissions for the action, without
61908	// actually making the request, and provides an error response. If you have
61909	// the required permissions, the error response is DryRunOperation. Otherwise,
61910	// it is UnauthorizedOperation.
61911	DryRun *bool `type:"boolean"`
61912
61913	// The ID of the attachment.
61914	//
61915	// TransitGatewayAttachmentId is a required field
61916	TransitGatewayAttachmentId *string `type:"string" required:"true"`
61917}
61918
61919// String returns the string representation
61920func (s DeleteTransitGatewayVpcAttachmentInput) String() string {
61921	return awsutil.Prettify(s)
61922}
61923
61924// GoString returns the string representation
61925func (s DeleteTransitGatewayVpcAttachmentInput) GoString() string {
61926	return s.String()
61927}
61928
61929// Validate inspects the fields of the type to determine if they are valid.
61930func (s *DeleteTransitGatewayVpcAttachmentInput) Validate() error {
61931	invalidParams := request.ErrInvalidParams{Context: "DeleteTransitGatewayVpcAttachmentInput"}
61932	if s.TransitGatewayAttachmentId == nil {
61933		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
61934	}
61935
61936	if invalidParams.Len() > 0 {
61937		return invalidParams
61938	}
61939	return nil
61940}
61941
61942// SetDryRun sets the DryRun field's value.
61943func (s *DeleteTransitGatewayVpcAttachmentInput) SetDryRun(v bool) *DeleteTransitGatewayVpcAttachmentInput {
61944	s.DryRun = &v
61945	return s
61946}
61947
61948// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
61949func (s *DeleteTransitGatewayVpcAttachmentInput) SetTransitGatewayAttachmentId(v string) *DeleteTransitGatewayVpcAttachmentInput {
61950	s.TransitGatewayAttachmentId = &v
61951	return s
61952}
61953
61954type DeleteTransitGatewayVpcAttachmentOutput struct {
61955	_ struct{} `type:"structure"`
61956
61957	// Information about the deleted VPC attachment.
61958	TransitGatewayVpcAttachment *TransitGatewayVpcAttachment `locationName:"transitGatewayVpcAttachment" type:"structure"`
61959}
61960
61961// String returns the string representation
61962func (s DeleteTransitGatewayVpcAttachmentOutput) String() string {
61963	return awsutil.Prettify(s)
61964}
61965
61966// GoString returns the string representation
61967func (s DeleteTransitGatewayVpcAttachmentOutput) GoString() string {
61968	return s.String()
61969}
61970
61971// SetTransitGatewayVpcAttachment sets the TransitGatewayVpcAttachment field's value.
61972func (s *DeleteTransitGatewayVpcAttachmentOutput) SetTransitGatewayVpcAttachment(v *TransitGatewayVpcAttachment) *DeleteTransitGatewayVpcAttachmentOutput {
61973	s.TransitGatewayVpcAttachment = v
61974	return s
61975}
61976
61977type DeleteVolumeInput struct {
61978	_ struct{} `type:"structure"`
61979
61980	// Checks whether you have the required permissions for the action, without
61981	// actually making the request, and provides an error response. If you have
61982	// the required permissions, the error response is DryRunOperation. Otherwise,
61983	// it is UnauthorizedOperation.
61984	DryRun *bool `locationName:"dryRun" type:"boolean"`
61985
61986	// The ID of the volume.
61987	//
61988	// VolumeId is a required field
61989	VolumeId *string `type:"string" required:"true"`
61990}
61991
61992// String returns the string representation
61993func (s DeleteVolumeInput) String() string {
61994	return awsutil.Prettify(s)
61995}
61996
61997// GoString returns the string representation
61998func (s DeleteVolumeInput) GoString() string {
61999	return s.String()
62000}
62001
62002// Validate inspects the fields of the type to determine if they are valid.
62003func (s *DeleteVolumeInput) Validate() error {
62004	invalidParams := request.ErrInvalidParams{Context: "DeleteVolumeInput"}
62005	if s.VolumeId == nil {
62006		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
62007	}
62008
62009	if invalidParams.Len() > 0 {
62010		return invalidParams
62011	}
62012	return nil
62013}
62014
62015// SetDryRun sets the DryRun field's value.
62016func (s *DeleteVolumeInput) SetDryRun(v bool) *DeleteVolumeInput {
62017	s.DryRun = &v
62018	return s
62019}
62020
62021// SetVolumeId sets the VolumeId field's value.
62022func (s *DeleteVolumeInput) SetVolumeId(v string) *DeleteVolumeInput {
62023	s.VolumeId = &v
62024	return s
62025}
62026
62027type DeleteVolumeOutput struct {
62028	_ struct{} `type:"structure"`
62029}
62030
62031// String returns the string representation
62032func (s DeleteVolumeOutput) String() string {
62033	return awsutil.Prettify(s)
62034}
62035
62036// GoString returns the string representation
62037func (s DeleteVolumeOutput) GoString() string {
62038	return s.String()
62039}
62040
62041type DeleteVpcEndpointConnectionNotificationsInput struct {
62042	_ struct{} `type:"structure"`
62043
62044	// One or more notification IDs.
62045	//
62046	// ConnectionNotificationIds is a required field
62047	ConnectionNotificationIds []*string `locationName:"ConnectionNotificationId" locationNameList:"item" type:"list" required:"true"`
62048
62049	// Checks whether you have the required permissions for the action, without
62050	// actually making the request, and provides an error response. If you have
62051	// the required permissions, the error response is DryRunOperation. Otherwise,
62052	// it is UnauthorizedOperation.
62053	DryRun *bool `type:"boolean"`
62054}
62055
62056// String returns the string representation
62057func (s DeleteVpcEndpointConnectionNotificationsInput) String() string {
62058	return awsutil.Prettify(s)
62059}
62060
62061// GoString returns the string representation
62062func (s DeleteVpcEndpointConnectionNotificationsInput) GoString() string {
62063	return s.String()
62064}
62065
62066// Validate inspects the fields of the type to determine if they are valid.
62067func (s *DeleteVpcEndpointConnectionNotificationsInput) Validate() error {
62068	invalidParams := request.ErrInvalidParams{Context: "DeleteVpcEndpointConnectionNotificationsInput"}
62069	if s.ConnectionNotificationIds == nil {
62070		invalidParams.Add(request.NewErrParamRequired("ConnectionNotificationIds"))
62071	}
62072
62073	if invalidParams.Len() > 0 {
62074		return invalidParams
62075	}
62076	return nil
62077}
62078
62079// SetConnectionNotificationIds sets the ConnectionNotificationIds field's value.
62080func (s *DeleteVpcEndpointConnectionNotificationsInput) SetConnectionNotificationIds(v []*string) *DeleteVpcEndpointConnectionNotificationsInput {
62081	s.ConnectionNotificationIds = v
62082	return s
62083}
62084
62085// SetDryRun sets the DryRun field's value.
62086func (s *DeleteVpcEndpointConnectionNotificationsInput) SetDryRun(v bool) *DeleteVpcEndpointConnectionNotificationsInput {
62087	s.DryRun = &v
62088	return s
62089}
62090
62091type DeleteVpcEndpointConnectionNotificationsOutput struct {
62092	_ struct{} `type:"structure"`
62093
62094	// Information about the notifications that could not be deleted successfully.
62095	Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
62096}
62097
62098// String returns the string representation
62099func (s DeleteVpcEndpointConnectionNotificationsOutput) String() string {
62100	return awsutil.Prettify(s)
62101}
62102
62103// GoString returns the string representation
62104func (s DeleteVpcEndpointConnectionNotificationsOutput) GoString() string {
62105	return s.String()
62106}
62107
62108// SetUnsuccessful sets the Unsuccessful field's value.
62109func (s *DeleteVpcEndpointConnectionNotificationsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *DeleteVpcEndpointConnectionNotificationsOutput {
62110	s.Unsuccessful = v
62111	return s
62112}
62113
62114type DeleteVpcEndpointServiceConfigurationsInput struct {
62115	_ struct{} `type:"structure"`
62116
62117	// Checks whether you have the required permissions for the action, without
62118	// actually making the request, and provides an error response. If you have
62119	// the required permissions, the error response is DryRunOperation. Otherwise,
62120	// it is UnauthorizedOperation.
62121	DryRun *bool `type:"boolean"`
62122
62123	// The IDs of one or more services.
62124	//
62125	// ServiceIds is a required field
62126	ServiceIds []*string `locationName:"ServiceId" locationNameList:"item" type:"list" required:"true"`
62127}
62128
62129// String returns the string representation
62130func (s DeleteVpcEndpointServiceConfigurationsInput) String() string {
62131	return awsutil.Prettify(s)
62132}
62133
62134// GoString returns the string representation
62135func (s DeleteVpcEndpointServiceConfigurationsInput) GoString() string {
62136	return s.String()
62137}
62138
62139// Validate inspects the fields of the type to determine if they are valid.
62140func (s *DeleteVpcEndpointServiceConfigurationsInput) Validate() error {
62141	invalidParams := request.ErrInvalidParams{Context: "DeleteVpcEndpointServiceConfigurationsInput"}
62142	if s.ServiceIds == nil {
62143		invalidParams.Add(request.NewErrParamRequired("ServiceIds"))
62144	}
62145
62146	if invalidParams.Len() > 0 {
62147		return invalidParams
62148	}
62149	return nil
62150}
62151
62152// SetDryRun sets the DryRun field's value.
62153func (s *DeleteVpcEndpointServiceConfigurationsInput) SetDryRun(v bool) *DeleteVpcEndpointServiceConfigurationsInput {
62154	s.DryRun = &v
62155	return s
62156}
62157
62158// SetServiceIds sets the ServiceIds field's value.
62159func (s *DeleteVpcEndpointServiceConfigurationsInput) SetServiceIds(v []*string) *DeleteVpcEndpointServiceConfigurationsInput {
62160	s.ServiceIds = v
62161	return s
62162}
62163
62164type DeleteVpcEndpointServiceConfigurationsOutput struct {
62165	_ struct{} `type:"structure"`
62166
62167	// Information about the service configurations that were not deleted, if applicable.
62168	Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
62169}
62170
62171// String returns the string representation
62172func (s DeleteVpcEndpointServiceConfigurationsOutput) String() string {
62173	return awsutil.Prettify(s)
62174}
62175
62176// GoString returns the string representation
62177func (s DeleteVpcEndpointServiceConfigurationsOutput) GoString() string {
62178	return s.String()
62179}
62180
62181// SetUnsuccessful sets the Unsuccessful field's value.
62182func (s *DeleteVpcEndpointServiceConfigurationsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *DeleteVpcEndpointServiceConfigurationsOutput {
62183	s.Unsuccessful = v
62184	return s
62185}
62186
62187// Contains the parameters for DeleteVpcEndpoints.
62188type DeleteVpcEndpointsInput struct {
62189	_ struct{} `type:"structure"`
62190
62191	// Checks whether you have the required permissions for the action, without
62192	// actually making the request, and provides an error response. If you have
62193	// the required permissions, the error response is DryRunOperation. Otherwise,
62194	// it is UnauthorizedOperation.
62195	DryRun *bool `type:"boolean"`
62196
62197	// One or more VPC endpoint IDs.
62198	//
62199	// VpcEndpointIds is a required field
62200	VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list" required:"true"`
62201}
62202
62203// String returns the string representation
62204func (s DeleteVpcEndpointsInput) String() string {
62205	return awsutil.Prettify(s)
62206}
62207
62208// GoString returns the string representation
62209func (s DeleteVpcEndpointsInput) GoString() string {
62210	return s.String()
62211}
62212
62213// Validate inspects the fields of the type to determine if they are valid.
62214func (s *DeleteVpcEndpointsInput) Validate() error {
62215	invalidParams := request.ErrInvalidParams{Context: "DeleteVpcEndpointsInput"}
62216	if s.VpcEndpointIds == nil {
62217		invalidParams.Add(request.NewErrParamRequired("VpcEndpointIds"))
62218	}
62219
62220	if invalidParams.Len() > 0 {
62221		return invalidParams
62222	}
62223	return nil
62224}
62225
62226// SetDryRun sets the DryRun field's value.
62227func (s *DeleteVpcEndpointsInput) SetDryRun(v bool) *DeleteVpcEndpointsInput {
62228	s.DryRun = &v
62229	return s
62230}
62231
62232// SetVpcEndpointIds sets the VpcEndpointIds field's value.
62233func (s *DeleteVpcEndpointsInput) SetVpcEndpointIds(v []*string) *DeleteVpcEndpointsInput {
62234	s.VpcEndpointIds = v
62235	return s
62236}
62237
62238// Contains the output of DeleteVpcEndpoints.
62239type DeleteVpcEndpointsOutput struct {
62240	_ struct{} `type:"structure"`
62241
62242	// Information about the VPC endpoints that were not successfully deleted.
62243	Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
62244}
62245
62246// String returns the string representation
62247func (s DeleteVpcEndpointsOutput) String() string {
62248	return awsutil.Prettify(s)
62249}
62250
62251// GoString returns the string representation
62252func (s DeleteVpcEndpointsOutput) GoString() string {
62253	return s.String()
62254}
62255
62256// SetUnsuccessful sets the Unsuccessful field's value.
62257func (s *DeleteVpcEndpointsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *DeleteVpcEndpointsOutput {
62258	s.Unsuccessful = v
62259	return s
62260}
62261
62262type DeleteVpcInput struct {
62263	_ struct{} `type:"structure"`
62264
62265	// Checks whether you have the required permissions for the action, without
62266	// actually making the request, and provides an error response. If you have
62267	// the required permissions, the error response is DryRunOperation. Otherwise,
62268	// it is UnauthorizedOperation.
62269	DryRun *bool `locationName:"dryRun" type:"boolean"`
62270
62271	// The ID of the VPC.
62272	//
62273	// VpcId is a required field
62274	VpcId *string `type:"string" required:"true"`
62275}
62276
62277// String returns the string representation
62278func (s DeleteVpcInput) String() string {
62279	return awsutil.Prettify(s)
62280}
62281
62282// GoString returns the string representation
62283func (s DeleteVpcInput) GoString() string {
62284	return s.String()
62285}
62286
62287// Validate inspects the fields of the type to determine if they are valid.
62288func (s *DeleteVpcInput) Validate() error {
62289	invalidParams := request.ErrInvalidParams{Context: "DeleteVpcInput"}
62290	if s.VpcId == nil {
62291		invalidParams.Add(request.NewErrParamRequired("VpcId"))
62292	}
62293
62294	if invalidParams.Len() > 0 {
62295		return invalidParams
62296	}
62297	return nil
62298}
62299
62300// SetDryRun sets the DryRun field's value.
62301func (s *DeleteVpcInput) SetDryRun(v bool) *DeleteVpcInput {
62302	s.DryRun = &v
62303	return s
62304}
62305
62306// SetVpcId sets the VpcId field's value.
62307func (s *DeleteVpcInput) SetVpcId(v string) *DeleteVpcInput {
62308	s.VpcId = &v
62309	return s
62310}
62311
62312type DeleteVpcOutput struct {
62313	_ struct{} `type:"structure"`
62314}
62315
62316// String returns the string representation
62317func (s DeleteVpcOutput) String() string {
62318	return awsutil.Prettify(s)
62319}
62320
62321// GoString returns the string representation
62322func (s DeleteVpcOutput) GoString() string {
62323	return s.String()
62324}
62325
62326type DeleteVpcPeeringConnectionInput struct {
62327	_ struct{} `type:"structure"`
62328
62329	// Checks whether you have the required permissions for the action, without
62330	// actually making the request, and provides an error response. If you have
62331	// the required permissions, the error response is DryRunOperation. Otherwise,
62332	// it is UnauthorizedOperation.
62333	DryRun *bool `locationName:"dryRun" type:"boolean"`
62334
62335	// The ID of the VPC peering connection.
62336	//
62337	// VpcPeeringConnectionId is a required field
62338	VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string" required:"true"`
62339}
62340
62341// String returns the string representation
62342func (s DeleteVpcPeeringConnectionInput) String() string {
62343	return awsutil.Prettify(s)
62344}
62345
62346// GoString returns the string representation
62347func (s DeleteVpcPeeringConnectionInput) GoString() string {
62348	return s.String()
62349}
62350
62351// Validate inspects the fields of the type to determine if they are valid.
62352func (s *DeleteVpcPeeringConnectionInput) Validate() error {
62353	invalidParams := request.ErrInvalidParams{Context: "DeleteVpcPeeringConnectionInput"}
62354	if s.VpcPeeringConnectionId == nil {
62355		invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId"))
62356	}
62357
62358	if invalidParams.Len() > 0 {
62359		return invalidParams
62360	}
62361	return nil
62362}
62363
62364// SetDryRun sets the DryRun field's value.
62365func (s *DeleteVpcPeeringConnectionInput) SetDryRun(v bool) *DeleteVpcPeeringConnectionInput {
62366	s.DryRun = &v
62367	return s
62368}
62369
62370// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
62371func (s *DeleteVpcPeeringConnectionInput) SetVpcPeeringConnectionId(v string) *DeleteVpcPeeringConnectionInput {
62372	s.VpcPeeringConnectionId = &v
62373	return s
62374}
62375
62376type DeleteVpcPeeringConnectionOutput struct {
62377	_ struct{} `type:"structure"`
62378
62379	// Returns true if the request succeeds; otherwise, it returns an error.
62380	Return *bool `locationName:"return" type:"boolean"`
62381}
62382
62383// String returns the string representation
62384func (s DeleteVpcPeeringConnectionOutput) String() string {
62385	return awsutil.Prettify(s)
62386}
62387
62388// GoString returns the string representation
62389func (s DeleteVpcPeeringConnectionOutput) GoString() string {
62390	return s.String()
62391}
62392
62393// SetReturn sets the Return field's value.
62394func (s *DeleteVpcPeeringConnectionOutput) SetReturn(v bool) *DeleteVpcPeeringConnectionOutput {
62395	s.Return = &v
62396	return s
62397}
62398
62399// Contains the parameters for DeleteVpnConnection.
62400type DeleteVpnConnectionInput struct {
62401	_ struct{} `type:"structure"`
62402
62403	// Checks whether you have the required permissions for the action, without
62404	// actually making the request, and provides an error response. If you have
62405	// the required permissions, the error response is DryRunOperation. Otherwise,
62406	// it is UnauthorizedOperation.
62407	DryRun *bool `locationName:"dryRun" type:"boolean"`
62408
62409	// The ID of the VPN connection.
62410	//
62411	// VpnConnectionId is a required field
62412	VpnConnectionId *string `type:"string" required:"true"`
62413}
62414
62415// String returns the string representation
62416func (s DeleteVpnConnectionInput) String() string {
62417	return awsutil.Prettify(s)
62418}
62419
62420// GoString returns the string representation
62421func (s DeleteVpnConnectionInput) GoString() string {
62422	return s.String()
62423}
62424
62425// Validate inspects the fields of the type to determine if they are valid.
62426func (s *DeleteVpnConnectionInput) Validate() error {
62427	invalidParams := request.ErrInvalidParams{Context: "DeleteVpnConnectionInput"}
62428	if s.VpnConnectionId == nil {
62429		invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
62430	}
62431
62432	if invalidParams.Len() > 0 {
62433		return invalidParams
62434	}
62435	return nil
62436}
62437
62438// SetDryRun sets the DryRun field's value.
62439func (s *DeleteVpnConnectionInput) SetDryRun(v bool) *DeleteVpnConnectionInput {
62440	s.DryRun = &v
62441	return s
62442}
62443
62444// SetVpnConnectionId sets the VpnConnectionId field's value.
62445func (s *DeleteVpnConnectionInput) SetVpnConnectionId(v string) *DeleteVpnConnectionInput {
62446	s.VpnConnectionId = &v
62447	return s
62448}
62449
62450type DeleteVpnConnectionOutput struct {
62451	_ struct{} `type:"structure"`
62452}
62453
62454// String returns the string representation
62455func (s DeleteVpnConnectionOutput) String() string {
62456	return awsutil.Prettify(s)
62457}
62458
62459// GoString returns the string representation
62460func (s DeleteVpnConnectionOutput) GoString() string {
62461	return s.String()
62462}
62463
62464// Contains the parameters for DeleteVpnConnectionRoute.
62465type DeleteVpnConnectionRouteInput struct {
62466	_ struct{} `type:"structure"`
62467
62468	// The CIDR block associated with the local subnet of the customer network.
62469	//
62470	// DestinationCidrBlock is a required field
62471	DestinationCidrBlock *string `type:"string" required:"true"`
62472
62473	// The ID of the VPN connection.
62474	//
62475	// VpnConnectionId is a required field
62476	VpnConnectionId *string `type:"string" required:"true"`
62477}
62478
62479// String returns the string representation
62480func (s DeleteVpnConnectionRouteInput) String() string {
62481	return awsutil.Prettify(s)
62482}
62483
62484// GoString returns the string representation
62485func (s DeleteVpnConnectionRouteInput) GoString() string {
62486	return s.String()
62487}
62488
62489// Validate inspects the fields of the type to determine if they are valid.
62490func (s *DeleteVpnConnectionRouteInput) Validate() error {
62491	invalidParams := request.ErrInvalidParams{Context: "DeleteVpnConnectionRouteInput"}
62492	if s.DestinationCidrBlock == nil {
62493		invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
62494	}
62495	if s.VpnConnectionId == nil {
62496		invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
62497	}
62498
62499	if invalidParams.Len() > 0 {
62500		return invalidParams
62501	}
62502	return nil
62503}
62504
62505// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
62506func (s *DeleteVpnConnectionRouteInput) SetDestinationCidrBlock(v string) *DeleteVpnConnectionRouteInput {
62507	s.DestinationCidrBlock = &v
62508	return s
62509}
62510
62511// SetVpnConnectionId sets the VpnConnectionId field's value.
62512func (s *DeleteVpnConnectionRouteInput) SetVpnConnectionId(v string) *DeleteVpnConnectionRouteInput {
62513	s.VpnConnectionId = &v
62514	return s
62515}
62516
62517type DeleteVpnConnectionRouteOutput struct {
62518	_ struct{} `type:"structure"`
62519}
62520
62521// String returns the string representation
62522func (s DeleteVpnConnectionRouteOutput) String() string {
62523	return awsutil.Prettify(s)
62524}
62525
62526// GoString returns the string representation
62527func (s DeleteVpnConnectionRouteOutput) GoString() string {
62528	return s.String()
62529}
62530
62531// Contains the parameters for DeleteVpnGateway.
62532type DeleteVpnGatewayInput struct {
62533	_ struct{} `type:"structure"`
62534
62535	// Checks whether you have the required permissions for the action, without
62536	// actually making the request, and provides an error response. If you have
62537	// the required permissions, the error response is DryRunOperation. Otherwise,
62538	// it is UnauthorizedOperation.
62539	DryRun *bool `locationName:"dryRun" type:"boolean"`
62540
62541	// The ID of the virtual private gateway.
62542	//
62543	// VpnGatewayId is a required field
62544	VpnGatewayId *string `type:"string" required:"true"`
62545}
62546
62547// String returns the string representation
62548func (s DeleteVpnGatewayInput) String() string {
62549	return awsutil.Prettify(s)
62550}
62551
62552// GoString returns the string representation
62553func (s DeleteVpnGatewayInput) GoString() string {
62554	return s.String()
62555}
62556
62557// Validate inspects the fields of the type to determine if they are valid.
62558func (s *DeleteVpnGatewayInput) Validate() error {
62559	invalidParams := request.ErrInvalidParams{Context: "DeleteVpnGatewayInput"}
62560	if s.VpnGatewayId == nil {
62561		invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
62562	}
62563
62564	if invalidParams.Len() > 0 {
62565		return invalidParams
62566	}
62567	return nil
62568}
62569
62570// SetDryRun sets the DryRun field's value.
62571func (s *DeleteVpnGatewayInput) SetDryRun(v bool) *DeleteVpnGatewayInput {
62572	s.DryRun = &v
62573	return s
62574}
62575
62576// SetVpnGatewayId sets the VpnGatewayId field's value.
62577func (s *DeleteVpnGatewayInput) SetVpnGatewayId(v string) *DeleteVpnGatewayInput {
62578	s.VpnGatewayId = &v
62579	return s
62580}
62581
62582type DeleteVpnGatewayOutput struct {
62583	_ struct{} `type:"structure"`
62584}
62585
62586// String returns the string representation
62587func (s DeleteVpnGatewayOutput) String() string {
62588	return awsutil.Prettify(s)
62589}
62590
62591// GoString returns the string representation
62592func (s DeleteVpnGatewayOutput) GoString() string {
62593	return s.String()
62594}
62595
62596type DeprovisionByoipCidrInput struct {
62597	_ struct{} `type:"structure"`
62598
62599	// The address range, in CIDR notation. The prefix must be the same prefix that
62600	// you specified when you provisioned the address range.
62601	//
62602	// Cidr is a required field
62603	Cidr *string `type:"string" required:"true"`
62604
62605	// Checks whether you have the required permissions for the action, without
62606	// actually making the request, and provides an error response. If you have
62607	// the required permissions, the error response is DryRunOperation. Otherwise,
62608	// it is UnauthorizedOperation.
62609	DryRun *bool `type:"boolean"`
62610}
62611
62612// String returns the string representation
62613func (s DeprovisionByoipCidrInput) String() string {
62614	return awsutil.Prettify(s)
62615}
62616
62617// GoString returns the string representation
62618func (s DeprovisionByoipCidrInput) GoString() string {
62619	return s.String()
62620}
62621
62622// Validate inspects the fields of the type to determine if they are valid.
62623func (s *DeprovisionByoipCidrInput) Validate() error {
62624	invalidParams := request.ErrInvalidParams{Context: "DeprovisionByoipCidrInput"}
62625	if s.Cidr == nil {
62626		invalidParams.Add(request.NewErrParamRequired("Cidr"))
62627	}
62628
62629	if invalidParams.Len() > 0 {
62630		return invalidParams
62631	}
62632	return nil
62633}
62634
62635// SetCidr sets the Cidr field's value.
62636func (s *DeprovisionByoipCidrInput) SetCidr(v string) *DeprovisionByoipCidrInput {
62637	s.Cidr = &v
62638	return s
62639}
62640
62641// SetDryRun sets the DryRun field's value.
62642func (s *DeprovisionByoipCidrInput) SetDryRun(v bool) *DeprovisionByoipCidrInput {
62643	s.DryRun = &v
62644	return s
62645}
62646
62647type DeprovisionByoipCidrOutput struct {
62648	_ struct{} `type:"structure"`
62649
62650	// Information about the address range.
62651	ByoipCidr *ByoipCidr `locationName:"byoipCidr" type:"structure"`
62652}
62653
62654// String returns the string representation
62655func (s DeprovisionByoipCidrOutput) String() string {
62656	return awsutil.Prettify(s)
62657}
62658
62659// GoString returns the string representation
62660func (s DeprovisionByoipCidrOutput) GoString() string {
62661	return s.String()
62662}
62663
62664// SetByoipCidr sets the ByoipCidr field's value.
62665func (s *DeprovisionByoipCidrOutput) SetByoipCidr(v *ByoipCidr) *DeprovisionByoipCidrOutput {
62666	s.ByoipCidr = v
62667	return s
62668}
62669
62670// Contains the parameters for DeregisterImage.
62671type DeregisterImageInput struct {
62672	_ struct{} `type:"structure"`
62673
62674	// Checks whether you have the required permissions for the action, without
62675	// actually making the request, and provides an error response. If you have
62676	// the required permissions, the error response is DryRunOperation. Otherwise,
62677	// it is UnauthorizedOperation.
62678	DryRun *bool `locationName:"dryRun" type:"boolean"`
62679
62680	// The ID of the AMI.
62681	//
62682	// ImageId is a required field
62683	ImageId *string `type:"string" required:"true"`
62684}
62685
62686// String returns the string representation
62687func (s DeregisterImageInput) String() string {
62688	return awsutil.Prettify(s)
62689}
62690
62691// GoString returns the string representation
62692func (s DeregisterImageInput) GoString() string {
62693	return s.String()
62694}
62695
62696// Validate inspects the fields of the type to determine if they are valid.
62697func (s *DeregisterImageInput) Validate() error {
62698	invalidParams := request.ErrInvalidParams{Context: "DeregisterImageInput"}
62699	if s.ImageId == nil {
62700		invalidParams.Add(request.NewErrParamRequired("ImageId"))
62701	}
62702
62703	if invalidParams.Len() > 0 {
62704		return invalidParams
62705	}
62706	return nil
62707}
62708
62709// SetDryRun sets the DryRun field's value.
62710func (s *DeregisterImageInput) SetDryRun(v bool) *DeregisterImageInput {
62711	s.DryRun = &v
62712	return s
62713}
62714
62715// SetImageId sets the ImageId field's value.
62716func (s *DeregisterImageInput) SetImageId(v string) *DeregisterImageInput {
62717	s.ImageId = &v
62718	return s
62719}
62720
62721type DeregisterImageOutput struct {
62722	_ struct{} `type:"structure"`
62723}
62724
62725// String returns the string representation
62726func (s DeregisterImageOutput) String() string {
62727	return awsutil.Prettify(s)
62728}
62729
62730// GoString returns the string representation
62731func (s DeregisterImageOutput) GoString() string {
62732	return s.String()
62733}
62734
62735type DeregisterInstanceEventNotificationAttributesInput struct {
62736	_ struct{} `type:"structure"`
62737
62738	// Checks whether you have the required permissions for the action, without
62739	// actually making the request, and provides an error response. If you have
62740	// the required permissions, the error response is DryRunOperation. Otherwise,
62741	// it is UnauthorizedOperation.
62742	DryRun *bool `type:"boolean"`
62743
62744	// Information about the tag keys to deregister.
62745	InstanceTagAttribute *DeregisterInstanceTagAttributeRequest `type:"structure"`
62746}
62747
62748// String returns the string representation
62749func (s DeregisterInstanceEventNotificationAttributesInput) String() string {
62750	return awsutil.Prettify(s)
62751}
62752
62753// GoString returns the string representation
62754func (s DeregisterInstanceEventNotificationAttributesInput) GoString() string {
62755	return s.String()
62756}
62757
62758// SetDryRun sets the DryRun field's value.
62759func (s *DeregisterInstanceEventNotificationAttributesInput) SetDryRun(v bool) *DeregisterInstanceEventNotificationAttributesInput {
62760	s.DryRun = &v
62761	return s
62762}
62763
62764// SetInstanceTagAttribute sets the InstanceTagAttribute field's value.
62765func (s *DeregisterInstanceEventNotificationAttributesInput) SetInstanceTagAttribute(v *DeregisterInstanceTagAttributeRequest) *DeregisterInstanceEventNotificationAttributesInput {
62766	s.InstanceTagAttribute = v
62767	return s
62768}
62769
62770type DeregisterInstanceEventNotificationAttributesOutput struct {
62771	_ struct{} `type:"structure"`
62772
62773	// The resulting set of tag keys.
62774	InstanceTagAttribute *InstanceTagNotificationAttribute `locationName:"instanceTagAttribute" type:"structure"`
62775}
62776
62777// String returns the string representation
62778func (s DeregisterInstanceEventNotificationAttributesOutput) String() string {
62779	return awsutil.Prettify(s)
62780}
62781
62782// GoString returns the string representation
62783func (s DeregisterInstanceEventNotificationAttributesOutput) GoString() string {
62784	return s.String()
62785}
62786
62787// SetInstanceTagAttribute sets the InstanceTagAttribute field's value.
62788func (s *DeregisterInstanceEventNotificationAttributesOutput) SetInstanceTagAttribute(v *InstanceTagNotificationAttribute) *DeregisterInstanceEventNotificationAttributesOutput {
62789	s.InstanceTagAttribute = v
62790	return s
62791}
62792
62793// Information about the tag keys to deregister for the current Region. You
62794// can either specify individual tag keys or deregister all tag keys in the
62795// current Region. You must specify either IncludeAllTagsOfInstance or InstanceTagKeys
62796// in the request
62797type DeregisterInstanceTagAttributeRequest struct {
62798	_ struct{} `type:"structure"`
62799
62800	// Indicates whether to deregister all tag keys in the current Region. Specify
62801	// false to deregister all tag keys.
62802	IncludeAllTagsOfInstance *bool `type:"boolean"`
62803
62804	// Information about the tag keys to deregister.
62805	InstanceTagKeys []*string `locationName:"InstanceTagKey" locationNameList:"item" type:"list"`
62806}
62807
62808// String returns the string representation
62809func (s DeregisterInstanceTagAttributeRequest) String() string {
62810	return awsutil.Prettify(s)
62811}
62812
62813// GoString returns the string representation
62814func (s DeregisterInstanceTagAttributeRequest) GoString() string {
62815	return s.String()
62816}
62817
62818// SetIncludeAllTagsOfInstance sets the IncludeAllTagsOfInstance field's value.
62819func (s *DeregisterInstanceTagAttributeRequest) SetIncludeAllTagsOfInstance(v bool) *DeregisterInstanceTagAttributeRequest {
62820	s.IncludeAllTagsOfInstance = &v
62821	return s
62822}
62823
62824// SetInstanceTagKeys sets the InstanceTagKeys field's value.
62825func (s *DeregisterInstanceTagAttributeRequest) SetInstanceTagKeys(v []*string) *DeregisterInstanceTagAttributeRequest {
62826	s.InstanceTagKeys = v
62827	return s
62828}
62829
62830type DeregisterTransitGatewayMulticastGroupMembersInput struct {
62831	_ struct{} `type:"structure"`
62832
62833	// Checks whether you have the required permissions for the action, without
62834	// actually making the request, and provides an error response. If you have
62835	// the required permissions, the error response is DryRunOperation. Otherwise,
62836	// it is UnauthorizedOperation.
62837	DryRun *bool `type:"boolean"`
62838
62839	// The IP address assigned to the transit gateway multicast group.
62840	GroupIpAddress *string `type:"string"`
62841
62842	// The IDs of the group members' network interfaces.
62843	NetworkInterfaceIds []*string `locationNameList:"item" type:"list"`
62844
62845	// The ID of the transit gateway multicast domain.
62846	TransitGatewayMulticastDomainId *string `type:"string"`
62847}
62848
62849// String returns the string representation
62850func (s DeregisterTransitGatewayMulticastGroupMembersInput) String() string {
62851	return awsutil.Prettify(s)
62852}
62853
62854// GoString returns the string representation
62855func (s DeregisterTransitGatewayMulticastGroupMembersInput) GoString() string {
62856	return s.String()
62857}
62858
62859// SetDryRun sets the DryRun field's value.
62860func (s *DeregisterTransitGatewayMulticastGroupMembersInput) SetDryRun(v bool) *DeregisterTransitGatewayMulticastGroupMembersInput {
62861	s.DryRun = &v
62862	return s
62863}
62864
62865// SetGroupIpAddress sets the GroupIpAddress field's value.
62866func (s *DeregisterTransitGatewayMulticastGroupMembersInput) SetGroupIpAddress(v string) *DeregisterTransitGatewayMulticastGroupMembersInput {
62867	s.GroupIpAddress = &v
62868	return s
62869}
62870
62871// SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value.
62872func (s *DeregisterTransitGatewayMulticastGroupMembersInput) SetNetworkInterfaceIds(v []*string) *DeregisterTransitGatewayMulticastGroupMembersInput {
62873	s.NetworkInterfaceIds = v
62874	return s
62875}
62876
62877// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
62878func (s *DeregisterTransitGatewayMulticastGroupMembersInput) SetTransitGatewayMulticastDomainId(v string) *DeregisterTransitGatewayMulticastGroupMembersInput {
62879	s.TransitGatewayMulticastDomainId = &v
62880	return s
62881}
62882
62883type DeregisterTransitGatewayMulticastGroupMembersOutput struct {
62884	_ struct{} `type:"structure"`
62885
62886	// Information about the deregistered members.
62887	DeregisteredMulticastGroupMembers *TransitGatewayMulticastDeregisteredGroupMembers `locationName:"deregisteredMulticastGroupMembers" type:"structure"`
62888}
62889
62890// String returns the string representation
62891func (s DeregisterTransitGatewayMulticastGroupMembersOutput) String() string {
62892	return awsutil.Prettify(s)
62893}
62894
62895// GoString returns the string representation
62896func (s DeregisterTransitGatewayMulticastGroupMembersOutput) GoString() string {
62897	return s.String()
62898}
62899
62900// SetDeregisteredMulticastGroupMembers sets the DeregisteredMulticastGroupMembers field's value.
62901func (s *DeregisterTransitGatewayMulticastGroupMembersOutput) SetDeregisteredMulticastGroupMembers(v *TransitGatewayMulticastDeregisteredGroupMembers) *DeregisterTransitGatewayMulticastGroupMembersOutput {
62902	s.DeregisteredMulticastGroupMembers = v
62903	return s
62904}
62905
62906type DeregisterTransitGatewayMulticastGroupSourcesInput struct {
62907	_ struct{} `type:"structure"`
62908
62909	// Checks whether you have the required permissions for the action, without
62910	// actually making the request, and provides an error response. If you have
62911	// the required permissions, the error response is DryRunOperation. Otherwise,
62912	// it is UnauthorizedOperation.
62913	DryRun *bool `type:"boolean"`
62914
62915	// The IP address assigned to the transit gateway multicast group.
62916	GroupIpAddress *string `type:"string"`
62917
62918	// The IDs of the group sources' network interfaces.
62919	NetworkInterfaceIds []*string `locationNameList:"item" type:"list"`
62920
62921	// The ID of the transit gateway multicast domain.
62922	TransitGatewayMulticastDomainId *string `type:"string"`
62923}
62924
62925// String returns the string representation
62926func (s DeregisterTransitGatewayMulticastGroupSourcesInput) String() string {
62927	return awsutil.Prettify(s)
62928}
62929
62930// GoString returns the string representation
62931func (s DeregisterTransitGatewayMulticastGroupSourcesInput) GoString() string {
62932	return s.String()
62933}
62934
62935// SetDryRun sets the DryRun field's value.
62936func (s *DeregisterTransitGatewayMulticastGroupSourcesInput) SetDryRun(v bool) *DeregisterTransitGatewayMulticastGroupSourcesInput {
62937	s.DryRun = &v
62938	return s
62939}
62940
62941// SetGroupIpAddress sets the GroupIpAddress field's value.
62942func (s *DeregisterTransitGatewayMulticastGroupSourcesInput) SetGroupIpAddress(v string) *DeregisterTransitGatewayMulticastGroupSourcesInput {
62943	s.GroupIpAddress = &v
62944	return s
62945}
62946
62947// SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value.
62948func (s *DeregisterTransitGatewayMulticastGroupSourcesInput) SetNetworkInterfaceIds(v []*string) *DeregisterTransitGatewayMulticastGroupSourcesInput {
62949	s.NetworkInterfaceIds = v
62950	return s
62951}
62952
62953// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
62954func (s *DeregisterTransitGatewayMulticastGroupSourcesInput) SetTransitGatewayMulticastDomainId(v string) *DeregisterTransitGatewayMulticastGroupSourcesInput {
62955	s.TransitGatewayMulticastDomainId = &v
62956	return s
62957}
62958
62959type DeregisterTransitGatewayMulticastGroupSourcesOutput struct {
62960	_ struct{} `type:"structure"`
62961
62962	// Information about the deregistered group sources.
62963	DeregisteredMulticastGroupSources *TransitGatewayMulticastDeregisteredGroupSources `locationName:"deregisteredMulticastGroupSources" type:"structure"`
62964}
62965
62966// String returns the string representation
62967func (s DeregisterTransitGatewayMulticastGroupSourcesOutput) String() string {
62968	return awsutil.Prettify(s)
62969}
62970
62971// GoString returns the string representation
62972func (s DeregisterTransitGatewayMulticastGroupSourcesOutput) GoString() string {
62973	return s.String()
62974}
62975
62976// SetDeregisteredMulticastGroupSources sets the DeregisteredMulticastGroupSources field's value.
62977func (s *DeregisterTransitGatewayMulticastGroupSourcesOutput) SetDeregisteredMulticastGroupSources(v *TransitGatewayMulticastDeregisteredGroupSources) *DeregisterTransitGatewayMulticastGroupSourcesOutput {
62978	s.DeregisteredMulticastGroupSources = v
62979	return s
62980}
62981
62982type DescribeAccountAttributesInput struct {
62983	_ struct{} `type:"structure"`
62984
62985	// The account attribute names.
62986	AttributeNames []*string `locationName:"attributeName" locationNameList:"attributeName" type:"list"`
62987
62988	// Checks whether you have the required permissions for the action, without
62989	// actually making the request, and provides an error response. If you have
62990	// the required permissions, the error response is DryRunOperation. Otherwise,
62991	// it is UnauthorizedOperation.
62992	DryRun *bool `locationName:"dryRun" type:"boolean"`
62993}
62994
62995// String returns the string representation
62996func (s DescribeAccountAttributesInput) String() string {
62997	return awsutil.Prettify(s)
62998}
62999
63000// GoString returns the string representation
63001func (s DescribeAccountAttributesInput) GoString() string {
63002	return s.String()
63003}
63004
63005// SetAttributeNames sets the AttributeNames field's value.
63006func (s *DescribeAccountAttributesInput) SetAttributeNames(v []*string) *DescribeAccountAttributesInput {
63007	s.AttributeNames = v
63008	return s
63009}
63010
63011// SetDryRun sets the DryRun field's value.
63012func (s *DescribeAccountAttributesInput) SetDryRun(v bool) *DescribeAccountAttributesInput {
63013	s.DryRun = &v
63014	return s
63015}
63016
63017type DescribeAccountAttributesOutput struct {
63018	_ struct{} `type:"structure"`
63019
63020	// Information about the account attributes.
63021	AccountAttributes []*AccountAttribute `locationName:"accountAttributeSet" locationNameList:"item" type:"list"`
63022}
63023
63024// String returns the string representation
63025func (s DescribeAccountAttributesOutput) String() string {
63026	return awsutil.Prettify(s)
63027}
63028
63029// GoString returns the string representation
63030func (s DescribeAccountAttributesOutput) GoString() string {
63031	return s.String()
63032}
63033
63034// SetAccountAttributes sets the AccountAttributes field's value.
63035func (s *DescribeAccountAttributesOutput) SetAccountAttributes(v []*AccountAttribute) *DescribeAccountAttributesOutput {
63036	s.AccountAttributes = v
63037	return s
63038}
63039
63040type DescribeAddressesAttributeInput struct {
63041	_ struct{} `type:"structure"`
63042
63043	// [EC2-VPC] The allocation IDs.
63044	AllocationIds []*string `locationName:"AllocationId" locationNameList:"item" type:"list"`
63045
63046	// The attribute of the IP address.
63047	Attribute *string `type:"string" enum:"AddressAttributeName"`
63048
63049	// Checks whether you have the required permissions for the action, without
63050	// actually making the request, and provides an error response. If you have
63051	// the required permissions, the error response is DryRunOperation. Otherwise,
63052	// it is UnauthorizedOperation.
63053	DryRun *bool `type:"boolean"`
63054
63055	// The maximum number of results to return with a single call. To retrieve the
63056	// remaining results, make another call with the returned nextToken value.
63057	MaxResults *int64 `min:"1" type:"integer"`
63058
63059	// The token for the next page of results.
63060	NextToken *string `type:"string"`
63061}
63062
63063// String returns the string representation
63064func (s DescribeAddressesAttributeInput) String() string {
63065	return awsutil.Prettify(s)
63066}
63067
63068// GoString returns the string representation
63069func (s DescribeAddressesAttributeInput) GoString() string {
63070	return s.String()
63071}
63072
63073// Validate inspects the fields of the type to determine if they are valid.
63074func (s *DescribeAddressesAttributeInput) Validate() error {
63075	invalidParams := request.ErrInvalidParams{Context: "DescribeAddressesAttributeInput"}
63076	if s.MaxResults != nil && *s.MaxResults < 1 {
63077		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
63078	}
63079
63080	if invalidParams.Len() > 0 {
63081		return invalidParams
63082	}
63083	return nil
63084}
63085
63086// SetAllocationIds sets the AllocationIds field's value.
63087func (s *DescribeAddressesAttributeInput) SetAllocationIds(v []*string) *DescribeAddressesAttributeInput {
63088	s.AllocationIds = v
63089	return s
63090}
63091
63092// SetAttribute sets the Attribute field's value.
63093func (s *DescribeAddressesAttributeInput) SetAttribute(v string) *DescribeAddressesAttributeInput {
63094	s.Attribute = &v
63095	return s
63096}
63097
63098// SetDryRun sets the DryRun field's value.
63099func (s *DescribeAddressesAttributeInput) SetDryRun(v bool) *DescribeAddressesAttributeInput {
63100	s.DryRun = &v
63101	return s
63102}
63103
63104// SetMaxResults sets the MaxResults field's value.
63105func (s *DescribeAddressesAttributeInput) SetMaxResults(v int64) *DescribeAddressesAttributeInput {
63106	s.MaxResults = &v
63107	return s
63108}
63109
63110// SetNextToken sets the NextToken field's value.
63111func (s *DescribeAddressesAttributeInput) SetNextToken(v string) *DescribeAddressesAttributeInput {
63112	s.NextToken = &v
63113	return s
63114}
63115
63116type DescribeAddressesAttributeOutput struct {
63117	_ struct{} `type:"structure"`
63118
63119	// Information about the IP addresses.
63120	Addresses []*AddressAttribute `locationName:"addressSet" locationNameList:"item" type:"list"`
63121
63122	// The token to use to retrieve the next page of results. This value is null
63123	// when there are no more results to return.
63124	NextToken *string `locationName:"nextToken" type:"string"`
63125}
63126
63127// String returns the string representation
63128func (s DescribeAddressesAttributeOutput) String() string {
63129	return awsutil.Prettify(s)
63130}
63131
63132// GoString returns the string representation
63133func (s DescribeAddressesAttributeOutput) GoString() string {
63134	return s.String()
63135}
63136
63137// SetAddresses sets the Addresses field's value.
63138func (s *DescribeAddressesAttributeOutput) SetAddresses(v []*AddressAttribute) *DescribeAddressesAttributeOutput {
63139	s.Addresses = v
63140	return s
63141}
63142
63143// SetNextToken sets the NextToken field's value.
63144func (s *DescribeAddressesAttributeOutput) SetNextToken(v string) *DescribeAddressesAttributeOutput {
63145	s.NextToken = &v
63146	return s
63147}
63148
63149type DescribeAddressesInput struct {
63150	_ struct{} `type:"structure"`
63151
63152	// [EC2-VPC] Information about the allocation IDs.
63153	AllocationIds []*string `locationName:"AllocationId" locationNameList:"AllocationId" type:"list"`
63154
63155	// Checks whether you have the required permissions for the action, without
63156	// actually making the request, and provides an error response. If you have
63157	// the required permissions, the error response is DryRunOperation. Otherwise,
63158	// it is UnauthorizedOperation.
63159	DryRun *bool `locationName:"dryRun" type:"boolean"`
63160
63161	// One or more filters. Filter names and values are case-sensitive.
63162	//
63163	//    * allocation-id - [EC2-VPC] The allocation ID for the address.
63164	//
63165	//    * association-id - [EC2-VPC] The association ID for the address.
63166	//
63167	//    * domain - Indicates whether the address is for use in EC2-Classic (standard)
63168	//    or in a VPC (vpc).
63169	//
63170	//    * instance-id - The ID of the instance the address is associated with,
63171	//    if any.
63172	//
63173	//    * network-border-group - A unique set of Availability Zones, Local Zones,
63174	//    or Wavelength Zones from where AWS advertises IP addresses.
63175	//
63176	//    * network-interface-id - [EC2-VPC] The ID of the network interface that
63177	//    the address is associated with, if any.
63178	//
63179	//    * network-interface-owner-id - The AWS account ID of the owner.
63180	//
63181	//    * private-ip-address - [EC2-VPC] The private IP address associated with
63182	//    the Elastic IP address.
63183	//
63184	//    * public-ip - The Elastic IP address, or the carrier IP address.
63185	//
63186	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
63187	//    Use the tag key in the filter name and the tag value as the filter value.
63188	//    For example, to find all resources that have a tag with the key Owner
63189	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
63190	//    the filter value.
63191	//
63192	//    * tag-key - The key of a tag assigned to the resource. Use this filter
63193	//    to find all resources assigned a tag with a specific key, regardless of
63194	//    the tag value.
63195	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
63196
63197	// One or more Elastic IP addresses.
63198	//
63199	// Default: Describes all your Elastic IP addresses.
63200	PublicIps []*string `locationName:"PublicIp" locationNameList:"PublicIp" type:"list"`
63201}
63202
63203// String returns the string representation
63204func (s DescribeAddressesInput) String() string {
63205	return awsutil.Prettify(s)
63206}
63207
63208// GoString returns the string representation
63209func (s DescribeAddressesInput) GoString() string {
63210	return s.String()
63211}
63212
63213// SetAllocationIds sets the AllocationIds field's value.
63214func (s *DescribeAddressesInput) SetAllocationIds(v []*string) *DescribeAddressesInput {
63215	s.AllocationIds = v
63216	return s
63217}
63218
63219// SetDryRun sets the DryRun field's value.
63220func (s *DescribeAddressesInput) SetDryRun(v bool) *DescribeAddressesInput {
63221	s.DryRun = &v
63222	return s
63223}
63224
63225// SetFilters sets the Filters field's value.
63226func (s *DescribeAddressesInput) SetFilters(v []*Filter) *DescribeAddressesInput {
63227	s.Filters = v
63228	return s
63229}
63230
63231// SetPublicIps sets the PublicIps field's value.
63232func (s *DescribeAddressesInput) SetPublicIps(v []*string) *DescribeAddressesInput {
63233	s.PublicIps = v
63234	return s
63235}
63236
63237type DescribeAddressesOutput struct {
63238	_ struct{} `type:"structure"`
63239
63240	// Information about the Elastic IP addresses.
63241	Addresses []*Address `locationName:"addressesSet" locationNameList:"item" type:"list"`
63242}
63243
63244// String returns the string representation
63245func (s DescribeAddressesOutput) String() string {
63246	return awsutil.Prettify(s)
63247}
63248
63249// GoString returns the string representation
63250func (s DescribeAddressesOutput) GoString() string {
63251	return s.String()
63252}
63253
63254// SetAddresses sets the Addresses field's value.
63255func (s *DescribeAddressesOutput) SetAddresses(v []*Address) *DescribeAddressesOutput {
63256	s.Addresses = v
63257	return s
63258}
63259
63260type DescribeAggregateIdFormatInput struct {
63261	_ struct{} `type:"structure"`
63262
63263	// Checks whether you have the required permissions for the action, without
63264	// actually making the request, and provides an error response. If you have
63265	// the required permissions, the error response is DryRunOperation. Otherwise,
63266	// it is UnauthorizedOperation.
63267	DryRun *bool `type:"boolean"`
63268}
63269
63270// String returns the string representation
63271func (s DescribeAggregateIdFormatInput) String() string {
63272	return awsutil.Prettify(s)
63273}
63274
63275// GoString returns the string representation
63276func (s DescribeAggregateIdFormatInput) GoString() string {
63277	return s.String()
63278}
63279
63280// SetDryRun sets the DryRun field's value.
63281func (s *DescribeAggregateIdFormatInput) SetDryRun(v bool) *DescribeAggregateIdFormatInput {
63282	s.DryRun = &v
63283	return s
63284}
63285
63286type DescribeAggregateIdFormatOutput struct {
63287	_ struct{} `type:"structure"`
63288
63289	// Information about each resource's ID format.
63290	Statuses []*IdFormat `locationName:"statusSet" locationNameList:"item" type:"list"`
63291
63292	// Indicates whether all resource types in the Region are configured to use
63293	// longer IDs. This value is only true if all users are configured to use longer
63294	// IDs for all resources types in the Region.
63295	UseLongIdsAggregated *bool `locationName:"useLongIdsAggregated" type:"boolean"`
63296}
63297
63298// String returns the string representation
63299func (s DescribeAggregateIdFormatOutput) String() string {
63300	return awsutil.Prettify(s)
63301}
63302
63303// GoString returns the string representation
63304func (s DescribeAggregateIdFormatOutput) GoString() string {
63305	return s.String()
63306}
63307
63308// SetStatuses sets the Statuses field's value.
63309func (s *DescribeAggregateIdFormatOutput) SetStatuses(v []*IdFormat) *DescribeAggregateIdFormatOutput {
63310	s.Statuses = v
63311	return s
63312}
63313
63314// SetUseLongIdsAggregated sets the UseLongIdsAggregated field's value.
63315func (s *DescribeAggregateIdFormatOutput) SetUseLongIdsAggregated(v bool) *DescribeAggregateIdFormatOutput {
63316	s.UseLongIdsAggregated = &v
63317	return s
63318}
63319
63320type DescribeAvailabilityZonesInput struct {
63321	_ struct{} `type:"structure"`
63322
63323	// Include all Availability Zones, Local Zones, and Wavelength Zones regardless
63324	// of your opt-in status.
63325	//
63326	// If you do not use this parameter, the results include only the zones for
63327	// the Regions where you have chosen the option to opt in.
63328	AllAvailabilityZones *bool `type:"boolean"`
63329
63330	// Checks whether you have the required permissions for the action, without
63331	// actually making the request, and provides an error response. If you have
63332	// the required permissions, the error response is DryRunOperation. Otherwise,
63333	// it is UnauthorizedOperation.
63334	DryRun *bool `locationName:"dryRun" type:"boolean"`
63335
63336	// The filters.
63337	//
63338	//    * group-name - For Availability Zones, use the Region name. For Local
63339	//    Zones, use the name of the group associated with the Local Zone (for example,
63340	//    us-west-2-lax-1) For Wavelength Zones, use the name of the group associated
63341	//    with the Wavelength Zone (for example, us-east-1-wl1-bos-wlz-1).
63342	//
63343	//    * message - The Zone message.
63344	//
63345	//    * opt-in-status - The opt-in status (opted-in, and not-opted-in | opt-in-not-required).
63346	//
63347	//    * parent-zoneID - The ID of the zone that handles some of the Local Zone
63348	//    and Wavelength Zone control plane operations, such as API calls.
63349	//
63350	//    * parent-zoneName - The ID of the zone that handles some of the Local
63351	//    Zone and Wavelength Zone control plane operations, such as API calls.
63352	//
63353	//    * region-name - The name of the Region for the Zone (for example, us-east-1).
63354	//
63355	//    * state - The state of the Availability Zone, the Local Zone, or the Wavelength
63356	//    Zone (available | information | impaired | unavailable).
63357	//
63358	//    * zone-id - The ID of the Availability Zone (for example, use1-az1), the
63359	//    Local Zone (for example, usw2-lax1-az1), or the Wavelength Zone (for example,
63360	//    us-east-1-wl1-bos-wlz-1).
63361	//
63362	//    * zone-type - The type of zone, for example, local-zone.
63363	//
63364	//    * zone-name - The name of the Availability Zone (for example, us-east-1a),
63365	//    the Local Zone (for example, us-west-2-lax-1a), or the Wavelength Zone
63366	//    (for example, us-east-1-wl1-bos-wlz-1).
63367	//
63368	//    * zone-type - The type of zone, for example, local-zone.
63369	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
63370
63371	// The IDs of the Availability Zones, Local Zones, and Wavelength Zones.
63372	ZoneIds []*string `locationName:"ZoneId" locationNameList:"ZoneId" type:"list"`
63373
63374	// The names of the Availability Zones, Local Zones, and Wavelength Zones.
63375	ZoneNames []*string `locationName:"ZoneName" locationNameList:"ZoneName" type:"list"`
63376}
63377
63378// String returns the string representation
63379func (s DescribeAvailabilityZonesInput) String() string {
63380	return awsutil.Prettify(s)
63381}
63382
63383// GoString returns the string representation
63384func (s DescribeAvailabilityZonesInput) GoString() string {
63385	return s.String()
63386}
63387
63388// SetAllAvailabilityZones sets the AllAvailabilityZones field's value.
63389func (s *DescribeAvailabilityZonesInput) SetAllAvailabilityZones(v bool) *DescribeAvailabilityZonesInput {
63390	s.AllAvailabilityZones = &v
63391	return s
63392}
63393
63394// SetDryRun sets the DryRun field's value.
63395func (s *DescribeAvailabilityZonesInput) SetDryRun(v bool) *DescribeAvailabilityZonesInput {
63396	s.DryRun = &v
63397	return s
63398}
63399
63400// SetFilters sets the Filters field's value.
63401func (s *DescribeAvailabilityZonesInput) SetFilters(v []*Filter) *DescribeAvailabilityZonesInput {
63402	s.Filters = v
63403	return s
63404}
63405
63406// SetZoneIds sets the ZoneIds field's value.
63407func (s *DescribeAvailabilityZonesInput) SetZoneIds(v []*string) *DescribeAvailabilityZonesInput {
63408	s.ZoneIds = v
63409	return s
63410}
63411
63412// SetZoneNames sets the ZoneNames field's value.
63413func (s *DescribeAvailabilityZonesInput) SetZoneNames(v []*string) *DescribeAvailabilityZonesInput {
63414	s.ZoneNames = v
63415	return s
63416}
63417
63418type DescribeAvailabilityZonesOutput struct {
63419	_ struct{} `type:"structure"`
63420
63421	// Information about the Availability Zones, Local Zones, and Wavelength Zones.
63422	AvailabilityZones []*AvailabilityZone `locationName:"availabilityZoneInfo" locationNameList:"item" type:"list"`
63423}
63424
63425// String returns the string representation
63426func (s DescribeAvailabilityZonesOutput) String() string {
63427	return awsutil.Prettify(s)
63428}
63429
63430// GoString returns the string representation
63431func (s DescribeAvailabilityZonesOutput) GoString() string {
63432	return s.String()
63433}
63434
63435// SetAvailabilityZones sets the AvailabilityZones field's value.
63436func (s *DescribeAvailabilityZonesOutput) SetAvailabilityZones(v []*AvailabilityZone) *DescribeAvailabilityZonesOutput {
63437	s.AvailabilityZones = v
63438	return s
63439}
63440
63441type DescribeBundleTasksInput struct {
63442	_ struct{} `type:"structure"`
63443
63444	// The bundle task IDs.
63445	//
63446	// Default: Describes all your bundle tasks.
63447	BundleIds []*string `locationName:"BundleId" locationNameList:"BundleId" type:"list"`
63448
63449	// Checks whether you have the required permissions for the action, without
63450	// actually making the request, and provides an error response. If you have
63451	// the required permissions, the error response is DryRunOperation. Otherwise,
63452	// it is UnauthorizedOperation.
63453	DryRun *bool `locationName:"dryRun" type:"boolean"`
63454
63455	// The filters.
63456	//
63457	//    * bundle-id - The ID of the bundle task.
63458	//
63459	//    * error-code - If the task failed, the error code returned.
63460	//
63461	//    * error-message - If the task failed, the error message returned.
63462	//
63463	//    * instance-id - The ID of the instance.
63464	//
63465	//    * progress - The level of task completion, as a percentage (for example,
63466	//    20%).
63467	//
63468	//    * s3-bucket - The Amazon S3 bucket to store the AMI.
63469	//
63470	//    * s3-prefix - The beginning of the AMI name.
63471	//
63472	//    * start-time - The time the task started (for example, 2013-09-15T17:15:20.000Z).
63473	//
63474	//    * state - The state of the task (pending | waiting-for-shutdown | bundling
63475	//    | storing | cancelling | complete | failed).
63476	//
63477	//    * update-time - The time of the most recent update for the task.
63478	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
63479}
63480
63481// String returns the string representation
63482func (s DescribeBundleTasksInput) String() string {
63483	return awsutil.Prettify(s)
63484}
63485
63486// GoString returns the string representation
63487func (s DescribeBundleTasksInput) GoString() string {
63488	return s.String()
63489}
63490
63491// SetBundleIds sets the BundleIds field's value.
63492func (s *DescribeBundleTasksInput) SetBundleIds(v []*string) *DescribeBundleTasksInput {
63493	s.BundleIds = v
63494	return s
63495}
63496
63497// SetDryRun sets the DryRun field's value.
63498func (s *DescribeBundleTasksInput) SetDryRun(v bool) *DescribeBundleTasksInput {
63499	s.DryRun = &v
63500	return s
63501}
63502
63503// SetFilters sets the Filters field's value.
63504func (s *DescribeBundleTasksInput) SetFilters(v []*Filter) *DescribeBundleTasksInput {
63505	s.Filters = v
63506	return s
63507}
63508
63509type DescribeBundleTasksOutput struct {
63510	_ struct{} `type:"structure"`
63511
63512	// Information about the bundle tasks.
63513	BundleTasks []*BundleTask `locationName:"bundleInstanceTasksSet" locationNameList:"item" type:"list"`
63514}
63515
63516// String returns the string representation
63517func (s DescribeBundleTasksOutput) String() string {
63518	return awsutil.Prettify(s)
63519}
63520
63521// GoString returns the string representation
63522func (s DescribeBundleTasksOutput) GoString() string {
63523	return s.String()
63524}
63525
63526// SetBundleTasks sets the BundleTasks field's value.
63527func (s *DescribeBundleTasksOutput) SetBundleTasks(v []*BundleTask) *DescribeBundleTasksOutput {
63528	s.BundleTasks = v
63529	return s
63530}
63531
63532type DescribeByoipCidrsInput struct {
63533	_ struct{} `type:"structure"`
63534
63535	// Checks whether you have the required permissions for the action, without
63536	// actually making the request, and provides an error response. If you have
63537	// the required permissions, the error response is DryRunOperation. Otherwise,
63538	// it is UnauthorizedOperation.
63539	DryRun *bool `type:"boolean"`
63540
63541	// The maximum number of results to return with a single call. To retrieve the
63542	// remaining results, make another call with the returned nextToken value.
63543	//
63544	// MaxResults is a required field
63545	MaxResults *int64 `min:"1" type:"integer" required:"true"`
63546
63547	// The token for the next page of results.
63548	NextToken *string `type:"string"`
63549}
63550
63551// String returns the string representation
63552func (s DescribeByoipCidrsInput) String() string {
63553	return awsutil.Prettify(s)
63554}
63555
63556// GoString returns the string representation
63557func (s DescribeByoipCidrsInput) GoString() string {
63558	return s.String()
63559}
63560
63561// Validate inspects the fields of the type to determine if they are valid.
63562func (s *DescribeByoipCidrsInput) Validate() error {
63563	invalidParams := request.ErrInvalidParams{Context: "DescribeByoipCidrsInput"}
63564	if s.MaxResults == nil {
63565		invalidParams.Add(request.NewErrParamRequired("MaxResults"))
63566	}
63567	if s.MaxResults != nil && *s.MaxResults < 1 {
63568		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
63569	}
63570
63571	if invalidParams.Len() > 0 {
63572		return invalidParams
63573	}
63574	return nil
63575}
63576
63577// SetDryRun sets the DryRun field's value.
63578func (s *DescribeByoipCidrsInput) SetDryRun(v bool) *DescribeByoipCidrsInput {
63579	s.DryRun = &v
63580	return s
63581}
63582
63583// SetMaxResults sets the MaxResults field's value.
63584func (s *DescribeByoipCidrsInput) SetMaxResults(v int64) *DescribeByoipCidrsInput {
63585	s.MaxResults = &v
63586	return s
63587}
63588
63589// SetNextToken sets the NextToken field's value.
63590func (s *DescribeByoipCidrsInput) SetNextToken(v string) *DescribeByoipCidrsInput {
63591	s.NextToken = &v
63592	return s
63593}
63594
63595type DescribeByoipCidrsOutput struct {
63596	_ struct{} `type:"structure"`
63597
63598	// Information about your address ranges.
63599	ByoipCidrs []*ByoipCidr `locationName:"byoipCidrSet" locationNameList:"item" type:"list"`
63600
63601	// The token to use to retrieve the next page of results. This value is null
63602	// when there are no more results to return.
63603	NextToken *string `locationName:"nextToken" type:"string"`
63604}
63605
63606// String returns the string representation
63607func (s DescribeByoipCidrsOutput) String() string {
63608	return awsutil.Prettify(s)
63609}
63610
63611// GoString returns the string representation
63612func (s DescribeByoipCidrsOutput) GoString() string {
63613	return s.String()
63614}
63615
63616// SetByoipCidrs sets the ByoipCidrs field's value.
63617func (s *DescribeByoipCidrsOutput) SetByoipCidrs(v []*ByoipCidr) *DescribeByoipCidrsOutput {
63618	s.ByoipCidrs = v
63619	return s
63620}
63621
63622// SetNextToken sets the NextToken field's value.
63623func (s *DescribeByoipCidrsOutput) SetNextToken(v string) *DescribeByoipCidrsOutput {
63624	s.NextToken = &v
63625	return s
63626}
63627
63628type DescribeCapacityReservationsInput struct {
63629	_ struct{} `type:"structure"`
63630
63631	// The ID of the Capacity Reservation.
63632	CapacityReservationIds []*string `locationName:"CapacityReservationId" locationNameList:"item" type:"list"`
63633
63634	// Checks whether you have the required permissions for the action, without
63635	// actually making the request, and provides an error response. If you have
63636	// the required permissions, the error response is DryRunOperation. Otherwise,
63637	// it is UnauthorizedOperation.
63638	DryRun *bool `type:"boolean"`
63639
63640	// One or more filters.
63641	//
63642	//    * instance-type - The type of instance for which the Capacity Reservation
63643	//    reserves capacity.
63644	//
63645	//    * owner-id - The ID of the AWS account that owns the Capacity Reservation.
63646	//
63647	//    * availability-zone-id - The Availability Zone ID of the Capacity Reservation.
63648	//
63649	//    * instance-platform - The type of operating system for which the Capacity
63650	//    Reservation reserves capacity.
63651	//
63652	//    * availability-zone - The Availability Zone ID of the Capacity Reservation.
63653	//
63654	//    * tenancy - Indicates the tenancy of the Capacity Reservation. A Capacity
63655	//    Reservation can have one of the following tenancy settings: default -
63656	//    The Capacity Reservation is created on hardware that is shared with other
63657	//    AWS accounts. dedicated - The Capacity Reservation is created on single-tenant
63658	//    hardware that is dedicated to a single AWS account.
63659	//
63660	//    * state - The current state of the Capacity Reservation. A Capacity Reservation
63661	//    can be in one of the following states: active- The Capacity Reservation
63662	//    is active and the capacity is available for your use. expired - The Capacity
63663	//    Reservation expired automatically at the date and time specified in your
63664	//    request. The reserved capacity is no longer available for your use. cancelled
63665	//    - The Capacity Reservation was cancelled. The reserved capacity is no
63666	//    longer available for your use. pending - The Capacity Reservation request
63667	//    was successful but the capacity provisioning is still pending. failed
63668	//    - The Capacity Reservation request has failed. A request might fail due
63669	//    to invalid request parameters, capacity constraints, or instance limit
63670	//    constraints. Failed requests are retained for 60 minutes.
63671	//
63672	//    * start-date - The date and time at which the Capacity Reservation was
63673	//    started.
63674	//
63675	//    * end-date - The date and time at which the Capacity Reservation expires.
63676	//    When a Capacity Reservation expires, the reserved capacity is released
63677	//    and you can no longer launch instances into it. The Capacity Reservation's
63678	//    state changes to expired when it reaches its end date and time.
63679	//
63680	//    * end-date-type - Indicates the way in which the Capacity Reservation
63681	//    ends. A Capacity Reservation can have one of the following end types:
63682	//    unlimited - The Capacity Reservation remains active until you explicitly
63683	//    cancel it. limited - The Capacity Reservation expires automatically at
63684	//    a specified date and time.
63685	//
63686	//    * instance-match-criteria - Indicates the type of instance launches that
63687	//    the Capacity Reservation accepts. The options include: open - The Capacity
63688	//    Reservation accepts all instances that have matching attributes (instance
63689	//    type, platform, and Availability Zone). Instances that have matching attributes
63690	//    launch into the Capacity Reservation automatically without specifying
63691	//    any additional parameters. targeted - The Capacity Reservation only accepts
63692	//    instances that have matching attributes (instance type, platform, and
63693	//    Availability Zone), and explicitly target the Capacity Reservation. This
63694	//    ensures that only permitted instances can use the reserved capacity.
63695	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
63696
63697	// The maximum number of results to return for the request in a single page.
63698	// The remaining results can be seen by sending another request with the returned
63699	// nextToken value. This value can be between 5 and 500. If maxResults is given
63700	// a larger value than 500, you receive an error.
63701	MaxResults *int64 `min:"1" type:"integer"`
63702
63703	// The token to use to retrieve the next page of results.
63704	NextToken *string `type:"string"`
63705}
63706
63707// String returns the string representation
63708func (s DescribeCapacityReservationsInput) String() string {
63709	return awsutil.Prettify(s)
63710}
63711
63712// GoString returns the string representation
63713func (s DescribeCapacityReservationsInput) GoString() string {
63714	return s.String()
63715}
63716
63717// Validate inspects the fields of the type to determine if they are valid.
63718func (s *DescribeCapacityReservationsInput) Validate() error {
63719	invalidParams := request.ErrInvalidParams{Context: "DescribeCapacityReservationsInput"}
63720	if s.MaxResults != nil && *s.MaxResults < 1 {
63721		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
63722	}
63723
63724	if invalidParams.Len() > 0 {
63725		return invalidParams
63726	}
63727	return nil
63728}
63729
63730// SetCapacityReservationIds sets the CapacityReservationIds field's value.
63731func (s *DescribeCapacityReservationsInput) SetCapacityReservationIds(v []*string) *DescribeCapacityReservationsInput {
63732	s.CapacityReservationIds = v
63733	return s
63734}
63735
63736// SetDryRun sets the DryRun field's value.
63737func (s *DescribeCapacityReservationsInput) SetDryRun(v bool) *DescribeCapacityReservationsInput {
63738	s.DryRun = &v
63739	return s
63740}
63741
63742// SetFilters sets the Filters field's value.
63743func (s *DescribeCapacityReservationsInput) SetFilters(v []*Filter) *DescribeCapacityReservationsInput {
63744	s.Filters = v
63745	return s
63746}
63747
63748// SetMaxResults sets the MaxResults field's value.
63749func (s *DescribeCapacityReservationsInput) SetMaxResults(v int64) *DescribeCapacityReservationsInput {
63750	s.MaxResults = &v
63751	return s
63752}
63753
63754// SetNextToken sets the NextToken field's value.
63755func (s *DescribeCapacityReservationsInput) SetNextToken(v string) *DescribeCapacityReservationsInput {
63756	s.NextToken = &v
63757	return s
63758}
63759
63760type DescribeCapacityReservationsOutput struct {
63761	_ struct{} `type:"structure"`
63762
63763	// Information about the Capacity Reservations.
63764	CapacityReservations []*CapacityReservation `locationName:"capacityReservationSet" locationNameList:"item" type:"list"`
63765
63766	// The token to use to retrieve the next page of results. This value is null
63767	// when there are no more results to return.
63768	NextToken *string `locationName:"nextToken" type:"string"`
63769}
63770
63771// String returns the string representation
63772func (s DescribeCapacityReservationsOutput) String() string {
63773	return awsutil.Prettify(s)
63774}
63775
63776// GoString returns the string representation
63777func (s DescribeCapacityReservationsOutput) GoString() string {
63778	return s.String()
63779}
63780
63781// SetCapacityReservations sets the CapacityReservations field's value.
63782func (s *DescribeCapacityReservationsOutput) SetCapacityReservations(v []*CapacityReservation) *DescribeCapacityReservationsOutput {
63783	s.CapacityReservations = v
63784	return s
63785}
63786
63787// SetNextToken sets the NextToken field's value.
63788func (s *DescribeCapacityReservationsOutput) SetNextToken(v string) *DescribeCapacityReservationsOutput {
63789	s.NextToken = &v
63790	return s
63791}
63792
63793type DescribeCarrierGatewaysInput struct {
63794	_ struct{} `type:"structure"`
63795
63796	// One or more carrier gateway IDs.
63797	CarrierGatewayIds []*string `locationName:"CarrierGatewayId" type:"list"`
63798
63799	// Checks whether you have the required permissions for the action, without
63800	// actually making the request, and provides an error response. If you have
63801	// the required permissions, the error response is DryRunOperation. Otherwise,
63802	// it is UnauthorizedOperation.
63803	DryRun *bool `type:"boolean"`
63804
63805	// One or more filters.
63806	//
63807	//    * carrier-gateway-id - The ID of the carrier gateway.
63808	//
63809	//    * state - The state of the carrier gateway (pending | failed | available
63810	//    | deleting | deleted).
63811	//
63812	//    * owner-id - The AWS account ID of the owner of the carrier gateway.
63813	//
63814	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
63815	//    Use the tag key in the filter name and the tag value as the filter value.
63816	//    For example, to find all resources that have a tag with the key Owner
63817	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
63818	//    the filter value.
63819	//
63820	//    * tag-key - The key of a tag assigned to the resource. Use this filter
63821	//    to find all resources assigned a tag with a specific key, regardless of
63822	//    the tag value.
63823	//
63824	//    * vpc-id - The ID of the VPC associated with the carrier gateway.
63825	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
63826
63827	// The maximum number of results to return with a single call. To retrieve the
63828	// remaining results, make another call with the returned nextToken value.
63829	MaxResults *int64 `min:"5" type:"integer"`
63830
63831	// The token for the next page of results.
63832	NextToken *string `type:"string"`
63833}
63834
63835// String returns the string representation
63836func (s DescribeCarrierGatewaysInput) String() string {
63837	return awsutil.Prettify(s)
63838}
63839
63840// GoString returns the string representation
63841func (s DescribeCarrierGatewaysInput) GoString() string {
63842	return s.String()
63843}
63844
63845// Validate inspects the fields of the type to determine if they are valid.
63846func (s *DescribeCarrierGatewaysInput) Validate() error {
63847	invalidParams := request.ErrInvalidParams{Context: "DescribeCarrierGatewaysInput"}
63848	if s.MaxResults != nil && *s.MaxResults < 5 {
63849		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
63850	}
63851
63852	if invalidParams.Len() > 0 {
63853		return invalidParams
63854	}
63855	return nil
63856}
63857
63858// SetCarrierGatewayIds sets the CarrierGatewayIds field's value.
63859func (s *DescribeCarrierGatewaysInput) SetCarrierGatewayIds(v []*string) *DescribeCarrierGatewaysInput {
63860	s.CarrierGatewayIds = v
63861	return s
63862}
63863
63864// SetDryRun sets the DryRun field's value.
63865func (s *DescribeCarrierGatewaysInput) SetDryRun(v bool) *DescribeCarrierGatewaysInput {
63866	s.DryRun = &v
63867	return s
63868}
63869
63870// SetFilters sets the Filters field's value.
63871func (s *DescribeCarrierGatewaysInput) SetFilters(v []*Filter) *DescribeCarrierGatewaysInput {
63872	s.Filters = v
63873	return s
63874}
63875
63876// SetMaxResults sets the MaxResults field's value.
63877func (s *DescribeCarrierGatewaysInput) SetMaxResults(v int64) *DescribeCarrierGatewaysInput {
63878	s.MaxResults = &v
63879	return s
63880}
63881
63882// SetNextToken sets the NextToken field's value.
63883func (s *DescribeCarrierGatewaysInput) SetNextToken(v string) *DescribeCarrierGatewaysInput {
63884	s.NextToken = &v
63885	return s
63886}
63887
63888type DescribeCarrierGatewaysOutput struct {
63889	_ struct{} `type:"structure"`
63890
63891	// Information about the carrier gateway.
63892	CarrierGateways []*CarrierGateway `locationName:"carrierGatewaySet" locationNameList:"item" type:"list"`
63893
63894	// The token to use to retrieve the next page of results. This value is null
63895	// when there are no more results to return.
63896	NextToken *string `locationName:"nextToken" type:"string"`
63897}
63898
63899// String returns the string representation
63900func (s DescribeCarrierGatewaysOutput) String() string {
63901	return awsutil.Prettify(s)
63902}
63903
63904// GoString returns the string representation
63905func (s DescribeCarrierGatewaysOutput) GoString() string {
63906	return s.String()
63907}
63908
63909// SetCarrierGateways sets the CarrierGateways field's value.
63910func (s *DescribeCarrierGatewaysOutput) SetCarrierGateways(v []*CarrierGateway) *DescribeCarrierGatewaysOutput {
63911	s.CarrierGateways = v
63912	return s
63913}
63914
63915// SetNextToken sets the NextToken field's value.
63916func (s *DescribeCarrierGatewaysOutput) SetNextToken(v string) *DescribeCarrierGatewaysOutput {
63917	s.NextToken = &v
63918	return s
63919}
63920
63921type DescribeClassicLinkInstancesInput struct {
63922	_ struct{} `type:"structure"`
63923
63924	// Checks whether you have the required permissions for the action, without
63925	// actually making the request, and provides an error response. If you have
63926	// the required permissions, the error response is DryRunOperation. Otherwise,
63927	// it is UnauthorizedOperation.
63928	DryRun *bool `locationName:"dryRun" type:"boolean"`
63929
63930	// One or more filters.
63931	//
63932	//    * group-id - The ID of a VPC security group that's associated with the
63933	//    instance.
63934	//
63935	//    * instance-id - The ID of the instance.
63936	//
63937	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
63938	//    Use the tag key in the filter name and the tag value as the filter value.
63939	//    For example, to find all resources that have a tag with the key Owner
63940	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
63941	//    the filter value.
63942	//
63943	//    * tag-key - The key of a tag assigned to the resource. Use this filter
63944	//    to find all resources assigned a tag with a specific key, regardless of
63945	//    the tag value.
63946	//
63947	//    * vpc-id - The ID of the VPC to which the instance is linked. vpc-id -
63948	//    The ID of the VPC that the instance is linked to.
63949	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
63950
63951	// One or more instance IDs. Must be instances linked to a VPC through ClassicLink.
63952	InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
63953
63954	// The maximum number of results to return with a single call. To retrieve the
63955	// remaining results, make another call with the returned nextToken value.
63956	//
63957	// Constraint: If the value is greater than 1000, we return only 1000 items.
63958	MaxResults *int64 `locationName:"maxResults" min:"5" type:"integer"`
63959
63960	// The token for the next page of results.
63961	NextToken *string `locationName:"nextToken" type:"string"`
63962}
63963
63964// String returns the string representation
63965func (s DescribeClassicLinkInstancesInput) String() string {
63966	return awsutil.Prettify(s)
63967}
63968
63969// GoString returns the string representation
63970func (s DescribeClassicLinkInstancesInput) GoString() string {
63971	return s.String()
63972}
63973
63974// Validate inspects the fields of the type to determine if they are valid.
63975func (s *DescribeClassicLinkInstancesInput) Validate() error {
63976	invalidParams := request.ErrInvalidParams{Context: "DescribeClassicLinkInstancesInput"}
63977	if s.MaxResults != nil && *s.MaxResults < 5 {
63978		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
63979	}
63980
63981	if invalidParams.Len() > 0 {
63982		return invalidParams
63983	}
63984	return nil
63985}
63986
63987// SetDryRun sets the DryRun field's value.
63988func (s *DescribeClassicLinkInstancesInput) SetDryRun(v bool) *DescribeClassicLinkInstancesInput {
63989	s.DryRun = &v
63990	return s
63991}
63992
63993// SetFilters sets the Filters field's value.
63994func (s *DescribeClassicLinkInstancesInput) SetFilters(v []*Filter) *DescribeClassicLinkInstancesInput {
63995	s.Filters = v
63996	return s
63997}
63998
63999// SetInstanceIds sets the InstanceIds field's value.
64000func (s *DescribeClassicLinkInstancesInput) SetInstanceIds(v []*string) *DescribeClassicLinkInstancesInput {
64001	s.InstanceIds = v
64002	return s
64003}
64004
64005// SetMaxResults sets the MaxResults field's value.
64006func (s *DescribeClassicLinkInstancesInput) SetMaxResults(v int64) *DescribeClassicLinkInstancesInput {
64007	s.MaxResults = &v
64008	return s
64009}
64010
64011// SetNextToken sets the NextToken field's value.
64012func (s *DescribeClassicLinkInstancesInput) SetNextToken(v string) *DescribeClassicLinkInstancesInput {
64013	s.NextToken = &v
64014	return s
64015}
64016
64017type DescribeClassicLinkInstancesOutput struct {
64018	_ struct{} `type:"structure"`
64019
64020	// Information about one or more linked EC2-Classic instances.
64021	Instances []*ClassicLinkInstance `locationName:"instancesSet" locationNameList:"item" type:"list"`
64022
64023	// The token to use to retrieve the next page of results. This value is null
64024	// when there are no more results to return.
64025	NextToken *string `locationName:"nextToken" type:"string"`
64026}
64027
64028// String returns the string representation
64029func (s DescribeClassicLinkInstancesOutput) String() string {
64030	return awsutil.Prettify(s)
64031}
64032
64033// GoString returns the string representation
64034func (s DescribeClassicLinkInstancesOutput) GoString() string {
64035	return s.String()
64036}
64037
64038// SetInstances sets the Instances field's value.
64039func (s *DescribeClassicLinkInstancesOutput) SetInstances(v []*ClassicLinkInstance) *DescribeClassicLinkInstancesOutput {
64040	s.Instances = v
64041	return s
64042}
64043
64044// SetNextToken sets the NextToken field's value.
64045func (s *DescribeClassicLinkInstancesOutput) SetNextToken(v string) *DescribeClassicLinkInstancesOutput {
64046	s.NextToken = &v
64047	return s
64048}
64049
64050type DescribeClientVpnAuthorizationRulesInput struct {
64051	_ struct{} `type:"structure"`
64052
64053	// The ID of the Client VPN endpoint.
64054	//
64055	// ClientVpnEndpointId is a required field
64056	ClientVpnEndpointId *string `type:"string" required:"true"`
64057
64058	// Checks whether you have the required permissions for the action, without
64059	// actually making the request, and provides an error response. If you have
64060	// the required permissions, the error response is DryRunOperation. Otherwise,
64061	// it is UnauthorizedOperation.
64062	DryRun *bool `type:"boolean"`
64063
64064	// One or more filters. Filter names and values are case-sensitive.
64065	//
64066	//    * description - The description of the authorization rule.
64067	//
64068	//    * destination-cidr - The CIDR of the network to which the authorization
64069	//    rule applies.
64070	//
64071	//    * group-id - The ID of the Active Directory group to which the authorization
64072	//    rule grants access.
64073	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
64074
64075	// The maximum number of results to return for the request in a single page.
64076	// The remaining results can be seen by sending another request with the nextToken
64077	// value.
64078	MaxResults *int64 `min:"5" type:"integer"`
64079
64080	// The token to retrieve the next page of results.
64081	NextToken *string `type:"string"`
64082}
64083
64084// String returns the string representation
64085func (s DescribeClientVpnAuthorizationRulesInput) String() string {
64086	return awsutil.Prettify(s)
64087}
64088
64089// GoString returns the string representation
64090func (s DescribeClientVpnAuthorizationRulesInput) GoString() string {
64091	return s.String()
64092}
64093
64094// Validate inspects the fields of the type to determine if they are valid.
64095func (s *DescribeClientVpnAuthorizationRulesInput) Validate() error {
64096	invalidParams := request.ErrInvalidParams{Context: "DescribeClientVpnAuthorizationRulesInput"}
64097	if s.ClientVpnEndpointId == nil {
64098		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
64099	}
64100	if s.MaxResults != nil && *s.MaxResults < 5 {
64101		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
64102	}
64103
64104	if invalidParams.Len() > 0 {
64105		return invalidParams
64106	}
64107	return nil
64108}
64109
64110// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
64111func (s *DescribeClientVpnAuthorizationRulesInput) SetClientVpnEndpointId(v string) *DescribeClientVpnAuthorizationRulesInput {
64112	s.ClientVpnEndpointId = &v
64113	return s
64114}
64115
64116// SetDryRun sets the DryRun field's value.
64117func (s *DescribeClientVpnAuthorizationRulesInput) SetDryRun(v bool) *DescribeClientVpnAuthorizationRulesInput {
64118	s.DryRun = &v
64119	return s
64120}
64121
64122// SetFilters sets the Filters field's value.
64123func (s *DescribeClientVpnAuthorizationRulesInput) SetFilters(v []*Filter) *DescribeClientVpnAuthorizationRulesInput {
64124	s.Filters = v
64125	return s
64126}
64127
64128// SetMaxResults sets the MaxResults field's value.
64129func (s *DescribeClientVpnAuthorizationRulesInput) SetMaxResults(v int64) *DescribeClientVpnAuthorizationRulesInput {
64130	s.MaxResults = &v
64131	return s
64132}
64133
64134// SetNextToken sets the NextToken field's value.
64135func (s *DescribeClientVpnAuthorizationRulesInput) SetNextToken(v string) *DescribeClientVpnAuthorizationRulesInput {
64136	s.NextToken = &v
64137	return s
64138}
64139
64140type DescribeClientVpnAuthorizationRulesOutput struct {
64141	_ struct{} `type:"structure"`
64142
64143	// Information about the authorization rules.
64144	AuthorizationRules []*AuthorizationRule `locationName:"authorizationRule" locationNameList:"item" type:"list"`
64145
64146	// The token to use to retrieve the next page of results. This value is null
64147	// when there are no more results to return.
64148	NextToken *string `locationName:"nextToken" type:"string"`
64149}
64150
64151// String returns the string representation
64152func (s DescribeClientVpnAuthorizationRulesOutput) String() string {
64153	return awsutil.Prettify(s)
64154}
64155
64156// GoString returns the string representation
64157func (s DescribeClientVpnAuthorizationRulesOutput) GoString() string {
64158	return s.String()
64159}
64160
64161// SetAuthorizationRules sets the AuthorizationRules field's value.
64162func (s *DescribeClientVpnAuthorizationRulesOutput) SetAuthorizationRules(v []*AuthorizationRule) *DescribeClientVpnAuthorizationRulesOutput {
64163	s.AuthorizationRules = v
64164	return s
64165}
64166
64167// SetNextToken sets the NextToken field's value.
64168func (s *DescribeClientVpnAuthorizationRulesOutput) SetNextToken(v string) *DescribeClientVpnAuthorizationRulesOutput {
64169	s.NextToken = &v
64170	return s
64171}
64172
64173type DescribeClientVpnConnectionsInput struct {
64174	_ struct{} `type:"structure"`
64175
64176	// The ID of the Client VPN endpoint.
64177	//
64178	// ClientVpnEndpointId is a required field
64179	ClientVpnEndpointId *string `type:"string" required:"true"`
64180
64181	// Checks whether you have the required permissions for the action, without
64182	// actually making the request, and provides an error response. If you have
64183	// the required permissions, the error response is DryRunOperation. Otherwise,
64184	// it is UnauthorizedOperation.
64185	DryRun *bool `type:"boolean"`
64186
64187	// One or more filters. Filter names and values are case-sensitive.
64188	//
64189	//    * connection-id - The ID of the connection.
64190	//
64191	//    * username - For Active Directory client authentication, the user name
64192	//    of the client who established the client connection.
64193	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
64194
64195	// The maximum number of results to return for the request in a single page.
64196	// The remaining results can be seen by sending another request with the nextToken
64197	// value.
64198	MaxResults *int64 `min:"5" type:"integer"`
64199
64200	// The token to retrieve the next page of results.
64201	NextToken *string `type:"string"`
64202}
64203
64204// String returns the string representation
64205func (s DescribeClientVpnConnectionsInput) String() string {
64206	return awsutil.Prettify(s)
64207}
64208
64209// GoString returns the string representation
64210func (s DescribeClientVpnConnectionsInput) GoString() string {
64211	return s.String()
64212}
64213
64214// Validate inspects the fields of the type to determine if they are valid.
64215func (s *DescribeClientVpnConnectionsInput) Validate() error {
64216	invalidParams := request.ErrInvalidParams{Context: "DescribeClientVpnConnectionsInput"}
64217	if s.ClientVpnEndpointId == nil {
64218		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
64219	}
64220	if s.MaxResults != nil && *s.MaxResults < 5 {
64221		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
64222	}
64223
64224	if invalidParams.Len() > 0 {
64225		return invalidParams
64226	}
64227	return nil
64228}
64229
64230// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
64231func (s *DescribeClientVpnConnectionsInput) SetClientVpnEndpointId(v string) *DescribeClientVpnConnectionsInput {
64232	s.ClientVpnEndpointId = &v
64233	return s
64234}
64235
64236// SetDryRun sets the DryRun field's value.
64237func (s *DescribeClientVpnConnectionsInput) SetDryRun(v bool) *DescribeClientVpnConnectionsInput {
64238	s.DryRun = &v
64239	return s
64240}
64241
64242// SetFilters sets the Filters field's value.
64243func (s *DescribeClientVpnConnectionsInput) SetFilters(v []*Filter) *DescribeClientVpnConnectionsInput {
64244	s.Filters = v
64245	return s
64246}
64247
64248// SetMaxResults sets the MaxResults field's value.
64249func (s *DescribeClientVpnConnectionsInput) SetMaxResults(v int64) *DescribeClientVpnConnectionsInput {
64250	s.MaxResults = &v
64251	return s
64252}
64253
64254// SetNextToken sets the NextToken field's value.
64255func (s *DescribeClientVpnConnectionsInput) SetNextToken(v string) *DescribeClientVpnConnectionsInput {
64256	s.NextToken = &v
64257	return s
64258}
64259
64260type DescribeClientVpnConnectionsOutput struct {
64261	_ struct{} `type:"structure"`
64262
64263	// Information about the active and terminated client connections.
64264	Connections []*ClientVpnConnection `locationName:"connections" locationNameList:"item" type:"list"`
64265
64266	// The token to use to retrieve the next page of results. This value is null
64267	// when there are no more results to return.
64268	NextToken *string `locationName:"nextToken" type:"string"`
64269}
64270
64271// String returns the string representation
64272func (s DescribeClientVpnConnectionsOutput) String() string {
64273	return awsutil.Prettify(s)
64274}
64275
64276// GoString returns the string representation
64277func (s DescribeClientVpnConnectionsOutput) GoString() string {
64278	return s.String()
64279}
64280
64281// SetConnections sets the Connections field's value.
64282func (s *DescribeClientVpnConnectionsOutput) SetConnections(v []*ClientVpnConnection) *DescribeClientVpnConnectionsOutput {
64283	s.Connections = v
64284	return s
64285}
64286
64287// SetNextToken sets the NextToken field's value.
64288func (s *DescribeClientVpnConnectionsOutput) SetNextToken(v string) *DescribeClientVpnConnectionsOutput {
64289	s.NextToken = &v
64290	return s
64291}
64292
64293type DescribeClientVpnEndpointsInput struct {
64294	_ struct{} `type:"structure"`
64295
64296	// The ID of the Client VPN endpoint.
64297	ClientVpnEndpointIds []*string `locationName:"ClientVpnEndpointId" locationNameList:"item" type:"list"`
64298
64299	// Checks whether you have the required permissions for the action, without
64300	// actually making the request, and provides an error response. If you have
64301	// the required permissions, the error response is DryRunOperation. Otherwise,
64302	// it is UnauthorizedOperation.
64303	DryRun *bool `type:"boolean"`
64304
64305	// One or more filters. Filter names and values are case-sensitive.
64306	//
64307	//    * endpoint-id - The ID of the Client VPN endpoint.
64308	//
64309	//    * transport-protocol - The transport protocol (tcp | udp).
64310	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
64311
64312	// The maximum number of results to return for the request in a single page.
64313	// The remaining results can be seen by sending another request with the nextToken
64314	// value.
64315	MaxResults *int64 `min:"5" type:"integer"`
64316
64317	// The token to retrieve the next page of results.
64318	NextToken *string `type:"string"`
64319}
64320
64321// String returns the string representation
64322func (s DescribeClientVpnEndpointsInput) String() string {
64323	return awsutil.Prettify(s)
64324}
64325
64326// GoString returns the string representation
64327func (s DescribeClientVpnEndpointsInput) GoString() string {
64328	return s.String()
64329}
64330
64331// Validate inspects the fields of the type to determine if they are valid.
64332func (s *DescribeClientVpnEndpointsInput) Validate() error {
64333	invalidParams := request.ErrInvalidParams{Context: "DescribeClientVpnEndpointsInput"}
64334	if s.MaxResults != nil && *s.MaxResults < 5 {
64335		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
64336	}
64337
64338	if invalidParams.Len() > 0 {
64339		return invalidParams
64340	}
64341	return nil
64342}
64343
64344// SetClientVpnEndpointIds sets the ClientVpnEndpointIds field's value.
64345func (s *DescribeClientVpnEndpointsInput) SetClientVpnEndpointIds(v []*string) *DescribeClientVpnEndpointsInput {
64346	s.ClientVpnEndpointIds = v
64347	return s
64348}
64349
64350// SetDryRun sets the DryRun field's value.
64351func (s *DescribeClientVpnEndpointsInput) SetDryRun(v bool) *DescribeClientVpnEndpointsInput {
64352	s.DryRun = &v
64353	return s
64354}
64355
64356// SetFilters sets the Filters field's value.
64357func (s *DescribeClientVpnEndpointsInput) SetFilters(v []*Filter) *DescribeClientVpnEndpointsInput {
64358	s.Filters = v
64359	return s
64360}
64361
64362// SetMaxResults sets the MaxResults field's value.
64363func (s *DescribeClientVpnEndpointsInput) SetMaxResults(v int64) *DescribeClientVpnEndpointsInput {
64364	s.MaxResults = &v
64365	return s
64366}
64367
64368// SetNextToken sets the NextToken field's value.
64369func (s *DescribeClientVpnEndpointsInput) SetNextToken(v string) *DescribeClientVpnEndpointsInput {
64370	s.NextToken = &v
64371	return s
64372}
64373
64374type DescribeClientVpnEndpointsOutput struct {
64375	_ struct{} `type:"structure"`
64376
64377	// Information about the Client VPN endpoints.
64378	ClientVpnEndpoints []*ClientVpnEndpoint `locationName:"clientVpnEndpoint" locationNameList:"item" type:"list"`
64379
64380	// The token to use to retrieve the next page of results. This value is null
64381	// when there are no more results to return.
64382	NextToken *string `locationName:"nextToken" type:"string"`
64383}
64384
64385// String returns the string representation
64386func (s DescribeClientVpnEndpointsOutput) String() string {
64387	return awsutil.Prettify(s)
64388}
64389
64390// GoString returns the string representation
64391func (s DescribeClientVpnEndpointsOutput) GoString() string {
64392	return s.String()
64393}
64394
64395// SetClientVpnEndpoints sets the ClientVpnEndpoints field's value.
64396func (s *DescribeClientVpnEndpointsOutput) SetClientVpnEndpoints(v []*ClientVpnEndpoint) *DescribeClientVpnEndpointsOutput {
64397	s.ClientVpnEndpoints = v
64398	return s
64399}
64400
64401// SetNextToken sets the NextToken field's value.
64402func (s *DescribeClientVpnEndpointsOutput) SetNextToken(v string) *DescribeClientVpnEndpointsOutput {
64403	s.NextToken = &v
64404	return s
64405}
64406
64407type DescribeClientVpnRoutesInput struct {
64408	_ struct{} `type:"structure"`
64409
64410	// The ID of the Client VPN endpoint.
64411	//
64412	// ClientVpnEndpointId is a required field
64413	ClientVpnEndpointId *string `type:"string" required:"true"`
64414
64415	// Checks whether you have the required permissions for the action, without
64416	// actually making the request, and provides an error response. If you have
64417	// the required permissions, the error response is DryRunOperation. Otherwise,
64418	// it is UnauthorizedOperation.
64419	DryRun *bool `type:"boolean"`
64420
64421	// One or more filters. Filter names and values are case-sensitive.
64422	//
64423	//    * destination-cidr - The CIDR of the route destination.
64424	//
64425	//    * origin - How the route was associated with the Client VPN endpoint (associate
64426	//    | add-route).
64427	//
64428	//    * target-subnet - The ID of the subnet through which traffic is routed.
64429	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
64430
64431	// The maximum number of results to return for the request in a single page.
64432	// The remaining results can be seen by sending another request with the nextToken
64433	// value.
64434	MaxResults *int64 `min:"5" type:"integer"`
64435
64436	// The token to retrieve the next page of results.
64437	NextToken *string `type:"string"`
64438}
64439
64440// String returns the string representation
64441func (s DescribeClientVpnRoutesInput) String() string {
64442	return awsutil.Prettify(s)
64443}
64444
64445// GoString returns the string representation
64446func (s DescribeClientVpnRoutesInput) GoString() string {
64447	return s.String()
64448}
64449
64450// Validate inspects the fields of the type to determine if they are valid.
64451func (s *DescribeClientVpnRoutesInput) Validate() error {
64452	invalidParams := request.ErrInvalidParams{Context: "DescribeClientVpnRoutesInput"}
64453	if s.ClientVpnEndpointId == nil {
64454		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
64455	}
64456	if s.MaxResults != nil && *s.MaxResults < 5 {
64457		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
64458	}
64459
64460	if invalidParams.Len() > 0 {
64461		return invalidParams
64462	}
64463	return nil
64464}
64465
64466// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
64467func (s *DescribeClientVpnRoutesInput) SetClientVpnEndpointId(v string) *DescribeClientVpnRoutesInput {
64468	s.ClientVpnEndpointId = &v
64469	return s
64470}
64471
64472// SetDryRun sets the DryRun field's value.
64473func (s *DescribeClientVpnRoutesInput) SetDryRun(v bool) *DescribeClientVpnRoutesInput {
64474	s.DryRun = &v
64475	return s
64476}
64477
64478// SetFilters sets the Filters field's value.
64479func (s *DescribeClientVpnRoutesInput) SetFilters(v []*Filter) *DescribeClientVpnRoutesInput {
64480	s.Filters = v
64481	return s
64482}
64483
64484// SetMaxResults sets the MaxResults field's value.
64485func (s *DescribeClientVpnRoutesInput) SetMaxResults(v int64) *DescribeClientVpnRoutesInput {
64486	s.MaxResults = &v
64487	return s
64488}
64489
64490// SetNextToken sets the NextToken field's value.
64491func (s *DescribeClientVpnRoutesInput) SetNextToken(v string) *DescribeClientVpnRoutesInput {
64492	s.NextToken = &v
64493	return s
64494}
64495
64496type DescribeClientVpnRoutesOutput struct {
64497	_ struct{} `type:"structure"`
64498
64499	// The token to use to retrieve the next page of results. This value is null
64500	// when there are no more results to return.
64501	NextToken *string `locationName:"nextToken" type:"string"`
64502
64503	// Information about the Client VPN endpoint routes.
64504	Routes []*ClientVpnRoute `locationName:"routes" locationNameList:"item" type:"list"`
64505}
64506
64507// String returns the string representation
64508func (s DescribeClientVpnRoutesOutput) String() string {
64509	return awsutil.Prettify(s)
64510}
64511
64512// GoString returns the string representation
64513func (s DescribeClientVpnRoutesOutput) GoString() string {
64514	return s.String()
64515}
64516
64517// SetNextToken sets the NextToken field's value.
64518func (s *DescribeClientVpnRoutesOutput) SetNextToken(v string) *DescribeClientVpnRoutesOutput {
64519	s.NextToken = &v
64520	return s
64521}
64522
64523// SetRoutes sets the Routes field's value.
64524func (s *DescribeClientVpnRoutesOutput) SetRoutes(v []*ClientVpnRoute) *DescribeClientVpnRoutesOutput {
64525	s.Routes = v
64526	return s
64527}
64528
64529type DescribeClientVpnTargetNetworksInput struct {
64530	_ struct{} `type:"structure"`
64531
64532	// The IDs of the target network associations.
64533	AssociationIds []*string `locationNameList:"item" type:"list"`
64534
64535	// The ID of the Client VPN endpoint.
64536	//
64537	// ClientVpnEndpointId is a required field
64538	ClientVpnEndpointId *string `type:"string" required:"true"`
64539
64540	// Checks whether you have the required permissions for the action, without
64541	// actually making the request, and provides an error response. If you have
64542	// the required permissions, the error response is DryRunOperation. Otherwise,
64543	// it is UnauthorizedOperation.
64544	DryRun *bool `type:"boolean"`
64545
64546	// One or more filters. Filter names and values are case-sensitive.
64547	//
64548	//    * association-id - The ID of the association.
64549	//
64550	//    * target-network-id - The ID of the subnet specified as the target network.
64551	//
64552	//    * vpc-id - The ID of the VPC in which the target network is located.
64553	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
64554
64555	// The maximum number of results to return for the request in a single page.
64556	// The remaining results can be seen by sending another request with the nextToken
64557	// value.
64558	MaxResults *int64 `min:"5" type:"integer"`
64559
64560	// The token to retrieve the next page of results.
64561	NextToken *string `type:"string"`
64562}
64563
64564// String returns the string representation
64565func (s DescribeClientVpnTargetNetworksInput) String() string {
64566	return awsutil.Prettify(s)
64567}
64568
64569// GoString returns the string representation
64570func (s DescribeClientVpnTargetNetworksInput) GoString() string {
64571	return s.String()
64572}
64573
64574// Validate inspects the fields of the type to determine if they are valid.
64575func (s *DescribeClientVpnTargetNetworksInput) Validate() error {
64576	invalidParams := request.ErrInvalidParams{Context: "DescribeClientVpnTargetNetworksInput"}
64577	if s.ClientVpnEndpointId == nil {
64578		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
64579	}
64580	if s.MaxResults != nil && *s.MaxResults < 5 {
64581		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
64582	}
64583
64584	if invalidParams.Len() > 0 {
64585		return invalidParams
64586	}
64587	return nil
64588}
64589
64590// SetAssociationIds sets the AssociationIds field's value.
64591func (s *DescribeClientVpnTargetNetworksInput) SetAssociationIds(v []*string) *DescribeClientVpnTargetNetworksInput {
64592	s.AssociationIds = v
64593	return s
64594}
64595
64596// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
64597func (s *DescribeClientVpnTargetNetworksInput) SetClientVpnEndpointId(v string) *DescribeClientVpnTargetNetworksInput {
64598	s.ClientVpnEndpointId = &v
64599	return s
64600}
64601
64602// SetDryRun sets the DryRun field's value.
64603func (s *DescribeClientVpnTargetNetworksInput) SetDryRun(v bool) *DescribeClientVpnTargetNetworksInput {
64604	s.DryRun = &v
64605	return s
64606}
64607
64608// SetFilters sets the Filters field's value.
64609func (s *DescribeClientVpnTargetNetworksInput) SetFilters(v []*Filter) *DescribeClientVpnTargetNetworksInput {
64610	s.Filters = v
64611	return s
64612}
64613
64614// SetMaxResults sets the MaxResults field's value.
64615func (s *DescribeClientVpnTargetNetworksInput) SetMaxResults(v int64) *DescribeClientVpnTargetNetworksInput {
64616	s.MaxResults = &v
64617	return s
64618}
64619
64620// SetNextToken sets the NextToken field's value.
64621func (s *DescribeClientVpnTargetNetworksInput) SetNextToken(v string) *DescribeClientVpnTargetNetworksInput {
64622	s.NextToken = &v
64623	return s
64624}
64625
64626type DescribeClientVpnTargetNetworksOutput struct {
64627	_ struct{} `type:"structure"`
64628
64629	// Information about the associated target networks.
64630	ClientVpnTargetNetworks []*TargetNetwork `locationName:"clientVpnTargetNetworks" locationNameList:"item" type:"list"`
64631
64632	// The token to use to retrieve the next page of results. This value is null
64633	// when there are no more results to return.
64634	NextToken *string `locationName:"nextToken" type:"string"`
64635}
64636
64637// String returns the string representation
64638func (s DescribeClientVpnTargetNetworksOutput) String() string {
64639	return awsutil.Prettify(s)
64640}
64641
64642// GoString returns the string representation
64643func (s DescribeClientVpnTargetNetworksOutput) GoString() string {
64644	return s.String()
64645}
64646
64647// SetClientVpnTargetNetworks sets the ClientVpnTargetNetworks field's value.
64648func (s *DescribeClientVpnTargetNetworksOutput) SetClientVpnTargetNetworks(v []*TargetNetwork) *DescribeClientVpnTargetNetworksOutput {
64649	s.ClientVpnTargetNetworks = v
64650	return s
64651}
64652
64653// SetNextToken sets the NextToken field's value.
64654func (s *DescribeClientVpnTargetNetworksOutput) SetNextToken(v string) *DescribeClientVpnTargetNetworksOutput {
64655	s.NextToken = &v
64656	return s
64657}
64658
64659type DescribeCoipPoolsInput struct {
64660	_ struct{} `type:"structure"`
64661
64662	// Checks whether you have the required permissions for the action, without
64663	// actually making the request, and provides an error response. If you have
64664	// the required permissions, the error response is DryRunOperation. Otherwise,
64665	// it is UnauthorizedOperation.
64666	DryRun *bool `type:"boolean"`
64667
64668	// The filters. The following are the possible values:
64669	//
64670	//    * coip-pool.pool-id
64671	//
64672	//    * coip-pool.local-gateway-route-table-id
64673	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
64674
64675	// The maximum number of results to return with a single call. To retrieve the
64676	// remaining results, make another call with the returned nextToken value.
64677	MaxResults *int64 `min:"5" type:"integer"`
64678
64679	// The token for the next page of results.
64680	NextToken *string `type:"string"`
64681
64682	// The IDs of the address pools.
64683	PoolIds []*string `locationName:"PoolId" locationNameList:"item" type:"list"`
64684}
64685
64686// String returns the string representation
64687func (s DescribeCoipPoolsInput) String() string {
64688	return awsutil.Prettify(s)
64689}
64690
64691// GoString returns the string representation
64692func (s DescribeCoipPoolsInput) GoString() string {
64693	return s.String()
64694}
64695
64696// Validate inspects the fields of the type to determine if they are valid.
64697func (s *DescribeCoipPoolsInput) Validate() error {
64698	invalidParams := request.ErrInvalidParams{Context: "DescribeCoipPoolsInput"}
64699	if s.MaxResults != nil && *s.MaxResults < 5 {
64700		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
64701	}
64702
64703	if invalidParams.Len() > 0 {
64704		return invalidParams
64705	}
64706	return nil
64707}
64708
64709// SetDryRun sets the DryRun field's value.
64710func (s *DescribeCoipPoolsInput) SetDryRun(v bool) *DescribeCoipPoolsInput {
64711	s.DryRun = &v
64712	return s
64713}
64714
64715// SetFilters sets the Filters field's value.
64716func (s *DescribeCoipPoolsInput) SetFilters(v []*Filter) *DescribeCoipPoolsInput {
64717	s.Filters = v
64718	return s
64719}
64720
64721// SetMaxResults sets the MaxResults field's value.
64722func (s *DescribeCoipPoolsInput) SetMaxResults(v int64) *DescribeCoipPoolsInput {
64723	s.MaxResults = &v
64724	return s
64725}
64726
64727// SetNextToken sets the NextToken field's value.
64728func (s *DescribeCoipPoolsInput) SetNextToken(v string) *DescribeCoipPoolsInput {
64729	s.NextToken = &v
64730	return s
64731}
64732
64733// SetPoolIds sets the PoolIds field's value.
64734func (s *DescribeCoipPoolsInput) SetPoolIds(v []*string) *DescribeCoipPoolsInput {
64735	s.PoolIds = v
64736	return s
64737}
64738
64739type DescribeCoipPoolsOutput struct {
64740	_ struct{} `type:"structure"`
64741
64742	// Information about the address pools.
64743	CoipPools []*CoipPool `locationName:"coipPoolSet" locationNameList:"item" type:"list"`
64744
64745	// The token to use to retrieve the next page of results. This value is null
64746	// when there are no more results to return.
64747	NextToken *string `locationName:"nextToken" type:"string"`
64748}
64749
64750// String returns the string representation
64751func (s DescribeCoipPoolsOutput) String() string {
64752	return awsutil.Prettify(s)
64753}
64754
64755// GoString returns the string representation
64756func (s DescribeCoipPoolsOutput) GoString() string {
64757	return s.String()
64758}
64759
64760// SetCoipPools sets the CoipPools field's value.
64761func (s *DescribeCoipPoolsOutput) SetCoipPools(v []*CoipPool) *DescribeCoipPoolsOutput {
64762	s.CoipPools = v
64763	return s
64764}
64765
64766// SetNextToken sets the NextToken field's value.
64767func (s *DescribeCoipPoolsOutput) SetNextToken(v string) *DescribeCoipPoolsOutput {
64768	s.NextToken = &v
64769	return s
64770}
64771
64772type DescribeConversionTasksInput struct {
64773	_ struct{} `type:"structure"`
64774
64775	// The conversion task IDs.
64776	ConversionTaskIds []*string `locationName:"conversionTaskId" locationNameList:"item" type:"list"`
64777
64778	// Checks whether you have the required permissions for the action, without
64779	// actually making the request, and provides an error response. If you have
64780	// the required permissions, the error response is DryRunOperation. Otherwise,
64781	// it is UnauthorizedOperation.
64782	DryRun *bool `locationName:"dryRun" type:"boolean"`
64783}
64784
64785// String returns the string representation
64786func (s DescribeConversionTasksInput) String() string {
64787	return awsutil.Prettify(s)
64788}
64789
64790// GoString returns the string representation
64791func (s DescribeConversionTasksInput) GoString() string {
64792	return s.String()
64793}
64794
64795// SetConversionTaskIds sets the ConversionTaskIds field's value.
64796func (s *DescribeConversionTasksInput) SetConversionTaskIds(v []*string) *DescribeConversionTasksInput {
64797	s.ConversionTaskIds = v
64798	return s
64799}
64800
64801// SetDryRun sets the DryRun field's value.
64802func (s *DescribeConversionTasksInput) SetDryRun(v bool) *DescribeConversionTasksInput {
64803	s.DryRun = &v
64804	return s
64805}
64806
64807type DescribeConversionTasksOutput struct {
64808	_ struct{} `type:"structure"`
64809
64810	// Information about the conversion tasks.
64811	ConversionTasks []*ConversionTask `locationName:"conversionTasks" locationNameList:"item" type:"list"`
64812}
64813
64814// String returns the string representation
64815func (s DescribeConversionTasksOutput) String() string {
64816	return awsutil.Prettify(s)
64817}
64818
64819// GoString returns the string representation
64820func (s DescribeConversionTasksOutput) GoString() string {
64821	return s.String()
64822}
64823
64824// SetConversionTasks sets the ConversionTasks field's value.
64825func (s *DescribeConversionTasksOutput) SetConversionTasks(v []*ConversionTask) *DescribeConversionTasksOutput {
64826	s.ConversionTasks = v
64827	return s
64828}
64829
64830// Contains the parameters for DescribeCustomerGateways.
64831type DescribeCustomerGatewaysInput struct {
64832	_ struct{} `type:"structure"`
64833
64834	// One or more customer gateway IDs.
64835	//
64836	// Default: Describes all your customer gateways.
64837	CustomerGatewayIds []*string `locationName:"CustomerGatewayId" locationNameList:"CustomerGatewayId" type:"list"`
64838
64839	// Checks whether you have the required permissions for the action, without
64840	// actually making the request, and provides an error response. If you have
64841	// the required permissions, the error response is DryRunOperation. Otherwise,
64842	// it is UnauthorizedOperation.
64843	DryRun *bool `locationName:"dryRun" type:"boolean"`
64844
64845	// One or more filters.
64846	//
64847	//    * bgp-asn - The customer gateway's Border Gateway Protocol (BGP) Autonomous
64848	//    System Number (ASN).
64849	//
64850	//    * customer-gateway-id - The ID of the customer gateway.
64851	//
64852	//    * ip-address - The IP address of the customer gateway's Internet-routable
64853	//    external interface.
64854	//
64855	//    * state - The state of the customer gateway (pending | available | deleting
64856	//    | deleted).
64857	//
64858	//    * type - The type of customer gateway. Currently, the only supported type
64859	//    is ipsec.1.
64860	//
64861	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
64862	//    Use the tag key in the filter name and the tag value as the filter value.
64863	//    For example, to find all resources that have a tag with the key Owner
64864	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
64865	//    the filter value.
64866	//
64867	//    * tag-key - The key of a tag assigned to the resource. Use this filter
64868	//    to find all resources assigned a tag with a specific key, regardless of
64869	//    the tag value.
64870	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
64871}
64872
64873// String returns the string representation
64874func (s DescribeCustomerGatewaysInput) String() string {
64875	return awsutil.Prettify(s)
64876}
64877
64878// GoString returns the string representation
64879func (s DescribeCustomerGatewaysInput) GoString() string {
64880	return s.String()
64881}
64882
64883// SetCustomerGatewayIds sets the CustomerGatewayIds field's value.
64884func (s *DescribeCustomerGatewaysInput) SetCustomerGatewayIds(v []*string) *DescribeCustomerGatewaysInput {
64885	s.CustomerGatewayIds = v
64886	return s
64887}
64888
64889// SetDryRun sets the DryRun field's value.
64890func (s *DescribeCustomerGatewaysInput) SetDryRun(v bool) *DescribeCustomerGatewaysInput {
64891	s.DryRun = &v
64892	return s
64893}
64894
64895// SetFilters sets the Filters field's value.
64896func (s *DescribeCustomerGatewaysInput) SetFilters(v []*Filter) *DescribeCustomerGatewaysInput {
64897	s.Filters = v
64898	return s
64899}
64900
64901// Contains the output of DescribeCustomerGateways.
64902type DescribeCustomerGatewaysOutput struct {
64903	_ struct{} `type:"structure"`
64904
64905	// Information about one or more customer gateways.
64906	CustomerGateways []*CustomerGateway `locationName:"customerGatewaySet" locationNameList:"item" type:"list"`
64907}
64908
64909// String returns the string representation
64910func (s DescribeCustomerGatewaysOutput) String() string {
64911	return awsutil.Prettify(s)
64912}
64913
64914// GoString returns the string representation
64915func (s DescribeCustomerGatewaysOutput) GoString() string {
64916	return s.String()
64917}
64918
64919// SetCustomerGateways sets the CustomerGateways field's value.
64920func (s *DescribeCustomerGatewaysOutput) SetCustomerGateways(v []*CustomerGateway) *DescribeCustomerGatewaysOutput {
64921	s.CustomerGateways = v
64922	return s
64923}
64924
64925type DescribeDhcpOptionsInput struct {
64926	_ struct{} `type:"structure"`
64927
64928	// The IDs of one or more DHCP options sets.
64929	//
64930	// Default: Describes all your DHCP options sets.
64931	DhcpOptionsIds []*string `locationName:"DhcpOptionsId" locationNameList:"DhcpOptionsId" type:"list"`
64932
64933	// Checks whether you have the required permissions for the action, without
64934	// actually making the request, and provides an error response. If you have
64935	// the required permissions, the error response is DryRunOperation. Otherwise,
64936	// it is UnauthorizedOperation.
64937	DryRun *bool `locationName:"dryRun" type:"boolean"`
64938
64939	// One or more filters.
64940	//
64941	//    * dhcp-options-id - The ID of a DHCP options set.
64942	//
64943	//    * key - The key for one of the options (for example, domain-name).
64944	//
64945	//    * value - The value for one of the options.
64946	//
64947	//    * owner-id - The ID of the AWS account that owns the DHCP options set.
64948	//
64949	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
64950	//    Use the tag key in the filter name and the tag value as the filter value.
64951	//    For example, to find all resources that have a tag with the key Owner
64952	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
64953	//    the filter value.
64954	//
64955	//    * tag-key - The key of a tag assigned to the resource. Use this filter
64956	//    to find all resources assigned a tag with a specific key, regardless of
64957	//    the tag value.
64958	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
64959
64960	// The maximum number of results to return with a single call. To retrieve the
64961	// remaining results, make another call with the returned nextToken value.
64962	MaxResults *int64 `min:"5" type:"integer"`
64963
64964	// The token for the next page of results.
64965	NextToken *string `type:"string"`
64966}
64967
64968// String returns the string representation
64969func (s DescribeDhcpOptionsInput) String() string {
64970	return awsutil.Prettify(s)
64971}
64972
64973// GoString returns the string representation
64974func (s DescribeDhcpOptionsInput) GoString() string {
64975	return s.String()
64976}
64977
64978// Validate inspects the fields of the type to determine if they are valid.
64979func (s *DescribeDhcpOptionsInput) Validate() error {
64980	invalidParams := request.ErrInvalidParams{Context: "DescribeDhcpOptionsInput"}
64981	if s.MaxResults != nil && *s.MaxResults < 5 {
64982		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
64983	}
64984
64985	if invalidParams.Len() > 0 {
64986		return invalidParams
64987	}
64988	return nil
64989}
64990
64991// SetDhcpOptionsIds sets the DhcpOptionsIds field's value.
64992func (s *DescribeDhcpOptionsInput) SetDhcpOptionsIds(v []*string) *DescribeDhcpOptionsInput {
64993	s.DhcpOptionsIds = v
64994	return s
64995}
64996
64997// SetDryRun sets the DryRun field's value.
64998func (s *DescribeDhcpOptionsInput) SetDryRun(v bool) *DescribeDhcpOptionsInput {
64999	s.DryRun = &v
65000	return s
65001}
65002
65003// SetFilters sets the Filters field's value.
65004func (s *DescribeDhcpOptionsInput) SetFilters(v []*Filter) *DescribeDhcpOptionsInput {
65005	s.Filters = v
65006	return s
65007}
65008
65009// SetMaxResults sets the MaxResults field's value.
65010func (s *DescribeDhcpOptionsInput) SetMaxResults(v int64) *DescribeDhcpOptionsInput {
65011	s.MaxResults = &v
65012	return s
65013}
65014
65015// SetNextToken sets the NextToken field's value.
65016func (s *DescribeDhcpOptionsInput) SetNextToken(v string) *DescribeDhcpOptionsInput {
65017	s.NextToken = &v
65018	return s
65019}
65020
65021type DescribeDhcpOptionsOutput struct {
65022	_ struct{} `type:"structure"`
65023
65024	// Information about one or more DHCP options sets.
65025	DhcpOptions []*DhcpOptions `locationName:"dhcpOptionsSet" locationNameList:"item" type:"list"`
65026
65027	// The token to use to retrieve the next page of results. This value is null
65028	// when there are no more results to return.
65029	NextToken *string `locationName:"nextToken" type:"string"`
65030}
65031
65032// String returns the string representation
65033func (s DescribeDhcpOptionsOutput) String() string {
65034	return awsutil.Prettify(s)
65035}
65036
65037// GoString returns the string representation
65038func (s DescribeDhcpOptionsOutput) GoString() string {
65039	return s.String()
65040}
65041
65042// SetDhcpOptions sets the DhcpOptions field's value.
65043func (s *DescribeDhcpOptionsOutput) SetDhcpOptions(v []*DhcpOptions) *DescribeDhcpOptionsOutput {
65044	s.DhcpOptions = v
65045	return s
65046}
65047
65048// SetNextToken sets the NextToken field's value.
65049func (s *DescribeDhcpOptionsOutput) SetNextToken(v string) *DescribeDhcpOptionsOutput {
65050	s.NextToken = &v
65051	return s
65052}
65053
65054type DescribeEgressOnlyInternetGatewaysInput struct {
65055	_ struct{} `type:"structure"`
65056
65057	// Checks whether you have the required permissions for the action, without
65058	// actually making the request, and provides an error response. If you have
65059	// the required permissions, the error response is DryRunOperation. Otherwise,
65060	// it is UnauthorizedOperation.
65061	DryRun *bool `type:"boolean"`
65062
65063	// One or more egress-only internet gateway IDs.
65064	EgressOnlyInternetGatewayIds []*string `locationName:"EgressOnlyInternetGatewayId" locationNameList:"item" type:"list"`
65065
65066	// One or more filters.
65067	//
65068	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
65069	//    Use the tag key in the filter name and the tag value as the filter value.
65070	//    For example, to find all resources that have a tag with the key Owner
65071	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
65072	//    the filter value.
65073	//
65074	//    * tag-key - The key of a tag assigned to the resource. Use this filter
65075	//    to find all resources assigned a tag with a specific key, regardless of
65076	//    the tag value.
65077	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
65078
65079	// The maximum number of results to return with a single call. To retrieve the
65080	// remaining results, make another call with the returned nextToken value.
65081	MaxResults *int64 `min:"5" type:"integer"`
65082
65083	// The token for the next page of results.
65084	NextToken *string `type:"string"`
65085}
65086
65087// String returns the string representation
65088func (s DescribeEgressOnlyInternetGatewaysInput) String() string {
65089	return awsutil.Prettify(s)
65090}
65091
65092// GoString returns the string representation
65093func (s DescribeEgressOnlyInternetGatewaysInput) GoString() string {
65094	return s.String()
65095}
65096
65097// Validate inspects the fields of the type to determine if they are valid.
65098func (s *DescribeEgressOnlyInternetGatewaysInput) Validate() error {
65099	invalidParams := request.ErrInvalidParams{Context: "DescribeEgressOnlyInternetGatewaysInput"}
65100	if s.MaxResults != nil && *s.MaxResults < 5 {
65101		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
65102	}
65103
65104	if invalidParams.Len() > 0 {
65105		return invalidParams
65106	}
65107	return nil
65108}
65109
65110// SetDryRun sets the DryRun field's value.
65111func (s *DescribeEgressOnlyInternetGatewaysInput) SetDryRun(v bool) *DescribeEgressOnlyInternetGatewaysInput {
65112	s.DryRun = &v
65113	return s
65114}
65115
65116// SetEgressOnlyInternetGatewayIds sets the EgressOnlyInternetGatewayIds field's value.
65117func (s *DescribeEgressOnlyInternetGatewaysInput) SetEgressOnlyInternetGatewayIds(v []*string) *DescribeEgressOnlyInternetGatewaysInput {
65118	s.EgressOnlyInternetGatewayIds = v
65119	return s
65120}
65121
65122// SetFilters sets the Filters field's value.
65123func (s *DescribeEgressOnlyInternetGatewaysInput) SetFilters(v []*Filter) *DescribeEgressOnlyInternetGatewaysInput {
65124	s.Filters = v
65125	return s
65126}
65127
65128// SetMaxResults sets the MaxResults field's value.
65129func (s *DescribeEgressOnlyInternetGatewaysInput) SetMaxResults(v int64) *DescribeEgressOnlyInternetGatewaysInput {
65130	s.MaxResults = &v
65131	return s
65132}
65133
65134// SetNextToken sets the NextToken field's value.
65135func (s *DescribeEgressOnlyInternetGatewaysInput) SetNextToken(v string) *DescribeEgressOnlyInternetGatewaysInput {
65136	s.NextToken = &v
65137	return s
65138}
65139
65140type DescribeEgressOnlyInternetGatewaysOutput struct {
65141	_ struct{} `type:"structure"`
65142
65143	// Information about the egress-only internet gateways.
65144	EgressOnlyInternetGateways []*EgressOnlyInternetGateway `locationName:"egressOnlyInternetGatewaySet" locationNameList:"item" type:"list"`
65145
65146	// The token to use to retrieve the next page of results. This value is null
65147	// when there are no more results to return.
65148	NextToken *string `locationName:"nextToken" type:"string"`
65149}
65150
65151// String returns the string representation
65152func (s DescribeEgressOnlyInternetGatewaysOutput) String() string {
65153	return awsutil.Prettify(s)
65154}
65155
65156// GoString returns the string representation
65157func (s DescribeEgressOnlyInternetGatewaysOutput) GoString() string {
65158	return s.String()
65159}
65160
65161// SetEgressOnlyInternetGateways sets the EgressOnlyInternetGateways field's value.
65162func (s *DescribeEgressOnlyInternetGatewaysOutput) SetEgressOnlyInternetGateways(v []*EgressOnlyInternetGateway) *DescribeEgressOnlyInternetGatewaysOutput {
65163	s.EgressOnlyInternetGateways = v
65164	return s
65165}
65166
65167// SetNextToken sets the NextToken field's value.
65168func (s *DescribeEgressOnlyInternetGatewaysOutput) SetNextToken(v string) *DescribeEgressOnlyInternetGatewaysOutput {
65169	s.NextToken = &v
65170	return s
65171}
65172
65173type DescribeElasticGpusInput struct {
65174	_ struct{} `type:"structure"`
65175
65176	// Checks whether you have the required permissions for the action, without
65177	// actually making the request, and provides an error response. If you have
65178	// the required permissions, the error response is DryRunOperation. Otherwise,
65179	// it is UnauthorizedOperation.
65180	DryRun *bool `type:"boolean"`
65181
65182	// The Elastic Graphics accelerator IDs.
65183	ElasticGpuIds []*string `locationName:"ElasticGpuId" locationNameList:"item" type:"list"`
65184
65185	// The filters.
65186	//
65187	//    * availability-zone - The Availability Zone in which the Elastic Graphics
65188	//    accelerator resides.
65189	//
65190	//    * elastic-gpu-health - The status of the Elastic Graphics accelerator
65191	//    (OK | IMPAIRED).
65192	//
65193	//    * elastic-gpu-state - The state of the Elastic Graphics accelerator (ATTACHED).
65194	//
65195	//    * elastic-gpu-type - The type of Elastic Graphics accelerator; for example,
65196	//    eg1.medium.
65197	//
65198	//    * instance-id - The ID of the instance to which the Elastic Graphics accelerator
65199	//    is associated.
65200	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
65201
65202	// The maximum number of results to return in a single call. To retrieve the
65203	// remaining results, make another call with the returned NextToken value. This
65204	// value can be between 5 and 1000.
65205	MaxResults *int64 `min:"10" type:"integer"`
65206
65207	// The token to request the next page of results.
65208	NextToken *string `type:"string"`
65209}
65210
65211// String returns the string representation
65212func (s DescribeElasticGpusInput) String() string {
65213	return awsutil.Prettify(s)
65214}
65215
65216// GoString returns the string representation
65217func (s DescribeElasticGpusInput) GoString() string {
65218	return s.String()
65219}
65220
65221// Validate inspects the fields of the type to determine if they are valid.
65222func (s *DescribeElasticGpusInput) Validate() error {
65223	invalidParams := request.ErrInvalidParams{Context: "DescribeElasticGpusInput"}
65224	if s.MaxResults != nil && *s.MaxResults < 10 {
65225		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10))
65226	}
65227
65228	if invalidParams.Len() > 0 {
65229		return invalidParams
65230	}
65231	return nil
65232}
65233
65234// SetDryRun sets the DryRun field's value.
65235func (s *DescribeElasticGpusInput) SetDryRun(v bool) *DescribeElasticGpusInput {
65236	s.DryRun = &v
65237	return s
65238}
65239
65240// SetElasticGpuIds sets the ElasticGpuIds field's value.
65241func (s *DescribeElasticGpusInput) SetElasticGpuIds(v []*string) *DescribeElasticGpusInput {
65242	s.ElasticGpuIds = v
65243	return s
65244}
65245
65246// SetFilters sets the Filters field's value.
65247func (s *DescribeElasticGpusInput) SetFilters(v []*Filter) *DescribeElasticGpusInput {
65248	s.Filters = v
65249	return s
65250}
65251
65252// SetMaxResults sets the MaxResults field's value.
65253func (s *DescribeElasticGpusInput) SetMaxResults(v int64) *DescribeElasticGpusInput {
65254	s.MaxResults = &v
65255	return s
65256}
65257
65258// SetNextToken sets the NextToken field's value.
65259func (s *DescribeElasticGpusInput) SetNextToken(v string) *DescribeElasticGpusInput {
65260	s.NextToken = &v
65261	return s
65262}
65263
65264type DescribeElasticGpusOutput struct {
65265	_ struct{} `type:"structure"`
65266
65267	// Information about the Elastic Graphics accelerators.
65268	ElasticGpuSet []*ElasticGpus `locationName:"elasticGpuSet" locationNameList:"item" type:"list"`
65269
65270	// The total number of items to return. If the total number of items available
65271	// is more than the value specified in max-items then a Next-Token will be provided
65272	// in the output that you can use to resume pagination.
65273	MaxResults *int64 `locationName:"maxResults" type:"integer"`
65274
65275	// The token to use to retrieve the next page of results. This value is null
65276	// when there are no more results to return.
65277	NextToken *string `locationName:"nextToken" type:"string"`
65278}
65279
65280// String returns the string representation
65281func (s DescribeElasticGpusOutput) String() string {
65282	return awsutil.Prettify(s)
65283}
65284
65285// GoString returns the string representation
65286func (s DescribeElasticGpusOutput) GoString() string {
65287	return s.String()
65288}
65289
65290// SetElasticGpuSet sets the ElasticGpuSet field's value.
65291func (s *DescribeElasticGpusOutput) SetElasticGpuSet(v []*ElasticGpus) *DescribeElasticGpusOutput {
65292	s.ElasticGpuSet = v
65293	return s
65294}
65295
65296// SetMaxResults sets the MaxResults field's value.
65297func (s *DescribeElasticGpusOutput) SetMaxResults(v int64) *DescribeElasticGpusOutput {
65298	s.MaxResults = &v
65299	return s
65300}
65301
65302// SetNextToken sets the NextToken field's value.
65303func (s *DescribeElasticGpusOutput) SetNextToken(v string) *DescribeElasticGpusOutput {
65304	s.NextToken = &v
65305	return s
65306}
65307
65308type DescribeExportImageTasksInput struct {
65309	_ struct{} `type:"structure"`
65310
65311	// Checks whether you have the required permissions for the action, without
65312	// actually making the request, and provides an error response. If you have
65313	// the required permissions, the error response is DryRunOperation. Otherwise,
65314	// it is UnauthorizedOperation.
65315	DryRun *bool `type:"boolean"`
65316
65317	// The IDs of the export image tasks.
65318	ExportImageTaskIds []*string `locationName:"ExportImageTaskId" locationNameList:"ExportImageTaskId" type:"list"`
65319
65320	// Filter tasks using the task-state filter and one of the following values:
65321	// active, completed, deleting, or deleted.
65322	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
65323
65324	// The maximum number of results to return in a single call.
65325	MaxResults *int64 `min:"1" type:"integer"`
65326
65327	// A token that indicates the next page of results.
65328	NextToken *string `type:"string"`
65329}
65330
65331// String returns the string representation
65332func (s DescribeExportImageTasksInput) String() string {
65333	return awsutil.Prettify(s)
65334}
65335
65336// GoString returns the string representation
65337func (s DescribeExportImageTasksInput) GoString() string {
65338	return s.String()
65339}
65340
65341// Validate inspects the fields of the type to determine if they are valid.
65342func (s *DescribeExportImageTasksInput) Validate() error {
65343	invalidParams := request.ErrInvalidParams{Context: "DescribeExportImageTasksInput"}
65344	if s.MaxResults != nil && *s.MaxResults < 1 {
65345		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
65346	}
65347
65348	if invalidParams.Len() > 0 {
65349		return invalidParams
65350	}
65351	return nil
65352}
65353
65354// SetDryRun sets the DryRun field's value.
65355func (s *DescribeExportImageTasksInput) SetDryRun(v bool) *DescribeExportImageTasksInput {
65356	s.DryRun = &v
65357	return s
65358}
65359
65360// SetExportImageTaskIds sets the ExportImageTaskIds field's value.
65361func (s *DescribeExportImageTasksInput) SetExportImageTaskIds(v []*string) *DescribeExportImageTasksInput {
65362	s.ExportImageTaskIds = v
65363	return s
65364}
65365
65366// SetFilters sets the Filters field's value.
65367func (s *DescribeExportImageTasksInput) SetFilters(v []*Filter) *DescribeExportImageTasksInput {
65368	s.Filters = v
65369	return s
65370}
65371
65372// SetMaxResults sets the MaxResults field's value.
65373func (s *DescribeExportImageTasksInput) SetMaxResults(v int64) *DescribeExportImageTasksInput {
65374	s.MaxResults = &v
65375	return s
65376}
65377
65378// SetNextToken sets the NextToken field's value.
65379func (s *DescribeExportImageTasksInput) SetNextToken(v string) *DescribeExportImageTasksInput {
65380	s.NextToken = &v
65381	return s
65382}
65383
65384type DescribeExportImageTasksOutput struct {
65385	_ struct{} `type:"structure"`
65386
65387	// Information about the export image tasks.
65388	ExportImageTasks []*ExportImageTask `locationName:"exportImageTaskSet" locationNameList:"item" type:"list"`
65389
65390	// The token to use to get the next page of results. This value is null when
65391	// there are no more results to return.
65392	NextToken *string `locationName:"nextToken" type:"string"`
65393}
65394
65395// String returns the string representation
65396func (s DescribeExportImageTasksOutput) String() string {
65397	return awsutil.Prettify(s)
65398}
65399
65400// GoString returns the string representation
65401func (s DescribeExportImageTasksOutput) GoString() string {
65402	return s.String()
65403}
65404
65405// SetExportImageTasks sets the ExportImageTasks field's value.
65406func (s *DescribeExportImageTasksOutput) SetExportImageTasks(v []*ExportImageTask) *DescribeExportImageTasksOutput {
65407	s.ExportImageTasks = v
65408	return s
65409}
65410
65411// SetNextToken sets the NextToken field's value.
65412func (s *DescribeExportImageTasksOutput) SetNextToken(v string) *DescribeExportImageTasksOutput {
65413	s.NextToken = &v
65414	return s
65415}
65416
65417type DescribeExportTasksInput struct {
65418	_ struct{} `type:"structure"`
65419
65420	// The export task IDs.
65421	ExportTaskIds []*string `locationName:"exportTaskId" locationNameList:"ExportTaskId" type:"list"`
65422
65423	// the filters for the export tasks.
65424	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
65425}
65426
65427// String returns the string representation
65428func (s DescribeExportTasksInput) String() string {
65429	return awsutil.Prettify(s)
65430}
65431
65432// GoString returns the string representation
65433func (s DescribeExportTasksInput) GoString() string {
65434	return s.String()
65435}
65436
65437// SetExportTaskIds sets the ExportTaskIds field's value.
65438func (s *DescribeExportTasksInput) SetExportTaskIds(v []*string) *DescribeExportTasksInput {
65439	s.ExportTaskIds = v
65440	return s
65441}
65442
65443// SetFilters sets the Filters field's value.
65444func (s *DescribeExportTasksInput) SetFilters(v []*Filter) *DescribeExportTasksInput {
65445	s.Filters = v
65446	return s
65447}
65448
65449type DescribeExportTasksOutput struct {
65450	_ struct{} `type:"structure"`
65451
65452	// Information about the export tasks.
65453	ExportTasks []*ExportTask `locationName:"exportTaskSet" locationNameList:"item" type:"list"`
65454}
65455
65456// String returns the string representation
65457func (s DescribeExportTasksOutput) String() string {
65458	return awsutil.Prettify(s)
65459}
65460
65461// GoString returns the string representation
65462func (s DescribeExportTasksOutput) GoString() string {
65463	return s.String()
65464}
65465
65466// SetExportTasks sets the ExportTasks field's value.
65467func (s *DescribeExportTasksOutput) SetExportTasks(v []*ExportTask) *DescribeExportTasksOutput {
65468	s.ExportTasks = v
65469	return s
65470}
65471
65472// Describes fast snapshot restores for a snapshot.
65473type DescribeFastSnapshotRestoreSuccessItem struct {
65474	_ struct{} `type:"structure"`
65475
65476	// The Availability Zone.
65477	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
65478
65479	// The time at which fast snapshot restores entered the disabled state.
65480	DisabledTime *time.Time `locationName:"disabledTime" type:"timestamp"`
65481
65482	// The time at which fast snapshot restores entered the disabling state.
65483	DisablingTime *time.Time `locationName:"disablingTime" type:"timestamp"`
65484
65485	// The time at which fast snapshot restores entered the enabled state.
65486	EnabledTime *time.Time `locationName:"enabledTime" type:"timestamp"`
65487
65488	// The time at which fast snapshot restores entered the enabling state.
65489	EnablingTime *time.Time `locationName:"enablingTime" type:"timestamp"`
65490
65491	// The time at which fast snapshot restores entered the optimizing state.
65492	OptimizingTime *time.Time `locationName:"optimizingTime" type:"timestamp"`
65493
65494	// The AWS owner alias that enabled fast snapshot restores on the snapshot.
65495	// This is intended for future use.
65496	OwnerAlias *string `locationName:"ownerAlias" type:"string"`
65497
65498	// The ID of the AWS account that enabled fast snapshot restores on the snapshot.
65499	OwnerId *string `locationName:"ownerId" type:"string"`
65500
65501	// The ID of the snapshot.
65502	SnapshotId *string `locationName:"snapshotId" type:"string"`
65503
65504	// The state of fast snapshot restores.
65505	State *string `locationName:"state" type:"string" enum:"FastSnapshotRestoreStateCode"`
65506
65507	// The reason for the state transition. The possible values are as follows:
65508	//
65509	//    * Client.UserInitiated - The state successfully transitioned to enabling
65510	//    or disabling.
65511	//
65512	//    * Client.UserInitiated - Lifecycle state transition - The state successfully
65513	//    transitioned to optimizing, enabled, or disabled.
65514	StateTransitionReason *string `locationName:"stateTransitionReason" type:"string"`
65515}
65516
65517// String returns the string representation
65518func (s DescribeFastSnapshotRestoreSuccessItem) String() string {
65519	return awsutil.Prettify(s)
65520}
65521
65522// GoString returns the string representation
65523func (s DescribeFastSnapshotRestoreSuccessItem) GoString() string {
65524	return s.String()
65525}
65526
65527// SetAvailabilityZone sets the AvailabilityZone field's value.
65528func (s *DescribeFastSnapshotRestoreSuccessItem) SetAvailabilityZone(v string) *DescribeFastSnapshotRestoreSuccessItem {
65529	s.AvailabilityZone = &v
65530	return s
65531}
65532
65533// SetDisabledTime sets the DisabledTime field's value.
65534func (s *DescribeFastSnapshotRestoreSuccessItem) SetDisabledTime(v time.Time) *DescribeFastSnapshotRestoreSuccessItem {
65535	s.DisabledTime = &v
65536	return s
65537}
65538
65539// SetDisablingTime sets the DisablingTime field's value.
65540func (s *DescribeFastSnapshotRestoreSuccessItem) SetDisablingTime(v time.Time) *DescribeFastSnapshotRestoreSuccessItem {
65541	s.DisablingTime = &v
65542	return s
65543}
65544
65545// SetEnabledTime sets the EnabledTime field's value.
65546func (s *DescribeFastSnapshotRestoreSuccessItem) SetEnabledTime(v time.Time) *DescribeFastSnapshotRestoreSuccessItem {
65547	s.EnabledTime = &v
65548	return s
65549}
65550
65551// SetEnablingTime sets the EnablingTime field's value.
65552func (s *DescribeFastSnapshotRestoreSuccessItem) SetEnablingTime(v time.Time) *DescribeFastSnapshotRestoreSuccessItem {
65553	s.EnablingTime = &v
65554	return s
65555}
65556
65557// SetOptimizingTime sets the OptimizingTime field's value.
65558func (s *DescribeFastSnapshotRestoreSuccessItem) SetOptimizingTime(v time.Time) *DescribeFastSnapshotRestoreSuccessItem {
65559	s.OptimizingTime = &v
65560	return s
65561}
65562
65563// SetOwnerAlias sets the OwnerAlias field's value.
65564func (s *DescribeFastSnapshotRestoreSuccessItem) SetOwnerAlias(v string) *DescribeFastSnapshotRestoreSuccessItem {
65565	s.OwnerAlias = &v
65566	return s
65567}
65568
65569// SetOwnerId sets the OwnerId field's value.
65570func (s *DescribeFastSnapshotRestoreSuccessItem) SetOwnerId(v string) *DescribeFastSnapshotRestoreSuccessItem {
65571	s.OwnerId = &v
65572	return s
65573}
65574
65575// SetSnapshotId sets the SnapshotId field's value.
65576func (s *DescribeFastSnapshotRestoreSuccessItem) SetSnapshotId(v string) *DescribeFastSnapshotRestoreSuccessItem {
65577	s.SnapshotId = &v
65578	return s
65579}
65580
65581// SetState sets the State field's value.
65582func (s *DescribeFastSnapshotRestoreSuccessItem) SetState(v string) *DescribeFastSnapshotRestoreSuccessItem {
65583	s.State = &v
65584	return s
65585}
65586
65587// SetStateTransitionReason sets the StateTransitionReason field's value.
65588func (s *DescribeFastSnapshotRestoreSuccessItem) SetStateTransitionReason(v string) *DescribeFastSnapshotRestoreSuccessItem {
65589	s.StateTransitionReason = &v
65590	return s
65591}
65592
65593type DescribeFastSnapshotRestoresInput struct {
65594	_ struct{} `type:"structure"`
65595
65596	// Checks whether you have the required permissions for the action, without
65597	// actually making the request, and provides an error response. If you have
65598	// the required permissions, the error response is DryRunOperation. Otherwise,
65599	// it is UnauthorizedOperation.
65600	DryRun *bool `type:"boolean"`
65601
65602	// The filters. The possible values are:
65603	//
65604	//    * availability-zone: The Availability Zone of the snapshot.
65605	//
65606	//    * owner-id: The ID of the AWS account that enabled fast snapshot restore
65607	//    on the snapshot.
65608	//
65609	//    * snapshot-id: The ID of the snapshot.
65610	//
65611	//    * state: The state of fast snapshot restores for the snapshot (enabling
65612	//    | optimizing | enabled | disabling | disabled).
65613	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
65614
65615	// The maximum number of results to return with a single call. To retrieve the
65616	// remaining results, make another call with the returned nextToken value.
65617	MaxResults *int64 `type:"integer"`
65618
65619	// The token for the next page of results.
65620	NextToken *string `type:"string"`
65621}
65622
65623// String returns the string representation
65624func (s DescribeFastSnapshotRestoresInput) String() string {
65625	return awsutil.Prettify(s)
65626}
65627
65628// GoString returns the string representation
65629func (s DescribeFastSnapshotRestoresInput) GoString() string {
65630	return s.String()
65631}
65632
65633// SetDryRun sets the DryRun field's value.
65634func (s *DescribeFastSnapshotRestoresInput) SetDryRun(v bool) *DescribeFastSnapshotRestoresInput {
65635	s.DryRun = &v
65636	return s
65637}
65638
65639// SetFilters sets the Filters field's value.
65640func (s *DescribeFastSnapshotRestoresInput) SetFilters(v []*Filter) *DescribeFastSnapshotRestoresInput {
65641	s.Filters = v
65642	return s
65643}
65644
65645// SetMaxResults sets the MaxResults field's value.
65646func (s *DescribeFastSnapshotRestoresInput) SetMaxResults(v int64) *DescribeFastSnapshotRestoresInput {
65647	s.MaxResults = &v
65648	return s
65649}
65650
65651// SetNextToken sets the NextToken field's value.
65652func (s *DescribeFastSnapshotRestoresInput) SetNextToken(v string) *DescribeFastSnapshotRestoresInput {
65653	s.NextToken = &v
65654	return s
65655}
65656
65657type DescribeFastSnapshotRestoresOutput struct {
65658	_ struct{} `type:"structure"`
65659
65660	// Information about the state of fast snapshot restores.
65661	FastSnapshotRestores []*DescribeFastSnapshotRestoreSuccessItem `locationName:"fastSnapshotRestoreSet" locationNameList:"item" type:"list"`
65662
65663	// The token to use to retrieve the next page of results. This value is null
65664	// when there are no more results to return.
65665	NextToken *string `locationName:"nextToken" type:"string"`
65666}
65667
65668// String returns the string representation
65669func (s DescribeFastSnapshotRestoresOutput) String() string {
65670	return awsutil.Prettify(s)
65671}
65672
65673// GoString returns the string representation
65674func (s DescribeFastSnapshotRestoresOutput) GoString() string {
65675	return s.String()
65676}
65677
65678// SetFastSnapshotRestores sets the FastSnapshotRestores field's value.
65679func (s *DescribeFastSnapshotRestoresOutput) SetFastSnapshotRestores(v []*DescribeFastSnapshotRestoreSuccessItem) *DescribeFastSnapshotRestoresOutput {
65680	s.FastSnapshotRestores = v
65681	return s
65682}
65683
65684// SetNextToken sets the NextToken field's value.
65685func (s *DescribeFastSnapshotRestoresOutput) SetNextToken(v string) *DescribeFastSnapshotRestoresOutput {
65686	s.NextToken = &v
65687	return s
65688}
65689
65690// Describes the instances that could not be launched by the fleet.
65691type DescribeFleetError struct {
65692	_ struct{} `type:"structure"`
65693
65694	// The error code that indicates why the instance could not be launched. For
65695	// more information about error codes, see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html).
65696	ErrorCode *string `locationName:"errorCode" type:"string"`
65697
65698	// The error message that describes why the instance could not be launched.
65699	// For more information about error messages, see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html).
65700	ErrorMessage *string `locationName:"errorMessage" type:"string"`
65701
65702	// The launch templates and overrides that were used for launching the instances.
65703	// The values that you specify in the Overrides replace the values in the launch
65704	// template.
65705	LaunchTemplateAndOverrides *LaunchTemplateAndOverridesResponse `locationName:"launchTemplateAndOverrides" type:"structure"`
65706
65707	// Indicates if the instance that could not be launched was a Spot Instance
65708	// or On-Demand Instance.
65709	Lifecycle *string `locationName:"lifecycle" type:"string" enum:"InstanceLifecycle"`
65710}
65711
65712// String returns the string representation
65713func (s DescribeFleetError) String() string {
65714	return awsutil.Prettify(s)
65715}
65716
65717// GoString returns the string representation
65718func (s DescribeFleetError) GoString() string {
65719	return s.String()
65720}
65721
65722// SetErrorCode sets the ErrorCode field's value.
65723func (s *DescribeFleetError) SetErrorCode(v string) *DescribeFleetError {
65724	s.ErrorCode = &v
65725	return s
65726}
65727
65728// SetErrorMessage sets the ErrorMessage field's value.
65729func (s *DescribeFleetError) SetErrorMessage(v string) *DescribeFleetError {
65730	s.ErrorMessage = &v
65731	return s
65732}
65733
65734// SetLaunchTemplateAndOverrides sets the LaunchTemplateAndOverrides field's value.
65735func (s *DescribeFleetError) SetLaunchTemplateAndOverrides(v *LaunchTemplateAndOverridesResponse) *DescribeFleetError {
65736	s.LaunchTemplateAndOverrides = v
65737	return s
65738}
65739
65740// SetLifecycle sets the Lifecycle field's value.
65741func (s *DescribeFleetError) SetLifecycle(v string) *DescribeFleetError {
65742	s.Lifecycle = &v
65743	return s
65744}
65745
65746type DescribeFleetHistoryInput struct {
65747	_ struct{} `type:"structure"`
65748
65749	// Checks whether you have the required permissions for the action, without
65750	// actually making the request, and provides an error response. If you have
65751	// the required permissions, the error response is DryRunOperation. Otherwise,
65752	// it is UnauthorizedOperation.
65753	DryRun *bool `type:"boolean"`
65754
65755	// The type of events to describe. By default, all events are described.
65756	EventType *string `type:"string" enum:"FleetEventType"`
65757
65758	// The ID of the EC2 Fleet.
65759	//
65760	// FleetId is a required field
65761	FleetId *string `type:"string" required:"true"`
65762
65763	// The maximum number of results to return in a single call. Specify a value
65764	// between 1 and 1000. The default value is 1000. To retrieve the remaining
65765	// results, make another call with the returned NextToken value.
65766	MaxResults *int64 `type:"integer"`
65767
65768	// The token for the next set of results.
65769	NextToken *string `type:"string"`
65770
65771	// The start date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
65772	//
65773	// StartTime is a required field
65774	StartTime *time.Time `type:"timestamp" required:"true"`
65775}
65776
65777// String returns the string representation
65778func (s DescribeFleetHistoryInput) String() string {
65779	return awsutil.Prettify(s)
65780}
65781
65782// GoString returns the string representation
65783func (s DescribeFleetHistoryInput) GoString() string {
65784	return s.String()
65785}
65786
65787// Validate inspects the fields of the type to determine if they are valid.
65788func (s *DescribeFleetHistoryInput) Validate() error {
65789	invalidParams := request.ErrInvalidParams{Context: "DescribeFleetHistoryInput"}
65790	if s.FleetId == nil {
65791		invalidParams.Add(request.NewErrParamRequired("FleetId"))
65792	}
65793	if s.StartTime == nil {
65794		invalidParams.Add(request.NewErrParamRequired("StartTime"))
65795	}
65796
65797	if invalidParams.Len() > 0 {
65798		return invalidParams
65799	}
65800	return nil
65801}
65802
65803// SetDryRun sets the DryRun field's value.
65804func (s *DescribeFleetHistoryInput) SetDryRun(v bool) *DescribeFleetHistoryInput {
65805	s.DryRun = &v
65806	return s
65807}
65808
65809// SetEventType sets the EventType field's value.
65810func (s *DescribeFleetHistoryInput) SetEventType(v string) *DescribeFleetHistoryInput {
65811	s.EventType = &v
65812	return s
65813}
65814
65815// SetFleetId sets the FleetId field's value.
65816func (s *DescribeFleetHistoryInput) SetFleetId(v string) *DescribeFleetHistoryInput {
65817	s.FleetId = &v
65818	return s
65819}
65820
65821// SetMaxResults sets the MaxResults field's value.
65822func (s *DescribeFleetHistoryInput) SetMaxResults(v int64) *DescribeFleetHistoryInput {
65823	s.MaxResults = &v
65824	return s
65825}
65826
65827// SetNextToken sets the NextToken field's value.
65828func (s *DescribeFleetHistoryInput) SetNextToken(v string) *DescribeFleetHistoryInput {
65829	s.NextToken = &v
65830	return s
65831}
65832
65833// SetStartTime sets the StartTime field's value.
65834func (s *DescribeFleetHistoryInput) SetStartTime(v time.Time) *DescribeFleetHistoryInput {
65835	s.StartTime = &v
65836	return s
65837}
65838
65839type DescribeFleetHistoryOutput struct {
65840	_ struct{} `type:"structure"`
65841
65842	// The ID of the EC Fleet.
65843	FleetId *string `locationName:"fleetId" type:"string"`
65844
65845	// Information about the events in the history of the EC2 Fleet.
65846	HistoryRecords []*HistoryRecordEntry `locationName:"historyRecordSet" locationNameList:"item" type:"list"`
65847
65848	// The last date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
65849	// All records up to this time were retrieved.
65850	//
65851	// If nextToken indicates that there are more results, this value is not present.
65852	LastEvaluatedTime *time.Time `locationName:"lastEvaluatedTime" type:"timestamp"`
65853
65854	// The token for the next set of results.
65855	NextToken *string `locationName:"nextToken" type:"string"`
65856
65857	// The start date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
65858	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
65859}
65860
65861// String returns the string representation
65862func (s DescribeFleetHistoryOutput) String() string {
65863	return awsutil.Prettify(s)
65864}
65865
65866// GoString returns the string representation
65867func (s DescribeFleetHistoryOutput) GoString() string {
65868	return s.String()
65869}
65870
65871// SetFleetId sets the FleetId field's value.
65872func (s *DescribeFleetHistoryOutput) SetFleetId(v string) *DescribeFleetHistoryOutput {
65873	s.FleetId = &v
65874	return s
65875}
65876
65877// SetHistoryRecords sets the HistoryRecords field's value.
65878func (s *DescribeFleetHistoryOutput) SetHistoryRecords(v []*HistoryRecordEntry) *DescribeFleetHistoryOutput {
65879	s.HistoryRecords = v
65880	return s
65881}
65882
65883// SetLastEvaluatedTime sets the LastEvaluatedTime field's value.
65884func (s *DescribeFleetHistoryOutput) SetLastEvaluatedTime(v time.Time) *DescribeFleetHistoryOutput {
65885	s.LastEvaluatedTime = &v
65886	return s
65887}
65888
65889// SetNextToken sets the NextToken field's value.
65890func (s *DescribeFleetHistoryOutput) SetNextToken(v string) *DescribeFleetHistoryOutput {
65891	s.NextToken = &v
65892	return s
65893}
65894
65895// SetStartTime sets the StartTime field's value.
65896func (s *DescribeFleetHistoryOutput) SetStartTime(v time.Time) *DescribeFleetHistoryOutput {
65897	s.StartTime = &v
65898	return s
65899}
65900
65901type DescribeFleetInstancesInput struct {
65902	_ struct{} `type:"structure"`
65903
65904	// Checks whether you have the required permissions for the action, without
65905	// actually making the request, and provides an error response. If you have
65906	// the required permissions, the error response is DryRunOperation. Otherwise,
65907	// it is UnauthorizedOperation.
65908	DryRun *bool `type:"boolean"`
65909
65910	// The filters.
65911	//
65912	//    * instance-type - The instance type.
65913	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
65914
65915	// The ID of the EC2 Fleet.
65916	//
65917	// FleetId is a required field
65918	FleetId *string `type:"string" required:"true"`
65919
65920	// The maximum number of results to return in a single call. Specify a value
65921	// between 1 and 1000. The default value is 1000. To retrieve the remaining
65922	// results, make another call with the returned NextToken value.
65923	MaxResults *int64 `type:"integer"`
65924
65925	// The token for the next set of results.
65926	NextToken *string `type:"string"`
65927}
65928
65929// String returns the string representation
65930func (s DescribeFleetInstancesInput) String() string {
65931	return awsutil.Prettify(s)
65932}
65933
65934// GoString returns the string representation
65935func (s DescribeFleetInstancesInput) GoString() string {
65936	return s.String()
65937}
65938
65939// Validate inspects the fields of the type to determine if they are valid.
65940func (s *DescribeFleetInstancesInput) Validate() error {
65941	invalidParams := request.ErrInvalidParams{Context: "DescribeFleetInstancesInput"}
65942	if s.FleetId == nil {
65943		invalidParams.Add(request.NewErrParamRequired("FleetId"))
65944	}
65945
65946	if invalidParams.Len() > 0 {
65947		return invalidParams
65948	}
65949	return nil
65950}
65951
65952// SetDryRun sets the DryRun field's value.
65953func (s *DescribeFleetInstancesInput) SetDryRun(v bool) *DescribeFleetInstancesInput {
65954	s.DryRun = &v
65955	return s
65956}
65957
65958// SetFilters sets the Filters field's value.
65959func (s *DescribeFleetInstancesInput) SetFilters(v []*Filter) *DescribeFleetInstancesInput {
65960	s.Filters = v
65961	return s
65962}
65963
65964// SetFleetId sets the FleetId field's value.
65965func (s *DescribeFleetInstancesInput) SetFleetId(v string) *DescribeFleetInstancesInput {
65966	s.FleetId = &v
65967	return s
65968}
65969
65970// SetMaxResults sets the MaxResults field's value.
65971func (s *DescribeFleetInstancesInput) SetMaxResults(v int64) *DescribeFleetInstancesInput {
65972	s.MaxResults = &v
65973	return s
65974}
65975
65976// SetNextToken sets the NextToken field's value.
65977func (s *DescribeFleetInstancesInput) SetNextToken(v string) *DescribeFleetInstancesInput {
65978	s.NextToken = &v
65979	return s
65980}
65981
65982type DescribeFleetInstancesOutput struct {
65983	_ struct{} `type:"structure"`
65984
65985	// The running instances. This list is refreshed periodically and might be out
65986	// of date.
65987	ActiveInstances []*ActiveInstance `locationName:"activeInstanceSet" locationNameList:"item" type:"list"`
65988
65989	// The ID of the EC2 Fleet.
65990	FleetId *string `locationName:"fleetId" type:"string"`
65991
65992	// The token for the next set of results.
65993	NextToken *string `locationName:"nextToken" type:"string"`
65994}
65995
65996// String returns the string representation
65997func (s DescribeFleetInstancesOutput) String() string {
65998	return awsutil.Prettify(s)
65999}
66000
66001// GoString returns the string representation
66002func (s DescribeFleetInstancesOutput) GoString() string {
66003	return s.String()
66004}
66005
66006// SetActiveInstances sets the ActiveInstances field's value.
66007func (s *DescribeFleetInstancesOutput) SetActiveInstances(v []*ActiveInstance) *DescribeFleetInstancesOutput {
66008	s.ActiveInstances = v
66009	return s
66010}
66011
66012// SetFleetId sets the FleetId field's value.
66013func (s *DescribeFleetInstancesOutput) SetFleetId(v string) *DescribeFleetInstancesOutput {
66014	s.FleetId = &v
66015	return s
66016}
66017
66018// SetNextToken sets the NextToken field's value.
66019func (s *DescribeFleetInstancesOutput) SetNextToken(v string) *DescribeFleetInstancesOutput {
66020	s.NextToken = &v
66021	return s
66022}
66023
66024type DescribeFleetsInput struct {
66025	_ struct{} `type:"structure"`
66026
66027	// Checks whether you have the required permissions for the action, without
66028	// actually making the request, and provides an error response. If you have
66029	// the required permissions, the error response is DryRunOperation. Otherwise,
66030	// it is UnauthorizedOperation.
66031	DryRun *bool `type:"boolean"`
66032
66033	// The filters.
66034	//
66035	//    * activity-status - The progress of the EC2 Fleet ( error | pending-fulfillment
66036	//    | pending-termination | fulfilled).
66037	//
66038	//    * excess-capacity-termination-policy - Indicates whether to terminate
66039	//    running instances if the target capacity is decreased below the current
66040	//    EC2 Fleet size (true | false).
66041	//
66042	//    * fleet-state - The state of the EC2 Fleet (submitted | active | deleted
66043	//    | failed | deleted-running | deleted-terminating | modifying).
66044	//
66045	//    * replace-unhealthy-instances - Indicates whether EC2 Fleet should replace
66046	//    unhealthy instances (true | false).
66047	//
66048	//    * type - The type of request (instant | request | maintain).
66049	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
66050
66051	// The ID of the EC2 Fleets.
66052	FleetIds []*string `locationName:"FleetId" type:"list"`
66053
66054	// The maximum number of results to return in a single call. Specify a value
66055	// between 1 and 1000. The default value is 1000. To retrieve the remaining
66056	// results, make another call with the returned NextToken value.
66057	MaxResults *int64 `type:"integer"`
66058
66059	// The token for the next set of results.
66060	NextToken *string `type:"string"`
66061}
66062
66063// String returns the string representation
66064func (s DescribeFleetsInput) String() string {
66065	return awsutil.Prettify(s)
66066}
66067
66068// GoString returns the string representation
66069func (s DescribeFleetsInput) GoString() string {
66070	return s.String()
66071}
66072
66073// SetDryRun sets the DryRun field's value.
66074func (s *DescribeFleetsInput) SetDryRun(v bool) *DescribeFleetsInput {
66075	s.DryRun = &v
66076	return s
66077}
66078
66079// SetFilters sets the Filters field's value.
66080func (s *DescribeFleetsInput) SetFilters(v []*Filter) *DescribeFleetsInput {
66081	s.Filters = v
66082	return s
66083}
66084
66085// SetFleetIds sets the FleetIds field's value.
66086func (s *DescribeFleetsInput) SetFleetIds(v []*string) *DescribeFleetsInput {
66087	s.FleetIds = v
66088	return s
66089}
66090
66091// SetMaxResults sets the MaxResults field's value.
66092func (s *DescribeFleetsInput) SetMaxResults(v int64) *DescribeFleetsInput {
66093	s.MaxResults = &v
66094	return s
66095}
66096
66097// SetNextToken sets the NextToken field's value.
66098func (s *DescribeFleetsInput) SetNextToken(v string) *DescribeFleetsInput {
66099	s.NextToken = &v
66100	return s
66101}
66102
66103// Describes the instances that were launched by the fleet.
66104type DescribeFleetsInstances struct {
66105	_ struct{} `type:"structure"`
66106
66107	// The IDs of the instances.
66108	InstanceIds []*string `locationName:"instanceIds" locationNameList:"item" type:"list"`
66109
66110	// The instance type.
66111	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
66112
66113	// The launch templates and overrides that were used for launching the instances.
66114	// The values that you specify in the Overrides replace the values in the launch
66115	// template.
66116	LaunchTemplateAndOverrides *LaunchTemplateAndOverridesResponse `locationName:"launchTemplateAndOverrides" type:"structure"`
66117
66118	// Indicates if the instance that was launched is a Spot Instance or On-Demand
66119	// Instance.
66120	Lifecycle *string `locationName:"lifecycle" type:"string" enum:"InstanceLifecycle"`
66121
66122	// The value is Windows for Windows instances. Otherwise, the value is blank.
66123	Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
66124}
66125
66126// String returns the string representation
66127func (s DescribeFleetsInstances) String() string {
66128	return awsutil.Prettify(s)
66129}
66130
66131// GoString returns the string representation
66132func (s DescribeFleetsInstances) GoString() string {
66133	return s.String()
66134}
66135
66136// SetInstanceIds sets the InstanceIds field's value.
66137func (s *DescribeFleetsInstances) SetInstanceIds(v []*string) *DescribeFleetsInstances {
66138	s.InstanceIds = v
66139	return s
66140}
66141
66142// SetInstanceType sets the InstanceType field's value.
66143func (s *DescribeFleetsInstances) SetInstanceType(v string) *DescribeFleetsInstances {
66144	s.InstanceType = &v
66145	return s
66146}
66147
66148// SetLaunchTemplateAndOverrides sets the LaunchTemplateAndOverrides field's value.
66149func (s *DescribeFleetsInstances) SetLaunchTemplateAndOverrides(v *LaunchTemplateAndOverridesResponse) *DescribeFleetsInstances {
66150	s.LaunchTemplateAndOverrides = v
66151	return s
66152}
66153
66154// SetLifecycle sets the Lifecycle field's value.
66155func (s *DescribeFleetsInstances) SetLifecycle(v string) *DescribeFleetsInstances {
66156	s.Lifecycle = &v
66157	return s
66158}
66159
66160// SetPlatform sets the Platform field's value.
66161func (s *DescribeFleetsInstances) SetPlatform(v string) *DescribeFleetsInstances {
66162	s.Platform = &v
66163	return s
66164}
66165
66166type DescribeFleetsOutput struct {
66167	_ struct{} `type:"structure"`
66168
66169	// Information about the EC2 Fleets.
66170	Fleets []*FleetData `locationName:"fleetSet" locationNameList:"item" type:"list"`
66171
66172	// The token for the next set of results.
66173	NextToken *string `locationName:"nextToken" type:"string"`
66174}
66175
66176// String returns the string representation
66177func (s DescribeFleetsOutput) String() string {
66178	return awsutil.Prettify(s)
66179}
66180
66181// GoString returns the string representation
66182func (s DescribeFleetsOutput) GoString() string {
66183	return s.String()
66184}
66185
66186// SetFleets sets the Fleets field's value.
66187func (s *DescribeFleetsOutput) SetFleets(v []*FleetData) *DescribeFleetsOutput {
66188	s.Fleets = v
66189	return s
66190}
66191
66192// SetNextToken sets the NextToken field's value.
66193func (s *DescribeFleetsOutput) SetNextToken(v string) *DescribeFleetsOutput {
66194	s.NextToken = &v
66195	return s
66196}
66197
66198type DescribeFlowLogsInput struct {
66199	_ struct{} `type:"structure"`
66200
66201	// Checks whether you have the required permissions for the action, without
66202	// actually making the request, and provides an error response. If you have
66203	// the required permissions, the error response is DryRunOperation. Otherwise,
66204	// it is UnauthorizedOperation.
66205	DryRun *bool `type:"boolean"`
66206
66207	// One or more filters.
66208	//
66209	//    * deliver-log-status - The status of the logs delivery (SUCCESS | FAILED).
66210	//
66211	//    * log-destination-type - The type of destination to which the flow log
66212	//    publishes data. Possible destination types include cloud-watch-logs and
66213	//    s3.
66214	//
66215	//    * flow-log-id - The ID of the flow log.
66216	//
66217	//    * log-group-name - The name of the log group.
66218	//
66219	//    * resource-id - The ID of the VPC, subnet, or network interface.
66220	//
66221	//    * traffic-type - The type of traffic (ACCEPT | REJECT | ALL).
66222	//
66223	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
66224	//    Use the tag key in the filter name and the tag value as the filter value.
66225	//    For example, to find all resources that have a tag with the key Owner
66226	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
66227	//    the filter value.
66228	//
66229	//    * tag-key - The key of a tag assigned to the resource. Use this filter
66230	//    to find all resources assigned a tag with a specific key, regardless of
66231	//    the tag value.
66232	Filter []*Filter `locationNameList:"Filter" type:"list"`
66233
66234	// One or more flow log IDs.
66235	//
66236	// Constraint: Maximum of 1000 flow log IDs.
66237	FlowLogIds []*string `locationName:"FlowLogId" locationNameList:"item" type:"list"`
66238
66239	// The maximum number of results to return with a single call. To retrieve the
66240	// remaining results, make another call with the returned nextToken value.
66241	MaxResults *int64 `type:"integer"`
66242
66243	// The token for the next page of results.
66244	NextToken *string `type:"string"`
66245}
66246
66247// String returns the string representation
66248func (s DescribeFlowLogsInput) String() string {
66249	return awsutil.Prettify(s)
66250}
66251
66252// GoString returns the string representation
66253func (s DescribeFlowLogsInput) GoString() string {
66254	return s.String()
66255}
66256
66257// SetDryRun sets the DryRun field's value.
66258func (s *DescribeFlowLogsInput) SetDryRun(v bool) *DescribeFlowLogsInput {
66259	s.DryRun = &v
66260	return s
66261}
66262
66263// SetFilter sets the Filter field's value.
66264func (s *DescribeFlowLogsInput) SetFilter(v []*Filter) *DescribeFlowLogsInput {
66265	s.Filter = v
66266	return s
66267}
66268
66269// SetFlowLogIds sets the FlowLogIds field's value.
66270func (s *DescribeFlowLogsInput) SetFlowLogIds(v []*string) *DescribeFlowLogsInput {
66271	s.FlowLogIds = v
66272	return s
66273}
66274
66275// SetMaxResults sets the MaxResults field's value.
66276func (s *DescribeFlowLogsInput) SetMaxResults(v int64) *DescribeFlowLogsInput {
66277	s.MaxResults = &v
66278	return s
66279}
66280
66281// SetNextToken sets the NextToken field's value.
66282func (s *DescribeFlowLogsInput) SetNextToken(v string) *DescribeFlowLogsInput {
66283	s.NextToken = &v
66284	return s
66285}
66286
66287type DescribeFlowLogsOutput struct {
66288	_ struct{} `type:"structure"`
66289
66290	// Information about the flow logs.
66291	FlowLogs []*FlowLog `locationName:"flowLogSet" locationNameList:"item" type:"list"`
66292
66293	// The token to use to retrieve the next page of results. This value is null
66294	// when there are no more results to return.
66295	NextToken *string `locationName:"nextToken" type:"string"`
66296}
66297
66298// String returns the string representation
66299func (s DescribeFlowLogsOutput) String() string {
66300	return awsutil.Prettify(s)
66301}
66302
66303// GoString returns the string representation
66304func (s DescribeFlowLogsOutput) GoString() string {
66305	return s.String()
66306}
66307
66308// SetFlowLogs sets the FlowLogs field's value.
66309func (s *DescribeFlowLogsOutput) SetFlowLogs(v []*FlowLog) *DescribeFlowLogsOutput {
66310	s.FlowLogs = v
66311	return s
66312}
66313
66314// SetNextToken sets the NextToken field's value.
66315func (s *DescribeFlowLogsOutput) SetNextToken(v string) *DescribeFlowLogsOutput {
66316	s.NextToken = &v
66317	return s
66318}
66319
66320type DescribeFpgaImageAttributeInput struct {
66321	_ struct{} `type:"structure"`
66322
66323	// The AFI attribute.
66324	//
66325	// Attribute is a required field
66326	Attribute *string `type:"string" required:"true" enum:"FpgaImageAttributeName"`
66327
66328	// Checks whether you have the required permissions for the action, without
66329	// actually making the request, and provides an error response. If you have
66330	// the required permissions, the error response is DryRunOperation. Otherwise,
66331	// it is UnauthorizedOperation.
66332	DryRun *bool `type:"boolean"`
66333
66334	// The ID of the AFI.
66335	//
66336	// FpgaImageId is a required field
66337	FpgaImageId *string `type:"string" required:"true"`
66338}
66339
66340// String returns the string representation
66341func (s DescribeFpgaImageAttributeInput) String() string {
66342	return awsutil.Prettify(s)
66343}
66344
66345// GoString returns the string representation
66346func (s DescribeFpgaImageAttributeInput) GoString() string {
66347	return s.String()
66348}
66349
66350// Validate inspects the fields of the type to determine if they are valid.
66351func (s *DescribeFpgaImageAttributeInput) Validate() error {
66352	invalidParams := request.ErrInvalidParams{Context: "DescribeFpgaImageAttributeInput"}
66353	if s.Attribute == nil {
66354		invalidParams.Add(request.NewErrParamRequired("Attribute"))
66355	}
66356	if s.FpgaImageId == nil {
66357		invalidParams.Add(request.NewErrParamRequired("FpgaImageId"))
66358	}
66359
66360	if invalidParams.Len() > 0 {
66361		return invalidParams
66362	}
66363	return nil
66364}
66365
66366// SetAttribute sets the Attribute field's value.
66367func (s *DescribeFpgaImageAttributeInput) SetAttribute(v string) *DescribeFpgaImageAttributeInput {
66368	s.Attribute = &v
66369	return s
66370}
66371
66372// SetDryRun sets the DryRun field's value.
66373func (s *DescribeFpgaImageAttributeInput) SetDryRun(v bool) *DescribeFpgaImageAttributeInput {
66374	s.DryRun = &v
66375	return s
66376}
66377
66378// SetFpgaImageId sets the FpgaImageId field's value.
66379func (s *DescribeFpgaImageAttributeInput) SetFpgaImageId(v string) *DescribeFpgaImageAttributeInput {
66380	s.FpgaImageId = &v
66381	return s
66382}
66383
66384type DescribeFpgaImageAttributeOutput struct {
66385	_ struct{} `type:"structure"`
66386
66387	// Information about the attribute.
66388	FpgaImageAttribute *FpgaImageAttribute `locationName:"fpgaImageAttribute" type:"structure"`
66389}
66390
66391// String returns the string representation
66392func (s DescribeFpgaImageAttributeOutput) String() string {
66393	return awsutil.Prettify(s)
66394}
66395
66396// GoString returns the string representation
66397func (s DescribeFpgaImageAttributeOutput) GoString() string {
66398	return s.String()
66399}
66400
66401// SetFpgaImageAttribute sets the FpgaImageAttribute field's value.
66402func (s *DescribeFpgaImageAttributeOutput) SetFpgaImageAttribute(v *FpgaImageAttribute) *DescribeFpgaImageAttributeOutput {
66403	s.FpgaImageAttribute = v
66404	return s
66405}
66406
66407type DescribeFpgaImagesInput struct {
66408	_ struct{} `type:"structure"`
66409
66410	// Checks whether you have the required permissions for the action, without
66411	// actually making the request, and provides an error response. If you have
66412	// the required permissions, the error response is DryRunOperation. Otherwise,
66413	// it is UnauthorizedOperation.
66414	DryRun *bool `type:"boolean"`
66415
66416	// The filters.
66417	//
66418	//    * create-time - The creation time of the AFI.
66419	//
66420	//    * fpga-image-id - The FPGA image identifier (AFI ID).
66421	//
66422	//    * fpga-image-global-id - The global FPGA image identifier (AGFI ID).
66423	//
66424	//    * name - The name of the AFI.
66425	//
66426	//    * owner-id - The AWS account ID of the AFI owner.
66427	//
66428	//    * product-code - The product code.
66429	//
66430	//    * shell-version - The version of the AWS Shell that was used to create
66431	//    the bitstream.
66432	//
66433	//    * state - The state of the AFI (pending | failed | available | unavailable).
66434	//
66435	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
66436	//    Use the tag key in the filter name and the tag value as the filter value.
66437	//    For example, to find all resources that have a tag with the key Owner
66438	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
66439	//    the filter value.
66440	//
66441	//    * tag-key - The key of a tag assigned to the resource. Use this filter
66442	//    to find all resources assigned a tag with a specific key, regardless of
66443	//    the tag value.
66444	//
66445	//    * update-time - The time of the most recent update.
66446	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
66447
66448	// The AFI IDs.
66449	FpgaImageIds []*string `locationName:"FpgaImageId" locationNameList:"item" type:"list"`
66450
66451	// The maximum number of results to return in a single call.
66452	MaxResults *int64 `min:"5" type:"integer"`
66453
66454	// The token to retrieve the next page of results.
66455	NextToken *string `type:"string"`
66456
66457	// Filters the AFI by owner. Specify an AWS account ID, self (owner is the sender
66458	// of the request), or an AWS owner alias (valid values are amazon | aws-marketplace).
66459	Owners []*string `locationName:"Owner" locationNameList:"Owner" type:"list"`
66460}
66461
66462// String returns the string representation
66463func (s DescribeFpgaImagesInput) String() string {
66464	return awsutil.Prettify(s)
66465}
66466
66467// GoString returns the string representation
66468func (s DescribeFpgaImagesInput) GoString() string {
66469	return s.String()
66470}
66471
66472// Validate inspects the fields of the type to determine if they are valid.
66473func (s *DescribeFpgaImagesInput) Validate() error {
66474	invalidParams := request.ErrInvalidParams{Context: "DescribeFpgaImagesInput"}
66475	if s.MaxResults != nil && *s.MaxResults < 5 {
66476		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
66477	}
66478
66479	if invalidParams.Len() > 0 {
66480		return invalidParams
66481	}
66482	return nil
66483}
66484
66485// SetDryRun sets the DryRun field's value.
66486func (s *DescribeFpgaImagesInput) SetDryRun(v bool) *DescribeFpgaImagesInput {
66487	s.DryRun = &v
66488	return s
66489}
66490
66491// SetFilters sets the Filters field's value.
66492func (s *DescribeFpgaImagesInput) SetFilters(v []*Filter) *DescribeFpgaImagesInput {
66493	s.Filters = v
66494	return s
66495}
66496
66497// SetFpgaImageIds sets the FpgaImageIds field's value.
66498func (s *DescribeFpgaImagesInput) SetFpgaImageIds(v []*string) *DescribeFpgaImagesInput {
66499	s.FpgaImageIds = v
66500	return s
66501}
66502
66503// SetMaxResults sets the MaxResults field's value.
66504func (s *DescribeFpgaImagesInput) SetMaxResults(v int64) *DescribeFpgaImagesInput {
66505	s.MaxResults = &v
66506	return s
66507}
66508
66509// SetNextToken sets the NextToken field's value.
66510func (s *DescribeFpgaImagesInput) SetNextToken(v string) *DescribeFpgaImagesInput {
66511	s.NextToken = &v
66512	return s
66513}
66514
66515// SetOwners sets the Owners field's value.
66516func (s *DescribeFpgaImagesInput) SetOwners(v []*string) *DescribeFpgaImagesInput {
66517	s.Owners = v
66518	return s
66519}
66520
66521type DescribeFpgaImagesOutput struct {
66522	_ struct{} `type:"structure"`
66523
66524	// Information about the FPGA images.
66525	FpgaImages []*FpgaImage `locationName:"fpgaImageSet" locationNameList:"item" type:"list"`
66526
66527	// The token to use to retrieve the next page of results. This value is null
66528	// when there are no more results to return.
66529	NextToken *string `locationName:"nextToken" type:"string"`
66530}
66531
66532// String returns the string representation
66533func (s DescribeFpgaImagesOutput) String() string {
66534	return awsutil.Prettify(s)
66535}
66536
66537// GoString returns the string representation
66538func (s DescribeFpgaImagesOutput) GoString() string {
66539	return s.String()
66540}
66541
66542// SetFpgaImages sets the FpgaImages field's value.
66543func (s *DescribeFpgaImagesOutput) SetFpgaImages(v []*FpgaImage) *DescribeFpgaImagesOutput {
66544	s.FpgaImages = v
66545	return s
66546}
66547
66548// SetNextToken sets the NextToken field's value.
66549func (s *DescribeFpgaImagesOutput) SetNextToken(v string) *DescribeFpgaImagesOutput {
66550	s.NextToken = &v
66551	return s
66552}
66553
66554type DescribeHostReservationOfferingsInput struct {
66555	_ struct{} `type:"structure"`
66556
66557	// The filters.
66558	//
66559	//    * instance-family - The instance family of the offering (for example,
66560	//    m4).
66561	//
66562	//    * payment-option - The payment option (NoUpfront | PartialUpfront | AllUpfront).
66563	Filter []*Filter `locationNameList:"Filter" type:"list"`
66564
66565	// This is the maximum duration of the reservation to purchase, specified in
66566	// seconds. Reservations are available in one-year and three-year terms. The
66567	// number of seconds specified must be the number of seconds in a year (365x24x60x60)
66568	// times one of the supported durations (1 or 3). For example, specify 94608000
66569	// for three years.
66570	MaxDuration *int64 `type:"integer"`
66571
66572	// The maximum number of results to return for the request in a single page.
66573	// The remaining results can be seen by sending another request with the returned
66574	// nextToken value. This value can be between 5 and 500. If maxResults is given
66575	// a larger value than 500, you receive an error.
66576	MaxResults *int64 `min:"5" type:"integer"`
66577
66578	// This is the minimum duration of the reservation you'd like to purchase, specified
66579	// in seconds. Reservations are available in one-year and three-year terms.
66580	// The number of seconds specified must be the number of seconds in a year (365x24x60x60)
66581	// times one of the supported durations (1 or 3). For example, specify 31536000
66582	// for one year.
66583	MinDuration *int64 `type:"integer"`
66584
66585	// The token to use to retrieve the next page of results.
66586	NextToken *string `type:"string"`
66587
66588	// The ID of the reservation offering.
66589	OfferingId *string `type:"string"`
66590}
66591
66592// String returns the string representation
66593func (s DescribeHostReservationOfferingsInput) String() string {
66594	return awsutil.Prettify(s)
66595}
66596
66597// GoString returns the string representation
66598func (s DescribeHostReservationOfferingsInput) GoString() string {
66599	return s.String()
66600}
66601
66602// Validate inspects the fields of the type to determine if they are valid.
66603func (s *DescribeHostReservationOfferingsInput) Validate() error {
66604	invalidParams := request.ErrInvalidParams{Context: "DescribeHostReservationOfferingsInput"}
66605	if s.MaxResults != nil && *s.MaxResults < 5 {
66606		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
66607	}
66608
66609	if invalidParams.Len() > 0 {
66610		return invalidParams
66611	}
66612	return nil
66613}
66614
66615// SetFilter sets the Filter field's value.
66616func (s *DescribeHostReservationOfferingsInput) SetFilter(v []*Filter) *DescribeHostReservationOfferingsInput {
66617	s.Filter = v
66618	return s
66619}
66620
66621// SetMaxDuration sets the MaxDuration field's value.
66622func (s *DescribeHostReservationOfferingsInput) SetMaxDuration(v int64) *DescribeHostReservationOfferingsInput {
66623	s.MaxDuration = &v
66624	return s
66625}
66626
66627// SetMaxResults sets the MaxResults field's value.
66628func (s *DescribeHostReservationOfferingsInput) SetMaxResults(v int64) *DescribeHostReservationOfferingsInput {
66629	s.MaxResults = &v
66630	return s
66631}
66632
66633// SetMinDuration sets the MinDuration field's value.
66634func (s *DescribeHostReservationOfferingsInput) SetMinDuration(v int64) *DescribeHostReservationOfferingsInput {
66635	s.MinDuration = &v
66636	return s
66637}
66638
66639// SetNextToken sets the NextToken field's value.
66640func (s *DescribeHostReservationOfferingsInput) SetNextToken(v string) *DescribeHostReservationOfferingsInput {
66641	s.NextToken = &v
66642	return s
66643}
66644
66645// SetOfferingId sets the OfferingId field's value.
66646func (s *DescribeHostReservationOfferingsInput) SetOfferingId(v string) *DescribeHostReservationOfferingsInput {
66647	s.OfferingId = &v
66648	return s
66649}
66650
66651type DescribeHostReservationOfferingsOutput struct {
66652	_ struct{} `type:"structure"`
66653
66654	// The token to use to retrieve the next page of results. This value is null
66655	// when there are no more results to return.
66656	NextToken *string `locationName:"nextToken" type:"string"`
66657
66658	// Information about the offerings.
66659	OfferingSet []*HostOffering `locationName:"offeringSet" locationNameList:"item" type:"list"`
66660}
66661
66662// String returns the string representation
66663func (s DescribeHostReservationOfferingsOutput) String() string {
66664	return awsutil.Prettify(s)
66665}
66666
66667// GoString returns the string representation
66668func (s DescribeHostReservationOfferingsOutput) GoString() string {
66669	return s.String()
66670}
66671
66672// SetNextToken sets the NextToken field's value.
66673func (s *DescribeHostReservationOfferingsOutput) SetNextToken(v string) *DescribeHostReservationOfferingsOutput {
66674	s.NextToken = &v
66675	return s
66676}
66677
66678// SetOfferingSet sets the OfferingSet field's value.
66679func (s *DescribeHostReservationOfferingsOutput) SetOfferingSet(v []*HostOffering) *DescribeHostReservationOfferingsOutput {
66680	s.OfferingSet = v
66681	return s
66682}
66683
66684type DescribeHostReservationsInput struct {
66685	_ struct{} `type:"structure"`
66686
66687	// The filters.
66688	//
66689	//    * instance-family - The instance family (for example, m4).
66690	//
66691	//    * payment-option - The payment option (NoUpfront | PartialUpfront | AllUpfront).
66692	//
66693	//    * state - The state of the reservation (payment-pending | payment-failed
66694	//    | active | retired).
66695	//
66696	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
66697	//    Use the tag key in the filter name and the tag value as the filter value.
66698	//    For example, to find all resources that have a tag with the key Owner
66699	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
66700	//    the filter value.
66701	//
66702	//    * tag-key - The key of a tag assigned to the resource. Use this filter
66703	//    to find all resources assigned a tag with a specific key, regardless of
66704	//    the tag value.
66705	Filter []*Filter `locationNameList:"Filter" type:"list"`
66706
66707	// The host reservation IDs.
66708	HostReservationIdSet []*string `locationNameList:"item" type:"list"`
66709
66710	// The maximum number of results to return for the request in a single page.
66711	// The remaining results can be seen by sending another request with the returned
66712	// nextToken value. This value can be between 5 and 500. If maxResults is given
66713	// a larger value than 500, you receive an error.
66714	MaxResults *int64 `type:"integer"`
66715
66716	// The token to use to retrieve the next page of results.
66717	NextToken *string `type:"string"`
66718}
66719
66720// String returns the string representation
66721func (s DescribeHostReservationsInput) String() string {
66722	return awsutil.Prettify(s)
66723}
66724
66725// GoString returns the string representation
66726func (s DescribeHostReservationsInput) GoString() string {
66727	return s.String()
66728}
66729
66730// SetFilter sets the Filter field's value.
66731func (s *DescribeHostReservationsInput) SetFilter(v []*Filter) *DescribeHostReservationsInput {
66732	s.Filter = v
66733	return s
66734}
66735
66736// SetHostReservationIdSet sets the HostReservationIdSet field's value.
66737func (s *DescribeHostReservationsInput) SetHostReservationIdSet(v []*string) *DescribeHostReservationsInput {
66738	s.HostReservationIdSet = v
66739	return s
66740}
66741
66742// SetMaxResults sets the MaxResults field's value.
66743func (s *DescribeHostReservationsInput) SetMaxResults(v int64) *DescribeHostReservationsInput {
66744	s.MaxResults = &v
66745	return s
66746}
66747
66748// SetNextToken sets the NextToken field's value.
66749func (s *DescribeHostReservationsInput) SetNextToken(v string) *DescribeHostReservationsInput {
66750	s.NextToken = &v
66751	return s
66752}
66753
66754type DescribeHostReservationsOutput struct {
66755	_ struct{} `type:"structure"`
66756
66757	// Details about the reservation's configuration.
66758	HostReservationSet []*HostReservation `locationName:"hostReservationSet" locationNameList:"item" type:"list"`
66759
66760	// The token to use to retrieve the next page of results. This value is null
66761	// when there are no more results to return.
66762	NextToken *string `locationName:"nextToken" type:"string"`
66763}
66764
66765// String returns the string representation
66766func (s DescribeHostReservationsOutput) String() string {
66767	return awsutil.Prettify(s)
66768}
66769
66770// GoString returns the string representation
66771func (s DescribeHostReservationsOutput) GoString() string {
66772	return s.String()
66773}
66774
66775// SetHostReservationSet sets the HostReservationSet field's value.
66776func (s *DescribeHostReservationsOutput) SetHostReservationSet(v []*HostReservation) *DescribeHostReservationsOutput {
66777	s.HostReservationSet = v
66778	return s
66779}
66780
66781// SetNextToken sets the NextToken field's value.
66782func (s *DescribeHostReservationsOutput) SetNextToken(v string) *DescribeHostReservationsOutput {
66783	s.NextToken = &v
66784	return s
66785}
66786
66787type DescribeHostsInput struct {
66788	_ struct{} `type:"structure"`
66789
66790	// The filters.
66791	//
66792	//    * auto-placement - Whether auto-placement is enabled or disabled (on |
66793	//    off).
66794	//
66795	//    * availability-zone - The Availability Zone of the host.
66796	//
66797	//    * client-token - The idempotency token that you provided when you allocated
66798	//    the host.
66799	//
66800	//    * host-reservation-id - The ID of the reservation assigned to this host.
66801	//
66802	//    * instance-type - The instance type size that the Dedicated Host is configured
66803	//    to support.
66804	//
66805	//    * state - The allocation state of the Dedicated Host (available | under-assessment
66806	//    | permanent-failure | released | released-permanent-failure).
66807	//
66808	//    * tag-key - The key of a tag assigned to the resource. Use this filter
66809	//    to find all resources assigned a tag with a specific key, regardless of
66810	//    the tag value.
66811	Filter []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"`
66812
66813	// The IDs of the Dedicated Hosts. The IDs are used for targeted instance launches.
66814	HostIds []*string `locationName:"hostId" locationNameList:"item" type:"list"`
66815
66816	// The maximum number of results to return for the request in a single page.
66817	// The remaining results can be seen by sending another request with the returned
66818	// nextToken value. This value can be between 5 and 500. If maxResults is given
66819	// a larger value than 500, you receive an error.
66820	//
66821	// You cannot specify this parameter and the host IDs parameter in the same
66822	// request.
66823	MaxResults *int64 `locationName:"maxResults" type:"integer"`
66824
66825	// The token to use to retrieve the next page of results.
66826	NextToken *string `locationName:"nextToken" type:"string"`
66827}
66828
66829// String returns the string representation
66830func (s DescribeHostsInput) String() string {
66831	return awsutil.Prettify(s)
66832}
66833
66834// GoString returns the string representation
66835func (s DescribeHostsInput) GoString() string {
66836	return s.String()
66837}
66838
66839// SetFilter sets the Filter field's value.
66840func (s *DescribeHostsInput) SetFilter(v []*Filter) *DescribeHostsInput {
66841	s.Filter = v
66842	return s
66843}
66844
66845// SetHostIds sets the HostIds field's value.
66846func (s *DescribeHostsInput) SetHostIds(v []*string) *DescribeHostsInput {
66847	s.HostIds = v
66848	return s
66849}
66850
66851// SetMaxResults sets the MaxResults field's value.
66852func (s *DescribeHostsInput) SetMaxResults(v int64) *DescribeHostsInput {
66853	s.MaxResults = &v
66854	return s
66855}
66856
66857// SetNextToken sets the NextToken field's value.
66858func (s *DescribeHostsInput) SetNextToken(v string) *DescribeHostsInput {
66859	s.NextToken = &v
66860	return s
66861}
66862
66863type DescribeHostsOutput struct {
66864	_ struct{} `type:"structure"`
66865
66866	// Information about the Dedicated Hosts.
66867	Hosts []*Host `locationName:"hostSet" locationNameList:"item" type:"list"`
66868
66869	// The token to use to retrieve the next page of results. This value is null
66870	// when there are no more results to return.
66871	NextToken *string `locationName:"nextToken" type:"string"`
66872}
66873
66874// String returns the string representation
66875func (s DescribeHostsOutput) String() string {
66876	return awsutil.Prettify(s)
66877}
66878
66879// GoString returns the string representation
66880func (s DescribeHostsOutput) GoString() string {
66881	return s.String()
66882}
66883
66884// SetHosts sets the Hosts field's value.
66885func (s *DescribeHostsOutput) SetHosts(v []*Host) *DescribeHostsOutput {
66886	s.Hosts = v
66887	return s
66888}
66889
66890// SetNextToken sets the NextToken field's value.
66891func (s *DescribeHostsOutput) SetNextToken(v string) *DescribeHostsOutput {
66892	s.NextToken = &v
66893	return s
66894}
66895
66896type DescribeIamInstanceProfileAssociationsInput struct {
66897	_ struct{} `type:"structure"`
66898
66899	// The IAM instance profile associations.
66900	AssociationIds []*string `locationName:"AssociationId" locationNameList:"AssociationId" type:"list"`
66901
66902	// The filters.
66903	//
66904	//    * instance-id - The ID of the instance.
66905	//
66906	//    * state - The state of the association (associating | associated | disassociating).
66907	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
66908
66909	// The maximum number of results to return in a single call. To retrieve the
66910	// remaining results, make another call with the returned NextToken value.
66911	MaxResults *int64 `min:"5" type:"integer"`
66912
66913	// The token to request the next page of results.
66914	NextToken *string `type:"string"`
66915}
66916
66917// String returns the string representation
66918func (s DescribeIamInstanceProfileAssociationsInput) String() string {
66919	return awsutil.Prettify(s)
66920}
66921
66922// GoString returns the string representation
66923func (s DescribeIamInstanceProfileAssociationsInput) GoString() string {
66924	return s.String()
66925}
66926
66927// Validate inspects the fields of the type to determine if they are valid.
66928func (s *DescribeIamInstanceProfileAssociationsInput) Validate() error {
66929	invalidParams := request.ErrInvalidParams{Context: "DescribeIamInstanceProfileAssociationsInput"}
66930	if s.MaxResults != nil && *s.MaxResults < 5 {
66931		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
66932	}
66933
66934	if invalidParams.Len() > 0 {
66935		return invalidParams
66936	}
66937	return nil
66938}
66939
66940// SetAssociationIds sets the AssociationIds field's value.
66941func (s *DescribeIamInstanceProfileAssociationsInput) SetAssociationIds(v []*string) *DescribeIamInstanceProfileAssociationsInput {
66942	s.AssociationIds = v
66943	return s
66944}
66945
66946// SetFilters sets the Filters field's value.
66947func (s *DescribeIamInstanceProfileAssociationsInput) SetFilters(v []*Filter) *DescribeIamInstanceProfileAssociationsInput {
66948	s.Filters = v
66949	return s
66950}
66951
66952// SetMaxResults sets the MaxResults field's value.
66953func (s *DescribeIamInstanceProfileAssociationsInput) SetMaxResults(v int64) *DescribeIamInstanceProfileAssociationsInput {
66954	s.MaxResults = &v
66955	return s
66956}
66957
66958// SetNextToken sets the NextToken field's value.
66959func (s *DescribeIamInstanceProfileAssociationsInput) SetNextToken(v string) *DescribeIamInstanceProfileAssociationsInput {
66960	s.NextToken = &v
66961	return s
66962}
66963
66964type DescribeIamInstanceProfileAssociationsOutput struct {
66965	_ struct{} `type:"structure"`
66966
66967	// Information about the IAM instance profile associations.
66968	IamInstanceProfileAssociations []*IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociationSet" locationNameList:"item" type:"list"`
66969
66970	// The token to use to retrieve the next page of results. This value is null
66971	// when there are no more results to return.
66972	NextToken *string `locationName:"nextToken" type:"string"`
66973}
66974
66975// String returns the string representation
66976func (s DescribeIamInstanceProfileAssociationsOutput) String() string {
66977	return awsutil.Prettify(s)
66978}
66979
66980// GoString returns the string representation
66981func (s DescribeIamInstanceProfileAssociationsOutput) GoString() string {
66982	return s.String()
66983}
66984
66985// SetIamInstanceProfileAssociations sets the IamInstanceProfileAssociations field's value.
66986func (s *DescribeIamInstanceProfileAssociationsOutput) SetIamInstanceProfileAssociations(v []*IamInstanceProfileAssociation) *DescribeIamInstanceProfileAssociationsOutput {
66987	s.IamInstanceProfileAssociations = v
66988	return s
66989}
66990
66991// SetNextToken sets the NextToken field's value.
66992func (s *DescribeIamInstanceProfileAssociationsOutput) SetNextToken(v string) *DescribeIamInstanceProfileAssociationsOutput {
66993	s.NextToken = &v
66994	return s
66995}
66996
66997type DescribeIdFormatInput struct {
66998	_ struct{} `type:"structure"`
66999
67000	// The type of resource: bundle | conversion-task | customer-gateway | dhcp-options
67001	// | elastic-ip-allocation | elastic-ip-association | export-task | flow-log
67002	// | image | import-task | instance | internet-gateway | network-acl | network-acl-association
67003	// | network-interface | network-interface-attachment | prefix-list | reservation
67004	// | route-table | route-table-association | security-group | snapshot | subnet
67005	// | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
67006	// | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway
67007	Resource *string `type:"string"`
67008}
67009
67010// String returns the string representation
67011func (s DescribeIdFormatInput) String() string {
67012	return awsutil.Prettify(s)
67013}
67014
67015// GoString returns the string representation
67016func (s DescribeIdFormatInput) GoString() string {
67017	return s.String()
67018}
67019
67020// SetResource sets the Resource field's value.
67021func (s *DescribeIdFormatInput) SetResource(v string) *DescribeIdFormatInput {
67022	s.Resource = &v
67023	return s
67024}
67025
67026type DescribeIdFormatOutput struct {
67027	_ struct{} `type:"structure"`
67028
67029	// Information about the ID format for the resource.
67030	Statuses []*IdFormat `locationName:"statusSet" locationNameList:"item" type:"list"`
67031}
67032
67033// String returns the string representation
67034func (s DescribeIdFormatOutput) String() string {
67035	return awsutil.Prettify(s)
67036}
67037
67038// GoString returns the string representation
67039func (s DescribeIdFormatOutput) GoString() string {
67040	return s.String()
67041}
67042
67043// SetStatuses sets the Statuses field's value.
67044func (s *DescribeIdFormatOutput) SetStatuses(v []*IdFormat) *DescribeIdFormatOutput {
67045	s.Statuses = v
67046	return s
67047}
67048
67049type DescribeIdentityIdFormatInput struct {
67050	_ struct{} `type:"structure"`
67051
67052	// The ARN of the principal, which can be an IAM role, IAM user, or the root
67053	// user.
67054	//
67055	// PrincipalArn is a required field
67056	PrincipalArn *string `locationName:"principalArn" type:"string" required:"true"`
67057
67058	// The type of resource: bundle | conversion-task | customer-gateway | dhcp-options
67059	// | elastic-ip-allocation | elastic-ip-association | export-task | flow-log
67060	// | image | import-task | instance | internet-gateway | network-acl | network-acl-association
67061	// | network-interface | network-interface-attachment | prefix-list | reservation
67062	// | route-table | route-table-association | security-group | snapshot | subnet
67063	// | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
67064	// | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway
67065	Resource *string `locationName:"resource" type:"string"`
67066}
67067
67068// String returns the string representation
67069func (s DescribeIdentityIdFormatInput) String() string {
67070	return awsutil.Prettify(s)
67071}
67072
67073// GoString returns the string representation
67074func (s DescribeIdentityIdFormatInput) GoString() string {
67075	return s.String()
67076}
67077
67078// Validate inspects the fields of the type to determine if they are valid.
67079func (s *DescribeIdentityIdFormatInput) Validate() error {
67080	invalidParams := request.ErrInvalidParams{Context: "DescribeIdentityIdFormatInput"}
67081	if s.PrincipalArn == nil {
67082		invalidParams.Add(request.NewErrParamRequired("PrincipalArn"))
67083	}
67084
67085	if invalidParams.Len() > 0 {
67086		return invalidParams
67087	}
67088	return nil
67089}
67090
67091// SetPrincipalArn sets the PrincipalArn field's value.
67092func (s *DescribeIdentityIdFormatInput) SetPrincipalArn(v string) *DescribeIdentityIdFormatInput {
67093	s.PrincipalArn = &v
67094	return s
67095}
67096
67097// SetResource sets the Resource field's value.
67098func (s *DescribeIdentityIdFormatInput) SetResource(v string) *DescribeIdentityIdFormatInput {
67099	s.Resource = &v
67100	return s
67101}
67102
67103type DescribeIdentityIdFormatOutput struct {
67104	_ struct{} `type:"structure"`
67105
67106	// Information about the ID format for the resources.
67107	Statuses []*IdFormat `locationName:"statusSet" locationNameList:"item" type:"list"`
67108}
67109
67110// String returns the string representation
67111func (s DescribeIdentityIdFormatOutput) String() string {
67112	return awsutil.Prettify(s)
67113}
67114
67115// GoString returns the string representation
67116func (s DescribeIdentityIdFormatOutput) GoString() string {
67117	return s.String()
67118}
67119
67120// SetStatuses sets the Statuses field's value.
67121func (s *DescribeIdentityIdFormatOutput) SetStatuses(v []*IdFormat) *DescribeIdentityIdFormatOutput {
67122	s.Statuses = v
67123	return s
67124}
67125
67126// Contains the parameters for DescribeImageAttribute.
67127type DescribeImageAttributeInput struct {
67128	_ struct{} `type:"structure"`
67129
67130	// The AMI attribute.
67131	//
67132	// Note: The blockDeviceMapping attribute is deprecated. Using this attribute
67133	// returns the Client.AuthFailure error. To get information about the block
67134	// device mappings for an AMI, use the DescribeImages action.
67135	//
67136	// Attribute is a required field
67137	Attribute *string `type:"string" required:"true" enum:"ImageAttributeName"`
67138
67139	// Checks whether you have the required permissions for the action, without
67140	// actually making the request, and provides an error response. If you have
67141	// the required permissions, the error response is DryRunOperation. Otherwise,
67142	// it is UnauthorizedOperation.
67143	DryRun *bool `locationName:"dryRun" type:"boolean"`
67144
67145	// The ID of the AMI.
67146	//
67147	// ImageId is a required field
67148	ImageId *string `type:"string" required:"true"`
67149}
67150
67151// String returns the string representation
67152func (s DescribeImageAttributeInput) String() string {
67153	return awsutil.Prettify(s)
67154}
67155
67156// GoString returns the string representation
67157func (s DescribeImageAttributeInput) GoString() string {
67158	return s.String()
67159}
67160
67161// Validate inspects the fields of the type to determine if they are valid.
67162func (s *DescribeImageAttributeInput) Validate() error {
67163	invalidParams := request.ErrInvalidParams{Context: "DescribeImageAttributeInput"}
67164	if s.Attribute == nil {
67165		invalidParams.Add(request.NewErrParamRequired("Attribute"))
67166	}
67167	if s.ImageId == nil {
67168		invalidParams.Add(request.NewErrParamRequired("ImageId"))
67169	}
67170
67171	if invalidParams.Len() > 0 {
67172		return invalidParams
67173	}
67174	return nil
67175}
67176
67177// SetAttribute sets the Attribute field's value.
67178func (s *DescribeImageAttributeInput) SetAttribute(v string) *DescribeImageAttributeInput {
67179	s.Attribute = &v
67180	return s
67181}
67182
67183// SetDryRun sets the DryRun field's value.
67184func (s *DescribeImageAttributeInput) SetDryRun(v bool) *DescribeImageAttributeInput {
67185	s.DryRun = &v
67186	return s
67187}
67188
67189// SetImageId sets the ImageId field's value.
67190func (s *DescribeImageAttributeInput) SetImageId(v string) *DescribeImageAttributeInput {
67191	s.ImageId = &v
67192	return s
67193}
67194
67195// Describes an image attribute.
67196type DescribeImageAttributeOutput struct {
67197	_ struct{} `type:"structure"`
67198
67199	// The block device mapping entries.
67200	BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
67201
67202	// Describes a value for a resource attribute that is a String.
67203	BootMode *AttributeValue `locationName:"bootMode" type:"structure"`
67204
67205	// A description for the AMI.
67206	Description *AttributeValue `locationName:"description" type:"structure"`
67207
67208	// The ID of the AMI.
67209	ImageId *string `locationName:"imageId" type:"string"`
67210
67211	// The kernel ID.
67212	KernelId *AttributeValue `locationName:"kernel" type:"structure"`
67213
67214	// The launch permissions.
67215	LaunchPermissions []*LaunchPermission `locationName:"launchPermission" locationNameList:"item" type:"list"`
67216
67217	// The product codes.
67218	ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
67219
67220	// The RAM disk ID.
67221	RamdiskId *AttributeValue `locationName:"ramdisk" type:"structure"`
67222
67223	// Indicates whether enhanced networking with the Intel 82599 Virtual Function
67224	// interface is enabled.
67225	SriovNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"`
67226}
67227
67228// String returns the string representation
67229func (s DescribeImageAttributeOutput) String() string {
67230	return awsutil.Prettify(s)
67231}
67232
67233// GoString returns the string representation
67234func (s DescribeImageAttributeOutput) GoString() string {
67235	return s.String()
67236}
67237
67238// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
67239func (s *DescribeImageAttributeOutput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *DescribeImageAttributeOutput {
67240	s.BlockDeviceMappings = v
67241	return s
67242}
67243
67244// SetBootMode sets the BootMode field's value.
67245func (s *DescribeImageAttributeOutput) SetBootMode(v *AttributeValue) *DescribeImageAttributeOutput {
67246	s.BootMode = v
67247	return s
67248}
67249
67250// SetDescription sets the Description field's value.
67251func (s *DescribeImageAttributeOutput) SetDescription(v *AttributeValue) *DescribeImageAttributeOutput {
67252	s.Description = v
67253	return s
67254}
67255
67256// SetImageId sets the ImageId field's value.
67257func (s *DescribeImageAttributeOutput) SetImageId(v string) *DescribeImageAttributeOutput {
67258	s.ImageId = &v
67259	return s
67260}
67261
67262// SetKernelId sets the KernelId field's value.
67263func (s *DescribeImageAttributeOutput) SetKernelId(v *AttributeValue) *DescribeImageAttributeOutput {
67264	s.KernelId = v
67265	return s
67266}
67267
67268// SetLaunchPermissions sets the LaunchPermissions field's value.
67269func (s *DescribeImageAttributeOutput) SetLaunchPermissions(v []*LaunchPermission) *DescribeImageAttributeOutput {
67270	s.LaunchPermissions = v
67271	return s
67272}
67273
67274// SetProductCodes sets the ProductCodes field's value.
67275func (s *DescribeImageAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeImageAttributeOutput {
67276	s.ProductCodes = v
67277	return s
67278}
67279
67280// SetRamdiskId sets the RamdiskId field's value.
67281func (s *DescribeImageAttributeOutput) SetRamdiskId(v *AttributeValue) *DescribeImageAttributeOutput {
67282	s.RamdiskId = v
67283	return s
67284}
67285
67286// SetSriovNetSupport sets the SriovNetSupport field's value.
67287func (s *DescribeImageAttributeOutput) SetSriovNetSupport(v *AttributeValue) *DescribeImageAttributeOutput {
67288	s.SriovNetSupport = v
67289	return s
67290}
67291
67292type DescribeImagesInput struct {
67293	_ struct{} `type:"structure"`
67294
67295	// Checks whether you have the required permissions for the action, without
67296	// actually making the request, and provides an error response. If you have
67297	// the required permissions, the error response is DryRunOperation. Otherwise,
67298	// it is UnauthorizedOperation.
67299	DryRun *bool `locationName:"dryRun" type:"boolean"`
67300
67301	// Scopes the images by users with explicit launch permissions. Specify an AWS
67302	// account ID, self (the sender of the request), or all (public AMIs).
67303	ExecutableUsers []*string `locationName:"ExecutableBy" locationNameList:"ExecutableBy" type:"list"`
67304
67305	// The filters.
67306	//
67307	//    * architecture - The image architecture (i386 | x86_64 | arm64).
67308	//
67309	//    * block-device-mapping.delete-on-termination - A Boolean value that indicates
67310	//    whether the Amazon EBS volume is deleted on instance termination.
67311	//
67312	//    * block-device-mapping.device-name - The device name specified in the
67313	//    block device mapping (for example, /dev/sdh or xvdh).
67314	//
67315	//    * block-device-mapping.snapshot-id - The ID of the snapshot used for the
67316	//    EBS volume.
67317	//
67318	//    * block-device-mapping.volume-size - The volume size of the EBS volume,
67319	//    in GiB.
67320	//
67321	//    * block-device-mapping.volume-type - The volume type of the EBS volume
67322	//    (gp2 | io1 | io2 | st1 | sc1 | standard).
67323	//
67324	//    * block-device-mapping.encrypted - A Boolean that indicates whether the
67325	//    EBS volume is encrypted.
67326	//
67327	//    * description - The description of the image (provided during image creation).
67328	//
67329	//    * ena-support - A Boolean that indicates whether enhanced networking with
67330	//    ENA is enabled.
67331	//
67332	//    * hypervisor - The hypervisor type (ovm | xen).
67333	//
67334	//    * image-id - The ID of the image.
67335	//
67336	//    * image-type - The image type (machine | kernel | ramdisk).
67337	//
67338	//    * is-public - A Boolean that indicates whether the image is public.
67339	//
67340	//    * kernel-id - The kernel ID.
67341	//
67342	//    * manifest-location - The location of the image manifest.
67343	//
67344	//    * name - The name of the AMI (provided during image creation).
67345	//
67346	//    * owner-alias - The owner alias (amazon | aws-marketplace). The valid
67347	//    aliases are defined in an Amazon-maintained list. This is not the AWS
67348	//    account alias that can be set using the IAM console. We recommend that
67349	//    you use the Owner request parameter instead of this filter.
67350	//
67351	//    * owner-id - The AWS account ID of the owner. We recommend that you use
67352	//    the Owner request parameter instead of this filter.
67353	//
67354	//    * platform - The platform. To only list Windows-based AMIs, use windows.
67355	//
67356	//    * product-code - The product code.
67357	//
67358	//    * product-code.type - The type of the product code (devpay | marketplace).
67359	//
67360	//    * ramdisk-id - The RAM disk ID.
67361	//
67362	//    * root-device-name - The device name of the root device volume (for example,
67363	//    /dev/sda1).
67364	//
67365	//    * root-device-type - The type of the root device volume (ebs | instance-store).
67366	//
67367	//    * state - The state of the image (available | pending | failed).
67368	//
67369	//    * state-reason-code - The reason code for the state change.
67370	//
67371	//    * state-reason-message - The message for the state change.
67372	//
67373	//    * sriov-net-support - A value of simple indicates that enhanced networking
67374	//    with the Intel 82599 VF interface is enabled.
67375	//
67376	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
67377	//    Use the tag key in the filter name and the tag value as the filter value.
67378	//    For example, to find all resources that have a tag with the key Owner
67379	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
67380	//    the filter value.
67381	//
67382	//    * tag-key - The key of a tag assigned to the resource. Use this filter
67383	//    to find all resources assigned a tag with a specific key, regardless of
67384	//    the tag value.
67385	//
67386	//    * virtualization-type - The virtualization type (paravirtual | hvm).
67387	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
67388
67389	// The image IDs.
67390	//
67391	// Default: Describes all images available to you.
67392	ImageIds []*string `locationName:"ImageId" locationNameList:"ImageId" type:"list"`
67393
67394	// Scopes the results to images with the specified owners. You can specify a
67395	// combination of AWS account IDs, self, amazon, and aws-marketplace. If you
67396	// omit this parameter, the results include all images for which you have launch
67397	// permissions, regardless of ownership.
67398	Owners []*string `locationName:"Owner" locationNameList:"Owner" type:"list"`
67399}
67400
67401// String returns the string representation
67402func (s DescribeImagesInput) String() string {
67403	return awsutil.Prettify(s)
67404}
67405
67406// GoString returns the string representation
67407func (s DescribeImagesInput) GoString() string {
67408	return s.String()
67409}
67410
67411// SetDryRun sets the DryRun field's value.
67412func (s *DescribeImagesInput) SetDryRun(v bool) *DescribeImagesInput {
67413	s.DryRun = &v
67414	return s
67415}
67416
67417// SetExecutableUsers sets the ExecutableUsers field's value.
67418func (s *DescribeImagesInput) SetExecutableUsers(v []*string) *DescribeImagesInput {
67419	s.ExecutableUsers = v
67420	return s
67421}
67422
67423// SetFilters sets the Filters field's value.
67424func (s *DescribeImagesInput) SetFilters(v []*Filter) *DescribeImagesInput {
67425	s.Filters = v
67426	return s
67427}
67428
67429// SetImageIds sets the ImageIds field's value.
67430func (s *DescribeImagesInput) SetImageIds(v []*string) *DescribeImagesInput {
67431	s.ImageIds = v
67432	return s
67433}
67434
67435// SetOwners sets the Owners field's value.
67436func (s *DescribeImagesInput) SetOwners(v []*string) *DescribeImagesInput {
67437	s.Owners = v
67438	return s
67439}
67440
67441type DescribeImagesOutput struct {
67442	_ struct{} `type:"structure"`
67443
67444	// Information about the images.
67445	Images []*Image `locationName:"imagesSet" locationNameList:"item" type:"list"`
67446}
67447
67448// String returns the string representation
67449func (s DescribeImagesOutput) String() string {
67450	return awsutil.Prettify(s)
67451}
67452
67453// GoString returns the string representation
67454func (s DescribeImagesOutput) GoString() string {
67455	return s.String()
67456}
67457
67458// SetImages sets the Images field's value.
67459func (s *DescribeImagesOutput) SetImages(v []*Image) *DescribeImagesOutput {
67460	s.Images = v
67461	return s
67462}
67463
67464type DescribeImportImageTasksInput struct {
67465	_ struct{} `type:"structure"`
67466
67467	// Checks whether you have the required permissions for the action, without
67468	// actually making the request, and provides an error response. If you have
67469	// the required permissions, the error response is DryRunOperation. Otherwise,
67470	// it is UnauthorizedOperation.
67471	DryRun *bool `type:"boolean"`
67472
67473	// Filter tasks using the task-state filter and one of the following values:
67474	// active, completed, deleting, or deleted.
67475	Filters []*Filter `locationNameList:"Filter" type:"list"`
67476
67477	// The IDs of the import image tasks.
67478	ImportTaskIds []*string `locationName:"ImportTaskId" locationNameList:"ImportTaskId" type:"list"`
67479
67480	// The maximum number of results to return in a single call.
67481	MaxResults *int64 `type:"integer"`
67482
67483	// A token that indicates the next page of results.
67484	NextToken *string `type:"string"`
67485}
67486
67487// String returns the string representation
67488func (s DescribeImportImageTasksInput) String() string {
67489	return awsutil.Prettify(s)
67490}
67491
67492// GoString returns the string representation
67493func (s DescribeImportImageTasksInput) GoString() string {
67494	return s.String()
67495}
67496
67497// SetDryRun sets the DryRun field's value.
67498func (s *DescribeImportImageTasksInput) SetDryRun(v bool) *DescribeImportImageTasksInput {
67499	s.DryRun = &v
67500	return s
67501}
67502
67503// SetFilters sets the Filters field's value.
67504func (s *DescribeImportImageTasksInput) SetFilters(v []*Filter) *DescribeImportImageTasksInput {
67505	s.Filters = v
67506	return s
67507}
67508
67509// SetImportTaskIds sets the ImportTaskIds field's value.
67510func (s *DescribeImportImageTasksInput) SetImportTaskIds(v []*string) *DescribeImportImageTasksInput {
67511	s.ImportTaskIds = v
67512	return s
67513}
67514
67515// SetMaxResults sets the MaxResults field's value.
67516func (s *DescribeImportImageTasksInput) SetMaxResults(v int64) *DescribeImportImageTasksInput {
67517	s.MaxResults = &v
67518	return s
67519}
67520
67521// SetNextToken sets the NextToken field's value.
67522func (s *DescribeImportImageTasksInput) SetNextToken(v string) *DescribeImportImageTasksInput {
67523	s.NextToken = &v
67524	return s
67525}
67526
67527type DescribeImportImageTasksOutput struct {
67528	_ struct{} `type:"structure"`
67529
67530	// A list of zero or more import image tasks that are currently active or were
67531	// completed or canceled in the previous 7 days.
67532	ImportImageTasks []*ImportImageTask `locationName:"importImageTaskSet" locationNameList:"item" type:"list"`
67533
67534	// The token to use to get the next page of results. This value is null when
67535	// there are no more results to return.
67536	NextToken *string `locationName:"nextToken" type:"string"`
67537}
67538
67539// String returns the string representation
67540func (s DescribeImportImageTasksOutput) String() string {
67541	return awsutil.Prettify(s)
67542}
67543
67544// GoString returns the string representation
67545func (s DescribeImportImageTasksOutput) GoString() string {
67546	return s.String()
67547}
67548
67549// SetImportImageTasks sets the ImportImageTasks field's value.
67550func (s *DescribeImportImageTasksOutput) SetImportImageTasks(v []*ImportImageTask) *DescribeImportImageTasksOutput {
67551	s.ImportImageTasks = v
67552	return s
67553}
67554
67555// SetNextToken sets the NextToken field's value.
67556func (s *DescribeImportImageTasksOutput) SetNextToken(v string) *DescribeImportImageTasksOutput {
67557	s.NextToken = &v
67558	return s
67559}
67560
67561type DescribeImportSnapshotTasksInput struct {
67562	_ struct{} `type:"structure"`
67563
67564	// Checks whether you have the required permissions for the action, without
67565	// actually making the request, and provides an error response. If you have
67566	// the required permissions, the error response is DryRunOperation. Otherwise,
67567	// it is UnauthorizedOperation.
67568	DryRun *bool `type:"boolean"`
67569
67570	// The filters.
67571	Filters []*Filter `locationNameList:"Filter" type:"list"`
67572
67573	// A list of import snapshot task IDs.
67574	ImportTaskIds []*string `locationName:"ImportTaskId" locationNameList:"ImportTaskId" type:"list"`
67575
67576	// The maximum number of results to return in a single call. To retrieve the
67577	// remaining results, make another call with the returned NextToken value.
67578	MaxResults *int64 `type:"integer"`
67579
67580	// A token that indicates the next page of results.
67581	NextToken *string `type:"string"`
67582}
67583
67584// String returns the string representation
67585func (s DescribeImportSnapshotTasksInput) String() string {
67586	return awsutil.Prettify(s)
67587}
67588
67589// GoString returns the string representation
67590func (s DescribeImportSnapshotTasksInput) GoString() string {
67591	return s.String()
67592}
67593
67594// SetDryRun sets the DryRun field's value.
67595func (s *DescribeImportSnapshotTasksInput) SetDryRun(v bool) *DescribeImportSnapshotTasksInput {
67596	s.DryRun = &v
67597	return s
67598}
67599
67600// SetFilters sets the Filters field's value.
67601func (s *DescribeImportSnapshotTasksInput) SetFilters(v []*Filter) *DescribeImportSnapshotTasksInput {
67602	s.Filters = v
67603	return s
67604}
67605
67606// SetImportTaskIds sets the ImportTaskIds field's value.
67607func (s *DescribeImportSnapshotTasksInput) SetImportTaskIds(v []*string) *DescribeImportSnapshotTasksInput {
67608	s.ImportTaskIds = v
67609	return s
67610}
67611
67612// SetMaxResults sets the MaxResults field's value.
67613func (s *DescribeImportSnapshotTasksInput) SetMaxResults(v int64) *DescribeImportSnapshotTasksInput {
67614	s.MaxResults = &v
67615	return s
67616}
67617
67618// SetNextToken sets the NextToken field's value.
67619func (s *DescribeImportSnapshotTasksInput) SetNextToken(v string) *DescribeImportSnapshotTasksInput {
67620	s.NextToken = &v
67621	return s
67622}
67623
67624type DescribeImportSnapshotTasksOutput struct {
67625	_ struct{} `type:"structure"`
67626
67627	// A list of zero or more import snapshot tasks that are currently active or
67628	// were completed or canceled in the previous 7 days.
67629	ImportSnapshotTasks []*ImportSnapshotTask `locationName:"importSnapshotTaskSet" locationNameList:"item" type:"list"`
67630
67631	// The token to use to get the next page of results. This value is null when
67632	// there are no more results to return.
67633	NextToken *string `locationName:"nextToken" type:"string"`
67634}
67635
67636// String returns the string representation
67637func (s DescribeImportSnapshotTasksOutput) String() string {
67638	return awsutil.Prettify(s)
67639}
67640
67641// GoString returns the string representation
67642func (s DescribeImportSnapshotTasksOutput) GoString() string {
67643	return s.String()
67644}
67645
67646// SetImportSnapshotTasks sets the ImportSnapshotTasks field's value.
67647func (s *DescribeImportSnapshotTasksOutput) SetImportSnapshotTasks(v []*ImportSnapshotTask) *DescribeImportSnapshotTasksOutput {
67648	s.ImportSnapshotTasks = v
67649	return s
67650}
67651
67652// SetNextToken sets the NextToken field's value.
67653func (s *DescribeImportSnapshotTasksOutput) SetNextToken(v string) *DescribeImportSnapshotTasksOutput {
67654	s.NextToken = &v
67655	return s
67656}
67657
67658type DescribeInstanceAttributeInput struct {
67659	_ struct{} `type:"structure"`
67660
67661	// The instance attribute.
67662	//
67663	// Note: The enaSupport attribute is not supported at this time.
67664	//
67665	// Attribute is a required field
67666	Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"InstanceAttributeName"`
67667
67668	// Checks whether you have the required permissions for the action, without
67669	// actually making the request, and provides an error response. If you have
67670	// the required permissions, the error response is DryRunOperation. Otherwise,
67671	// it is UnauthorizedOperation.
67672	DryRun *bool `locationName:"dryRun" type:"boolean"`
67673
67674	// The ID of the instance.
67675	//
67676	// InstanceId is a required field
67677	InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
67678}
67679
67680// String returns the string representation
67681func (s DescribeInstanceAttributeInput) String() string {
67682	return awsutil.Prettify(s)
67683}
67684
67685// GoString returns the string representation
67686func (s DescribeInstanceAttributeInput) GoString() string {
67687	return s.String()
67688}
67689
67690// Validate inspects the fields of the type to determine if they are valid.
67691func (s *DescribeInstanceAttributeInput) Validate() error {
67692	invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceAttributeInput"}
67693	if s.Attribute == nil {
67694		invalidParams.Add(request.NewErrParamRequired("Attribute"))
67695	}
67696	if s.InstanceId == nil {
67697		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
67698	}
67699
67700	if invalidParams.Len() > 0 {
67701		return invalidParams
67702	}
67703	return nil
67704}
67705
67706// SetAttribute sets the Attribute field's value.
67707func (s *DescribeInstanceAttributeInput) SetAttribute(v string) *DescribeInstanceAttributeInput {
67708	s.Attribute = &v
67709	return s
67710}
67711
67712// SetDryRun sets the DryRun field's value.
67713func (s *DescribeInstanceAttributeInput) SetDryRun(v bool) *DescribeInstanceAttributeInput {
67714	s.DryRun = &v
67715	return s
67716}
67717
67718// SetInstanceId sets the InstanceId field's value.
67719func (s *DescribeInstanceAttributeInput) SetInstanceId(v string) *DescribeInstanceAttributeInput {
67720	s.InstanceId = &v
67721	return s
67722}
67723
67724// Describes an instance attribute.
67725type DescribeInstanceAttributeOutput struct {
67726	_ struct{} `type:"structure"`
67727
67728	// The block device mapping of the instance.
67729	BlockDeviceMappings []*InstanceBlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
67730
67731	// If the value is true, you can't terminate the instance through the Amazon
67732	// EC2 console, CLI, or API; otherwise, you can.
67733	DisableApiTermination *AttributeBooleanValue `locationName:"disableApiTermination" type:"structure"`
67734
67735	// Indicates whether the instance is optimized for Amazon EBS I/O.
67736	EbsOptimized *AttributeBooleanValue `locationName:"ebsOptimized" type:"structure"`
67737
67738	// Indicates whether enhanced networking with ENA is enabled.
67739	EnaSupport *AttributeBooleanValue `locationName:"enaSupport" type:"structure"`
67740
67741	// To enable the instance for AWS Nitro Enclaves, set this parameter to true;
67742	// otherwise, set it to false.
67743	EnclaveOptions *EnclaveOptions `locationName:"enclaveOptions" type:"structure"`
67744
67745	// The security groups associated with the instance.
67746	Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
67747
67748	// The ID of the instance.
67749	InstanceId *string `locationName:"instanceId" type:"string"`
67750
67751	// Indicates whether an instance stops or terminates when you initiate shutdown
67752	// from the instance (using the operating system command for system shutdown).
67753	InstanceInitiatedShutdownBehavior *AttributeValue `locationName:"instanceInitiatedShutdownBehavior" type:"structure"`
67754
67755	// The instance type.
67756	InstanceType *AttributeValue `locationName:"instanceType" type:"structure"`
67757
67758	// The kernel ID.
67759	KernelId *AttributeValue `locationName:"kernel" type:"structure"`
67760
67761	// A list of product codes.
67762	ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
67763
67764	// The RAM disk ID.
67765	RamdiskId *AttributeValue `locationName:"ramdisk" type:"structure"`
67766
67767	// The device name of the root device volume (for example, /dev/sda1).
67768	RootDeviceName *AttributeValue `locationName:"rootDeviceName" type:"structure"`
67769
67770	// Enable or disable source/destination checks, which ensure that the instance
67771	// is either the source or the destination of any traffic that it receives.
67772	// If the value is true, source/destination checks are enabled; otherwise, they
67773	// are disabled. The default value is true. You must disable source/destination
67774	// checks if the instance runs services such as network address translation,
67775	// routing, or firewalls.
67776	SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"`
67777
67778	// Indicates whether enhanced networking with the Intel 82599 Virtual Function
67779	// interface is enabled.
67780	SriovNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"`
67781
67782	// The user data.
67783	UserData *AttributeValue `locationName:"userData" type:"structure"`
67784}
67785
67786// String returns the string representation
67787func (s DescribeInstanceAttributeOutput) String() string {
67788	return awsutil.Prettify(s)
67789}
67790
67791// GoString returns the string representation
67792func (s DescribeInstanceAttributeOutput) GoString() string {
67793	return s.String()
67794}
67795
67796// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
67797func (s *DescribeInstanceAttributeOutput) SetBlockDeviceMappings(v []*InstanceBlockDeviceMapping) *DescribeInstanceAttributeOutput {
67798	s.BlockDeviceMappings = v
67799	return s
67800}
67801
67802// SetDisableApiTermination sets the DisableApiTermination field's value.
67803func (s *DescribeInstanceAttributeOutput) SetDisableApiTermination(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
67804	s.DisableApiTermination = v
67805	return s
67806}
67807
67808// SetEbsOptimized sets the EbsOptimized field's value.
67809func (s *DescribeInstanceAttributeOutput) SetEbsOptimized(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
67810	s.EbsOptimized = v
67811	return s
67812}
67813
67814// SetEnaSupport sets the EnaSupport field's value.
67815func (s *DescribeInstanceAttributeOutput) SetEnaSupport(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
67816	s.EnaSupport = v
67817	return s
67818}
67819
67820// SetEnclaveOptions sets the EnclaveOptions field's value.
67821func (s *DescribeInstanceAttributeOutput) SetEnclaveOptions(v *EnclaveOptions) *DescribeInstanceAttributeOutput {
67822	s.EnclaveOptions = v
67823	return s
67824}
67825
67826// SetGroups sets the Groups field's value.
67827func (s *DescribeInstanceAttributeOutput) SetGroups(v []*GroupIdentifier) *DescribeInstanceAttributeOutput {
67828	s.Groups = v
67829	return s
67830}
67831
67832// SetInstanceId sets the InstanceId field's value.
67833func (s *DescribeInstanceAttributeOutput) SetInstanceId(v string) *DescribeInstanceAttributeOutput {
67834	s.InstanceId = &v
67835	return s
67836}
67837
67838// SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
67839func (s *DescribeInstanceAttributeOutput) SetInstanceInitiatedShutdownBehavior(v *AttributeValue) *DescribeInstanceAttributeOutput {
67840	s.InstanceInitiatedShutdownBehavior = v
67841	return s
67842}
67843
67844// SetInstanceType sets the InstanceType field's value.
67845func (s *DescribeInstanceAttributeOutput) SetInstanceType(v *AttributeValue) *DescribeInstanceAttributeOutput {
67846	s.InstanceType = v
67847	return s
67848}
67849
67850// SetKernelId sets the KernelId field's value.
67851func (s *DescribeInstanceAttributeOutput) SetKernelId(v *AttributeValue) *DescribeInstanceAttributeOutput {
67852	s.KernelId = v
67853	return s
67854}
67855
67856// SetProductCodes sets the ProductCodes field's value.
67857func (s *DescribeInstanceAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeInstanceAttributeOutput {
67858	s.ProductCodes = v
67859	return s
67860}
67861
67862// SetRamdiskId sets the RamdiskId field's value.
67863func (s *DescribeInstanceAttributeOutput) SetRamdiskId(v *AttributeValue) *DescribeInstanceAttributeOutput {
67864	s.RamdiskId = v
67865	return s
67866}
67867
67868// SetRootDeviceName sets the RootDeviceName field's value.
67869func (s *DescribeInstanceAttributeOutput) SetRootDeviceName(v *AttributeValue) *DescribeInstanceAttributeOutput {
67870	s.RootDeviceName = v
67871	return s
67872}
67873
67874// SetSourceDestCheck sets the SourceDestCheck field's value.
67875func (s *DescribeInstanceAttributeOutput) SetSourceDestCheck(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
67876	s.SourceDestCheck = v
67877	return s
67878}
67879
67880// SetSriovNetSupport sets the SriovNetSupport field's value.
67881func (s *DescribeInstanceAttributeOutput) SetSriovNetSupport(v *AttributeValue) *DescribeInstanceAttributeOutput {
67882	s.SriovNetSupport = v
67883	return s
67884}
67885
67886// SetUserData sets the UserData field's value.
67887func (s *DescribeInstanceAttributeOutput) SetUserData(v *AttributeValue) *DescribeInstanceAttributeOutput {
67888	s.UserData = v
67889	return s
67890}
67891
67892type DescribeInstanceCreditSpecificationsInput struct {
67893	_ struct{} `type:"structure"`
67894
67895	// Checks whether you have the required permissions for the action, without
67896	// actually making the request, and provides an error response. If you have
67897	// the required permissions, the error response is DryRunOperation. Otherwise,
67898	// it is UnauthorizedOperation.
67899	DryRun *bool `type:"boolean"`
67900
67901	// The filters.
67902	//
67903	//    * instance-id - The ID of the instance.
67904	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
67905
67906	// The instance IDs.
67907	//
67908	// Default: Describes all your instances.
67909	//
67910	// Constraints: Maximum 1000 explicitly specified instance IDs.
67911	InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
67912
67913	// The maximum number of results to return in a single call. To retrieve the
67914	// remaining results, make another call with the returned NextToken value. This
67915	// value can be between 5 and 1000. You cannot specify this parameter and the
67916	// instance IDs parameter in the same call.
67917	MaxResults *int64 `min:"5" type:"integer"`
67918
67919	// The token to retrieve the next page of results.
67920	NextToken *string `type:"string"`
67921}
67922
67923// String returns the string representation
67924func (s DescribeInstanceCreditSpecificationsInput) String() string {
67925	return awsutil.Prettify(s)
67926}
67927
67928// GoString returns the string representation
67929func (s DescribeInstanceCreditSpecificationsInput) GoString() string {
67930	return s.String()
67931}
67932
67933// Validate inspects the fields of the type to determine if they are valid.
67934func (s *DescribeInstanceCreditSpecificationsInput) Validate() error {
67935	invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceCreditSpecificationsInput"}
67936	if s.MaxResults != nil && *s.MaxResults < 5 {
67937		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
67938	}
67939
67940	if invalidParams.Len() > 0 {
67941		return invalidParams
67942	}
67943	return nil
67944}
67945
67946// SetDryRun sets the DryRun field's value.
67947func (s *DescribeInstanceCreditSpecificationsInput) SetDryRun(v bool) *DescribeInstanceCreditSpecificationsInput {
67948	s.DryRun = &v
67949	return s
67950}
67951
67952// SetFilters sets the Filters field's value.
67953func (s *DescribeInstanceCreditSpecificationsInput) SetFilters(v []*Filter) *DescribeInstanceCreditSpecificationsInput {
67954	s.Filters = v
67955	return s
67956}
67957
67958// SetInstanceIds sets the InstanceIds field's value.
67959func (s *DescribeInstanceCreditSpecificationsInput) SetInstanceIds(v []*string) *DescribeInstanceCreditSpecificationsInput {
67960	s.InstanceIds = v
67961	return s
67962}
67963
67964// SetMaxResults sets the MaxResults field's value.
67965func (s *DescribeInstanceCreditSpecificationsInput) SetMaxResults(v int64) *DescribeInstanceCreditSpecificationsInput {
67966	s.MaxResults = &v
67967	return s
67968}
67969
67970// SetNextToken sets the NextToken field's value.
67971func (s *DescribeInstanceCreditSpecificationsInput) SetNextToken(v string) *DescribeInstanceCreditSpecificationsInput {
67972	s.NextToken = &v
67973	return s
67974}
67975
67976type DescribeInstanceCreditSpecificationsOutput struct {
67977	_ struct{} `type:"structure"`
67978
67979	// Information about the credit option for CPU usage of an instance.
67980	InstanceCreditSpecifications []*InstanceCreditSpecification `locationName:"instanceCreditSpecificationSet" locationNameList:"item" type:"list"`
67981
67982	// The token to use to retrieve the next page of results. This value is null
67983	// when there are no more results to return.
67984	NextToken *string `locationName:"nextToken" type:"string"`
67985}
67986
67987// String returns the string representation
67988func (s DescribeInstanceCreditSpecificationsOutput) String() string {
67989	return awsutil.Prettify(s)
67990}
67991
67992// GoString returns the string representation
67993func (s DescribeInstanceCreditSpecificationsOutput) GoString() string {
67994	return s.String()
67995}
67996
67997// SetInstanceCreditSpecifications sets the InstanceCreditSpecifications field's value.
67998func (s *DescribeInstanceCreditSpecificationsOutput) SetInstanceCreditSpecifications(v []*InstanceCreditSpecification) *DescribeInstanceCreditSpecificationsOutput {
67999	s.InstanceCreditSpecifications = v
68000	return s
68001}
68002
68003// SetNextToken sets the NextToken field's value.
68004func (s *DescribeInstanceCreditSpecificationsOutput) SetNextToken(v string) *DescribeInstanceCreditSpecificationsOutput {
68005	s.NextToken = &v
68006	return s
68007}
68008
68009type DescribeInstanceEventNotificationAttributesInput struct {
68010	_ struct{} `type:"structure"`
68011
68012	// Checks whether you have the required permissions for the action, without
68013	// actually making the request, and provides an error response. If you have
68014	// the required permissions, the error response is DryRunOperation. Otherwise,
68015	// it is UnauthorizedOperation.
68016	DryRun *bool `type:"boolean"`
68017}
68018
68019// String returns the string representation
68020func (s DescribeInstanceEventNotificationAttributesInput) String() string {
68021	return awsutil.Prettify(s)
68022}
68023
68024// GoString returns the string representation
68025func (s DescribeInstanceEventNotificationAttributesInput) GoString() string {
68026	return s.String()
68027}
68028
68029// SetDryRun sets the DryRun field's value.
68030func (s *DescribeInstanceEventNotificationAttributesInput) SetDryRun(v bool) *DescribeInstanceEventNotificationAttributesInput {
68031	s.DryRun = &v
68032	return s
68033}
68034
68035type DescribeInstanceEventNotificationAttributesOutput struct {
68036	_ struct{} `type:"structure"`
68037
68038	// Information about the registered tag keys.
68039	InstanceTagAttribute *InstanceTagNotificationAttribute `locationName:"instanceTagAttribute" type:"structure"`
68040}
68041
68042// String returns the string representation
68043func (s DescribeInstanceEventNotificationAttributesOutput) String() string {
68044	return awsutil.Prettify(s)
68045}
68046
68047// GoString returns the string representation
68048func (s DescribeInstanceEventNotificationAttributesOutput) GoString() string {
68049	return s.String()
68050}
68051
68052// SetInstanceTagAttribute sets the InstanceTagAttribute field's value.
68053func (s *DescribeInstanceEventNotificationAttributesOutput) SetInstanceTagAttribute(v *InstanceTagNotificationAttribute) *DescribeInstanceEventNotificationAttributesOutput {
68054	s.InstanceTagAttribute = v
68055	return s
68056}
68057
68058type DescribeInstanceStatusInput struct {
68059	_ struct{} `type:"structure"`
68060
68061	// Checks whether you have the required permissions for the action, without
68062	// actually making the request, and provides an error response. If you have
68063	// the required permissions, the error response is DryRunOperation. Otherwise,
68064	// it is UnauthorizedOperation.
68065	DryRun *bool `locationName:"dryRun" type:"boolean"`
68066
68067	// The filters.
68068	//
68069	//    * availability-zone - The Availability Zone of the instance.
68070	//
68071	//    * event.code - The code for the scheduled event (instance-reboot | system-reboot
68072	//    | system-maintenance | instance-retirement | instance-stop).
68073	//
68074	//    * event.description - A description of the event.
68075	//
68076	//    * event.instance-event-id - The ID of the event whose date and time you
68077	//    are modifying.
68078	//
68079	//    * event.not-after - The latest end time for the scheduled event (for example,
68080	//    2014-09-15T17:15:20.000Z).
68081	//
68082	//    * event.not-before - The earliest start time for the scheduled event (for
68083	//    example, 2014-09-15T17:15:20.000Z).
68084	//
68085	//    * event.not-before-deadline - The deadline for starting the event (for
68086	//    example, 2014-09-15T17:15:20.000Z).
68087	//
68088	//    * instance-state-code - The code for the instance state, as a 16-bit unsigned
68089	//    integer. The high byte is used for internal purposes and should be ignored.
68090	//    The low byte is set based on the state represented. The valid values are
68091	//    0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping),
68092	//    and 80 (stopped).
68093	//
68094	//    * instance-state-name - The state of the instance (pending | running |
68095	//    shutting-down | terminated | stopping | stopped).
68096	//
68097	//    * instance-status.reachability - Filters on instance status where the
68098	//    name is reachability (passed | failed | initializing | insufficient-data).
68099	//
68100	//    * instance-status.status - The status of the instance (ok | impaired |
68101	//    initializing | insufficient-data | not-applicable).
68102	//
68103	//    * system-status.reachability - Filters on system status where the name
68104	//    is reachability (passed | failed | initializing | insufficient-data).
68105	//
68106	//    * system-status.status - The system status of the instance (ok | impaired
68107	//    | initializing | insufficient-data | not-applicable).
68108	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
68109
68110	// When true, includes the health status for all instances. When false, includes
68111	// the health status for running instances only.
68112	//
68113	// Default: false
68114	IncludeAllInstances *bool `locationName:"includeAllInstances" type:"boolean"`
68115
68116	// The instance IDs.
68117	//
68118	// Default: Describes all your instances.
68119	//
68120	// Constraints: Maximum 100 explicitly specified instance IDs.
68121	InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
68122
68123	// The maximum number of results to return in a single call. To retrieve the
68124	// remaining results, make another call with the returned NextToken value. This
68125	// value can be between 5 and 1000. You cannot specify this parameter and the
68126	// instance IDs parameter in the same call.
68127	MaxResults *int64 `type:"integer"`
68128
68129	// The token to retrieve the next page of results.
68130	NextToken *string `type:"string"`
68131}
68132
68133// String returns the string representation
68134func (s DescribeInstanceStatusInput) String() string {
68135	return awsutil.Prettify(s)
68136}
68137
68138// GoString returns the string representation
68139func (s DescribeInstanceStatusInput) GoString() string {
68140	return s.String()
68141}
68142
68143// SetDryRun sets the DryRun field's value.
68144func (s *DescribeInstanceStatusInput) SetDryRun(v bool) *DescribeInstanceStatusInput {
68145	s.DryRun = &v
68146	return s
68147}
68148
68149// SetFilters sets the Filters field's value.
68150func (s *DescribeInstanceStatusInput) SetFilters(v []*Filter) *DescribeInstanceStatusInput {
68151	s.Filters = v
68152	return s
68153}
68154
68155// SetIncludeAllInstances sets the IncludeAllInstances field's value.
68156func (s *DescribeInstanceStatusInput) SetIncludeAllInstances(v bool) *DescribeInstanceStatusInput {
68157	s.IncludeAllInstances = &v
68158	return s
68159}
68160
68161// SetInstanceIds sets the InstanceIds field's value.
68162func (s *DescribeInstanceStatusInput) SetInstanceIds(v []*string) *DescribeInstanceStatusInput {
68163	s.InstanceIds = v
68164	return s
68165}
68166
68167// SetMaxResults sets the MaxResults field's value.
68168func (s *DescribeInstanceStatusInput) SetMaxResults(v int64) *DescribeInstanceStatusInput {
68169	s.MaxResults = &v
68170	return s
68171}
68172
68173// SetNextToken sets the NextToken field's value.
68174func (s *DescribeInstanceStatusInput) SetNextToken(v string) *DescribeInstanceStatusInput {
68175	s.NextToken = &v
68176	return s
68177}
68178
68179type DescribeInstanceStatusOutput struct {
68180	_ struct{} `type:"structure"`
68181
68182	// Information about the status of the instances.
68183	InstanceStatuses []*InstanceStatus `locationName:"instanceStatusSet" locationNameList:"item" type:"list"`
68184
68185	// The token to use to retrieve the next page of results. This value is null
68186	// when there are no more results to return.
68187	NextToken *string `locationName:"nextToken" type:"string"`
68188}
68189
68190// String returns the string representation
68191func (s DescribeInstanceStatusOutput) String() string {
68192	return awsutil.Prettify(s)
68193}
68194
68195// GoString returns the string representation
68196func (s DescribeInstanceStatusOutput) GoString() string {
68197	return s.String()
68198}
68199
68200// SetInstanceStatuses sets the InstanceStatuses field's value.
68201func (s *DescribeInstanceStatusOutput) SetInstanceStatuses(v []*InstanceStatus) *DescribeInstanceStatusOutput {
68202	s.InstanceStatuses = v
68203	return s
68204}
68205
68206// SetNextToken sets the NextToken field's value.
68207func (s *DescribeInstanceStatusOutput) SetNextToken(v string) *DescribeInstanceStatusOutput {
68208	s.NextToken = &v
68209	return s
68210}
68211
68212type DescribeInstanceTypeOfferingsInput struct {
68213	_ struct{} `type:"structure"`
68214
68215	// Checks whether you have the required permissions for the action, without
68216	// actually making the request, and provides an error response. If you have
68217	// the required permissions, the error response is DryRunOperation. Otherwise,
68218	// it is UnauthorizedOperation.
68219	DryRun *bool `type:"boolean"`
68220
68221	// One or more filters. Filter names and values are case-sensitive.
68222	//
68223	//    * location - This depends on the location type. For example, if the location
68224	//    type is region (default), the location is the Region code (for example,
68225	//    us-east-2.)
68226	//
68227	//    * instance-type - The instance type. For example, c5.2xlarge.
68228	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
68229
68230	// The location type.
68231	LocationType *string `type:"string" enum:"LocationType"`
68232
68233	// The maximum number of results to return for the request in a single page.
68234	// The remaining results can be seen by sending another request with the next
68235	// token value.
68236	MaxResults *int64 `min:"5" type:"integer"`
68237
68238	// The token to retrieve the next page of results.
68239	NextToken *string `type:"string"`
68240}
68241
68242// String returns the string representation
68243func (s DescribeInstanceTypeOfferingsInput) String() string {
68244	return awsutil.Prettify(s)
68245}
68246
68247// GoString returns the string representation
68248func (s DescribeInstanceTypeOfferingsInput) GoString() string {
68249	return s.String()
68250}
68251
68252// Validate inspects the fields of the type to determine if they are valid.
68253func (s *DescribeInstanceTypeOfferingsInput) Validate() error {
68254	invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceTypeOfferingsInput"}
68255	if s.MaxResults != nil && *s.MaxResults < 5 {
68256		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
68257	}
68258
68259	if invalidParams.Len() > 0 {
68260		return invalidParams
68261	}
68262	return nil
68263}
68264
68265// SetDryRun sets the DryRun field's value.
68266func (s *DescribeInstanceTypeOfferingsInput) SetDryRun(v bool) *DescribeInstanceTypeOfferingsInput {
68267	s.DryRun = &v
68268	return s
68269}
68270
68271// SetFilters sets the Filters field's value.
68272func (s *DescribeInstanceTypeOfferingsInput) SetFilters(v []*Filter) *DescribeInstanceTypeOfferingsInput {
68273	s.Filters = v
68274	return s
68275}
68276
68277// SetLocationType sets the LocationType field's value.
68278func (s *DescribeInstanceTypeOfferingsInput) SetLocationType(v string) *DescribeInstanceTypeOfferingsInput {
68279	s.LocationType = &v
68280	return s
68281}
68282
68283// SetMaxResults sets the MaxResults field's value.
68284func (s *DescribeInstanceTypeOfferingsInput) SetMaxResults(v int64) *DescribeInstanceTypeOfferingsInput {
68285	s.MaxResults = &v
68286	return s
68287}
68288
68289// SetNextToken sets the NextToken field's value.
68290func (s *DescribeInstanceTypeOfferingsInput) SetNextToken(v string) *DescribeInstanceTypeOfferingsInput {
68291	s.NextToken = &v
68292	return s
68293}
68294
68295type DescribeInstanceTypeOfferingsOutput struct {
68296	_ struct{} `type:"structure"`
68297
68298	// The instance types offered.
68299	InstanceTypeOfferings []*InstanceTypeOffering `locationName:"instanceTypeOfferingSet" locationNameList:"item" type:"list"`
68300
68301	// The token to use to retrieve the next page of results. This value is null
68302	// when there are no more results to return.
68303	NextToken *string `locationName:"nextToken" type:"string"`
68304}
68305
68306// String returns the string representation
68307func (s DescribeInstanceTypeOfferingsOutput) String() string {
68308	return awsutil.Prettify(s)
68309}
68310
68311// GoString returns the string representation
68312func (s DescribeInstanceTypeOfferingsOutput) GoString() string {
68313	return s.String()
68314}
68315
68316// SetInstanceTypeOfferings sets the InstanceTypeOfferings field's value.
68317func (s *DescribeInstanceTypeOfferingsOutput) SetInstanceTypeOfferings(v []*InstanceTypeOffering) *DescribeInstanceTypeOfferingsOutput {
68318	s.InstanceTypeOfferings = v
68319	return s
68320}
68321
68322// SetNextToken sets the NextToken field's value.
68323func (s *DescribeInstanceTypeOfferingsOutput) SetNextToken(v string) *DescribeInstanceTypeOfferingsOutput {
68324	s.NextToken = &v
68325	return s
68326}
68327
68328type DescribeInstanceTypesInput struct {
68329	_ struct{} `type:"structure"`
68330
68331	// Checks whether you have the required permissions for the action, without
68332	// actually making the request, and provides an error response. If you have
68333	// the required permissions, the error response is DryRunOperation. Otherwise,
68334	// it is UnauthorizedOperation.
68335	DryRun *bool `type:"boolean"`
68336
68337	// One or more filters. Filter names and values are case-sensitive.
68338	//
68339	//    * auto-recovery-supported - Indicates whether auto recovery is supported
68340	//    (true | false).
68341	//
68342	//    * bare-metal - Indicates whether it is a bare metal instance type (true
68343	//    | false).
68344	//
68345	//    * burstable-performance-supported - Indicates whether it is a burstable
68346	//    performance instance type (true | false).
68347	//
68348	//    * current-generation - Indicates whether this instance type is the latest
68349	//    generation instance type of an instance family (true | false).
68350	//
68351	//    * ebs-info.ebs-optimized-info.baseline-bandwidth-in-mbps - The baseline
68352	//    bandwidth performance for an EBS-optimized instance type, in Mbps.
68353	//
68354	//    * ebs-info.ebs-optimized-info.baseline-iops - The baseline input/output
68355	//    storage operations per second for an EBS-optimized instance type.
68356	//
68357	//    * ebs-info.ebs-optimized-info.baseline-throughput-in-mbps - The baseline
68358	//    throughput performance for an EBS-optimized instance type, in MB/s.
68359	//
68360	//    * ebs-info.ebs-optimized-info.maximum-bandwidth-in-mbps - The maximum
68361	//    bandwidth performance for an EBS-optimized instance type, in Mbps.
68362	//
68363	//    * ebs-info.ebs-optimized-info.maximum-iops - The maximum input/output
68364	//    storage operations per second for an EBS-optimized instance type.
68365	//
68366	//    * ebs-info.ebs-optimized-info.maximum-throughput-in-mbps - The maximum
68367	//    throughput performance for an EBS-optimized instance type, in MB/s.
68368	//
68369	//    * ebs-info.ebs-optimized-support - Indicates whether the instance type
68370	//    is EBS-optimized (supported | unsupported | default).
68371	//
68372	//    * ebs-info.encryption-support - Indicates whether EBS encryption is supported
68373	//    (supported | unsupported).
68374	//
68375	//    * ebs-info.nvme-support - Indicates whether non-volatile memory express
68376	//    (NVMe) is supported for EBS volumes (required | supported | unsupported).
68377	//
68378	//    * free-tier-eligible - Indicates whether the instance type is eligible
68379	//    to use in the free tier (true | false).
68380	//
68381	//    * hibernation-supported - Indicates whether On-Demand hibernation is supported
68382	//    (true | false).
68383	//
68384	//    * hypervisor - The hypervisor (nitro | xen).
68385	//
68386	//    * instance-storage-info.disk.count - The number of local disks.
68387	//
68388	//    * instance-storage-info.disk.size-in-gb - The storage size of each instance
68389	//    storage disk, in GB.
68390	//
68391	//    * instance-storage-info.disk.type - The storage technology for the local
68392	//    instance storage disks (hdd | ssd).
68393	//
68394	//    * instance-storage-info.nvme-support - Indicates whether non-volatile
68395	//    memory express (NVMe) is supported for instance store (required | supported)
68396	//    | unsupported).
68397	//
68398	//    * instance-storage-info.total-size-in-gb - The total amount of storage
68399	//    available from all local instance storage, in GB.
68400	//
68401	//    * instance-storage-supported - Indicates whether the instance type has
68402	//    local instance storage (true | false).
68403	//
68404	//    * instance-type - The instance type (for example c5.2xlarge or c5*).
68405	//
68406	//    * memory-info.size-in-mib - The memory size.
68407	//
68408	//    * network-info.efa-info.maximum-efa-interfaces - The maximum number of
68409	//    Elastic Fabric Adapters (EFAs) per instance.
68410	//
68411	//    * network-info.efa-supported - Indicates whether the instance type supports
68412	//    Elastic Fabric Adapter (EFA) (true | false).
68413	//
68414	//    * network-info.ena-support - Indicates whether Elastic Network Adapter
68415	//    (ENA) is supported or required (required | supported | unsupported).
68416	//
68417	//    * network-info.ipv4-addresses-per-interface - The maximum number of private
68418	//    IPv4 addresses per network interface.
68419	//
68420	//    * network-info.ipv6-addresses-per-interface - The maximum number of private
68421	//    IPv6 addresses per network interface.
68422	//
68423	//    * network-info.ipv6-supported - Indicates whether the instance type supports
68424	//    IPv6 (true | false).
68425	//
68426	//    * network-info.maximum-network-interfaces - The maximum number of network
68427	//    interfaces per instance.
68428	//
68429	//    * network-info.network-performance - The network performance (for example,
68430	//    "25 Gigabit").
68431	//
68432	//    * processor-info.supported-architecture - The CPU architecture (arm64
68433	//    | i386 | x86_64).
68434	//
68435	//    * processor-info.sustained-clock-speed-in-ghz - The CPU clock speed, in
68436	//    GHz.
68437	//
68438	//    * supported-boot-mode - The boot mode (legacy-bios | uefi).
68439	//
68440	//    * supported-root-device-type - The root device type (ebs | instance-store).
68441	//
68442	//    * supported-usage-class - The usage class (on-demand | spot).
68443	//
68444	//    * supported-virtualization-type - The virtualization type (hvm | paravirtual).
68445	//
68446	//    * vcpu-info.default-cores - The default number of cores for the instance
68447	//    type.
68448	//
68449	//    * vcpu-info.default-threads-per-core - The default number of threads per
68450	//    core for the instance type.
68451	//
68452	//    * vcpu-info.default-vcpus - The default number of vCPUs for the instance
68453	//    type.
68454	//
68455	//    * vcpu-info.valid-cores - The number of cores that can be configured for
68456	//    the instance type.
68457	//
68458	//    * vcpu-info.valid-threads-per-core - The number of threads per core that
68459	//    can be configured for the instance type. For example, "1" or "1,2".
68460	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
68461
68462	// The instance types. For more information, see Instance types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
68463	// in the Amazon EC2 User Guide.
68464	InstanceTypes []*string `locationName:"InstanceType" type:"list"`
68465
68466	// The maximum number of results to return for the request in a single page.
68467	// The remaining results can be seen by sending another request with the next
68468	// token value.
68469	MaxResults *int64 `min:"5" type:"integer"`
68470
68471	// The token to retrieve the next page of results.
68472	NextToken *string `type:"string"`
68473}
68474
68475// String returns the string representation
68476func (s DescribeInstanceTypesInput) String() string {
68477	return awsutil.Prettify(s)
68478}
68479
68480// GoString returns the string representation
68481func (s DescribeInstanceTypesInput) GoString() string {
68482	return s.String()
68483}
68484
68485// Validate inspects the fields of the type to determine if they are valid.
68486func (s *DescribeInstanceTypesInput) Validate() error {
68487	invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceTypesInput"}
68488	if s.MaxResults != nil && *s.MaxResults < 5 {
68489		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
68490	}
68491
68492	if invalidParams.Len() > 0 {
68493		return invalidParams
68494	}
68495	return nil
68496}
68497
68498// SetDryRun sets the DryRun field's value.
68499func (s *DescribeInstanceTypesInput) SetDryRun(v bool) *DescribeInstanceTypesInput {
68500	s.DryRun = &v
68501	return s
68502}
68503
68504// SetFilters sets the Filters field's value.
68505func (s *DescribeInstanceTypesInput) SetFilters(v []*Filter) *DescribeInstanceTypesInput {
68506	s.Filters = v
68507	return s
68508}
68509
68510// SetInstanceTypes sets the InstanceTypes field's value.
68511func (s *DescribeInstanceTypesInput) SetInstanceTypes(v []*string) *DescribeInstanceTypesInput {
68512	s.InstanceTypes = v
68513	return s
68514}
68515
68516// SetMaxResults sets the MaxResults field's value.
68517func (s *DescribeInstanceTypesInput) SetMaxResults(v int64) *DescribeInstanceTypesInput {
68518	s.MaxResults = &v
68519	return s
68520}
68521
68522// SetNextToken sets the NextToken field's value.
68523func (s *DescribeInstanceTypesInput) SetNextToken(v string) *DescribeInstanceTypesInput {
68524	s.NextToken = &v
68525	return s
68526}
68527
68528type DescribeInstanceTypesOutput struct {
68529	_ struct{} `type:"structure"`
68530
68531	// The instance type. For more information, see Instance types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
68532	// in the Amazon EC2 User Guide.
68533	InstanceTypes []*InstanceTypeInfo `locationName:"instanceTypeSet" locationNameList:"item" type:"list"`
68534
68535	// The token to use to retrieve the next page of results. This value is null
68536	// when there are no more results to return.
68537	NextToken *string `locationName:"nextToken" type:"string"`
68538}
68539
68540// String returns the string representation
68541func (s DescribeInstanceTypesOutput) String() string {
68542	return awsutil.Prettify(s)
68543}
68544
68545// GoString returns the string representation
68546func (s DescribeInstanceTypesOutput) GoString() string {
68547	return s.String()
68548}
68549
68550// SetInstanceTypes sets the InstanceTypes field's value.
68551func (s *DescribeInstanceTypesOutput) SetInstanceTypes(v []*InstanceTypeInfo) *DescribeInstanceTypesOutput {
68552	s.InstanceTypes = v
68553	return s
68554}
68555
68556// SetNextToken sets the NextToken field's value.
68557func (s *DescribeInstanceTypesOutput) SetNextToken(v string) *DescribeInstanceTypesOutput {
68558	s.NextToken = &v
68559	return s
68560}
68561
68562type DescribeInstancesInput struct {
68563	_ struct{} `type:"structure"`
68564
68565	// Checks whether you have the required permissions for the action, without
68566	// actually making the request, and provides an error response. If you have
68567	// the required permissions, the error response is DryRunOperation. Otherwise,
68568	// it is UnauthorizedOperation.
68569	DryRun *bool `locationName:"dryRun" type:"boolean"`
68570
68571	// The filters.
68572	//
68573	//    * affinity - The affinity setting for an instance running on a Dedicated
68574	//    Host (default | host).
68575	//
68576	//    * architecture - The instance architecture (i386 | x86_64 | arm64).
68577	//
68578	//    * availability-zone - The Availability Zone of the instance.
68579	//
68580	//    * block-device-mapping.attach-time - The attach time for an EBS volume
68581	//    mapped to the instance, for example, 2010-09-15T17:15:20.000Z.
68582	//
68583	//    * block-device-mapping.delete-on-termination - A Boolean that indicates
68584	//    whether the EBS volume is deleted on instance termination.
68585	//
68586	//    * block-device-mapping.device-name - The device name specified in the
68587	//    block device mapping (for example, /dev/sdh or xvdh).
68588	//
68589	//    * block-device-mapping.status - The status for the EBS volume (attaching
68590	//    | attached | detaching | detached).
68591	//
68592	//    * block-device-mapping.volume-id - The volume ID of the EBS volume.
68593	//
68594	//    * client-token - The idempotency token you provided when you launched
68595	//    the instance.
68596	//
68597	//    * dns-name - The public DNS name of the instance.
68598	//
68599	//    * group-id - The ID of the security group for the instance. EC2-Classic
68600	//    only.
68601	//
68602	//    * group-name - The name of the security group for the instance. EC2-Classic
68603	//    only.
68604	//
68605	//    * hibernation-options.configured - A Boolean that indicates whether the
68606	//    instance is enabled for hibernation. A value of true means that the instance
68607	//    is enabled for hibernation.
68608	//
68609	//    * host-id - The ID of the Dedicated Host on which the instance is running,
68610	//    if applicable.
68611	//
68612	//    * hypervisor - The hypervisor type of the instance (ovm | xen). The value
68613	//    xen is used for both Xen and Nitro hypervisors.
68614	//
68615	//    * iam-instance-profile.arn - The instance profile associated with the
68616	//    instance. Specified as an ARN.
68617	//
68618	//    * image-id - The ID of the image used to launch the instance.
68619	//
68620	//    * instance-id - The ID of the instance.
68621	//
68622	//    * instance-lifecycle - Indicates whether this is a Spot Instance or a
68623	//    Scheduled Instance (spot | scheduled).
68624	//
68625	//    * instance-state-code - The state of the instance, as a 16-bit unsigned
68626	//    integer. The high byte is used for internal purposes and should be ignored.
68627	//    The low byte is set based on the state represented. The valid values are:
68628	//    0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping),
68629	//    and 80 (stopped).
68630	//
68631	//    * instance-state-name - The state of the instance (pending | running |
68632	//    shutting-down | terminated | stopping | stopped).
68633	//
68634	//    * instance-type - The type of instance (for example, t2.micro).
68635	//
68636	//    * instance.group-id - The ID of the security group for the instance.
68637	//
68638	//    * instance.group-name - The name of the security group for the instance.
68639	//
68640	//    * ip-address - The public IPv4 address of the instance.
68641	//
68642	//    * kernel-id - The kernel ID.
68643	//
68644	//    * key-name - The name of the key pair used when the instance was launched.
68645	//
68646	//    * launch-index - When launching multiple instances, this is the index
68647	//    for the instance in the launch group (for example, 0, 1, 2, and so on).
68648	//
68649	//    * launch-time - The time when the instance was launched.
68650	//
68651	//    * metadata-options.http-tokens - The metadata request authorization state
68652	//    (optional | required)
68653	//
68654	//    * metadata-options.http-put-response-hop-limit - The http metadata request
68655	//    put response hop limit (integer, possible values 1 to 64)
68656	//
68657	//    * metadata-options.http-endpoint - Enable or disable metadata access on
68658	//    http endpoint (enabled | disabled)
68659	//
68660	//    * monitoring-state - Indicates whether detailed monitoring is enabled
68661	//    (disabled | enabled).
68662	//
68663	//    * network-interface.addresses.private-ip-address - The private IPv4 address
68664	//    associated with the network interface.
68665	//
68666	//    * network-interface.addresses.primary - Specifies whether the IPv4 address
68667	//    of the network interface is the primary private IPv4 address.
68668	//
68669	//    * network-interface.addresses.association.public-ip - The ID of the association
68670	//    of an Elastic IP address (IPv4) with a network interface.
68671	//
68672	//    * network-interface.addresses.association.ip-owner-id - The owner ID of
68673	//    the private IPv4 address associated with the network interface.
68674	//
68675	//    * network-interface.association.public-ip - The address of the Elastic
68676	//    IP address (IPv4) bound to the network interface.
68677	//
68678	//    * network-interface.association.ip-owner-id - The owner of the Elastic
68679	//    IP address (IPv4) associated with the network interface.
68680	//
68681	//    * network-interface.association.allocation-id - The allocation ID returned
68682	//    when you allocated the Elastic IP address (IPv4) for your network interface.
68683	//
68684	//    * network-interface.association.association-id - The association ID returned
68685	//    when the network interface was associated with an IPv4 address.
68686	//
68687	//    * network-interface.attachment.attachment-id - The ID of the interface
68688	//    attachment.
68689	//
68690	//    * network-interface.attachment.instance-id - The ID of the instance to
68691	//    which the network interface is attached.
68692	//
68693	//    * network-interface.attachment.instance-owner-id - The owner ID of the
68694	//    instance to which the network interface is attached.
68695	//
68696	//    * network-interface.attachment.device-index - The device index to which
68697	//    the network interface is attached.
68698	//
68699	//    * network-interface.attachment.status - The status of the attachment (attaching
68700	//    | attached | detaching | detached).
68701	//
68702	//    * network-interface.attachment.attach-time - The time that the network
68703	//    interface was attached to an instance.
68704	//
68705	//    * network-interface.attachment.delete-on-termination - Specifies whether
68706	//    the attachment is deleted when an instance is terminated.
68707	//
68708	//    * network-interface.availability-zone - The Availability Zone for the
68709	//    network interface.
68710	//
68711	//    * network-interface.description - The description of the network interface.
68712	//
68713	//    * network-interface.group-id - The ID of a security group associated with
68714	//    the network interface.
68715	//
68716	//    * network-interface.group-name - The name of a security group associated
68717	//    with the network interface.
68718	//
68719	//    * network-interface.ipv6-addresses.ipv6-address - The IPv6 address associated
68720	//    with the network interface.
68721	//
68722	//    * network-interface.mac-address - The MAC address of the network interface.
68723	//
68724	//    * network-interface.network-interface-id - The ID of the network interface.
68725	//
68726	//    * network-interface.owner-id - The ID of the owner of the network interface.
68727	//
68728	//    * network-interface.private-dns-name - The private DNS name of the network
68729	//    interface.
68730	//
68731	//    * network-interface.requester-id - The requester ID for the network interface.
68732	//
68733	//    * network-interface.requester-managed - Indicates whether the network
68734	//    interface is being managed by AWS.
68735	//
68736	//    * network-interface.status - The status of the network interface (available)
68737	//    | in-use).
68738	//
68739	//    * network-interface.source-dest-check - Whether the network interface
68740	//    performs source/destination checking. A value of true means that checking
68741	//    is enabled, and false means that checking is disabled. The value must
68742	//    be false for the network interface to perform network address translation
68743	//    (NAT) in your VPC.
68744	//
68745	//    * network-interface.subnet-id - The ID of the subnet for the network interface.
68746	//
68747	//    * network-interface.vpc-id - The ID of the VPC for the network interface.
68748	//
68749	//    * outpost-arn - The Amazon Resource Name (ARN) of the Outpost.
68750	//
68751	//    * owner-id - The AWS account ID of the instance owner.
68752	//
68753	//    * placement-group-name - The name of the placement group for the instance.
68754	//
68755	//    * placement-partition-number - The partition in which the instance is
68756	//    located.
68757	//
68758	//    * platform - The platform. To list only Windows instances, use windows.
68759	//
68760	//    * private-dns-name - The private IPv4 DNS name of the instance.
68761	//
68762	//    * private-ip-address - The private IPv4 address of the instance.
68763	//
68764	//    * product-code - The product code associated with the AMI used to launch
68765	//    the instance.
68766	//
68767	//    * product-code.type - The type of product code (devpay | marketplace).
68768	//
68769	//    * ramdisk-id - The RAM disk ID.
68770	//
68771	//    * reason - The reason for the current state of the instance (for example,
68772	//    shows "User Initiated [date]" when you stop or terminate the instance).
68773	//    Similar to the state-reason-code filter.
68774	//
68775	//    * requester-id - The ID of the entity that launched the instance on your
68776	//    behalf (for example, AWS Management Console, Auto Scaling, and so on).
68777	//
68778	//    * reservation-id - The ID of the instance's reservation. A reservation
68779	//    ID is created any time you launch an instance. A reservation ID has a
68780	//    one-to-one relationship with an instance launch request, but can be associated
68781	//    with more than one instance if you launch multiple instances using the
68782	//    same launch request. For example, if you launch one instance, you get
68783	//    one reservation ID. If you launch ten instances using the same launch
68784	//    request, you also get one reservation ID.
68785	//
68786	//    * root-device-name - The device name of the root device volume (for example,
68787	//    /dev/sda1).
68788	//
68789	//    * root-device-type - The type of the root device volume (ebs | instance-store).
68790	//
68791	//    * source-dest-check - Indicates whether the instance performs source/destination
68792	//    checking. A value of true means that checking is enabled, and false means
68793	//    that checking is disabled. The value must be false for the instance to
68794	//    perform network address translation (NAT) in your VPC.
68795	//
68796	//    * spot-instance-request-id - The ID of the Spot Instance request.
68797	//
68798	//    * state-reason-code - The reason code for the state change.
68799	//
68800	//    * state-reason-message - A message that describes the state change.
68801	//
68802	//    * subnet-id - The ID of the subnet for the instance.
68803	//
68804	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
68805	//    Use the tag key in the filter name and the tag value as the filter value.
68806	//    For example, to find all resources that have a tag with the key Owner
68807	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
68808	//    the filter value.
68809	//
68810	//    * tag-key - The key of a tag assigned to the resource. Use this filter
68811	//    to find all resources that have a tag with a specific key, regardless
68812	//    of the tag value.
68813	//
68814	//    * tenancy - The tenancy of an instance (dedicated | default | host).
68815	//
68816	//    * virtualization-type - The virtualization type of the instance (paravirtual
68817	//    | hvm).
68818	//
68819	//    * vpc-id - The ID of the VPC that the instance is running in.
68820	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
68821
68822	// The instance IDs.
68823	//
68824	// Default: Describes all your instances.
68825	InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
68826
68827	// The maximum number of results to return in a single call. To retrieve the
68828	// remaining results, make another call with the returned NextToken value. This
68829	// value can be between 5 and 1000. You cannot specify this parameter and the
68830	// instance IDs parameter in the same call.
68831	MaxResults *int64 `locationName:"maxResults" type:"integer"`
68832
68833	// The token to request the next page of results.
68834	NextToken *string `locationName:"nextToken" type:"string"`
68835}
68836
68837// String returns the string representation
68838func (s DescribeInstancesInput) String() string {
68839	return awsutil.Prettify(s)
68840}
68841
68842// GoString returns the string representation
68843func (s DescribeInstancesInput) GoString() string {
68844	return s.String()
68845}
68846
68847// SetDryRun sets the DryRun field's value.
68848func (s *DescribeInstancesInput) SetDryRun(v bool) *DescribeInstancesInput {
68849	s.DryRun = &v
68850	return s
68851}
68852
68853// SetFilters sets the Filters field's value.
68854func (s *DescribeInstancesInput) SetFilters(v []*Filter) *DescribeInstancesInput {
68855	s.Filters = v
68856	return s
68857}
68858
68859// SetInstanceIds sets the InstanceIds field's value.
68860func (s *DescribeInstancesInput) SetInstanceIds(v []*string) *DescribeInstancesInput {
68861	s.InstanceIds = v
68862	return s
68863}
68864
68865// SetMaxResults sets the MaxResults field's value.
68866func (s *DescribeInstancesInput) SetMaxResults(v int64) *DescribeInstancesInput {
68867	s.MaxResults = &v
68868	return s
68869}
68870
68871// SetNextToken sets the NextToken field's value.
68872func (s *DescribeInstancesInput) SetNextToken(v string) *DescribeInstancesInput {
68873	s.NextToken = &v
68874	return s
68875}
68876
68877type DescribeInstancesOutput struct {
68878	_ struct{} `type:"structure"`
68879
68880	// The token to use to retrieve the next page of results. This value is null
68881	// when there are no more results to return.
68882	NextToken *string `locationName:"nextToken" type:"string"`
68883
68884	// Information about the reservations.
68885	Reservations []*Reservation `locationName:"reservationSet" locationNameList:"item" type:"list"`
68886}
68887
68888// String returns the string representation
68889func (s DescribeInstancesOutput) String() string {
68890	return awsutil.Prettify(s)
68891}
68892
68893// GoString returns the string representation
68894func (s DescribeInstancesOutput) GoString() string {
68895	return s.String()
68896}
68897
68898// SetNextToken sets the NextToken field's value.
68899func (s *DescribeInstancesOutput) SetNextToken(v string) *DescribeInstancesOutput {
68900	s.NextToken = &v
68901	return s
68902}
68903
68904// SetReservations sets the Reservations field's value.
68905func (s *DescribeInstancesOutput) SetReservations(v []*Reservation) *DescribeInstancesOutput {
68906	s.Reservations = v
68907	return s
68908}
68909
68910type DescribeInternetGatewaysInput struct {
68911	_ struct{} `type:"structure"`
68912
68913	// Checks whether you have the required permissions for the action, without
68914	// actually making the request, and provides an error response. If you have
68915	// the required permissions, the error response is DryRunOperation. Otherwise,
68916	// it is UnauthorizedOperation.
68917	DryRun *bool `locationName:"dryRun" type:"boolean"`
68918
68919	// One or more filters.
68920	//
68921	//    * attachment.state - The current state of the attachment between the gateway
68922	//    and the VPC (available). Present only if a VPC is attached.
68923	//
68924	//    * attachment.vpc-id - The ID of an attached VPC.
68925	//
68926	//    * internet-gateway-id - The ID of the Internet gateway.
68927	//
68928	//    * owner-id - The ID of the AWS account that owns the internet gateway.
68929	//
68930	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
68931	//    Use the tag key in the filter name and the tag value as the filter value.
68932	//    For example, to find all resources that have a tag with the key Owner
68933	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
68934	//    the filter value.
68935	//
68936	//    * tag-key - The key of a tag assigned to the resource. Use this filter
68937	//    to find all resources assigned a tag with a specific key, regardless of
68938	//    the tag value.
68939	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
68940
68941	// One or more internet gateway IDs.
68942	//
68943	// Default: Describes all your internet gateways.
68944	InternetGatewayIds []*string `locationName:"internetGatewayId" locationNameList:"item" type:"list"`
68945
68946	// The maximum number of results to return with a single call. To retrieve the
68947	// remaining results, make another call with the returned nextToken value.
68948	MaxResults *int64 `min:"5" type:"integer"`
68949
68950	// The token for the next page of results.
68951	NextToken *string `type:"string"`
68952}
68953
68954// String returns the string representation
68955func (s DescribeInternetGatewaysInput) String() string {
68956	return awsutil.Prettify(s)
68957}
68958
68959// GoString returns the string representation
68960func (s DescribeInternetGatewaysInput) GoString() string {
68961	return s.String()
68962}
68963
68964// Validate inspects the fields of the type to determine if they are valid.
68965func (s *DescribeInternetGatewaysInput) Validate() error {
68966	invalidParams := request.ErrInvalidParams{Context: "DescribeInternetGatewaysInput"}
68967	if s.MaxResults != nil && *s.MaxResults < 5 {
68968		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
68969	}
68970
68971	if invalidParams.Len() > 0 {
68972		return invalidParams
68973	}
68974	return nil
68975}
68976
68977// SetDryRun sets the DryRun field's value.
68978func (s *DescribeInternetGatewaysInput) SetDryRun(v bool) *DescribeInternetGatewaysInput {
68979	s.DryRun = &v
68980	return s
68981}
68982
68983// SetFilters sets the Filters field's value.
68984func (s *DescribeInternetGatewaysInput) SetFilters(v []*Filter) *DescribeInternetGatewaysInput {
68985	s.Filters = v
68986	return s
68987}
68988
68989// SetInternetGatewayIds sets the InternetGatewayIds field's value.
68990func (s *DescribeInternetGatewaysInput) SetInternetGatewayIds(v []*string) *DescribeInternetGatewaysInput {
68991	s.InternetGatewayIds = v
68992	return s
68993}
68994
68995// SetMaxResults sets the MaxResults field's value.
68996func (s *DescribeInternetGatewaysInput) SetMaxResults(v int64) *DescribeInternetGatewaysInput {
68997	s.MaxResults = &v
68998	return s
68999}
69000
69001// SetNextToken sets the NextToken field's value.
69002func (s *DescribeInternetGatewaysInput) SetNextToken(v string) *DescribeInternetGatewaysInput {
69003	s.NextToken = &v
69004	return s
69005}
69006
69007type DescribeInternetGatewaysOutput struct {
69008	_ struct{} `type:"structure"`
69009
69010	// Information about one or more internet gateways.
69011	InternetGateways []*InternetGateway `locationName:"internetGatewaySet" locationNameList:"item" type:"list"`
69012
69013	// The token to use to retrieve the next page of results. This value is null
69014	// when there are no more results to return.
69015	NextToken *string `locationName:"nextToken" type:"string"`
69016}
69017
69018// String returns the string representation
69019func (s DescribeInternetGatewaysOutput) String() string {
69020	return awsutil.Prettify(s)
69021}
69022
69023// GoString returns the string representation
69024func (s DescribeInternetGatewaysOutput) GoString() string {
69025	return s.String()
69026}
69027
69028// SetInternetGateways sets the InternetGateways field's value.
69029func (s *DescribeInternetGatewaysOutput) SetInternetGateways(v []*InternetGateway) *DescribeInternetGatewaysOutput {
69030	s.InternetGateways = v
69031	return s
69032}
69033
69034// SetNextToken sets the NextToken field's value.
69035func (s *DescribeInternetGatewaysOutput) SetNextToken(v string) *DescribeInternetGatewaysOutput {
69036	s.NextToken = &v
69037	return s
69038}
69039
69040type DescribeIpv6PoolsInput struct {
69041	_ struct{} `type:"structure"`
69042
69043	// Checks whether you have the required permissions for the action, without
69044	// actually making the request, and provides an error response. If you have
69045	// the required permissions, the error response is DryRunOperation. Otherwise,
69046	// it is UnauthorizedOperation.
69047	DryRun *bool `type:"boolean"`
69048
69049	// One or more filters.
69050	//
69051	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
69052	//    Use the tag key in the filter name and the tag value as the filter value.
69053	//    For example, to find all resources that have a tag with the key Owner
69054	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
69055	//    the filter value.
69056	//
69057	//    * tag-key - The key of a tag assigned to the resource. Use this filter
69058	//    to find all resources assigned a tag with a specific key, regardless of
69059	//    the tag value.
69060	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
69061
69062	// The maximum number of results to return with a single call. To retrieve the
69063	// remaining results, make another call with the returned nextToken value.
69064	MaxResults *int64 `min:"1" type:"integer"`
69065
69066	// The token for the next page of results.
69067	NextToken *string `type:"string"`
69068
69069	// The IDs of the IPv6 address pools.
69070	PoolIds []*string `locationName:"PoolId" locationNameList:"item" type:"list"`
69071}
69072
69073// String returns the string representation
69074func (s DescribeIpv6PoolsInput) String() string {
69075	return awsutil.Prettify(s)
69076}
69077
69078// GoString returns the string representation
69079func (s DescribeIpv6PoolsInput) GoString() string {
69080	return s.String()
69081}
69082
69083// Validate inspects the fields of the type to determine if they are valid.
69084func (s *DescribeIpv6PoolsInput) Validate() error {
69085	invalidParams := request.ErrInvalidParams{Context: "DescribeIpv6PoolsInput"}
69086	if s.MaxResults != nil && *s.MaxResults < 1 {
69087		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
69088	}
69089
69090	if invalidParams.Len() > 0 {
69091		return invalidParams
69092	}
69093	return nil
69094}
69095
69096// SetDryRun sets the DryRun field's value.
69097func (s *DescribeIpv6PoolsInput) SetDryRun(v bool) *DescribeIpv6PoolsInput {
69098	s.DryRun = &v
69099	return s
69100}
69101
69102// SetFilters sets the Filters field's value.
69103func (s *DescribeIpv6PoolsInput) SetFilters(v []*Filter) *DescribeIpv6PoolsInput {
69104	s.Filters = v
69105	return s
69106}
69107
69108// SetMaxResults sets the MaxResults field's value.
69109func (s *DescribeIpv6PoolsInput) SetMaxResults(v int64) *DescribeIpv6PoolsInput {
69110	s.MaxResults = &v
69111	return s
69112}
69113
69114// SetNextToken sets the NextToken field's value.
69115func (s *DescribeIpv6PoolsInput) SetNextToken(v string) *DescribeIpv6PoolsInput {
69116	s.NextToken = &v
69117	return s
69118}
69119
69120// SetPoolIds sets the PoolIds field's value.
69121func (s *DescribeIpv6PoolsInput) SetPoolIds(v []*string) *DescribeIpv6PoolsInput {
69122	s.PoolIds = v
69123	return s
69124}
69125
69126type DescribeIpv6PoolsOutput struct {
69127	_ struct{} `type:"structure"`
69128
69129	// Information about the IPv6 address pools.
69130	Ipv6Pools []*Ipv6Pool `locationName:"ipv6PoolSet" locationNameList:"item" type:"list"`
69131
69132	// The token to use to retrieve the next page of results. This value is null
69133	// when there are no more results to return.
69134	NextToken *string `locationName:"nextToken" type:"string"`
69135}
69136
69137// String returns the string representation
69138func (s DescribeIpv6PoolsOutput) String() string {
69139	return awsutil.Prettify(s)
69140}
69141
69142// GoString returns the string representation
69143func (s DescribeIpv6PoolsOutput) GoString() string {
69144	return s.String()
69145}
69146
69147// SetIpv6Pools sets the Ipv6Pools field's value.
69148func (s *DescribeIpv6PoolsOutput) SetIpv6Pools(v []*Ipv6Pool) *DescribeIpv6PoolsOutput {
69149	s.Ipv6Pools = v
69150	return s
69151}
69152
69153// SetNextToken sets the NextToken field's value.
69154func (s *DescribeIpv6PoolsOutput) SetNextToken(v string) *DescribeIpv6PoolsOutput {
69155	s.NextToken = &v
69156	return s
69157}
69158
69159type DescribeKeyPairsInput struct {
69160	_ struct{} `type:"structure"`
69161
69162	// Checks whether you have the required permissions for the action, without
69163	// actually making the request, and provides an error response. If you have
69164	// the required permissions, the error response is DryRunOperation. Otherwise,
69165	// it is UnauthorizedOperation.
69166	DryRun *bool `locationName:"dryRun" type:"boolean"`
69167
69168	// The filters.
69169	//
69170	//    * key-pair-id - The ID of the key pair.
69171	//
69172	//    * fingerprint - The fingerprint of the key pair.
69173	//
69174	//    * key-name - The name of the key pair.
69175	//
69176	//    * tag-key - The key of a tag assigned to the resource. Use this filter
69177	//    to find all resources assigned a tag with a specific key, regardless of
69178	//    the tag value.
69179	//
69180	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
69181	//    Use the tag key in the filter name and the tag value as the filter value.
69182	//    For example, to find all resources that have a tag with the key Owner
69183	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
69184	//    the filter value.
69185	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
69186
69187	// The key pair names.
69188	//
69189	// Default: Describes all your key pairs.
69190	KeyNames []*string `locationName:"KeyName" locationNameList:"KeyName" type:"list"`
69191
69192	// The IDs of the key pairs.
69193	KeyPairIds []*string `locationName:"KeyPairId" locationNameList:"KeyPairId" type:"list"`
69194}
69195
69196// String returns the string representation
69197func (s DescribeKeyPairsInput) String() string {
69198	return awsutil.Prettify(s)
69199}
69200
69201// GoString returns the string representation
69202func (s DescribeKeyPairsInput) GoString() string {
69203	return s.String()
69204}
69205
69206// SetDryRun sets the DryRun field's value.
69207func (s *DescribeKeyPairsInput) SetDryRun(v bool) *DescribeKeyPairsInput {
69208	s.DryRun = &v
69209	return s
69210}
69211
69212// SetFilters sets the Filters field's value.
69213func (s *DescribeKeyPairsInput) SetFilters(v []*Filter) *DescribeKeyPairsInput {
69214	s.Filters = v
69215	return s
69216}
69217
69218// SetKeyNames sets the KeyNames field's value.
69219func (s *DescribeKeyPairsInput) SetKeyNames(v []*string) *DescribeKeyPairsInput {
69220	s.KeyNames = v
69221	return s
69222}
69223
69224// SetKeyPairIds sets the KeyPairIds field's value.
69225func (s *DescribeKeyPairsInput) SetKeyPairIds(v []*string) *DescribeKeyPairsInput {
69226	s.KeyPairIds = v
69227	return s
69228}
69229
69230type DescribeKeyPairsOutput struct {
69231	_ struct{} `type:"structure"`
69232
69233	// Information about the key pairs.
69234	KeyPairs []*KeyPairInfo `locationName:"keySet" locationNameList:"item" type:"list"`
69235}
69236
69237// String returns the string representation
69238func (s DescribeKeyPairsOutput) String() string {
69239	return awsutil.Prettify(s)
69240}
69241
69242// GoString returns the string representation
69243func (s DescribeKeyPairsOutput) GoString() string {
69244	return s.String()
69245}
69246
69247// SetKeyPairs sets the KeyPairs field's value.
69248func (s *DescribeKeyPairsOutput) SetKeyPairs(v []*KeyPairInfo) *DescribeKeyPairsOutput {
69249	s.KeyPairs = v
69250	return s
69251}
69252
69253type DescribeLaunchTemplateVersionsInput struct {
69254	_ struct{} `type:"structure"`
69255
69256	// Checks whether you have the required permissions for the action, without
69257	// actually making the request, and provides an error response. If you have
69258	// the required permissions, the error response is DryRunOperation. Otherwise,
69259	// it is UnauthorizedOperation.
69260	DryRun *bool `type:"boolean"`
69261
69262	// One or more filters.
69263	//
69264	//    * create-time - The time the launch template version was created.
69265	//
69266	//    * ebs-optimized - A boolean that indicates whether the instance is optimized
69267	//    for Amazon EBS I/O.
69268	//
69269	//    * iam-instance-profile - The ARN of the IAM instance profile.
69270	//
69271	//    * image-id - The ID of the AMI.
69272	//
69273	//    * instance-type - The instance type.
69274	//
69275	//    * is-default-version - A boolean that indicates whether the launch template
69276	//    version is the default version.
69277	//
69278	//    * kernel-id - The kernel ID.
69279	//
69280	//    * ram-disk-id - The RAM disk ID.
69281	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
69282
69283	// The ID of the launch template. To describe one or more versions of a specified
69284	// launch template, you must specify either the launch template ID or the launch
69285	// template name in the request. To describe all the latest or default launch
69286	// template versions in your account, you must omit this parameter.
69287	LaunchTemplateId *string `type:"string"`
69288
69289	// The name of the launch template. To describe one or more versions of a specified
69290	// launch template, you must specify either the launch template ID or the launch
69291	// template name in the request. To describe all the latest or default launch
69292	// template versions in your account, you must omit this parameter.
69293	LaunchTemplateName *string `min:"3" type:"string"`
69294
69295	// The maximum number of results to return in a single call. To retrieve the
69296	// remaining results, make another call with the returned NextToken value. This
69297	// value can be between 1 and 200.
69298	MaxResults *int64 `type:"integer"`
69299
69300	// The version number up to which to describe launch template versions.
69301	MaxVersion *string `type:"string"`
69302
69303	// The version number after which to describe launch template versions.
69304	MinVersion *string `type:"string"`
69305
69306	// The token to request the next page of results.
69307	NextToken *string `type:"string"`
69308
69309	// One or more versions of the launch template. Valid values depend on whether
69310	// you are describing a specified launch template (by ID or name) or all launch
69311	// templates in your account.
69312	//
69313	// To describe one or more versions of a specified launch template, valid values
69314	// are $Latest, $Default, and numbers.
69315	//
69316	// To describe all launch templates in your account that are defined as the
69317	// latest version, the valid value is $Latest. To describe all launch templates
69318	// in your account that are defined as the default version, the valid value
69319	// is $Default. You can specify $Latest and $Default in the same call. You cannot
69320	// specify numbers.
69321	Versions []*string `locationName:"LaunchTemplateVersion" locationNameList:"item" type:"list"`
69322}
69323
69324// String returns the string representation
69325func (s DescribeLaunchTemplateVersionsInput) String() string {
69326	return awsutil.Prettify(s)
69327}
69328
69329// GoString returns the string representation
69330func (s DescribeLaunchTemplateVersionsInput) GoString() string {
69331	return s.String()
69332}
69333
69334// Validate inspects the fields of the type to determine if they are valid.
69335func (s *DescribeLaunchTemplateVersionsInput) Validate() error {
69336	invalidParams := request.ErrInvalidParams{Context: "DescribeLaunchTemplateVersionsInput"}
69337	if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
69338		invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
69339	}
69340
69341	if invalidParams.Len() > 0 {
69342		return invalidParams
69343	}
69344	return nil
69345}
69346
69347// SetDryRun sets the DryRun field's value.
69348func (s *DescribeLaunchTemplateVersionsInput) SetDryRun(v bool) *DescribeLaunchTemplateVersionsInput {
69349	s.DryRun = &v
69350	return s
69351}
69352
69353// SetFilters sets the Filters field's value.
69354func (s *DescribeLaunchTemplateVersionsInput) SetFilters(v []*Filter) *DescribeLaunchTemplateVersionsInput {
69355	s.Filters = v
69356	return s
69357}
69358
69359// SetLaunchTemplateId sets the LaunchTemplateId field's value.
69360func (s *DescribeLaunchTemplateVersionsInput) SetLaunchTemplateId(v string) *DescribeLaunchTemplateVersionsInput {
69361	s.LaunchTemplateId = &v
69362	return s
69363}
69364
69365// SetLaunchTemplateName sets the LaunchTemplateName field's value.
69366func (s *DescribeLaunchTemplateVersionsInput) SetLaunchTemplateName(v string) *DescribeLaunchTemplateVersionsInput {
69367	s.LaunchTemplateName = &v
69368	return s
69369}
69370
69371// SetMaxResults sets the MaxResults field's value.
69372func (s *DescribeLaunchTemplateVersionsInput) SetMaxResults(v int64) *DescribeLaunchTemplateVersionsInput {
69373	s.MaxResults = &v
69374	return s
69375}
69376
69377// SetMaxVersion sets the MaxVersion field's value.
69378func (s *DescribeLaunchTemplateVersionsInput) SetMaxVersion(v string) *DescribeLaunchTemplateVersionsInput {
69379	s.MaxVersion = &v
69380	return s
69381}
69382
69383// SetMinVersion sets the MinVersion field's value.
69384func (s *DescribeLaunchTemplateVersionsInput) SetMinVersion(v string) *DescribeLaunchTemplateVersionsInput {
69385	s.MinVersion = &v
69386	return s
69387}
69388
69389// SetNextToken sets the NextToken field's value.
69390func (s *DescribeLaunchTemplateVersionsInput) SetNextToken(v string) *DescribeLaunchTemplateVersionsInput {
69391	s.NextToken = &v
69392	return s
69393}
69394
69395// SetVersions sets the Versions field's value.
69396func (s *DescribeLaunchTemplateVersionsInput) SetVersions(v []*string) *DescribeLaunchTemplateVersionsInput {
69397	s.Versions = v
69398	return s
69399}
69400
69401type DescribeLaunchTemplateVersionsOutput struct {
69402	_ struct{} `type:"structure"`
69403
69404	// Information about the launch template versions.
69405	LaunchTemplateVersions []*LaunchTemplateVersion `locationName:"launchTemplateVersionSet" locationNameList:"item" type:"list"`
69406
69407	// The token to use to retrieve the next page of results. This value is null
69408	// when there are no more results to return.
69409	NextToken *string `locationName:"nextToken" type:"string"`
69410}
69411
69412// String returns the string representation
69413func (s DescribeLaunchTemplateVersionsOutput) String() string {
69414	return awsutil.Prettify(s)
69415}
69416
69417// GoString returns the string representation
69418func (s DescribeLaunchTemplateVersionsOutput) GoString() string {
69419	return s.String()
69420}
69421
69422// SetLaunchTemplateVersions sets the LaunchTemplateVersions field's value.
69423func (s *DescribeLaunchTemplateVersionsOutput) SetLaunchTemplateVersions(v []*LaunchTemplateVersion) *DescribeLaunchTemplateVersionsOutput {
69424	s.LaunchTemplateVersions = v
69425	return s
69426}
69427
69428// SetNextToken sets the NextToken field's value.
69429func (s *DescribeLaunchTemplateVersionsOutput) SetNextToken(v string) *DescribeLaunchTemplateVersionsOutput {
69430	s.NextToken = &v
69431	return s
69432}
69433
69434type DescribeLaunchTemplatesInput struct {
69435	_ struct{} `type:"structure"`
69436
69437	// Checks whether you have the required permissions for the action, without
69438	// actually making the request, and provides an error response. If you have
69439	// the required permissions, the error response is DryRunOperation. Otherwise,
69440	// it is UnauthorizedOperation.
69441	DryRun *bool `type:"boolean"`
69442
69443	// One or more filters.
69444	//
69445	//    * create-time - The time the launch template was created.
69446	//
69447	//    * launch-template-name - The name of the launch template.
69448	//
69449	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
69450	//    Use the tag key in the filter name and the tag value as the filter value.
69451	//    For example, to find all resources that have a tag with the key Owner
69452	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
69453	//    the filter value.
69454	//
69455	//    * tag-key - The key of a tag assigned to the resource. Use this filter
69456	//    to find all resources assigned a tag with a specific key, regardless of
69457	//    the tag value.
69458	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
69459
69460	// One or more launch template IDs.
69461	LaunchTemplateIds []*string `locationName:"LaunchTemplateId" locationNameList:"item" type:"list"`
69462
69463	// One or more launch template names.
69464	LaunchTemplateNames []*string `locationName:"LaunchTemplateName" locationNameList:"item" type:"list"`
69465
69466	// The maximum number of results to return in a single call. To retrieve the
69467	// remaining results, make another call with the returned NextToken value. This
69468	// value can be between 1 and 200.
69469	MaxResults *int64 `min:"1" type:"integer"`
69470
69471	// The token to request the next page of results.
69472	NextToken *string `type:"string"`
69473}
69474
69475// String returns the string representation
69476func (s DescribeLaunchTemplatesInput) String() string {
69477	return awsutil.Prettify(s)
69478}
69479
69480// GoString returns the string representation
69481func (s DescribeLaunchTemplatesInput) GoString() string {
69482	return s.String()
69483}
69484
69485// Validate inspects the fields of the type to determine if they are valid.
69486func (s *DescribeLaunchTemplatesInput) Validate() error {
69487	invalidParams := request.ErrInvalidParams{Context: "DescribeLaunchTemplatesInput"}
69488	if s.MaxResults != nil && *s.MaxResults < 1 {
69489		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
69490	}
69491
69492	if invalidParams.Len() > 0 {
69493		return invalidParams
69494	}
69495	return nil
69496}
69497
69498// SetDryRun sets the DryRun field's value.
69499func (s *DescribeLaunchTemplatesInput) SetDryRun(v bool) *DescribeLaunchTemplatesInput {
69500	s.DryRun = &v
69501	return s
69502}
69503
69504// SetFilters sets the Filters field's value.
69505func (s *DescribeLaunchTemplatesInput) SetFilters(v []*Filter) *DescribeLaunchTemplatesInput {
69506	s.Filters = v
69507	return s
69508}
69509
69510// SetLaunchTemplateIds sets the LaunchTemplateIds field's value.
69511func (s *DescribeLaunchTemplatesInput) SetLaunchTemplateIds(v []*string) *DescribeLaunchTemplatesInput {
69512	s.LaunchTemplateIds = v
69513	return s
69514}
69515
69516// SetLaunchTemplateNames sets the LaunchTemplateNames field's value.
69517func (s *DescribeLaunchTemplatesInput) SetLaunchTemplateNames(v []*string) *DescribeLaunchTemplatesInput {
69518	s.LaunchTemplateNames = v
69519	return s
69520}
69521
69522// SetMaxResults sets the MaxResults field's value.
69523func (s *DescribeLaunchTemplatesInput) SetMaxResults(v int64) *DescribeLaunchTemplatesInput {
69524	s.MaxResults = &v
69525	return s
69526}
69527
69528// SetNextToken sets the NextToken field's value.
69529func (s *DescribeLaunchTemplatesInput) SetNextToken(v string) *DescribeLaunchTemplatesInput {
69530	s.NextToken = &v
69531	return s
69532}
69533
69534type DescribeLaunchTemplatesOutput struct {
69535	_ struct{} `type:"structure"`
69536
69537	// Information about the launch templates.
69538	LaunchTemplates []*LaunchTemplate `locationName:"launchTemplates" locationNameList:"item" type:"list"`
69539
69540	// The token to use to retrieve the next page of results. This value is null
69541	// when there are no more results to return.
69542	NextToken *string `locationName:"nextToken" type:"string"`
69543}
69544
69545// String returns the string representation
69546func (s DescribeLaunchTemplatesOutput) String() string {
69547	return awsutil.Prettify(s)
69548}
69549
69550// GoString returns the string representation
69551func (s DescribeLaunchTemplatesOutput) GoString() string {
69552	return s.String()
69553}
69554
69555// SetLaunchTemplates sets the LaunchTemplates field's value.
69556func (s *DescribeLaunchTemplatesOutput) SetLaunchTemplates(v []*LaunchTemplate) *DescribeLaunchTemplatesOutput {
69557	s.LaunchTemplates = v
69558	return s
69559}
69560
69561// SetNextToken sets the NextToken field's value.
69562func (s *DescribeLaunchTemplatesOutput) SetNextToken(v string) *DescribeLaunchTemplatesOutput {
69563	s.NextToken = &v
69564	return s
69565}
69566
69567type DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput struct {
69568	_ struct{} `type:"structure"`
69569
69570	// Checks whether you have the required permissions for the action, without
69571	// actually making the request, and provides an error response. If you have
69572	// the required permissions, the error response is DryRunOperation. Otherwise,
69573	// it is UnauthorizedOperation.
69574	DryRun *bool `type:"boolean"`
69575
69576	// One or more filters.
69577	//
69578	//    * local-gateway-id - The ID of a local gateway.
69579	//
69580	//    * local-gateway-route-table-id - The ID of the local gateway route table.
69581	//
69582	//    * local-gateway-route-table-virtual-interface-group-association-id - The
69583	//    ID of the association.
69584	//
69585	//    * local-gateway-route-table-virtual-interface-group-id - The ID of the
69586	//    virtual interface group.
69587	//
69588	//    * state - The state of the association.
69589	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
69590
69591	// The IDs of the associations.
69592	LocalGatewayRouteTableVirtualInterfaceGroupAssociationIds []*string `locationName:"LocalGatewayRouteTableVirtualInterfaceGroupAssociationId" locationNameList:"item" type:"list"`
69593
69594	// The maximum number of results to return with a single call. To retrieve the
69595	// remaining results, make another call with the returned nextToken value.
69596	MaxResults *int64 `min:"5" type:"integer"`
69597
69598	// The token for the next page of results.
69599	NextToken *string `type:"string"`
69600}
69601
69602// String returns the string representation
69603func (s DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) String() string {
69604	return awsutil.Prettify(s)
69605}
69606
69607// GoString returns the string representation
69608func (s DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) GoString() string {
69609	return s.String()
69610}
69611
69612// Validate inspects the fields of the type to determine if they are valid.
69613func (s *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) Validate() error {
69614	invalidParams := request.ErrInvalidParams{Context: "DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput"}
69615	if s.MaxResults != nil && *s.MaxResults < 5 {
69616		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
69617	}
69618
69619	if invalidParams.Len() > 0 {
69620		return invalidParams
69621	}
69622	return nil
69623}
69624
69625// SetDryRun sets the DryRun field's value.
69626func (s *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) SetDryRun(v bool) *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput {
69627	s.DryRun = &v
69628	return s
69629}
69630
69631// SetFilters sets the Filters field's value.
69632func (s *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) SetFilters(v []*Filter) *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput {
69633	s.Filters = v
69634	return s
69635}
69636
69637// SetLocalGatewayRouteTableVirtualInterfaceGroupAssociationIds sets the LocalGatewayRouteTableVirtualInterfaceGroupAssociationIds field's value.
69638func (s *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) SetLocalGatewayRouteTableVirtualInterfaceGroupAssociationIds(v []*string) *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput {
69639	s.LocalGatewayRouteTableVirtualInterfaceGroupAssociationIds = v
69640	return s
69641}
69642
69643// SetMaxResults sets the MaxResults field's value.
69644func (s *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) SetMaxResults(v int64) *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput {
69645	s.MaxResults = &v
69646	return s
69647}
69648
69649// SetNextToken sets the NextToken field's value.
69650func (s *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) SetNextToken(v string) *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput {
69651	s.NextToken = &v
69652	return s
69653}
69654
69655type DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput struct {
69656	_ struct{} `type:"structure"`
69657
69658	// Information about the associations.
69659	LocalGatewayRouteTableVirtualInterfaceGroupAssociations []*LocalGatewayRouteTableVirtualInterfaceGroupAssociation `locationName:"localGatewayRouteTableVirtualInterfaceGroupAssociationSet" locationNameList:"item" type:"list"`
69660
69661	// The token to use to retrieve the next page of results. This value is null
69662	// when there are no more results to return.
69663	NextToken *string `locationName:"nextToken" type:"string"`
69664}
69665
69666// String returns the string representation
69667func (s DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput) String() string {
69668	return awsutil.Prettify(s)
69669}
69670
69671// GoString returns the string representation
69672func (s DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput) GoString() string {
69673	return s.String()
69674}
69675
69676// SetLocalGatewayRouteTableVirtualInterfaceGroupAssociations sets the LocalGatewayRouteTableVirtualInterfaceGroupAssociations field's value.
69677func (s *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput) SetLocalGatewayRouteTableVirtualInterfaceGroupAssociations(v []*LocalGatewayRouteTableVirtualInterfaceGroupAssociation) *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput {
69678	s.LocalGatewayRouteTableVirtualInterfaceGroupAssociations = v
69679	return s
69680}
69681
69682// SetNextToken sets the NextToken field's value.
69683func (s *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput) SetNextToken(v string) *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput {
69684	s.NextToken = &v
69685	return s
69686}
69687
69688type DescribeLocalGatewayRouteTableVpcAssociationsInput struct {
69689	_ struct{} `type:"structure"`
69690
69691	// Checks whether you have the required permissions for the action, without
69692	// actually making the request, and provides an error response. If you have
69693	// the required permissions, the error response is DryRunOperation. Otherwise,
69694	// it is UnauthorizedOperation.
69695	DryRun *bool `type:"boolean"`
69696
69697	// One or more filters.
69698	//
69699	//    * local-gateway-id - The ID of a local gateway.
69700	//
69701	//    * local-gateway-route-table-id - The ID of the local gateway route table.
69702	//
69703	//    * local-gateway-route-table-vpc-association-id - The ID of the association.
69704	//
69705	//    * state - The state of the association.
69706	//
69707	//    * vpc-id - The ID of the VPC.
69708	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
69709
69710	// The IDs of the associations.
69711	LocalGatewayRouteTableVpcAssociationIds []*string `locationName:"LocalGatewayRouteTableVpcAssociationId" locationNameList:"item" type:"list"`
69712
69713	// The maximum number of results to return with a single call. To retrieve the
69714	// remaining results, make another call with the returned nextToken value.
69715	MaxResults *int64 `min:"5" type:"integer"`
69716
69717	// The token for the next page of results.
69718	NextToken *string `type:"string"`
69719}
69720
69721// String returns the string representation
69722func (s DescribeLocalGatewayRouteTableVpcAssociationsInput) String() string {
69723	return awsutil.Prettify(s)
69724}
69725
69726// GoString returns the string representation
69727func (s DescribeLocalGatewayRouteTableVpcAssociationsInput) GoString() string {
69728	return s.String()
69729}
69730
69731// Validate inspects the fields of the type to determine if they are valid.
69732func (s *DescribeLocalGatewayRouteTableVpcAssociationsInput) Validate() error {
69733	invalidParams := request.ErrInvalidParams{Context: "DescribeLocalGatewayRouteTableVpcAssociationsInput"}
69734	if s.MaxResults != nil && *s.MaxResults < 5 {
69735		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
69736	}
69737
69738	if invalidParams.Len() > 0 {
69739		return invalidParams
69740	}
69741	return nil
69742}
69743
69744// SetDryRun sets the DryRun field's value.
69745func (s *DescribeLocalGatewayRouteTableVpcAssociationsInput) SetDryRun(v bool) *DescribeLocalGatewayRouteTableVpcAssociationsInput {
69746	s.DryRun = &v
69747	return s
69748}
69749
69750// SetFilters sets the Filters field's value.
69751func (s *DescribeLocalGatewayRouteTableVpcAssociationsInput) SetFilters(v []*Filter) *DescribeLocalGatewayRouteTableVpcAssociationsInput {
69752	s.Filters = v
69753	return s
69754}
69755
69756// SetLocalGatewayRouteTableVpcAssociationIds sets the LocalGatewayRouteTableVpcAssociationIds field's value.
69757func (s *DescribeLocalGatewayRouteTableVpcAssociationsInput) SetLocalGatewayRouteTableVpcAssociationIds(v []*string) *DescribeLocalGatewayRouteTableVpcAssociationsInput {
69758	s.LocalGatewayRouteTableVpcAssociationIds = v
69759	return s
69760}
69761
69762// SetMaxResults sets the MaxResults field's value.
69763func (s *DescribeLocalGatewayRouteTableVpcAssociationsInput) SetMaxResults(v int64) *DescribeLocalGatewayRouteTableVpcAssociationsInput {
69764	s.MaxResults = &v
69765	return s
69766}
69767
69768// SetNextToken sets the NextToken field's value.
69769func (s *DescribeLocalGatewayRouteTableVpcAssociationsInput) SetNextToken(v string) *DescribeLocalGatewayRouteTableVpcAssociationsInput {
69770	s.NextToken = &v
69771	return s
69772}
69773
69774type DescribeLocalGatewayRouteTableVpcAssociationsOutput struct {
69775	_ struct{} `type:"structure"`
69776
69777	// Information about the associations.
69778	LocalGatewayRouteTableVpcAssociations []*LocalGatewayRouteTableVpcAssociation `locationName:"localGatewayRouteTableVpcAssociationSet" locationNameList:"item" type:"list"`
69779
69780	// The token to use to retrieve the next page of results. This value is null
69781	// when there are no more results to return.
69782	NextToken *string `locationName:"nextToken" type:"string"`
69783}
69784
69785// String returns the string representation
69786func (s DescribeLocalGatewayRouteTableVpcAssociationsOutput) String() string {
69787	return awsutil.Prettify(s)
69788}
69789
69790// GoString returns the string representation
69791func (s DescribeLocalGatewayRouteTableVpcAssociationsOutput) GoString() string {
69792	return s.String()
69793}
69794
69795// SetLocalGatewayRouteTableVpcAssociations sets the LocalGatewayRouteTableVpcAssociations field's value.
69796func (s *DescribeLocalGatewayRouteTableVpcAssociationsOutput) SetLocalGatewayRouteTableVpcAssociations(v []*LocalGatewayRouteTableVpcAssociation) *DescribeLocalGatewayRouteTableVpcAssociationsOutput {
69797	s.LocalGatewayRouteTableVpcAssociations = v
69798	return s
69799}
69800
69801// SetNextToken sets the NextToken field's value.
69802func (s *DescribeLocalGatewayRouteTableVpcAssociationsOutput) SetNextToken(v string) *DescribeLocalGatewayRouteTableVpcAssociationsOutput {
69803	s.NextToken = &v
69804	return s
69805}
69806
69807type DescribeLocalGatewayRouteTablesInput struct {
69808	_ struct{} `type:"structure"`
69809
69810	// Checks whether you have the required permissions for the action, without
69811	// actually making the request, and provides an error response. If you have
69812	// the required permissions, the error response is DryRunOperation. Otherwise,
69813	// it is UnauthorizedOperation.
69814	DryRun *bool `type:"boolean"`
69815
69816	// One or more filters.
69817	//
69818	//    * local-gateway-id - The ID of a local gateway.
69819	//
69820	//    * local-gateway-route-table-id - The ID of a local gateway route table.
69821	//
69822	//    * outpost-arn - The Amazon Resource Name (ARN) of the Outpost.
69823	//
69824	//    * state - The state of the local gateway route table.
69825	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
69826
69827	// The IDs of the local gateway route tables.
69828	LocalGatewayRouteTableIds []*string `locationName:"LocalGatewayRouteTableId" locationNameList:"item" type:"list"`
69829
69830	// The maximum number of results to return with a single call. To retrieve the
69831	// remaining results, make another call with the returned nextToken value.
69832	MaxResults *int64 `min:"5" type:"integer"`
69833
69834	// The token for the next page of results.
69835	NextToken *string `type:"string"`
69836}
69837
69838// String returns the string representation
69839func (s DescribeLocalGatewayRouteTablesInput) String() string {
69840	return awsutil.Prettify(s)
69841}
69842
69843// GoString returns the string representation
69844func (s DescribeLocalGatewayRouteTablesInput) GoString() string {
69845	return s.String()
69846}
69847
69848// Validate inspects the fields of the type to determine if they are valid.
69849func (s *DescribeLocalGatewayRouteTablesInput) Validate() error {
69850	invalidParams := request.ErrInvalidParams{Context: "DescribeLocalGatewayRouteTablesInput"}
69851	if s.MaxResults != nil && *s.MaxResults < 5 {
69852		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
69853	}
69854
69855	if invalidParams.Len() > 0 {
69856		return invalidParams
69857	}
69858	return nil
69859}
69860
69861// SetDryRun sets the DryRun field's value.
69862func (s *DescribeLocalGatewayRouteTablesInput) SetDryRun(v bool) *DescribeLocalGatewayRouteTablesInput {
69863	s.DryRun = &v
69864	return s
69865}
69866
69867// SetFilters sets the Filters field's value.
69868func (s *DescribeLocalGatewayRouteTablesInput) SetFilters(v []*Filter) *DescribeLocalGatewayRouteTablesInput {
69869	s.Filters = v
69870	return s
69871}
69872
69873// SetLocalGatewayRouteTableIds sets the LocalGatewayRouteTableIds field's value.
69874func (s *DescribeLocalGatewayRouteTablesInput) SetLocalGatewayRouteTableIds(v []*string) *DescribeLocalGatewayRouteTablesInput {
69875	s.LocalGatewayRouteTableIds = v
69876	return s
69877}
69878
69879// SetMaxResults sets the MaxResults field's value.
69880func (s *DescribeLocalGatewayRouteTablesInput) SetMaxResults(v int64) *DescribeLocalGatewayRouteTablesInput {
69881	s.MaxResults = &v
69882	return s
69883}
69884
69885// SetNextToken sets the NextToken field's value.
69886func (s *DescribeLocalGatewayRouteTablesInput) SetNextToken(v string) *DescribeLocalGatewayRouteTablesInput {
69887	s.NextToken = &v
69888	return s
69889}
69890
69891type DescribeLocalGatewayRouteTablesOutput struct {
69892	_ struct{} `type:"structure"`
69893
69894	// Information about the local gateway route tables.
69895	LocalGatewayRouteTables []*LocalGatewayRouteTable `locationName:"localGatewayRouteTableSet" locationNameList:"item" type:"list"`
69896
69897	// The token to use to retrieve the next page of results. This value is null
69898	// when there are no more results to return.
69899	NextToken *string `locationName:"nextToken" type:"string"`
69900}
69901
69902// String returns the string representation
69903func (s DescribeLocalGatewayRouteTablesOutput) String() string {
69904	return awsutil.Prettify(s)
69905}
69906
69907// GoString returns the string representation
69908func (s DescribeLocalGatewayRouteTablesOutput) GoString() string {
69909	return s.String()
69910}
69911
69912// SetLocalGatewayRouteTables sets the LocalGatewayRouteTables field's value.
69913func (s *DescribeLocalGatewayRouteTablesOutput) SetLocalGatewayRouteTables(v []*LocalGatewayRouteTable) *DescribeLocalGatewayRouteTablesOutput {
69914	s.LocalGatewayRouteTables = v
69915	return s
69916}
69917
69918// SetNextToken sets the NextToken field's value.
69919func (s *DescribeLocalGatewayRouteTablesOutput) SetNextToken(v string) *DescribeLocalGatewayRouteTablesOutput {
69920	s.NextToken = &v
69921	return s
69922}
69923
69924type DescribeLocalGatewayVirtualInterfaceGroupsInput struct {
69925	_ struct{} `type:"structure"`
69926
69927	// Checks whether you have the required permissions for the action, without
69928	// actually making the request, and provides an error response. If you have
69929	// the required permissions, the error response is DryRunOperation. Otherwise,
69930	// it is UnauthorizedOperation.
69931	DryRun *bool `type:"boolean"`
69932
69933	// One or more filters.
69934	//
69935	//    * local-gateway-id - The ID of a local gateway.
69936	//
69937	//    * local-gateway-virtual-interface-id - The ID of the virtual interface.
69938	//
69939	//    * local-gateway-virtual-interface-group-id - The ID of the virtual interface
69940	//    group.
69941	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
69942
69943	// The IDs of the virtual interface groups.
69944	LocalGatewayVirtualInterfaceGroupIds []*string `locationName:"LocalGatewayVirtualInterfaceGroupId" locationNameList:"item" type:"list"`
69945
69946	// The maximum number of results to return with a single call. To retrieve the
69947	// remaining results, make another call with the returned nextToken value.
69948	MaxResults *int64 `min:"5" type:"integer"`
69949
69950	// The token for the next page of results.
69951	NextToken *string `type:"string"`
69952}
69953
69954// String returns the string representation
69955func (s DescribeLocalGatewayVirtualInterfaceGroupsInput) String() string {
69956	return awsutil.Prettify(s)
69957}
69958
69959// GoString returns the string representation
69960func (s DescribeLocalGatewayVirtualInterfaceGroupsInput) GoString() string {
69961	return s.String()
69962}
69963
69964// Validate inspects the fields of the type to determine if they are valid.
69965func (s *DescribeLocalGatewayVirtualInterfaceGroupsInput) Validate() error {
69966	invalidParams := request.ErrInvalidParams{Context: "DescribeLocalGatewayVirtualInterfaceGroupsInput"}
69967	if s.MaxResults != nil && *s.MaxResults < 5 {
69968		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
69969	}
69970
69971	if invalidParams.Len() > 0 {
69972		return invalidParams
69973	}
69974	return nil
69975}
69976
69977// SetDryRun sets the DryRun field's value.
69978func (s *DescribeLocalGatewayVirtualInterfaceGroupsInput) SetDryRun(v bool) *DescribeLocalGatewayVirtualInterfaceGroupsInput {
69979	s.DryRun = &v
69980	return s
69981}
69982
69983// SetFilters sets the Filters field's value.
69984func (s *DescribeLocalGatewayVirtualInterfaceGroupsInput) SetFilters(v []*Filter) *DescribeLocalGatewayVirtualInterfaceGroupsInput {
69985	s.Filters = v
69986	return s
69987}
69988
69989// SetLocalGatewayVirtualInterfaceGroupIds sets the LocalGatewayVirtualInterfaceGroupIds field's value.
69990func (s *DescribeLocalGatewayVirtualInterfaceGroupsInput) SetLocalGatewayVirtualInterfaceGroupIds(v []*string) *DescribeLocalGatewayVirtualInterfaceGroupsInput {
69991	s.LocalGatewayVirtualInterfaceGroupIds = v
69992	return s
69993}
69994
69995// SetMaxResults sets the MaxResults field's value.
69996func (s *DescribeLocalGatewayVirtualInterfaceGroupsInput) SetMaxResults(v int64) *DescribeLocalGatewayVirtualInterfaceGroupsInput {
69997	s.MaxResults = &v
69998	return s
69999}
70000
70001// SetNextToken sets the NextToken field's value.
70002func (s *DescribeLocalGatewayVirtualInterfaceGroupsInput) SetNextToken(v string) *DescribeLocalGatewayVirtualInterfaceGroupsInput {
70003	s.NextToken = &v
70004	return s
70005}
70006
70007type DescribeLocalGatewayVirtualInterfaceGroupsOutput struct {
70008	_ struct{} `type:"structure"`
70009
70010	// The virtual interface groups.
70011	LocalGatewayVirtualInterfaceGroups []*LocalGatewayVirtualInterfaceGroup `locationName:"localGatewayVirtualInterfaceGroupSet" locationNameList:"item" type:"list"`
70012
70013	// The token to use to retrieve the next page of results. This value is null
70014	// when there are no more results to return.
70015	NextToken *string `locationName:"nextToken" type:"string"`
70016}
70017
70018// String returns the string representation
70019func (s DescribeLocalGatewayVirtualInterfaceGroupsOutput) String() string {
70020	return awsutil.Prettify(s)
70021}
70022
70023// GoString returns the string representation
70024func (s DescribeLocalGatewayVirtualInterfaceGroupsOutput) GoString() string {
70025	return s.String()
70026}
70027
70028// SetLocalGatewayVirtualInterfaceGroups sets the LocalGatewayVirtualInterfaceGroups field's value.
70029func (s *DescribeLocalGatewayVirtualInterfaceGroupsOutput) SetLocalGatewayVirtualInterfaceGroups(v []*LocalGatewayVirtualInterfaceGroup) *DescribeLocalGatewayVirtualInterfaceGroupsOutput {
70030	s.LocalGatewayVirtualInterfaceGroups = v
70031	return s
70032}
70033
70034// SetNextToken sets the NextToken field's value.
70035func (s *DescribeLocalGatewayVirtualInterfaceGroupsOutput) SetNextToken(v string) *DescribeLocalGatewayVirtualInterfaceGroupsOutput {
70036	s.NextToken = &v
70037	return s
70038}
70039
70040type DescribeLocalGatewayVirtualInterfacesInput struct {
70041	_ struct{} `type:"structure"`
70042
70043	// Checks whether you have the required permissions for the action, without
70044	// actually making the request, and provides an error response. If you have
70045	// the required permissions, the error response is DryRunOperation. Otherwise,
70046	// it is UnauthorizedOperation.
70047	DryRun *bool `type:"boolean"`
70048
70049	// One or more filters.
70050	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
70051
70052	// The IDs of the virtual interfaces.
70053	LocalGatewayVirtualInterfaceIds []*string `locationName:"LocalGatewayVirtualInterfaceId" locationNameList:"item" type:"list"`
70054
70055	// The maximum number of results to return with a single call. To retrieve the
70056	// remaining results, make another call with the returned nextToken value.
70057	MaxResults *int64 `min:"5" type:"integer"`
70058
70059	// The token for the next page of results.
70060	NextToken *string `type:"string"`
70061}
70062
70063// String returns the string representation
70064func (s DescribeLocalGatewayVirtualInterfacesInput) String() string {
70065	return awsutil.Prettify(s)
70066}
70067
70068// GoString returns the string representation
70069func (s DescribeLocalGatewayVirtualInterfacesInput) GoString() string {
70070	return s.String()
70071}
70072
70073// Validate inspects the fields of the type to determine if they are valid.
70074func (s *DescribeLocalGatewayVirtualInterfacesInput) Validate() error {
70075	invalidParams := request.ErrInvalidParams{Context: "DescribeLocalGatewayVirtualInterfacesInput"}
70076	if s.MaxResults != nil && *s.MaxResults < 5 {
70077		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
70078	}
70079
70080	if invalidParams.Len() > 0 {
70081		return invalidParams
70082	}
70083	return nil
70084}
70085
70086// SetDryRun sets the DryRun field's value.
70087func (s *DescribeLocalGatewayVirtualInterfacesInput) SetDryRun(v bool) *DescribeLocalGatewayVirtualInterfacesInput {
70088	s.DryRun = &v
70089	return s
70090}
70091
70092// SetFilters sets the Filters field's value.
70093func (s *DescribeLocalGatewayVirtualInterfacesInput) SetFilters(v []*Filter) *DescribeLocalGatewayVirtualInterfacesInput {
70094	s.Filters = v
70095	return s
70096}
70097
70098// SetLocalGatewayVirtualInterfaceIds sets the LocalGatewayVirtualInterfaceIds field's value.
70099func (s *DescribeLocalGatewayVirtualInterfacesInput) SetLocalGatewayVirtualInterfaceIds(v []*string) *DescribeLocalGatewayVirtualInterfacesInput {
70100	s.LocalGatewayVirtualInterfaceIds = v
70101	return s
70102}
70103
70104// SetMaxResults sets the MaxResults field's value.
70105func (s *DescribeLocalGatewayVirtualInterfacesInput) SetMaxResults(v int64) *DescribeLocalGatewayVirtualInterfacesInput {
70106	s.MaxResults = &v
70107	return s
70108}
70109
70110// SetNextToken sets the NextToken field's value.
70111func (s *DescribeLocalGatewayVirtualInterfacesInput) SetNextToken(v string) *DescribeLocalGatewayVirtualInterfacesInput {
70112	s.NextToken = &v
70113	return s
70114}
70115
70116type DescribeLocalGatewayVirtualInterfacesOutput struct {
70117	_ struct{} `type:"structure"`
70118
70119	// Information about the virtual interfaces.
70120	LocalGatewayVirtualInterfaces []*LocalGatewayVirtualInterface `locationName:"localGatewayVirtualInterfaceSet" locationNameList:"item" type:"list"`
70121
70122	// The token to use to retrieve the next page of results. This value is null
70123	// when there are no more results to return.
70124	NextToken *string `locationName:"nextToken" type:"string"`
70125}
70126
70127// String returns the string representation
70128func (s DescribeLocalGatewayVirtualInterfacesOutput) String() string {
70129	return awsutil.Prettify(s)
70130}
70131
70132// GoString returns the string representation
70133func (s DescribeLocalGatewayVirtualInterfacesOutput) GoString() string {
70134	return s.String()
70135}
70136
70137// SetLocalGatewayVirtualInterfaces sets the LocalGatewayVirtualInterfaces field's value.
70138func (s *DescribeLocalGatewayVirtualInterfacesOutput) SetLocalGatewayVirtualInterfaces(v []*LocalGatewayVirtualInterface) *DescribeLocalGatewayVirtualInterfacesOutput {
70139	s.LocalGatewayVirtualInterfaces = v
70140	return s
70141}
70142
70143// SetNextToken sets the NextToken field's value.
70144func (s *DescribeLocalGatewayVirtualInterfacesOutput) SetNextToken(v string) *DescribeLocalGatewayVirtualInterfacesOutput {
70145	s.NextToken = &v
70146	return s
70147}
70148
70149type DescribeLocalGatewaysInput struct {
70150	_ struct{} `type:"structure"`
70151
70152	// Checks whether you have the required permissions for the action, without
70153	// actually making the request, and provides an error response. If you have
70154	// the required permissions, the error response is DryRunOperation. Otherwise,
70155	// it is UnauthorizedOperation.
70156	DryRun *bool `type:"boolean"`
70157
70158	// One or more filters.
70159	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
70160
70161	// One or more filters.
70162	//
70163	//    * local-gateway-id - The ID of a local gateway.
70164	//
70165	//    * local-gateway-route-table-id - The ID of the local gateway route table.
70166	//
70167	//    * local-gateway-route-table-virtual-interface-group-association-id - The
70168	//    ID of the association.
70169	//
70170	//    * local-gateway-route-table-virtual-interface-group-id - The ID of the
70171	//    virtual interface group.
70172	//
70173	//    * outpost-arn - The Amazon Resource Name (ARN) of the Outpost.
70174	//
70175	//    * state - The state of the association.
70176	LocalGatewayIds []*string `locationName:"LocalGatewayId" locationNameList:"item" type:"list"`
70177
70178	// The maximum number of results to return with a single call. To retrieve the
70179	// remaining results, make another call with the returned nextToken value.
70180	MaxResults *int64 `min:"5" type:"integer"`
70181
70182	// The token for the next page of results.
70183	NextToken *string `type:"string"`
70184}
70185
70186// String returns the string representation
70187func (s DescribeLocalGatewaysInput) String() string {
70188	return awsutil.Prettify(s)
70189}
70190
70191// GoString returns the string representation
70192func (s DescribeLocalGatewaysInput) GoString() string {
70193	return s.String()
70194}
70195
70196// Validate inspects the fields of the type to determine if they are valid.
70197func (s *DescribeLocalGatewaysInput) Validate() error {
70198	invalidParams := request.ErrInvalidParams{Context: "DescribeLocalGatewaysInput"}
70199	if s.MaxResults != nil && *s.MaxResults < 5 {
70200		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
70201	}
70202
70203	if invalidParams.Len() > 0 {
70204		return invalidParams
70205	}
70206	return nil
70207}
70208
70209// SetDryRun sets the DryRun field's value.
70210func (s *DescribeLocalGatewaysInput) SetDryRun(v bool) *DescribeLocalGatewaysInput {
70211	s.DryRun = &v
70212	return s
70213}
70214
70215// SetFilters sets the Filters field's value.
70216func (s *DescribeLocalGatewaysInput) SetFilters(v []*Filter) *DescribeLocalGatewaysInput {
70217	s.Filters = v
70218	return s
70219}
70220
70221// SetLocalGatewayIds sets the LocalGatewayIds field's value.
70222func (s *DescribeLocalGatewaysInput) SetLocalGatewayIds(v []*string) *DescribeLocalGatewaysInput {
70223	s.LocalGatewayIds = v
70224	return s
70225}
70226
70227// SetMaxResults sets the MaxResults field's value.
70228func (s *DescribeLocalGatewaysInput) SetMaxResults(v int64) *DescribeLocalGatewaysInput {
70229	s.MaxResults = &v
70230	return s
70231}
70232
70233// SetNextToken sets the NextToken field's value.
70234func (s *DescribeLocalGatewaysInput) SetNextToken(v string) *DescribeLocalGatewaysInput {
70235	s.NextToken = &v
70236	return s
70237}
70238
70239type DescribeLocalGatewaysOutput struct {
70240	_ struct{} `type:"structure"`
70241
70242	// Information about the local gateways.
70243	LocalGateways []*LocalGateway `locationName:"localGatewaySet" locationNameList:"item" type:"list"`
70244
70245	// The token to use to retrieve the next page of results. This value is null
70246	// when there are no more results to return.
70247	NextToken *string `locationName:"nextToken" type:"string"`
70248}
70249
70250// String returns the string representation
70251func (s DescribeLocalGatewaysOutput) String() string {
70252	return awsutil.Prettify(s)
70253}
70254
70255// GoString returns the string representation
70256func (s DescribeLocalGatewaysOutput) GoString() string {
70257	return s.String()
70258}
70259
70260// SetLocalGateways sets the LocalGateways field's value.
70261func (s *DescribeLocalGatewaysOutput) SetLocalGateways(v []*LocalGateway) *DescribeLocalGatewaysOutput {
70262	s.LocalGateways = v
70263	return s
70264}
70265
70266// SetNextToken sets the NextToken field's value.
70267func (s *DescribeLocalGatewaysOutput) SetNextToken(v string) *DescribeLocalGatewaysOutput {
70268	s.NextToken = &v
70269	return s
70270}
70271
70272type DescribeManagedPrefixListsInput struct {
70273	_ struct{} `type:"structure"`
70274
70275	// Checks whether you have the required permissions for the action, without
70276	// actually making the request, and provides an error response. If you have
70277	// the required permissions, the error response is DryRunOperation. Otherwise,
70278	// it is UnauthorizedOperation.
70279	DryRun *bool `type:"boolean"`
70280
70281	// One or more filters.
70282	//
70283	//    * owner-id - The ID of the prefix list owner.
70284	//
70285	//    * prefix-list-id - The ID of the prefix list.
70286	//
70287	//    * prefix-list-name - The name of the prefix list.
70288	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
70289
70290	// The maximum number of results to return with a single call. To retrieve the
70291	// remaining results, make another call with the returned nextToken value.
70292	MaxResults *int64 `min:"1" type:"integer"`
70293
70294	// The token for the next page of results.
70295	NextToken *string `type:"string"`
70296
70297	// One or more prefix list IDs.
70298	PrefixListIds []*string `locationName:"PrefixListId" locationNameList:"item" type:"list"`
70299}
70300
70301// String returns the string representation
70302func (s DescribeManagedPrefixListsInput) String() string {
70303	return awsutil.Prettify(s)
70304}
70305
70306// GoString returns the string representation
70307func (s DescribeManagedPrefixListsInput) GoString() string {
70308	return s.String()
70309}
70310
70311// Validate inspects the fields of the type to determine if they are valid.
70312func (s *DescribeManagedPrefixListsInput) Validate() error {
70313	invalidParams := request.ErrInvalidParams{Context: "DescribeManagedPrefixListsInput"}
70314	if s.MaxResults != nil && *s.MaxResults < 1 {
70315		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
70316	}
70317
70318	if invalidParams.Len() > 0 {
70319		return invalidParams
70320	}
70321	return nil
70322}
70323
70324// SetDryRun sets the DryRun field's value.
70325func (s *DescribeManagedPrefixListsInput) SetDryRun(v bool) *DescribeManagedPrefixListsInput {
70326	s.DryRun = &v
70327	return s
70328}
70329
70330// SetFilters sets the Filters field's value.
70331func (s *DescribeManagedPrefixListsInput) SetFilters(v []*Filter) *DescribeManagedPrefixListsInput {
70332	s.Filters = v
70333	return s
70334}
70335
70336// SetMaxResults sets the MaxResults field's value.
70337func (s *DescribeManagedPrefixListsInput) SetMaxResults(v int64) *DescribeManagedPrefixListsInput {
70338	s.MaxResults = &v
70339	return s
70340}
70341
70342// SetNextToken sets the NextToken field's value.
70343func (s *DescribeManagedPrefixListsInput) SetNextToken(v string) *DescribeManagedPrefixListsInput {
70344	s.NextToken = &v
70345	return s
70346}
70347
70348// SetPrefixListIds sets the PrefixListIds field's value.
70349func (s *DescribeManagedPrefixListsInput) SetPrefixListIds(v []*string) *DescribeManagedPrefixListsInput {
70350	s.PrefixListIds = v
70351	return s
70352}
70353
70354type DescribeManagedPrefixListsOutput struct {
70355	_ struct{} `type:"structure"`
70356
70357	// The token to use to retrieve the next page of results. This value is null
70358	// when there are no more results to return.
70359	NextToken *string `locationName:"nextToken" type:"string"`
70360
70361	// Information about the prefix lists.
70362	PrefixLists []*ManagedPrefixList `locationName:"prefixListSet" locationNameList:"item" type:"list"`
70363}
70364
70365// String returns the string representation
70366func (s DescribeManagedPrefixListsOutput) String() string {
70367	return awsutil.Prettify(s)
70368}
70369
70370// GoString returns the string representation
70371func (s DescribeManagedPrefixListsOutput) GoString() string {
70372	return s.String()
70373}
70374
70375// SetNextToken sets the NextToken field's value.
70376func (s *DescribeManagedPrefixListsOutput) SetNextToken(v string) *DescribeManagedPrefixListsOutput {
70377	s.NextToken = &v
70378	return s
70379}
70380
70381// SetPrefixLists sets the PrefixLists field's value.
70382func (s *DescribeManagedPrefixListsOutput) SetPrefixLists(v []*ManagedPrefixList) *DescribeManagedPrefixListsOutput {
70383	s.PrefixLists = v
70384	return s
70385}
70386
70387type DescribeMovingAddressesInput struct {
70388	_ struct{} `type:"structure"`
70389
70390	// Checks whether you have the required permissions for the action, without
70391	// actually making the request, and provides an error response. If you have
70392	// the required permissions, the error response is DryRunOperation. Otherwise,
70393	// it is UnauthorizedOperation.
70394	DryRun *bool `locationName:"dryRun" type:"boolean"`
70395
70396	// One or more filters.
70397	//
70398	//    * moving-status - The status of the Elastic IP address (MovingToVpc |
70399	//    RestoringToClassic).
70400	Filters []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"`
70401
70402	// The maximum number of results to return for the request in a single page.
70403	// The remaining results of the initial request can be seen by sending another
70404	// request with the returned NextToken value. This value can be between 5 and
70405	// 1000; if MaxResults is given a value outside of this range, an error is returned.
70406	//
70407	// Default: If no value is provided, the default is 1000.
70408	MaxResults *int64 `locationName:"maxResults" min:"5" type:"integer"`
70409
70410	// The token for the next page of results.
70411	NextToken *string `locationName:"nextToken" type:"string"`
70412
70413	// One or more Elastic IP addresses.
70414	PublicIps []*string `locationName:"publicIp" locationNameList:"item" type:"list"`
70415}
70416
70417// String returns the string representation
70418func (s DescribeMovingAddressesInput) String() string {
70419	return awsutil.Prettify(s)
70420}
70421
70422// GoString returns the string representation
70423func (s DescribeMovingAddressesInput) GoString() string {
70424	return s.String()
70425}
70426
70427// Validate inspects the fields of the type to determine if they are valid.
70428func (s *DescribeMovingAddressesInput) Validate() error {
70429	invalidParams := request.ErrInvalidParams{Context: "DescribeMovingAddressesInput"}
70430	if s.MaxResults != nil && *s.MaxResults < 5 {
70431		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
70432	}
70433
70434	if invalidParams.Len() > 0 {
70435		return invalidParams
70436	}
70437	return nil
70438}
70439
70440// SetDryRun sets the DryRun field's value.
70441func (s *DescribeMovingAddressesInput) SetDryRun(v bool) *DescribeMovingAddressesInput {
70442	s.DryRun = &v
70443	return s
70444}
70445
70446// SetFilters sets the Filters field's value.
70447func (s *DescribeMovingAddressesInput) SetFilters(v []*Filter) *DescribeMovingAddressesInput {
70448	s.Filters = v
70449	return s
70450}
70451
70452// SetMaxResults sets the MaxResults field's value.
70453func (s *DescribeMovingAddressesInput) SetMaxResults(v int64) *DescribeMovingAddressesInput {
70454	s.MaxResults = &v
70455	return s
70456}
70457
70458// SetNextToken sets the NextToken field's value.
70459func (s *DescribeMovingAddressesInput) SetNextToken(v string) *DescribeMovingAddressesInput {
70460	s.NextToken = &v
70461	return s
70462}
70463
70464// SetPublicIps sets the PublicIps field's value.
70465func (s *DescribeMovingAddressesInput) SetPublicIps(v []*string) *DescribeMovingAddressesInput {
70466	s.PublicIps = v
70467	return s
70468}
70469
70470type DescribeMovingAddressesOutput struct {
70471	_ struct{} `type:"structure"`
70472
70473	// The status for each Elastic IP address.
70474	MovingAddressStatuses []*MovingAddressStatus `locationName:"movingAddressStatusSet" locationNameList:"item" type:"list"`
70475
70476	// The token to use to retrieve the next page of results. This value is null
70477	// when there are no more results to return.
70478	NextToken *string `locationName:"nextToken" type:"string"`
70479}
70480
70481// String returns the string representation
70482func (s DescribeMovingAddressesOutput) String() string {
70483	return awsutil.Prettify(s)
70484}
70485
70486// GoString returns the string representation
70487func (s DescribeMovingAddressesOutput) GoString() string {
70488	return s.String()
70489}
70490
70491// SetMovingAddressStatuses sets the MovingAddressStatuses field's value.
70492func (s *DescribeMovingAddressesOutput) SetMovingAddressStatuses(v []*MovingAddressStatus) *DescribeMovingAddressesOutput {
70493	s.MovingAddressStatuses = v
70494	return s
70495}
70496
70497// SetNextToken sets the NextToken field's value.
70498func (s *DescribeMovingAddressesOutput) SetNextToken(v string) *DescribeMovingAddressesOutput {
70499	s.NextToken = &v
70500	return s
70501}
70502
70503type DescribeNatGatewaysInput struct {
70504	_ struct{} `type:"structure"`
70505
70506	// Checks whether you have the required permissions for the action, without
70507	// actually making the request, and provides an error response. If you have
70508	// the required permissions, the error response is DryRunOperation. Otherwise,
70509	// it is UnauthorizedOperation.
70510	DryRun *bool `type:"boolean"`
70511
70512	// One or more filters.
70513	//
70514	//    * nat-gateway-id - The ID of the NAT gateway.
70515	//
70516	//    * state - The state of the NAT gateway (pending | failed | available |
70517	//    deleting | deleted).
70518	//
70519	//    * subnet-id - The ID of the subnet in which the NAT gateway resides.
70520	//
70521	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
70522	//    Use the tag key in the filter name and the tag value as the filter value.
70523	//    For example, to find all resources that have a tag with the key Owner
70524	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
70525	//    the filter value.
70526	//
70527	//    * tag-key - The key of a tag assigned to the resource. Use this filter
70528	//    to find all resources assigned a tag with a specific key, regardless of
70529	//    the tag value.
70530	//
70531	//    * vpc-id - The ID of the VPC in which the NAT gateway resides.
70532	Filter []*Filter `locationNameList:"Filter" type:"list"`
70533
70534	// The maximum number of results to return with a single call. To retrieve the
70535	// remaining results, make another call with the returned nextToken value.
70536	MaxResults *int64 `min:"5" type:"integer"`
70537
70538	// One or more NAT gateway IDs.
70539	NatGatewayIds []*string `locationName:"NatGatewayId" locationNameList:"item" type:"list"`
70540
70541	// The token for the next page of results.
70542	NextToken *string `type:"string"`
70543}
70544
70545// String returns the string representation
70546func (s DescribeNatGatewaysInput) String() string {
70547	return awsutil.Prettify(s)
70548}
70549
70550// GoString returns the string representation
70551func (s DescribeNatGatewaysInput) GoString() string {
70552	return s.String()
70553}
70554
70555// Validate inspects the fields of the type to determine if they are valid.
70556func (s *DescribeNatGatewaysInput) Validate() error {
70557	invalidParams := request.ErrInvalidParams{Context: "DescribeNatGatewaysInput"}
70558	if s.MaxResults != nil && *s.MaxResults < 5 {
70559		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
70560	}
70561
70562	if invalidParams.Len() > 0 {
70563		return invalidParams
70564	}
70565	return nil
70566}
70567
70568// SetDryRun sets the DryRun field's value.
70569func (s *DescribeNatGatewaysInput) SetDryRun(v bool) *DescribeNatGatewaysInput {
70570	s.DryRun = &v
70571	return s
70572}
70573
70574// SetFilter sets the Filter field's value.
70575func (s *DescribeNatGatewaysInput) SetFilter(v []*Filter) *DescribeNatGatewaysInput {
70576	s.Filter = v
70577	return s
70578}
70579
70580// SetMaxResults sets the MaxResults field's value.
70581func (s *DescribeNatGatewaysInput) SetMaxResults(v int64) *DescribeNatGatewaysInput {
70582	s.MaxResults = &v
70583	return s
70584}
70585
70586// SetNatGatewayIds sets the NatGatewayIds field's value.
70587func (s *DescribeNatGatewaysInput) SetNatGatewayIds(v []*string) *DescribeNatGatewaysInput {
70588	s.NatGatewayIds = v
70589	return s
70590}
70591
70592// SetNextToken sets the NextToken field's value.
70593func (s *DescribeNatGatewaysInput) SetNextToken(v string) *DescribeNatGatewaysInput {
70594	s.NextToken = &v
70595	return s
70596}
70597
70598type DescribeNatGatewaysOutput struct {
70599	_ struct{} `type:"structure"`
70600
70601	// Information about the NAT gateways.
70602	NatGateways []*NatGateway `locationName:"natGatewaySet" locationNameList:"item" type:"list"`
70603
70604	// The token to use to retrieve the next page of results. This value is null
70605	// when there are no more results to return.
70606	NextToken *string `locationName:"nextToken" type:"string"`
70607}
70608
70609// String returns the string representation
70610func (s DescribeNatGatewaysOutput) String() string {
70611	return awsutil.Prettify(s)
70612}
70613
70614// GoString returns the string representation
70615func (s DescribeNatGatewaysOutput) GoString() string {
70616	return s.String()
70617}
70618
70619// SetNatGateways sets the NatGateways field's value.
70620func (s *DescribeNatGatewaysOutput) SetNatGateways(v []*NatGateway) *DescribeNatGatewaysOutput {
70621	s.NatGateways = v
70622	return s
70623}
70624
70625// SetNextToken sets the NextToken field's value.
70626func (s *DescribeNatGatewaysOutput) SetNextToken(v string) *DescribeNatGatewaysOutput {
70627	s.NextToken = &v
70628	return s
70629}
70630
70631type DescribeNetworkAclsInput struct {
70632	_ struct{} `type:"structure"`
70633
70634	// Checks whether you have the required permissions for the action, without
70635	// actually making the request, and provides an error response. If you have
70636	// the required permissions, the error response is DryRunOperation. Otherwise,
70637	// it is UnauthorizedOperation.
70638	DryRun *bool `locationName:"dryRun" type:"boolean"`
70639
70640	// One or more filters.
70641	//
70642	//    * association.association-id - The ID of an association ID for the ACL.
70643	//
70644	//    * association.network-acl-id - The ID of the network ACL involved in the
70645	//    association.
70646	//
70647	//    * association.subnet-id - The ID of the subnet involved in the association.
70648	//
70649	//    * default - Indicates whether the ACL is the default network ACL for the
70650	//    VPC.
70651	//
70652	//    * entry.cidr - The IPv4 CIDR range specified in the entry.
70653	//
70654	//    * entry.icmp.code - The ICMP code specified in the entry, if any.
70655	//
70656	//    * entry.icmp.type - The ICMP type specified in the entry, if any.
70657	//
70658	//    * entry.ipv6-cidr - The IPv6 CIDR range specified in the entry.
70659	//
70660	//    * entry.port-range.from - The start of the port range specified in the
70661	//    entry.
70662	//
70663	//    * entry.port-range.to - The end of the port range specified in the entry.
70664	//
70665	//    * entry.protocol - The protocol specified in the entry (tcp | udp | icmp
70666	//    or a protocol number).
70667	//
70668	//    * entry.rule-action - Allows or denies the matching traffic (allow | deny).
70669	//
70670	//    * entry.rule-number - The number of an entry (in other words, rule) in
70671	//    the set of ACL entries.
70672	//
70673	//    * network-acl-id - The ID of the network ACL.
70674	//
70675	//    * owner-id - The ID of the AWS account that owns the network ACL.
70676	//
70677	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
70678	//    Use the tag key in the filter name and the tag value as the filter value.
70679	//    For example, to find all resources that have a tag with the key Owner
70680	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
70681	//    the filter value.
70682	//
70683	//    * tag-key - The key of a tag assigned to the resource. Use this filter
70684	//    to find all resources assigned a tag with a specific key, regardless of
70685	//    the tag value.
70686	//
70687	//    * vpc-id - The ID of the VPC for the network ACL.
70688	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
70689
70690	// The maximum number of results to return with a single call. To retrieve the
70691	// remaining results, make another call with the returned nextToken value.
70692	MaxResults *int64 `min:"5" type:"integer"`
70693
70694	// One or more network ACL IDs.
70695	//
70696	// Default: Describes all your network ACLs.
70697	NetworkAclIds []*string `locationName:"NetworkAclId" locationNameList:"item" type:"list"`
70698
70699	// The token for the next page of results.
70700	NextToken *string `type:"string"`
70701}
70702
70703// String returns the string representation
70704func (s DescribeNetworkAclsInput) String() string {
70705	return awsutil.Prettify(s)
70706}
70707
70708// GoString returns the string representation
70709func (s DescribeNetworkAclsInput) GoString() string {
70710	return s.String()
70711}
70712
70713// Validate inspects the fields of the type to determine if they are valid.
70714func (s *DescribeNetworkAclsInput) Validate() error {
70715	invalidParams := request.ErrInvalidParams{Context: "DescribeNetworkAclsInput"}
70716	if s.MaxResults != nil && *s.MaxResults < 5 {
70717		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
70718	}
70719
70720	if invalidParams.Len() > 0 {
70721		return invalidParams
70722	}
70723	return nil
70724}
70725
70726// SetDryRun sets the DryRun field's value.
70727func (s *DescribeNetworkAclsInput) SetDryRun(v bool) *DescribeNetworkAclsInput {
70728	s.DryRun = &v
70729	return s
70730}
70731
70732// SetFilters sets the Filters field's value.
70733func (s *DescribeNetworkAclsInput) SetFilters(v []*Filter) *DescribeNetworkAclsInput {
70734	s.Filters = v
70735	return s
70736}
70737
70738// SetMaxResults sets the MaxResults field's value.
70739func (s *DescribeNetworkAclsInput) SetMaxResults(v int64) *DescribeNetworkAclsInput {
70740	s.MaxResults = &v
70741	return s
70742}
70743
70744// SetNetworkAclIds sets the NetworkAclIds field's value.
70745func (s *DescribeNetworkAclsInput) SetNetworkAclIds(v []*string) *DescribeNetworkAclsInput {
70746	s.NetworkAclIds = v
70747	return s
70748}
70749
70750// SetNextToken sets the NextToken field's value.
70751func (s *DescribeNetworkAclsInput) SetNextToken(v string) *DescribeNetworkAclsInput {
70752	s.NextToken = &v
70753	return s
70754}
70755
70756type DescribeNetworkAclsOutput struct {
70757	_ struct{} `type:"structure"`
70758
70759	// Information about one or more network ACLs.
70760	NetworkAcls []*NetworkAcl `locationName:"networkAclSet" locationNameList:"item" type:"list"`
70761
70762	// The token to use to retrieve the next page of results. This value is null
70763	// when there are no more results to return.
70764	NextToken *string `locationName:"nextToken" type:"string"`
70765}
70766
70767// String returns the string representation
70768func (s DescribeNetworkAclsOutput) String() string {
70769	return awsutil.Prettify(s)
70770}
70771
70772// GoString returns the string representation
70773func (s DescribeNetworkAclsOutput) GoString() string {
70774	return s.String()
70775}
70776
70777// SetNetworkAcls sets the NetworkAcls field's value.
70778func (s *DescribeNetworkAclsOutput) SetNetworkAcls(v []*NetworkAcl) *DescribeNetworkAclsOutput {
70779	s.NetworkAcls = v
70780	return s
70781}
70782
70783// SetNextToken sets the NextToken field's value.
70784func (s *DescribeNetworkAclsOutput) SetNextToken(v string) *DescribeNetworkAclsOutput {
70785	s.NextToken = &v
70786	return s
70787}
70788
70789type DescribeNetworkInsightsAnalysesInput struct {
70790	_ struct{} `type:"structure"`
70791
70792	// The time when the network insights analyses ended.
70793	AnalysisEndTime *time.Time `type:"timestamp"`
70794
70795	// The time when the network insights analyses started.
70796	AnalysisStartTime *time.Time `type:"timestamp"`
70797
70798	// Checks whether you have the required permissions for the action, without
70799	// actually making the request, and provides an error response. If you have
70800	// the required permissions, the error response is DryRunOperation. Otherwise,
70801	// it is UnauthorizedOperation.
70802	DryRun *bool `type:"boolean"`
70803
70804	// The filters. The following are possible values:
70805	//
70806	//    * PathFound - A Boolean value that indicates whether a feasible path is
70807	//    found.
70808	//
70809	//    * Status - The status of the analysis (running | succeeded | failed).
70810	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
70811
70812	// The maximum number of results to return with a single call. To retrieve the
70813	// remaining results, make another call with the returned nextToken value.
70814	MaxResults *int64 `min:"1" type:"integer"`
70815
70816	// The ID of the network insights analyses. You must specify either analysis
70817	// IDs or a path ID.
70818	NetworkInsightsAnalysisIds []*string `locationName:"NetworkInsightsAnalysisId" locationNameList:"item" type:"list"`
70819
70820	// The ID of the path. You must specify either a path ID or analysis IDs.
70821	NetworkInsightsPathId *string `type:"string"`
70822
70823	// The token for the next page of results.
70824	NextToken *string `type:"string"`
70825}
70826
70827// String returns the string representation
70828func (s DescribeNetworkInsightsAnalysesInput) String() string {
70829	return awsutil.Prettify(s)
70830}
70831
70832// GoString returns the string representation
70833func (s DescribeNetworkInsightsAnalysesInput) GoString() string {
70834	return s.String()
70835}
70836
70837// Validate inspects the fields of the type to determine if they are valid.
70838func (s *DescribeNetworkInsightsAnalysesInput) Validate() error {
70839	invalidParams := request.ErrInvalidParams{Context: "DescribeNetworkInsightsAnalysesInput"}
70840	if s.MaxResults != nil && *s.MaxResults < 1 {
70841		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
70842	}
70843
70844	if invalidParams.Len() > 0 {
70845		return invalidParams
70846	}
70847	return nil
70848}
70849
70850// SetAnalysisEndTime sets the AnalysisEndTime field's value.
70851func (s *DescribeNetworkInsightsAnalysesInput) SetAnalysisEndTime(v time.Time) *DescribeNetworkInsightsAnalysesInput {
70852	s.AnalysisEndTime = &v
70853	return s
70854}
70855
70856// SetAnalysisStartTime sets the AnalysisStartTime field's value.
70857func (s *DescribeNetworkInsightsAnalysesInput) SetAnalysisStartTime(v time.Time) *DescribeNetworkInsightsAnalysesInput {
70858	s.AnalysisStartTime = &v
70859	return s
70860}
70861
70862// SetDryRun sets the DryRun field's value.
70863func (s *DescribeNetworkInsightsAnalysesInput) SetDryRun(v bool) *DescribeNetworkInsightsAnalysesInput {
70864	s.DryRun = &v
70865	return s
70866}
70867
70868// SetFilters sets the Filters field's value.
70869func (s *DescribeNetworkInsightsAnalysesInput) SetFilters(v []*Filter) *DescribeNetworkInsightsAnalysesInput {
70870	s.Filters = v
70871	return s
70872}
70873
70874// SetMaxResults sets the MaxResults field's value.
70875func (s *DescribeNetworkInsightsAnalysesInput) SetMaxResults(v int64) *DescribeNetworkInsightsAnalysesInput {
70876	s.MaxResults = &v
70877	return s
70878}
70879
70880// SetNetworkInsightsAnalysisIds sets the NetworkInsightsAnalysisIds field's value.
70881func (s *DescribeNetworkInsightsAnalysesInput) SetNetworkInsightsAnalysisIds(v []*string) *DescribeNetworkInsightsAnalysesInput {
70882	s.NetworkInsightsAnalysisIds = v
70883	return s
70884}
70885
70886// SetNetworkInsightsPathId sets the NetworkInsightsPathId field's value.
70887func (s *DescribeNetworkInsightsAnalysesInput) SetNetworkInsightsPathId(v string) *DescribeNetworkInsightsAnalysesInput {
70888	s.NetworkInsightsPathId = &v
70889	return s
70890}
70891
70892// SetNextToken sets the NextToken field's value.
70893func (s *DescribeNetworkInsightsAnalysesInput) SetNextToken(v string) *DescribeNetworkInsightsAnalysesInput {
70894	s.NextToken = &v
70895	return s
70896}
70897
70898type DescribeNetworkInsightsAnalysesOutput struct {
70899	_ struct{} `type:"structure"`
70900
70901	// Information about the network insights analyses.
70902	NetworkInsightsAnalyses []*NetworkInsightsAnalysis `locationName:"networkInsightsAnalysisSet" locationNameList:"item" type:"list"`
70903
70904	// The token to use to retrieve the next page of results. This value is null
70905	// when there are no more results to return.
70906	NextToken *string `locationName:"nextToken" type:"string"`
70907}
70908
70909// String returns the string representation
70910func (s DescribeNetworkInsightsAnalysesOutput) String() string {
70911	return awsutil.Prettify(s)
70912}
70913
70914// GoString returns the string representation
70915func (s DescribeNetworkInsightsAnalysesOutput) GoString() string {
70916	return s.String()
70917}
70918
70919// SetNetworkInsightsAnalyses sets the NetworkInsightsAnalyses field's value.
70920func (s *DescribeNetworkInsightsAnalysesOutput) SetNetworkInsightsAnalyses(v []*NetworkInsightsAnalysis) *DescribeNetworkInsightsAnalysesOutput {
70921	s.NetworkInsightsAnalyses = v
70922	return s
70923}
70924
70925// SetNextToken sets the NextToken field's value.
70926func (s *DescribeNetworkInsightsAnalysesOutput) SetNextToken(v string) *DescribeNetworkInsightsAnalysesOutput {
70927	s.NextToken = &v
70928	return s
70929}
70930
70931type DescribeNetworkInsightsPathsInput struct {
70932	_ struct{} `type:"structure"`
70933
70934	// Checks whether you have the required permissions for the action, without
70935	// actually making the request, and provides an error response. If you have
70936	// the required permissions, the error response is DryRunOperation. Otherwise,
70937	// it is UnauthorizedOperation.
70938	DryRun *bool `type:"boolean"`
70939
70940	// The filters. The following are possible values:
70941	//
70942	//    * Destination - The ID of the resource.
70943	//
70944	//    * DestinationPort - The destination port.
70945	//
70946	//    * Name - The path name.
70947	//
70948	//    * Protocol - The protocol.
70949	//
70950	//    * Source - The ID of the resource.
70951	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
70952
70953	// The maximum number of results to return with a single call. To retrieve the
70954	// remaining results, make another call with the returned nextToken value.
70955	MaxResults *int64 `min:"1" type:"integer"`
70956
70957	// The IDs of the paths.
70958	NetworkInsightsPathIds []*string `locationName:"NetworkInsightsPathId" locationNameList:"item" type:"list"`
70959
70960	// The token for the next page of results.
70961	NextToken *string `type:"string"`
70962}
70963
70964// String returns the string representation
70965func (s DescribeNetworkInsightsPathsInput) String() string {
70966	return awsutil.Prettify(s)
70967}
70968
70969// GoString returns the string representation
70970func (s DescribeNetworkInsightsPathsInput) GoString() string {
70971	return s.String()
70972}
70973
70974// Validate inspects the fields of the type to determine if they are valid.
70975func (s *DescribeNetworkInsightsPathsInput) Validate() error {
70976	invalidParams := request.ErrInvalidParams{Context: "DescribeNetworkInsightsPathsInput"}
70977	if s.MaxResults != nil && *s.MaxResults < 1 {
70978		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
70979	}
70980
70981	if invalidParams.Len() > 0 {
70982		return invalidParams
70983	}
70984	return nil
70985}
70986
70987// SetDryRun sets the DryRun field's value.
70988func (s *DescribeNetworkInsightsPathsInput) SetDryRun(v bool) *DescribeNetworkInsightsPathsInput {
70989	s.DryRun = &v
70990	return s
70991}
70992
70993// SetFilters sets the Filters field's value.
70994func (s *DescribeNetworkInsightsPathsInput) SetFilters(v []*Filter) *DescribeNetworkInsightsPathsInput {
70995	s.Filters = v
70996	return s
70997}
70998
70999// SetMaxResults sets the MaxResults field's value.
71000func (s *DescribeNetworkInsightsPathsInput) SetMaxResults(v int64) *DescribeNetworkInsightsPathsInput {
71001	s.MaxResults = &v
71002	return s
71003}
71004
71005// SetNetworkInsightsPathIds sets the NetworkInsightsPathIds field's value.
71006func (s *DescribeNetworkInsightsPathsInput) SetNetworkInsightsPathIds(v []*string) *DescribeNetworkInsightsPathsInput {
71007	s.NetworkInsightsPathIds = v
71008	return s
71009}
71010
71011// SetNextToken sets the NextToken field's value.
71012func (s *DescribeNetworkInsightsPathsInput) SetNextToken(v string) *DescribeNetworkInsightsPathsInput {
71013	s.NextToken = &v
71014	return s
71015}
71016
71017type DescribeNetworkInsightsPathsOutput struct {
71018	_ struct{} `type:"structure"`
71019
71020	// Information about the paths.
71021	NetworkInsightsPaths []*NetworkInsightsPath `locationName:"networkInsightsPathSet" locationNameList:"item" type:"list"`
71022
71023	// The token to use to retrieve the next page of results. This value is null
71024	// when there are no more results to return.
71025	NextToken *string `locationName:"nextToken" type:"string"`
71026}
71027
71028// String returns the string representation
71029func (s DescribeNetworkInsightsPathsOutput) String() string {
71030	return awsutil.Prettify(s)
71031}
71032
71033// GoString returns the string representation
71034func (s DescribeNetworkInsightsPathsOutput) GoString() string {
71035	return s.String()
71036}
71037
71038// SetNetworkInsightsPaths sets the NetworkInsightsPaths field's value.
71039func (s *DescribeNetworkInsightsPathsOutput) SetNetworkInsightsPaths(v []*NetworkInsightsPath) *DescribeNetworkInsightsPathsOutput {
71040	s.NetworkInsightsPaths = v
71041	return s
71042}
71043
71044// SetNextToken sets the NextToken field's value.
71045func (s *DescribeNetworkInsightsPathsOutput) SetNextToken(v string) *DescribeNetworkInsightsPathsOutput {
71046	s.NextToken = &v
71047	return s
71048}
71049
71050// Contains the parameters for DescribeNetworkInterfaceAttribute.
71051type DescribeNetworkInterfaceAttributeInput struct {
71052	_ struct{} `type:"structure"`
71053
71054	// The attribute of the network interface. This parameter is required.
71055	Attribute *string `locationName:"attribute" type:"string" enum:"NetworkInterfaceAttribute"`
71056
71057	// Checks whether you have the required permissions for the action, without
71058	// actually making the request, and provides an error response. If you have
71059	// the required permissions, the error response is DryRunOperation. Otherwise,
71060	// it is UnauthorizedOperation.
71061	DryRun *bool `locationName:"dryRun" type:"boolean"`
71062
71063	// The ID of the network interface.
71064	//
71065	// NetworkInterfaceId is a required field
71066	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
71067}
71068
71069// String returns the string representation
71070func (s DescribeNetworkInterfaceAttributeInput) String() string {
71071	return awsutil.Prettify(s)
71072}
71073
71074// GoString returns the string representation
71075func (s DescribeNetworkInterfaceAttributeInput) GoString() string {
71076	return s.String()
71077}
71078
71079// Validate inspects the fields of the type to determine if they are valid.
71080func (s *DescribeNetworkInterfaceAttributeInput) Validate() error {
71081	invalidParams := request.ErrInvalidParams{Context: "DescribeNetworkInterfaceAttributeInput"}
71082	if s.NetworkInterfaceId == nil {
71083		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
71084	}
71085
71086	if invalidParams.Len() > 0 {
71087		return invalidParams
71088	}
71089	return nil
71090}
71091
71092// SetAttribute sets the Attribute field's value.
71093func (s *DescribeNetworkInterfaceAttributeInput) SetAttribute(v string) *DescribeNetworkInterfaceAttributeInput {
71094	s.Attribute = &v
71095	return s
71096}
71097
71098// SetDryRun sets the DryRun field's value.
71099func (s *DescribeNetworkInterfaceAttributeInput) SetDryRun(v bool) *DescribeNetworkInterfaceAttributeInput {
71100	s.DryRun = &v
71101	return s
71102}
71103
71104// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
71105func (s *DescribeNetworkInterfaceAttributeInput) SetNetworkInterfaceId(v string) *DescribeNetworkInterfaceAttributeInput {
71106	s.NetworkInterfaceId = &v
71107	return s
71108}
71109
71110// Contains the output of DescribeNetworkInterfaceAttribute.
71111type DescribeNetworkInterfaceAttributeOutput struct {
71112	_ struct{} `type:"structure"`
71113
71114	// The attachment (if any) of the network interface.
71115	Attachment *NetworkInterfaceAttachment `locationName:"attachment" type:"structure"`
71116
71117	// The description of the network interface.
71118	Description *AttributeValue `locationName:"description" type:"structure"`
71119
71120	// The security groups associated with the network interface.
71121	Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
71122
71123	// The ID of the network interface.
71124	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
71125
71126	// Indicates whether source/destination checking is enabled.
71127	SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"`
71128}
71129
71130// String returns the string representation
71131func (s DescribeNetworkInterfaceAttributeOutput) String() string {
71132	return awsutil.Prettify(s)
71133}
71134
71135// GoString returns the string representation
71136func (s DescribeNetworkInterfaceAttributeOutput) GoString() string {
71137	return s.String()
71138}
71139
71140// SetAttachment sets the Attachment field's value.
71141func (s *DescribeNetworkInterfaceAttributeOutput) SetAttachment(v *NetworkInterfaceAttachment) *DescribeNetworkInterfaceAttributeOutput {
71142	s.Attachment = v
71143	return s
71144}
71145
71146// SetDescription sets the Description field's value.
71147func (s *DescribeNetworkInterfaceAttributeOutput) SetDescription(v *AttributeValue) *DescribeNetworkInterfaceAttributeOutput {
71148	s.Description = v
71149	return s
71150}
71151
71152// SetGroups sets the Groups field's value.
71153func (s *DescribeNetworkInterfaceAttributeOutput) SetGroups(v []*GroupIdentifier) *DescribeNetworkInterfaceAttributeOutput {
71154	s.Groups = v
71155	return s
71156}
71157
71158// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
71159func (s *DescribeNetworkInterfaceAttributeOutput) SetNetworkInterfaceId(v string) *DescribeNetworkInterfaceAttributeOutput {
71160	s.NetworkInterfaceId = &v
71161	return s
71162}
71163
71164// SetSourceDestCheck sets the SourceDestCheck field's value.
71165func (s *DescribeNetworkInterfaceAttributeOutput) SetSourceDestCheck(v *AttributeBooleanValue) *DescribeNetworkInterfaceAttributeOutput {
71166	s.SourceDestCheck = v
71167	return s
71168}
71169
71170// Contains the parameters for DescribeNetworkInterfacePermissions.
71171type DescribeNetworkInterfacePermissionsInput struct {
71172	_ struct{} `type:"structure"`
71173
71174	// One or more filters.
71175	//
71176	//    * network-interface-permission.network-interface-permission-id - The ID
71177	//    of the permission.
71178	//
71179	//    * network-interface-permission.network-interface-id - The ID of the network
71180	//    interface.
71181	//
71182	//    * network-interface-permission.aws-account-id - The AWS account ID.
71183	//
71184	//    * network-interface-permission.aws-service - The AWS service.
71185	//
71186	//    * network-interface-permission.permission - The type of permission (INSTANCE-ATTACH
71187	//    | EIP-ASSOCIATE).
71188	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
71189
71190	// The maximum number of results to return in a single call. To retrieve the
71191	// remaining results, make another call with the returned NextToken value. If
71192	// this parameter is not specified, up to 50 results are returned by default.
71193	MaxResults *int64 `min:"5" type:"integer"`
71194
71195	// One or more network interface permission IDs.
71196	NetworkInterfacePermissionIds []*string `locationName:"NetworkInterfacePermissionId" type:"list"`
71197
71198	// The token to request the next page of results.
71199	NextToken *string `type:"string"`
71200}
71201
71202// String returns the string representation
71203func (s DescribeNetworkInterfacePermissionsInput) String() string {
71204	return awsutil.Prettify(s)
71205}
71206
71207// GoString returns the string representation
71208func (s DescribeNetworkInterfacePermissionsInput) GoString() string {
71209	return s.String()
71210}
71211
71212// Validate inspects the fields of the type to determine if they are valid.
71213func (s *DescribeNetworkInterfacePermissionsInput) Validate() error {
71214	invalidParams := request.ErrInvalidParams{Context: "DescribeNetworkInterfacePermissionsInput"}
71215	if s.MaxResults != nil && *s.MaxResults < 5 {
71216		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
71217	}
71218
71219	if invalidParams.Len() > 0 {
71220		return invalidParams
71221	}
71222	return nil
71223}
71224
71225// SetFilters sets the Filters field's value.
71226func (s *DescribeNetworkInterfacePermissionsInput) SetFilters(v []*Filter) *DescribeNetworkInterfacePermissionsInput {
71227	s.Filters = v
71228	return s
71229}
71230
71231// SetMaxResults sets the MaxResults field's value.
71232func (s *DescribeNetworkInterfacePermissionsInput) SetMaxResults(v int64) *DescribeNetworkInterfacePermissionsInput {
71233	s.MaxResults = &v
71234	return s
71235}
71236
71237// SetNetworkInterfacePermissionIds sets the NetworkInterfacePermissionIds field's value.
71238func (s *DescribeNetworkInterfacePermissionsInput) SetNetworkInterfacePermissionIds(v []*string) *DescribeNetworkInterfacePermissionsInput {
71239	s.NetworkInterfacePermissionIds = v
71240	return s
71241}
71242
71243// SetNextToken sets the NextToken field's value.
71244func (s *DescribeNetworkInterfacePermissionsInput) SetNextToken(v string) *DescribeNetworkInterfacePermissionsInput {
71245	s.NextToken = &v
71246	return s
71247}
71248
71249// Contains the output for DescribeNetworkInterfacePermissions.
71250type DescribeNetworkInterfacePermissionsOutput struct {
71251	_ struct{} `type:"structure"`
71252
71253	// The network interface permissions.
71254	NetworkInterfacePermissions []*NetworkInterfacePermission `locationName:"networkInterfacePermissions" locationNameList:"item" type:"list"`
71255
71256	// The token to use to retrieve the next page of results.
71257	NextToken *string `locationName:"nextToken" type:"string"`
71258}
71259
71260// String returns the string representation
71261func (s DescribeNetworkInterfacePermissionsOutput) String() string {
71262	return awsutil.Prettify(s)
71263}
71264
71265// GoString returns the string representation
71266func (s DescribeNetworkInterfacePermissionsOutput) GoString() string {
71267	return s.String()
71268}
71269
71270// SetNetworkInterfacePermissions sets the NetworkInterfacePermissions field's value.
71271func (s *DescribeNetworkInterfacePermissionsOutput) SetNetworkInterfacePermissions(v []*NetworkInterfacePermission) *DescribeNetworkInterfacePermissionsOutput {
71272	s.NetworkInterfacePermissions = v
71273	return s
71274}
71275
71276// SetNextToken sets the NextToken field's value.
71277func (s *DescribeNetworkInterfacePermissionsOutput) SetNextToken(v string) *DescribeNetworkInterfacePermissionsOutput {
71278	s.NextToken = &v
71279	return s
71280}
71281
71282// Contains the parameters for DescribeNetworkInterfaces.
71283type DescribeNetworkInterfacesInput struct {
71284	_ struct{} `type:"structure"`
71285
71286	// Checks whether you have the required permissions for the action, without
71287	// actually making the request, and provides an error response. If you have
71288	// the required permissions, the error response is DryRunOperation. Otherwise,
71289	// it is UnauthorizedOperation.
71290	DryRun *bool `locationName:"dryRun" type:"boolean"`
71291
71292	// One or more filters.
71293	//
71294	//    * addresses.private-ip-address - The private IPv4 addresses associated
71295	//    with the network interface.
71296	//
71297	//    * addresses.primary - Whether the private IPv4 address is the primary
71298	//    IP address associated with the network interface.
71299	//
71300	//    * addresses.association.public-ip - The association ID returned when the
71301	//    network interface was associated with the Elastic IP address (IPv4).
71302	//
71303	//    * addresses.association.owner-id - The owner ID of the addresses associated
71304	//    with the network interface.
71305	//
71306	//    * association.association-id - The association ID returned when the network
71307	//    interface was associated with an IPv4 address.
71308	//
71309	//    * association.allocation-id - The allocation ID returned when you allocated
71310	//    the Elastic IP address (IPv4) for your network interface.
71311	//
71312	//    * association.ip-owner-id - The owner of the Elastic IP address (IPv4)
71313	//    associated with the network interface.
71314	//
71315	//    * association.public-ip - The address of the Elastic IP address (IPv4)
71316	//    bound to the network interface.
71317	//
71318	//    * association.public-dns-name - The public DNS name for the network interface
71319	//    (IPv4).
71320	//
71321	//    * attachment.attachment-id - The ID of the interface attachment.
71322	//
71323	//    * attachment.attach-time - The time that the network interface was attached
71324	//    to an instance.
71325	//
71326	//    * attachment.delete-on-termination - Indicates whether the attachment
71327	//    is deleted when an instance is terminated.
71328	//
71329	//    * attachment.device-index - The device index to which the network interface
71330	//    is attached.
71331	//
71332	//    * attachment.instance-id - The ID of the instance to which the network
71333	//    interface is attached.
71334	//
71335	//    * attachment.instance-owner-id - The owner ID of the instance to which
71336	//    the network interface is attached.
71337	//
71338	//    * attachment.status - The status of the attachment (attaching | attached
71339	//    | detaching | detached).
71340	//
71341	//    * availability-zone - The Availability Zone of the network interface.
71342	//
71343	//    * description - The description of the network interface.
71344	//
71345	//    * group-id - The ID of a security group associated with the network interface.
71346	//
71347	//    * group-name - The name of a security group associated with the network
71348	//    interface.
71349	//
71350	//    * ipv6-addresses.ipv6-address - An IPv6 address associated with the network
71351	//    interface.
71352	//
71353	//    * mac-address - The MAC address of the network interface.
71354	//
71355	//    * network-interface-id - The ID of the network interface.
71356	//
71357	//    * owner-id - The AWS account ID of the network interface owner.
71358	//
71359	//    * private-ip-address - The private IPv4 address or addresses of the network
71360	//    interface.
71361	//
71362	//    * private-dns-name - The private DNS name of the network interface (IPv4).
71363	//
71364	//    * requester-id - The alias or AWS account ID of the principal or service
71365	//    that created the network interface.
71366	//
71367	//    * requester-managed - Indicates whether the network interface is being
71368	//    managed by an AWS service (for example, AWS Management Console, Auto Scaling,
71369	//    and so on).
71370	//
71371	//    * source-dest-check - Indicates whether the network interface performs
71372	//    source/destination checking. A value of true means checking is enabled,
71373	//    and false means checking is disabled. The value must be false for the
71374	//    network interface to perform network address translation (NAT) in your
71375	//    VPC.
71376	//
71377	//    * status - The status of the network interface. If the network interface
71378	//    is not attached to an instance, the status is available; if a network
71379	//    interface is attached to an instance the status is in-use.
71380	//
71381	//    * subnet-id - The ID of the subnet for the network interface.
71382	//
71383	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
71384	//    Use the tag key in the filter name and the tag value as the filter value.
71385	//    For example, to find all resources that have a tag with the key Owner
71386	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
71387	//    the filter value.
71388	//
71389	//    * tag-key - The key of a tag assigned to the resource. Use this filter
71390	//    to find all resources assigned a tag with a specific key, regardless of
71391	//    the tag value.
71392	//
71393	//    * vpc-id - The ID of the VPC for the network interface.
71394	Filters []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"`
71395
71396	// The maximum number of items to return for this request. The request returns
71397	// a token that you can specify in a subsequent call to get the next set of
71398	// results. You cannot specify this parameter and the network interface IDs
71399	// parameter in the same request.
71400	MaxResults *int64 `min:"5" type:"integer"`
71401
71402	// One or more network interface IDs.
71403	//
71404	// Default: Describes all your network interfaces.
71405	NetworkInterfaceIds []*string `locationName:"NetworkInterfaceId" locationNameList:"item" type:"list"`
71406
71407	// The token to retrieve the next page of results.
71408	NextToken *string `type:"string"`
71409}
71410
71411// String returns the string representation
71412func (s DescribeNetworkInterfacesInput) String() string {
71413	return awsutil.Prettify(s)
71414}
71415
71416// GoString returns the string representation
71417func (s DescribeNetworkInterfacesInput) GoString() string {
71418	return s.String()
71419}
71420
71421// Validate inspects the fields of the type to determine if they are valid.
71422func (s *DescribeNetworkInterfacesInput) Validate() error {
71423	invalidParams := request.ErrInvalidParams{Context: "DescribeNetworkInterfacesInput"}
71424	if s.MaxResults != nil && *s.MaxResults < 5 {
71425		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
71426	}
71427
71428	if invalidParams.Len() > 0 {
71429		return invalidParams
71430	}
71431	return nil
71432}
71433
71434// SetDryRun sets the DryRun field's value.
71435func (s *DescribeNetworkInterfacesInput) SetDryRun(v bool) *DescribeNetworkInterfacesInput {
71436	s.DryRun = &v
71437	return s
71438}
71439
71440// SetFilters sets the Filters field's value.
71441func (s *DescribeNetworkInterfacesInput) SetFilters(v []*Filter) *DescribeNetworkInterfacesInput {
71442	s.Filters = v
71443	return s
71444}
71445
71446// SetMaxResults sets the MaxResults field's value.
71447func (s *DescribeNetworkInterfacesInput) SetMaxResults(v int64) *DescribeNetworkInterfacesInput {
71448	s.MaxResults = &v
71449	return s
71450}
71451
71452// SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value.
71453func (s *DescribeNetworkInterfacesInput) SetNetworkInterfaceIds(v []*string) *DescribeNetworkInterfacesInput {
71454	s.NetworkInterfaceIds = v
71455	return s
71456}
71457
71458// SetNextToken sets the NextToken field's value.
71459func (s *DescribeNetworkInterfacesInput) SetNextToken(v string) *DescribeNetworkInterfacesInput {
71460	s.NextToken = &v
71461	return s
71462}
71463
71464// Contains the output of DescribeNetworkInterfaces.
71465type DescribeNetworkInterfacesOutput struct {
71466	_ struct{} `type:"structure"`
71467
71468	// Information about one or more network interfaces.
71469	NetworkInterfaces []*NetworkInterface `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
71470
71471	// The token to use to retrieve the next page of results. This value is null
71472	// when there are no more results to return.
71473	NextToken *string `locationName:"nextToken" type:"string"`
71474}
71475
71476// String returns the string representation
71477func (s DescribeNetworkInterfacesOutput) String() string {
71478	return awsutil.Prettify(s)
71479}
71480
71481// GoString returns the string representation
71482func (s DescribeNetworkInterfacesOutput) GoString() string {
71483	return s.String()
71484}
71485
71486// SetNetworkInterfaces sets the NetworkInterfaces field's value.
71487func (s *DescribeNetworkInterfacesOutput) SetNetworkInterfaces(v []*NetworkInterface) *DescribeNetworkInterfacesOutput {
71488	s.NetworkInterfaces = v
71489	return s
71490}
71491
71492// SetNextToken sets the NextToken field's value.
71493func (s *DescribeNetworkInterfacesOutput) SetNextToken(v string) *DescribeNetworkInterfacesOutput {
71494	s.NextToken = &v
71495	return s
71496}
71497
71498type DescribePlacementGroupsInput struct {
71499	_ struct{} `type:"structure"`
71500
71501	// Checks whether you have the required permissions for the action, without
71502	// actually making the request, and provides an error response. If you have
71503	// the required permissions, the error response is DryRunOperation. Otherwise,
71504	// it is UnauthorizedOperation.
71505	DryRun *bool `locationName:"dryRun" type:"boolean"`
71506
71507	// The filters.
71508	//
71509	//    * group-name - The name of the placement group.
71510	//
71511	//    * state - The state of the placement group (pending | available | deleting
71512	//    | deleted).
71513	//
71514	//    * strategy - The strategy of the placement group (cluster | spread | partition).
71515	//
71516	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
71517	//    Use the tag key in the filter name and the tag value as the filter value.
71518	//    For example, to find all resources that have a tag with the key Owner
71519	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
71520	//    the filter value.
71521	//
71522	//    * tag-key - The key of a tag assigned to the resource. Use this filter
71523	//    to find all resources that have a tag with a specific key, regardless
71524	//    of the tag value.
71525	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
71526
71527	// The IDs of the placement groups.
71528	GroupIds []*string `locationName:"GroupId" locationNameList:"GroupId" type:"list"`
71529
71530	// The names of the placement groups.
71531	//
71532	// Default: Describes all your placement groups, or only those otherwise specified.
71533	GroupNames []*string `locationName:"groupName" type:"list"`
71534}
71535
71536// String returns the string representation
71537func (s DescribePlacementGroupsInput) String() string {
71538	return awsutil.Prettify(s)
71539}
71540
71541// GoString returns the string representation
71542func (s DescribePlacementGroupsInput) GoString() string {
71543	return s.String()
71544}
71545
71546// SetDryRun sets the DryRun field's value.
71547func (s *DescribePlacementGroupsInput) SetDryRun(v bool) *DescribePlacementGroupsInput {
71548	s.DryRun = &v
71549	return s
71550}
71551
71552// SetFilters sets the Filters field's value.
71553func (s *DescribePlacementGroupsInput) SetFilters(v []*Filter) *DescribePlacementGroupsInput {
71554	s.Filters = v
71555	return s
71556}
71557
71558// SetGroupIds sets the GroupIds field's value.
71559func (s *DescribePlacementGroupsInput) SetGroupIds(v []*string) *DescribePlacementGroupsInput {
71560	s.GroupIds = v
71561	return s
71562}
71563
71564// SetGroupNames sets the GroupNames field's value.
71565func (s *DescribePlacementGroupsInput) SetGroupNames(v []*string) *DescribePlacementGroupsInput {
71566	s.GroupNames = v
71567	return s
71568}
71569
71570type DescribePlacementGroupsOutput struct {
71571	_ struct{} `type:"structure"`
71572
71573	// Information about the placement groups.
71574	PlacementGroups []*PlacementGroup `locationName:"placementGroupSet" locationNameList:"item" type:"list"`
71575}
71576
71577// String returns the string representation
71578func (s DescribePlacementGroupsOutput) String() string {
71579	return awsutil.Prettify(s)
71580}
71581
71582// GoString returns the string representation
71583func (s DescribePlacementGroupsOutput) GoString() string {
71584	return s.String()
71585}
71586
71587// SetPlacementGroups sets the PlacementGroups field's value.
71588func (s *DescribePlacementGroupsOutput) SetPlacementGroups(v []*PlacementGroup) *DescribePlacementGroupsOutput {
71589	s.PlacementGroups = v
71590	return s
71591}
71592
71593type DescribePrefixListsInput struct {
71594	_ struct{} `type:"structure"`
71595
71596	// Checks whether you have the required permissions for the action, without
71597	// actually making the request, and provides an error response. If you have
71598	// the required permissions, the error response is DryRunOperation. Otherwise,
71599	// it is UnauthorizedOperation.
71600	DryRun *bool `type:"boolean"`
71601
71602	// One or more filters.
71603	//
71604	//    * prefix-list-id: The ID of a prefix list.
71605	//
71606	//    * prefix-list-name: The name of a prefix list.
71607	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
71608
71609	// The maximum number of results to return with a single call. To retrieve the
71610	// remaining results, make another call with the returned nextToken value.
71611	MaxResults *int64 `type:"integer"`
71612
71613	// The token for the next page of results.
71614	NextToken *string `type:"string"`
71615
71616	// One or more prefix list IDs.
71617	PrefixListIds []*string `locationName:"PrefixListId" locationNameList:"item" type:"list"`
71618}
71619
71620// String returns the string representation
71621func (s DescribePrefixListsInput) String() string {
71622	return awsutil.Prettify(s)
71623}
71624
71625// GoString returns the string representation
71626func (s DescribePrefixListsInput) GoString() string {
71627	return s.String()
71628}
71629
71630// SetDryRun sets the DryRun field's value.
71631func (s *DescribePrefixListsInput) SetDryRun(v bool) *DescribePrefixListsInput {
71632	s.DryRun = &v
71633	return s
71634}
71635
71636// SetFilters sets the Filters field's value.
71637func (s *DescribePrefixListsInput) SetFilters(v []*Filter) *DescribePrefixListsInput {
71638	s.Filters = v
71639	return s
71640}
71641
71642// SetMaxResults sets the MaxResults field's value.
71643func (s *DescribePrefixListsInput) SetMaxResults(v int64) *DescribePrefixListsInput {
71644	s.MaxResults = &v
71645	return s
71646}
71647
71648// SetNextToken sets the NextToken field's value.
71649func (s *DescribePrefixListsInput) SetNextToken(v string) *DescribePrefixListsInput {
71650	s.NextToken = &v
71651	return s
71652}
71653
71654// SetPrefixListIds sets the PrefixListIds field's value.
71655func (s *DescribePrefixListsInput) SetPrefixListIds(v []*string) *DescribePrefixListsInput {
71656	s.PrefixListIds = v
71657	return s
71658}
71659
71660type DescribePrefixListsOutput struct {
71661	_ struct{} `type:"structure"`
71662
71663	// The token to use to retrieve the next page of results. This value is null
71664	// when there are no more results to return.
71665	NextToken *string `locationName:"nextToken" type:"string"`
71666
71667	// All available prefix lists.
71668	PrefixLists []*PrefixList `locationName:"prefixListSet" locationNameList:"item" type:"list"`
71669}
71670
71671// String returns the string representation
71672func (s DescribePrefixListsOutput) String() string {
71673	return awsutil.Prettify(s)
71674}
71675
71676// GoString returns the string representation
71677func (s DescribePrefixListsOutput) GoString() string {
71678	return s.String()
71679}
71680
71681// SetNextToken sets the NextToken field's value.
71682func (s *DescribePrefixListsOutput) SetNextToken(v string) *DescribePrefixListsOutput {
71683	s.NextToken = &v
71684	return s
71685}
71686
71687// SetPrefixLists sets the PrefixLists field's value.
71688func (s *DescribePrefixListsOutput) SetPrefixLists(v []*PrefixList) *DescribePrefixListsOutput {
71689	s.PrefixLists = v
71690	return s
71691}
71692
71693type DescribePrincipalIdFormatInput struct {
71694	_ struct{} `type:"structure"`
71695
71696	// Checks whether you have the required permissions for the action, without
71697	// actually making the request, and provides an error response. If you have
71698	// the required permissions, the error response is DryRunOperation. Otherwise,
71699	// it is UnauthorizedOperation.
71700	DryRun *bool `type:"boolean"`
71701
71702	// The maximum number of results to return in a single call. To retrieve the
71703	// remaining results, make another call with the returned NextToken value.
71704	MaxResults *int64 `min:"1" type:"integer"`
71705
71706	// The token to request the next page of results.
71707	NextToken *string `type:"string"`
71708
71709	// The type of resource: bundle | conversion-task | customer-gateway | dhcp-options
71710	// | elastic-ip-allocation | elastic-ip-association | export-task | flow-log
71711	// | image | import-task | instance | internet-gateway | network-acl | network-acl-association
71712	// | network-interface | network-interface-attachment | prefix-list | reservation
71713	// | route-table | route-table-association | security-group | snapshot | subnet
71714	// | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
71715	// | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway
71716	Resources []*string `locationName:"Resource" locationNameList:"item" type:"list"`
71717}
71718
71719// String returns the string representation
71720func (s DescribePrincipalIdFormatInput) String() string {
71721	return awsutil.Prettify(s)
71722}
71723
71724// GoString returns the string representation
71725func (s DescribePrincipalIdFormatInput) GoString() string {
71726	return s.String()
71727}
71728
71729// Validate inspects the fields of the type to determine if they are valid.
71730func (s *DescribePrincipalIdFormatInput) Validate() error {
71731	invalidParams := request.ErrInvalidParams{Context: "DescribePrincipalIdFormatInput"}
71732	if s.MaxResults != nil && *s.MaxResults < 1 {
71733		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
71734	}
71735
71736	if invalidParams.Len() > 0 {
71737		return invalidParams
71738	}
71739	return nil
71740}
71741
71742// SetDryRun sets the DryRun field's value.
71743func (s *DescribePrincipalIdFormatInput) SetDryRun(v bool) *DescribePrincipalIdFormatInput {
71744	s.DryRun = &v
71745	return s
71746}
71747
71748// SetMaxResults sets the MaxResults field's value.
71749func (s *DescribePrincipalIdFormatInput) SetMaxResults(v int64) *DescribePrincipalIdFormatInput {
71750	s.MaxResults = &v
71751	return s
71752}
71753
71754// SetNextToken sets the NextToken field's value.
71755func (s *DescribePrincipalIdFormatInput) SetNextToken(v string) *DescribePrincipalIdFormatInput {
71756	s.NextToken = &v
71757	return s
71758}
71759
71760// SetResources sets the Resources field's value.
71761func (s *DescribePrincipalIdFormatInput) SetResources(v []*string) *DescribePrincipalIdFormatInput {
71762	s.Resources = v
71763	return s
71764}
71765
71766type DescribePrincipalIdFormatOutput struct {
71767	_ struct{} `type:"structure"`
71768
71769	// The token to use to retrieve the next page of results. This value is null
71770	// when there are no more results to return.
71771	NextToken *string `locationName:"nextToken" type:"string"`
71772
71773	// Information about the ID format settings for the ARN.
71774	Principals []*PrincipalIdFormat `locationName:"principalSet" locationNameList:"item" type:"list"`
71775}
71776
71777// String returns the string representation
71778func (s DescribePrincipalIdFormatOutput) String() string {
71779	return awsutil.Prettify(s)
71780}
71781
71782// GoString returns the string representation
71783func (s DescribePrincipalIdFormatOutput) GoString() string {
71784	return s.String()
71785}
71786
71787// SetNextToken sets the NextToken field's value.
71788func (s *DescribePrincipalIdFormatOutput) SetNextToken(v string) *DescribePrincipalIdFormatOutput {
71789	s.NextToken = &v
71790	return s
71791}
71792
71793// SetPrincipals sets the Principals field's value.
71794func (s *DescribePrincipalIdFormatOutput) SetPrincipals(v []*PrincipalIdFormat) *DescribePrincipalIdFormatOutput {
71795	s.Principals = v
71796	return s
71797}
71798
71799type DescribePublicIpv4PoolsInput struct {
71800	_ struct{} `type:"structure"`
71801
71802	// One or more filters.
71803	//
71804	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
71805	//    Use the tag key in the filter name and the tag value as the filter value.
71806	//    For example, to find all resources that have a tag with the key Owner
71807	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
71808	//    the filter value.
71809	//
71810	//    * tag-key - The key of a tag assigned to the resource. Use this filter
71811	//    to find all resources assigned a tag with a specific key, regardless of
71812	//    the tag value.
71813	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
71814
71815	// The maximum number of results to return with a single call. To retrieve the
71816	// remaining results, make another call with the returned nextToken value.
71817	MaxResults *int64 `min:"1" type:"integer"`
71818
71819	// The token for the next page of results.
71820	NextToken *string `type:"string"`
71821
71822	// The IDs of the address pools.
71823	PoolIds []*string `locationName:"PoolId" locationNameList:"item" type:"list"`
71824}
71825
71826// String returns the string representation
71827func (s DescribePublicIpv4PoolsInput) String() string {
71828	return awsutil.Prettify(s)
71829}
71830
71831// GoString returns the string representation
71832func (s DescribePublicIpv4PoolsInput) GoString() string {
71833	return s.String()
71834}
71835
71836// Validate inspects the fields of the type to determine if they are valid.
71837func (s *DescribePublicIpv4PoolsInput) Validate() error {
71838	invalidParams := request.ErrInvalidParams{Context: "DescribePublicIpv4PoolsInput"}
71839	if s.MaxResults != nil && *s.MaxResults < 1 {
71840		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
71841	}
71842
71843	if invalidParams.Len() > 0 {
71844		return invalidParams
71845	}
71846	return nil
71847}
71848
71849// SetFilters sets the Filters field's value.
71850func (s *DescribePublicIpv4PoolsInput) SetFilters(v []*Filter) *DescribePublicIpv4PoolsInput {
71851	s.Filters = v
71852	return s
71853}
71854
71855// SetMaxResults sets the MaxResults field's value.
71856func (s *DescribePublicIpv4PoolsInput) SetMaxResults(v int64) *DescribePublicIpv4PoolsInput {
71857	s.MaxResults = &v
71858	return s
71859}
71860
71861// SetNextToken sets the NextToken field's value.
71862func (s *DescribePublicIpv4PoolsInput) SetNextToken(v string) *DescribePublicIpv4PoolsInput {
71863	s.NextToken = &v
71864	return s
71865}
71866
71867// SetPoolIds sets the PoolIds field's value.
71868func (s *DescribePublicIpv4PoolsInput) SetPoolIds(v []*string) *DescribePublicIpv4PoolsInput {
71869	s.PoolIds = v
71870	return s
71871}
71872
71873type DescribePublicIpv4PoolsOutput struct {
71874	_ struct{} `type:"structure"`
71875
71876	// The token to use to retrieve the next page of results. This value is null
71877	// when there are no more results to return.
71878	NextToken *string `locationName:"nextToken" type:"string"`
71879
71880	// Information about the address pools.
71881	PublicIpv4Pools []*PublicIpv4Pool `locationName:"publicIpv4PoolSet" locationNameList:"item" type:"list"`
71882}
71883
71884// String returns the string representation
71885func (s DescribePublicIpv4PoolsOutput) String() string {
71886	return awsutil.Prettify(s)
71887}
71888
71889// GoString returns the string representation
71890func (s DescribePublicIpv4PoolsOutput) GoString() string {
71891	return s.String()
71892}
71893
71894// SetNextToken sets the NextToken field's value.
71895func (s *DescribePublicIpv4PoolsOutput) SetNextToken(v string) *DescribePublicIpv4PoolsOutput {
71896	s.NextToken = &v
71897	return s
71898}
71899
71900// SetPublicIpv4Pools sets the PublicIpv4Pools field's value.
71901func (s *DescribePublicIpv4PoolsOutput) SetPublicIpv4Pools(v []*PublicIpv4Pool) *DescribePublicIpv4PoolsOutput {
71902	s.PublicIpv4Pools = v
71903	return s
71904}
71905
71906type DescribeRegionsInput struct {
71907	_ struct{} `type:"structure"`
71908
71909	// Indicates whether to display all Regions, including Regions that are disabled
71910	// for your account.
71911	AllRegions *bool `type:"boolean"`
71912
71913	// Checks whether you have the required permissions for the action, without
71914	// actually making the request, and provides an error response. If you have
71915	// the required permissions, the error response is DryRunOperation. Otherwise,
71916	// it is UnauthorizedOperation.
71917	DryRun *bool `locationName:"dryRun" type:"boolean"`
71918
71919	// The filters.
71920	//
71921	//    * endpoint - The endpoint of the Region (for example, ec2.us-east-1.amazonaws.com).
71922	//
71923	//    * opt-in-status - The opt-in status of the Region (opt-in-not-required
71924	//    | opted-in | not-opted-in).
71925	//
71926	//    * region-name - The name of the Region (for example, us-east-1).
71927	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
71928
71929	// The names of the Regions. You can specify any Regions, whether they are enabled
71930	// and disabled for your account.
71931	RegionNames []*string `locationName:"RegionName" locationNameList:"RegionName" type:"list"`
71932}
71933
71934// String returns the string representation
71935func (s DescribeRegionsInput) String() string {
71936	return awsutil.Prettify(s)
71937}
71938
71939// GoString returns the string representation
71940func (s DescribeRegionsInput) GoString() string {
71941	return s.String()
71942}
71943
71944// SetAllRegions sets the AllRegions field's value.
71945func (s *DescribeRegionsInput) SetAllRegions(v bool) *DescribeRegionsInput {
71946	s.AllRegions = &v
71947	return s
71948}
71949
71950// SetDryRun sets the DryRun field's value.
71951func (s *DescribeRegionsInput) SetDryRun(v bool) *DescribeRegionsInput {
71952	s.DryRun = &v
71953	return s
71954}
71955
71956// SetFilters sets the Filters field's value.
71957func (s *DescribeRegionsInput) SetFilters(v []*Filter) *DescribeRegionsInput {
71958	s.Filters = v
71959	return s
71960}
71961
71962// SetRegionNames sets the RegionNames field's value.
71963func (s *DescribeRegionsInput) SetRegionNames(v []*string) *DescribeRegionsInput {
71964	s.RegionNames = v
71965	return s
71966}
71967
71968type DescribeRegionsOutput struct {
71969	_ struct{} `type:"structure"`
71970
71971	// Information about the Regions.
71972	Regions []*Region `locationName:"regionInfo" locationNameList:"item" type:"list"`
71973}
71974
71975// String returns the string representation
71976func (s DescribeRegionsOutput) String() string {
71977	return awsutil.Prettify(s)
71978}
71979
71980// GoString returns the string representation
71981func (s DescribeRegionsOutput) GoString() string {
71982	return s.String()
71983}
71984
71985// SetRegions sets the Regions field's value.
71986func (s *DescribeRegionsOutput) SetRegions(v []*Region) *DescribeRegionsOutput {
71987	s.Regions = v
71988	return s
71989}
71990
71991type DescribeReplaceRootVolumeTasksInput struct {
71992	_ struct{} `type:"structure"`
71993
71994	// Checks whether you have the required permissions for the action, without
71995	// actually making the request, and provides an error response. If you have
71996	// the required permissions, the error response is DryRunOperation. Otherwise,
71997	// it is UnauthorizedOperation.
71998	DryRun *bool `type:"boolean"`
71999
72000	// Filter to use:
72001	//
72002	//    * instance-id - The ID of the instance for which the root volume replacement
72003	//    task was created.
72004	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
72005
72006	// The maximum number of results to return with a single call. To retrieve the
72007	// remaining results, make another call with the returned nextToken value.
72008	MaxResults *int64 `min:"1" type:"integer"`
72009
72010	// The token for the next page of results.
72011	NextToken *string `type:"string"`
72012
72013	// The ID of the root volume replacement task to view.
72014	ReplaceRootVolumeTaskIds []*string `locationName:"ReplaceRootVolumeTaskId" locationNameList:"ReplaceRootVolumeTaskId" type:"list"`
72015}
72016
72017// String returns the string representation
72018func (s DescribeReplaceRootVolumeTasksInput) String() string {
72019	return awsutil.Prettify(s)
72020}
72021
72022// GoString returns the string representation
72023func (s DescribeReplaceRootVolumeTasksInput) GoString() string {
72024	return s.String()
72025}
72026
72027// Validate inspects the fields of the type to determine if they are valid.
72028func (s *DescribeReplaceRootVolumeTasksInput) Validate() error {
72029	invalidParams := request.ErrInvalidParams{Context: "DescribeReplaceRootVolumeTasksInput"}
72030	if s.MaxResults != nil && *s.MaxResults < 1 {
72031		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
72032	}
72033
72034	if invalidParams.Len() > 0 {
72035		return invalidParams
72036	}
72037	return nil
72038}
72039
72040// SetDryRun sets the DryRun field's value.
72041func (s *DescribeReplaceRootVolumeTasksInput) SetDryRun(v bool) *DescribeReplaceRootVolumeTasksInput {
72042	s.DryRun = &v
72043	return s
72044}
72045
72046// SetFilters sets the Filters field's value.
72047func (s *DescribeReplaceRootVolumeTasksInput) SetFilters(v []*Filter) *DescribeReplaceRootVolumeTasksInput {
72048	s.Filters = v
72049	return s
72050}
72051
72052// SetMaxResults sets the MaxResults field's value.
72053func (s *DescribeReplaceRootVolumeTasksInput) SetMaxResults(v int64) *DescribeReplaceRootVolumeTasksInput {
72054	s.MaxResults = &v
72055	return s
72056}
72057
72058// SetNextToken sets the NextToken field's value.
72059func (s *DescribeReplaceRootVolumeTasksInput) SetNextToken(v string) *DescribeReplaceRootVolumeTasksInput {
72060	s.NextToken = &v
72061	return s
72062}
72063
72064// SetReplaceRootVolumeTaskIds sets the ReplaceRootVolumeTaskIds field's value.
72065func (s *DescribeReplaceRootVolumeTasksInput) SetReplaceRootVolumeTaskIds(v []*string) *DescribeReplaceRootVolumeTasksInput {
72066	s.ReplaceRootVolumeTaskIds = v
72067	return s
72068}
72069
72070type DescribeReplaceRootVolumeTasksOutput struct {
72071	_ struct{} `type:"structure"`
72072
72073	// The token to use to retrieve the next page of results. This value is null
72074	// when there are no more results to return.
72075	NextToken *string `locationName:"nextToken" type:"string"`
72076
72077	// Information about the root volume replacement task.
72078	ReplaceRootVolumeTasks []*ReplaceRootVolumeTask `locationName:"replaceRootVolumeTaskSet" locationNameList:"item" type:"list"`
72079}
72080
72081// String returns the string representation
72082func (s DescribeReplaceRootVolumeTasksOutput) String() string {
72083	return awsutil.Prettify(s)
72084}
72085
72086// GoString returns the string representation
72087func (s DescribeReplaceRootVolumeTasksOutput) GoString() string {
72088	return s.String()
72089}
72090
72091// SetNextToken sets the NextToken field's value.
72092func (s *DescribeReplaceRootVolumeTasksOutput) SetNextToken(v string) *DescribeReplaceRootVolumeTasksOutput {
72093	s.NextToken = &v
72094	return s
72095}
72096
72097// SetReplaceRootVolumeTasks sets the ReplaceRootVolumeTasks field's value.
72098func (s *DescribeReplaceRootVolumeTasksOutput) SetReplaceRootVolumeTasks(v []*ReplaceRootVolumeTask) *DescribeReplaceRootVolumeTasksOutput {
72099	s.ReplaceRootVolumeTasks = v
72100	return s
72101}
72102
72103// Contains the parameters for DescribeReservedInstances.
72104type DescribeReservedInstancesInput struct {
72105	_ struct{} `type:"structure"`
72106
72107	// Checks whether you have the required permissions for the action, without
72108	// actually making the request, and provides an error response. If you have
72109	// the required permissions, the error response is DryRunOperation. Otherwise,
72110	// it is UnauthorizedOperation.
72111	DryRun *bool `locationName:"dryRun" type:"boolean"`
72112
72113	// One or more filters.
72114	//
72115	//    * availability-zone - The Availability Zone where the Reserved Instance
72116	//    can be used.
72117	//
72118	//    * duration - The duration of the Reserved Instance (one year or three
72119	//    years), in seconds (31536000 | 94608000).
72120	//
72121	//    * end - The time when the Reserved Instance expires (for example, 2015-08-07T11:54:42.000Z).
72122	//
72123	//    * fixed-price - The purchase price of the Reserved Instance (for example,
72124	//    9800.0).
72125	//
72126	//    * instance-type - The instance type that is covered by the reservation.
72127	//
72128	//    * scope - The scope of the Reserved Instance (Region or Availability Zone).
72129	//
72130	//    * product-description - The Reserved Instance product platform description.
72131	//    Instances that include (Amazon VPC) in the product platform description
72132	//    will only be displayed to EC2-Classic account holders and are for use
72133	//    with Amazon VPC (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE Linux | SUSE
72134	//    Linux (Amazon VPC) | Red Hat Enterprise Linux | Red Hat Enterprise Linux
72135	//    (Amazon VPC) | Red Hat Enterprise Linux with HA (Amazon VPC) | Windows
72136	//    | Windows (Amazon VPC) | Windows with SQL Server Standard | Windows with
72137	//    SQL Server Standard (Amazon VPC) | Windows with SQL Server Web | Windows
72138	//    with SQL Server Web (Amazon VPC) | Windows with SQL Server Enterprise
72139	//    | Windows with SQL Server Enterprise (Amazon VPC)).
72140	//
72141	//    * reserved-instances-id - The ID of the Reserved Instance.
72142	//
72143	//    * start - The time at which the Reserved Instance purchase request was
72144	//    placed (for example, 2014-08-07T11:54:42.000Z).
72145	//
72146	//    * state - The state of the Reserved Instance (payment-pending | active
72147	//    | payment-failed | retired).
72148	//
72149	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
72150	//    Use the tag key in the filter name and the tag value as the filter value.
72151	//    For example, to find all resources that have a tag with the key Owner
72152	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
72153	//    the filter value.
72154	//
72155	//    * tag-key - The key of a tag assigned to the resource. Use this filter
72156	//    to find all resources assigned a tag with a specific key, regardless of
72157	//    the tag value.
72158	//
72159	//    * usage-price - The usage price of the Reserved Instance, per hour (for
72160	//    example, 0.84).
72161	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
72162
72163	// Describes whether the Reserved Instance is Standard or Convertible.
72164	OfferingClass *string `type:"string" enum:"OfferingClassType"`
72165
72166	// The Reserved Instance offering type. If you are using tools that predate
72167	// the 2011-11-01 API version, you only have access to the Medium Utilization
72168	// Reserved Instance offering type.
72169	OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
72170
72171	// One or more Reserved Instance IDs.
72172	//
72173	// Default: Describes all your Reserved Instances, or only those otherwise specified.
72174	ReservedInstancesIds []*string `locationName:"ReservedInstancesId" locationNameList:"ReservedInstancesId" type:"list"`
72175}
72176
72177// String returns the string representation
72178func (s DescribeReservedInstancesInput) String() string {
72179	return awsutil.Prettify(s)
72180}
72181
72182// GoString returns the string representation
72183func (s DescribeReservedInstancesInput) GoString() string {
72184	return s.String()
72185}
72186
72187// SetDryRun sets the DryRun field's value.
72188func (s *DescribeReservedInstancesInput) SetDryRun(v bool) *DescribeReservedInstancesInput {
72189	s.DryRun = &v
72190	return s
72191}
72192
72193// SetFilters sets the Filters field's value.
72194func (s *DescribeReservedInstancesInput) SetFilters(v []*Filter) *DescribeReservedInstancesInput {
72195	s.Filters = v
72196	return s
72197}
72198
72199// SetOfferingClass sets the OfferingClass field's value.
72200func (s *DescribeReservedInstancesInput) SetOfferingClass(v string) *DescribeReservedInstancesInput {
72201	s.OfferingClass = &v
72202	return s
72203}
72204
72205// SetOfferingType sets the OfferingType field's value.
72206func (s *DescribeReservedInstancesInput) SetOfferingType(v string) *DescribeReservedInstancesInput {
72207	s.OfferingType = &v
72208	return s
72209}
72210
72211// SetReservedInstancesIds sets the ReservedInstancesIds field's value.
72212func (s *DescribeReservedInstancesInput) SetReservedInstancesIds(v []*string) *DescribeReservedInstancesInput {
72213	s.ReservedInstancesIds = v
72214	return s
72215}
72216
72217// Contains the parameters for DescribeReservedInstancesListings.
72218type DescribeReservedInstancesListingsInput struct {
72219	_ struct{} `type:"structure"`
72220
72221	// One or more filters.
72222	//
72223	//    * reserved-instances-id - The ID of the Reserved Instances.
72224	//
72225	//    * reserved-instances-listing-id - The ID of the Reserved Instances listing.
72226	//
72227	//    * status - The status of the Reserved Instance listing (pending | active
72228	//    | cancelled | closed).
72229	//
72230	//    * status-message - The reason for the status.
72231	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
72232
72233	// One or more Reserved Instance IDs.
72234	ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
72235
72236	// One or more Reserved Instance listing IDs.
72237	ReservedInstancesListingId *string `locationName:"reservedInstancesListingId" type:"string"`
72238}
72239
72240// String returns the string representation
72241func (s DescribeReservedInstancesListingsInput) String() string {
72242	return awsutil.Prettify(s)
72243}
72244
72245// GoString returns the string representation
72246func (s DescribeReservedInstancesListingsInput) GoString() string {
72247	return s.String()
72248}
72249
72250// SetFilters sets the Filters field's value.
72251func (s *DescribeReservedInstancesListingsInput) SetFilters(v []*Filter) *DescribeReservedInstancesListingsInput {
72252	s.Filters = v
72253	return s
72254}
72255
72256// SetReservedInstancesId sets the ReservedInstancesId field's value.
72257func (s *DescribeReservedInstancesListingsInput) SetReservedInstancesId(v string) *DescribeReservedInstancesListingsInput {
72258	s.ReservedInstancesId = &v
72259	return s
72260}
72261
72262// SetReservedInstancesListingId sets the ReservedInstancesListingId field's value.
72263func (s *DescribeReservedInstancesListingsInput) SetReservedInstancesListingId(v string) *DescribeReservedInstancesListingsInput {
72264	s.ReservedInstancesListingId = &v
72265	return s
72266}
72267
72268// Contains the output of DescribeReservedInstancesListings.
72269type DescribeReservedInstancesListingsOutput struct {
72270	_ struct{} `type:"structure"`
72271
72272	// Information about the Reserved Instance listing.
72273	ReservedInstancesListings []*ReservedInstancesListing `locationName:"reservedInstancesListingsSet" locationNameList:"item" type:"list"`
72274}
72275
72276// String returns the string representation
72277func (s DescribeReservedInstancesListingsOutput) String() string {
72278	return awsutil.Prettify(s)
72279}
72280
72281// GoString returns the string representation
72282func (s DescribeReservedInstancesListingsOutput) GoString() string {
72283	return s.String()
72284}
72285
72286// SetReservedInstancesListings sets the ReservedInstancesListings field's value.
72287func (s *DescribeReservedInstancesListingsOutput) SetReservedInstancesListings(v []*ReservedInstancesListing) *DescribeReservedInstancesListingsOutput {
72288	s.ReservedInstancesListings = v
72289	return s
72290}
72291
72292// Contains the parameters for DescribeReservedInstancesModifications.
72293type DescribeReservedInstancesModificationsInput struct {
72294	_ struct{} `type:"structure"`
72295
72296	// One or more filters.
72297	//
72298	//    * client-token - The idempotency token for the modification request.
72299	//
72300	//    * create-date - The time when the modification request was created.
72301	//
72302	//    * effective-date - The time when the modification becomes effective.
72303	//
72304	//    * modification-result.reserved-instances-id - The ID for the Reserved
72305	//    Instances created as part of the modification request. This ID is only
72306	//    available when the status of the modification is fulfilled.
72307	//
72308	//    * modification-result.target-configuration.availability-zone - The Availability
72309	//    Zone for the new Reserved Instances.
72310	//
72311	//    * modification-result.target-configuration.instance-count - The number
72312	//    of new Reserved Instances.
72313	//
72314	//    * modification-result.target-configuration.instance-type - The instance
72315	//    type of the new Reserved Instances.
72316	//
72317	//    * modification-result.target-configuration.platform - The network platform
72318	//    of the new Reserved Instances (EC2-Classic | EC2-VPC).
72319	//
72320	//    * reserved-instances-id - The ID of the Reserved Instances modified.
72321	//
72322	//    * reserved-instances-modification-id - The ID of the modification request.
72323	//
72324	//    * status - The status of the Reserved Instances modification request (processing
72325	//    | fulfilled | failed).
72326	//
72327	//    * status-message - The reason for the status.
72328	//
72329	//    * update-date - The time when the modification request was last updated.
72330	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
72331
72332	// The token to retrieve the next page of results.
72333	NextToken *string `locationName:"nextToken" type:"string"`
72334
72335	// IDs for the submitted modification request.
72336	ReservedInstancesModificationIds []*string `locationName:"ReservedInstancesModificationId" locationNameList:"ReservedInstancesModificationId" type:"list"`
72337}
72338
72339// String returns the string representation
72340func (s DescribeReservedInstancesModificationsInput) String() string {
72341	return awsutil.Prettify(s)
72342}
72343
72344// GoString returns the string representation
72345func (s DescribeReservedInstancesModificationsInput) GoString() string {
72346	return s.String()
72347}
72348
72349// SetFilters sets the Filters field's value.
72350func (s *DescribeReservedInstancesModificationsInput) SetFilters(v []*Filter) *DescribeReservedInstancesModificationsInput {
72351	s.Filters = v
72352	return s
72353}
72354
72355// SetNextToken sets the NextToken field's value.
72356func (s *DescribeReservedInstancesModificationsInput) SetNextToken(v string) *DescribeReservedInstancesModificationsInput {
72357	s.NextToken = &v
72358	return s
72359}
72360
72361// SetReservedInstancesModificationIds sets the ReservedInstancesModificationIds field's value.
72362func (s *DescribeReservedInstancesModificationsInput) SetReservedInstancesModificationIds(v []*string) *DescribeReservedInstancesModificationsInput {
72363	s.ReservedInstancesModificationIds = v
72364	return s
72365}
72366
72367// Contains the output of DescribeReservedInstancesModifications.
72368type DescribeReservedInstancesModificationsOutput struct {
72369	_ struct{} `type:"structure"`
72370
72371	// The token to use to retrieve the next page of results. This value is null
72372	// when there are no more results to return.
72373	NextToken *string `locationName:"nextToken" type:"string"`
72374
72375	// The Reserved Instance modification information.
72376	ReservedInstancesModifications []*ReservedInstancesModification `locationName:"reservedInstancesModificationsSet" locationNameList:"item" type:"list"`
72377}
72378
72379// String returns the string representation
72380func (s DescribeReservedInstancesModificationsOutput) String() string {
72381	return awsutil.Prettify(s)
72382}
72383
72384// GoString returns the string representation
72385func (s DescribeReservedInstancesModificationsOutput) GoString() string {
72386	return s.String()
72387}
72388
72389// SetNextToken sets the NextToken field's value.
72390func (s *DescribeReservedInstancesModificationsOutput) SetNextToken(v string) *DescribeReservedInstancesModificationsOutput {
72391	s.NextToken = &v
72392	return s
72393}
72394
72395// SetReservedInstancesModifications sets the ReservedInstancesModifications field's value.
72396func (s *DescribeReservedInstancesModificationsOutput) SetReservedInstancesModifications(v []*ReservedInstancesModification) *DescribeReservedInstancesModificationsOutput {
72397	s.ReservedInstancesModifications = v
72398	return s
72399}
72400
72401// Contains the parameters for DescribeReservedInstancesOfferings.
72402type DescribeReservedInstancesOfferingsInput struct {
72403	_ struct{} `type:"structure"`
72404
72405	// The Availability Zone in which the Reserved Instance can be used.
72406	AvailabilityZone *string `type:"string"`
72407
72408	// Checks whether you have the required permissions for the action, without
72409	// actually making the request, and provides an error response. If you have
72410	// the required permissions, the error response is DryRunOperation. Otherwise,
72411	// it is UnauthorizedOperation.
72412	DryRun *bool `locationName:"dryRun" type:"boolean"`
72413
72414	// One or more filters.
72415	//
72416	//    * availability-zone - The Availability Zone where the Reserved Instance
72417	//    can be used.
72418	//
72419	//    * duration - The duration of the Reserved Instance (for example, one year
72420	//    or three years), in seconds (31536000 | 94608000).
72421	//
72422	//    * fixed-price - The purchase price of the Reserved Instance (for example,
72423	//    9800.0).
72424	//
72425	//    * instance-type - The instance type that is covered by the reservation.
72426	//
72427	//    * marketplace - Set to true to show only Reserved Instance Marketplace
72428	//    offerings. When this filter is not used, which is the default behavior,
72429	//    all offerings from both AWS and the Reserved Instance Marketplace are
72430	//    listed.
72431	//
72432	//    * product-description - The Reserved Instance product platform description.
72433	//    Instances that include (Amazon VPC) in the product platform description
72434	//    will only be displayed to EC2-Classic account holders and are for use
72435	//    with Amazon VPC. (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE Linux |
72436	//    SUSE Linux (Amazon VPC) | Red Hat Enterprise Linux | Red Hat Enterprise
72437	//    Linux (Amazon VPC) | Red Hat Enterprise Linux with HA (Amazon VPC) | Windows
72438	//    | Windows (Amazon VPC) | Windows with SQL Server Standard | Windows with
72439	//    SQL Server Standard (Amazon VPC) | Windows with SQL Server Web | Windows
72440	//    with SQL Server Web (Amazon VPC) | Windows with SQL Server Enterprise
72441	//    | Windows with SQL Server Enterprise (Amazon VPC))
72442	//
72443	//    * reserved-instances-offering-id - The Reserved Instances offering ID.
72444	//
72445	//    * scope - The scope of the Reserved Instance (Availability Zone or Region).
72446	//
72447	//    * usage-price - The usage price of the Reserved Instance, per hour (for
72448	//    example, 0.84).
72449	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
72450
72451	// Include Reserved Instance Marketplace offerings in the response.
72452	IncludeMarketplace *bool `type:"boolean"`
72453
72454	// The tenancy of the instances covered by the reservation. A Reserved Instance
72455	// with a tenancy of dedicated is applied to instances that run in a VPC on
72456	// single-tenant hardware (i.e., Dedicated Instances).
72457	//
72458	// Important: The host value cannot be used with this parameter. Use the default
72459	// or dedicated values only.
72460	//
72461	// Default: default
72462	InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
72463
72464	// The instance type that the reservation will cover (for example, m1.small).
72465	// For more information, see Instance types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
72466	// in the Amazon EC2 User Guide.
72467	InstanceType *string `type:"string" enum:"InstanceType"`
72468
72469	// The maximum duration (in seconds) to filter when searching for offerings.
72470	//
72471	// Default: 94608000 (3 years)
72472	MaxDuration *int64 `type:"long"`
72473
72474	// The maximum number of instances to filter when searching for offerings.
72475	//
72476	// Default: 20
72477	MaxInstanceCount *int64 `type:"integer"`
72478
72479	// The maximum number of results to return for the request in a single page.
72480	// The remaining results of the initial request can be seen by sending another
72481	// request with the returned NextToken value. The maximum is 100.
72482	//
72483	// Default: 100
72484	MaxResults *int64 `locationName:"maxResults" type:"integer"`
72485
72486	// The minimum duration (in seconds) to filter when searching for offerings.
72487	//
72488	// Default: 2592000 (1 month)
72489	MinDuration *int64 `type:"long"`
72490
72491	// The token to retrieve the next page of results.
72492	NextToken *string `locationName:"nextToken" type:"string"`
72493
72494	// The offering class of the Reserved Instance. Can be standard or convertible.
72495	OfferingClass *string `type:"string" enum:"OfferingClassType"`
72496
72497	// The Reserved Instance offering type. If you are using tools that predate
72498	// the 2011-11-01 API version, you only have access to the Medium Utilization
72499	// Reserved Instance offering type.
72500	OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
72501
72502	// The Reserved Instance product platform description. Instances that include
72503	// (Amazon VPC) in the description are for use with Amazon VPC.
72504	ProductDescription *string `type:"string" enum:"RIProductDescription"`
72505
72506	// One or more Reserved Instances offering IDs.
72507	ReservedInstancesOfferingIds []*string `locationName:"ReservedInstancesOfferingId" type:"list"`
72508}
72509
72510// String returns the string representation
72511func (s DescribeReservedInstancesOfferingsInput) String() string {
72512	return awsutil.Prettify(s)
72513}
72514
72515// GoString returns the string representation
72516func (s DescribeReservedInstancesOfferingsInput) GoString() string {
72517	return s.String()
72518}
72519
72520// SetAvailabilityZone sets the AvailabilityZone field's value.
72521func (s *DescribeReservedInstancesOfferingsInput) SetAvailabilityZone(v string) *DescribeReservedInstancesOfferingsInput {
72522	s.AvailabilityZone = &v
72523	return s
72524}
72525
72526// SetDryRun sets the DryRun field's value.
72527func (s *DescribeReservedInstancesOfferingsInput) SetDryRun(v bool) *DescribeReservedInstancesOfferingsInput {
72528	s.DryRun = &v
72529	return s
72530}
72531
72532// SetFilters sets the Filters field's value.
72533func (s *DescribeReservedInstancesOfferingsInput) SetFilters(v []*Filter) *DescribeReservedInstancesOfferingsInput {
72534	s.Filters = v
72535	return s
72536}
72537
72538// SetIncludeMarketplace sets the IncludeMarketplace field's value.
72539func (s *DescribeReservedInstancesOfferingsInput) SetIncludeMarketplace(v bool) *DescribeReservedInstancesOfferingsInput {
72540	s.IncludeMarketplace = &v
72541	return s
72542}
72543
72544// SetInstanceTenancy sets the InstanceTenancy field's value.
72545func (s *DescribeReservedInstancesOfferingsInput) SetInstanceTenancy(v string) *DescribeReservedInstancesOfferingsInput {
72546	s.InstanceTenancy = &v
72547	return s
72548}
72549
72550// SetInstanceType sets the InstanceType field's value.
72551func (s *DescribeReservedInstancesOfferingsInput) SetInstanceType(v string) *DescribeReservedInstancesOfferingsInput {
72552	s.InstanceType = &v
72553	return s
72554}
72555
72556// SetMaxDuration sets the MaxDuration field's value.
72557func (s *DescribeReservedInstancesOfferingsInput) SetMaxDuration(v int64) *DescribeReservedInstancesOfferingsInput {
72558	s.MaxDuration = &v
72559	return s
72560}
72561
72562// SetMaxInstanceCount sets the MaxInstanceCount field's value.
72563func (s *DescribeReservedInstancesOfferingsInput) SetMaxInstanceCount(v int64) *DescribeReservedInstancesOfferingsInput {
72564	s.MaxInstanceCount = &v
72565	return s
72566}
72567
72568// SetMaxResults sets the MaxResults field's value.
72569func (s *DescribeReservedInstancesOfferingsInput) SetMaxResults(v int64) *DescribeReservedInstancesOfferingsInput {
72570	s.MaxResults = &v
72571	return s
72572}
72573
72574// SetMinDuration sets the MinDuration field's value.
72575func (s *DescribeReservedInstancesOfferingsInput) SetMinDuration(v int64) *DescribeReservedInstancesOfferingsInput {
72576	s.MinDuration = &v
72577	return s
72578}
72579
72580// SetNextToken sets the NextToken field's value.
72581func (s *DescribeReservedInstancesOfferingsInput) SetNextToken(v string) *DescribeReservedInstancesOfferingsInput {
72582	s.NextToken = &v
72583	return s
72584}
72585
72586// SetOfferingClass sets the OfferingClass field's value.
72587func (s *DescribeReservedInstancesOfferingsInput) SetOfferingClass(v string) *DescribeReservedInstancesOfferingsInput {
72588	s.OfferingClass = &v
72589	return s
72590}
72591
72592// SetOfferingType sets the OfferingType field's value.
72593func (s *DescribeReservedInstancesOfferingsInput) SetOfferingType(v string) *DescribeReservedInstancesOfferingsInput {
72594	s.OfferingType = &v
72595	return s
72596}
72597
72598// SetProductDescription sets the ProductDescription field's value.
72599func (s *DescribeReservedInstancesOfferingsInput) SetProductDescription(v string) *DescribeReservedInstancesOfferingsInput {
72600	s.ProductDescription = &v
72601	return s
72602}
72603
72604// SetReservedInstancesOfferingIds sets the ReservedInstancesOfferingIds field's value.
72605func (s *DescribeReservedInstancesOfferingsInput) SetReservedInstancesOfferingIds(v []*string) *DescribeReservedInstancesOfferingsInput {
72606	s.ReservedInstancesOfferingIds = v
72607	return s
72608}
72609
72610// Contains the output of DescribeReservedInstancesOfferings.
72611type DescribeReservedInstancesOfferingsOutput struct {
72612	_ struct{} `type:"structure"`
72613
72614	// The token to use to retrieve the next page of results. This value is null
72615	// when there are no more results to return.
72616	NextToken *string `locationName:"nextToken" type:"string"`
72617
72618	// A list of Reserved Instances offerings.
72619	ReservedInstancesOfferings []*ReservedInstancesOffering `locationName:"reservedInstancesOfferingsSet" locationNameList:"item" type:"list"`
72620}
72621
72622// String returns the string representation
72623func (s DescribeReservedInstancesOfferingsOutput) String() string {
72624	return awsutil.Prettify(s)
72625}
72626
72627// GoString returns the string representation
72628func (s DescribeReservedInstancesOfferingsOutput) GoString() string {
72629	return s.String()
72630}
72631
72632// SetNextToken sets the NextToken field's value.
72633func (s *DescribeReservedInstancesOfferingsOutput) SetNextToken(v string) *DescribeReservedInstancesOfferingsOutput {
72634	s.NextToken = &v
72635	return s
72636}
72637
72638// SetReservedInstancesOfferings sets the ReservedInstancesOfferings field's value.
72639func (s *DescribeReservedInstancesOfferingsOutput) SetReservedInstancesOfferings(v []*ReservedInstancesOffering) *DescribeReservedInstancesOfferingsOutput {
72640	s.ReservedInstancesOfferings = v
72641	return s
72642}
72643
72644// Contains the output for DescribeReservedInstances.
72645type DescribeReservedInstancesOutput struct {
72646	_ struct{} `type:"structure"`
72647
72648	// A list of Reserved Instances.
72649	ReservedInstances []*ReservedInstances `locationName:"reservedInstancesSet" locationNameList:"item" type:"list"`
72650}
72651
72652// String returns the string representation
72653func (s DescribeReservedInstancesOutput) String() string {
72654	return awsutil.Prettify(s)
72655}
72656
72657// GoString returns the string representation
72658func (s DescribeReservedInstancesOutput) GoString() string {
72659	return s.String()
72660}
72661
72662// SetReservedInstances sets the ReservedInstances field's value.
72663func (s *DescribeReservedInstancesOutput) SetReservedInstances(v []*ReservedInstances) *DescribeReservedInstancesOutput {
72664	s.ReservedInstances = v
72665	return s
72666}
72667
72668type DescribeRouteTablesInput struct {
72669	_ struct{} `type:"structure"`
72670
72671	// Checks whether you have the required permissions for the action, without
72672	// actually making the request, and provides an error response. If you have
72673	// the required permissions, the error response is DryRunOperation. Otherwise,
72674	// it is UnauthorizedOperation.
72675	DryRun *bool `locationName:"dryRun" type:"boolean"`
72676
72677	// One or more filters.
72678	//
72679	//    * association.route-table-association-id - The ID of an association ID
72680	//    for the route table.
72681	//
72682	//    * association.route-table-id - The ID of the route table involved in the
72683	//    association.
72684	//
72685	//    * association.subnet-id - The ID of the subnet involved in the association.
72686	//
72687	//    * association.main - Indicates whether the route table is the main route
72688	//    table for the VPC (true | false). Route tables that do not have an association
72689	//    ID are not returned in the response.
72690	//
72691	//    * owner-id - The ID of the AWS account that owns the route table.
72692	//
72693	//    * route-table-id - The ID of the route table.
72694	//
72695	//    * route.destination-cidr-block - The IPv4 CIDR range specified in a route
72696	//    in the table.
72697	//
72698	//    * route.destination-ipv6-cidr-block - The IPv6 CIDR range specified in
72699	//    a route in the route table.
72700	//
72701	//    * route.destination-prefix-list-id - The ID (prefix) of the AWS service
72702	//    specified in a route in the table.
72703	//
72704	//    * route.egress-only-internet-gateway-id - The ID of an egress-only Internet
72705	//    gateway specified in a route in the route table.
72706	//
72707	//    * route.gateway-id - The ID of a gateway specified in a route in the table.
72708	//
72709	//    * route.instance-id - The ID of an instance specified in a route in the
72710	//    table.
72711	//
72712	//    * route.nat-gateway-id - The ID of a NAT gateway.
72713	//
72714	//    * route.transit-gateway-id - The ID of a transit gateway.
72715	//
72716	//    * route.origin - Describes how the route was created. CreateRouteTable
72717	//    indicates that the route was automatically created when the route table
72718	//    was created; CreateRoute indicates that the route was manually added to
72719	//    the route table; EnableVgwRoutePropagation indicates that the route was
72720	//    propagated by route propagation.
72721	//
72722	//    * route.state - The state of a route in the route table (active | blackhole).
72723	//    The blackhole state indicates that the route's target isn't available
72724	//    (for example, the specified gateway isn't attached to the VPC, the specified
72725	//    NAT instance has been terminated, and so on).
72726	//
72727	//    * route.vpc-peering-connection-id - The ID of a VPC peering connection
72728	//    specified in a route in the table.
72729	//
72730	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
72731	//    Use the tag key in the filter name and the tag value as the filter value.
72732	//    For example, to find all resources that have a tag with the key Owner
72733	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
72734	//    the filter value.
72735	//
72736	//    * tag-key - The key of a tag assigned to the resource. Use this filter
72737	//    to find all resources assigned a tag with a specific key, regardless of
72738	//    the tag value.
72739	//
72740	//    * vpc-id - The ID of the VPC for the route table.
72741	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
72742
72743	// The maximum number of results to return with a single call. To retrieve the
72744	// remaining results, make another call with the returned nextToken value.
72745	MaxResults *int64 `min:"5" type:"integer"`
72746
72747	// The token for the next page of results.
72748	NextToken *string `type:"string"`
72749
72750	// One or more route table IDs.
72751	//
72752	// Default: Describes all your route tables.
72753	RouteTableIds []*string `locationName:"RouteTableId" locationNameList:"item" type:"list"`
72754}
72755
72756// String returns the string representation
72757func (s DescribeRouteTablesInput) String() string {
72758	return awsutil.Prettify(s)
72759}
72760
72761// GoString returns the string representation
72762func (s DescribeRouteTablesInput) GoString() string {
72763	return s.String()
72764}
72765
72766// Validate inspects the fields of the type to determine if they are valid.
72767func (s *DescribeRouteTablesInput) Validate() error {
72768	invalidParams := request.ErrInvalidParams{Context: "DescribeRouteTablesInput"}
72769	if s.MaxResults != nil && *s.MaxResults < 5 {
72770		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
72771	}
72772
72773	if invalidParams.Len() > 0 {
72774		return invalidParams
72775	}
72776	return nil
72777}
72778
72779// SetDryRun sets the DryRun field's value.
72780func (s *DescribeRouteTablesInput) SetDryRun(v bool) *DescribeRouteTablesInput {
72781	s.DryRun = &v
72782	return s
72783}
72784
72785// SetFilters sets the Filters field's value.
72786func (s *DescribeRouteTablesInput) SetFilters(v []*Filter) *DescribeRouteTablesInput {
72787	s.Filters = v
72788	return s
72789}
72790
72791// SetMaxResults sets the MaxResults field's value.
72792func (s *DescribeRouteTablesInput) SetMaxResults(v int64) *DescribeRouteTablesInput {
72793	s.MaxResults = &v
72794	return s
72795}
72796
72797// SetNextToken sets the NextToken field's value.
72798func (s *DescribeRouteTablesInput) SetNextToken(v string) *DescribeRouteTablesInput {
72799	s.NextToken = &v
72800	return s
72801}
72802
72803// SetRouteTableIds sets the RouteTableIds field's value.
72804func (s *DescribeRouteTablesInput) SetRouteTableIds(v []*string) *DescribeRouteTablesInput {
72805	s.RouteTableIds = v
72806	return s
72807}
72808
72809// Contains the output of DescribeRouteTables.
72810type DescribeRouteTablesOutput struct {
72811	_ struct{} `type:"structure"`
72812
72813	// The token to use to retrieve the next page of results. This value is null
72814	// when there are no more results to return.
72815	NextToken *string `locationName:"nextToken" type:"string"`
72816
72817	// Information about one or more route tables.
72818	RouteTables []*RouteTable `locationName:"routeTableSet" locationNameList:"item" type:"list"`
72819}
72820
72821// String returns the string representation
72822func (s DescribeRouteTablesOutput) String() string {
72823	return awsutil.Prettify(s)
72824}
72825
72826// GoString returns the string representation
72827func (s DescribeRouteTablesOutput) GoString() string {
72828	return s.String()
72829}
72830
72831// SetNextToken sets the NextToken field's value.
72832func (s *DescribeRouteTablesOutput) SetNextToken(v string) *DescribeRouteTablesOutput {
72833	s.NextToken = &v
72834	return s
72835}
72836
72837// SetRouteTables sets the RouteTables field's value.
72838func (s *DescribeRouteTablesOutput) SetRouteTables(v []*RouteTable) *DescribeRouteTablesOutput {
72839	s.RouteTables = v
72840	return s
72841}
72842
72843// Contains the parameters for DescribeScheduledInstanceAvailability.
72844type DescribeScheduledInstanceAvailabilityInput struct {
72845	_ struct{} `type:"structure"`
72846
72847	// Checks whether you have the required permissions for the action, without
72848	// actually making the request, and provides an error response. If you have
72849	// the required permissions, the error response is DryRunOperation. Otherwise,
72850	// it is UnauthorizedOperation.
72851	DryRun *bool `type:"boolean"`
72852
72853	// The filters.
72854	//
72855	//    * availability-zone - The Availability Zone (for example, us-west-2a).
72856	//
72857	//    * instance-type - The instance type (for example, c4.large).
72858	//
72859	//    * network-platform - The network platform (EC2-Classic or EC2-VPC).
72860	//
72861	//    * platform - The platform (Linux/UNIX or Windows).
72862	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
72863
72864	// The time period for the first schedule to start.
72865	//
72866	// FirstSlotStartTimeRange is a required field
72867	FirstSlotStartTimeRange *SlotDateTimeRangeRequest `type:"structure" required:"true"`
72868
72869	// The maximum number of results to return in a single call. This value can
72870	// be between 5 and 300. The default value is 300. To retrieve the remaining
72871	// results, make another call with the returned NextToken value.
72872	MaxResults *int64 `min:"5" type:"integer"`
72873
72874	// The maximum available duration, in hours. This value must be greater than
72875	// MinSlotDurationInHours and less than 1,720.
72876	MaxSlotDurationInHours *int64 `type:"integer"`
72877
72878	// The minimum available duration, in hours. The minimum required duration is
72879	// 1,200 hours per year. For example, the minimum daily schedule is 4 hours,
72880	// the minimum weekly schedule is 24 hours, and the minimum monthly schedule
72881	// is 100 hours.
72882	MinSlotDurationInHours *int64 `type:"integer"`
72883
72884	// The token for the next set of results.
72885	NextToken *string `type:"string"`
72886
72887	// The schedule recurrence.
72888	//
72889	// Recurrence is a required field
72890	Recurrence *ScheduledInstanceRecurrenceRequest `type:"structure" required:"true"`
72891}
72892
72893// String returns the string representation
72894func (s DescribeScheduledInstanceAvailabilityInput) String() string {
72895	return awsutil.Prettify(s)
72896}
72897
72898// GoString returns the string representation
72899func (s DescribeScheduledInstanceAvailabilityInput) GoString() string {
72900	return s.String()
72901}
72902
72903// Validate inspects the fields of the type to determine if they are valid.
72904func (s *DescribeScheduledInstanceAvailabilityInput) Validate() error {
72905	invalidParams := request.ErrInvalidParams{Context: "DescribeScheduledInstanceAvailabilityInput"}
72906	if s.FirstSlotStartTimeRange == nil {
72907		invalidParams.Add(request.NewErrParamRequired("FirstSlotStartTimeRange"))
72908	}
72909	if s.MaxResults != nil && *s.MaxResults < 5 {
72910		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
72911	}
72912	if s.Recurrence == nil {
72913		invalidParams.Add(request.NewErrParamRequired("Recurrence"))
72914	}
72915	if s.FirstSlotStartTimeRange != nil {
72916		if err := s.FirstSlotStartTimeRange.Validate(); err != nil {
72917			invalidParams.AddNested("FirstSlotStartTimeRange", err.(request.ErrInvalidParams))
72918		}
72919	}
72920
72921	if invalidParams.Len() > 0 {
72922		return invalidParams
72923	}
72924	return nil
72925}
72926
72927// SetDryRun sets the DryRun field's value.
72928func (s *DescribeScheduledInstanceAvailabilityInput) SetDryRun(v bool) *DescribeScheduledInstanceAvailabilityInput {
72929	s.DryRun = &v
72930	return s
72931}
72932
72933// SetFilters sets the Filters field's value.
72934func (s *DescribeScheduledInstanceAvailabilityInput) SetFilters(v []*Filter) *DescribeScheduledInstanceAvailabilityInput {
72935	s.Filters = v
72936	return s
72937}
72938
72939// SetFirstSlotStartTimeRange sets the FirstSlotStartTimeRange field's value.
72940func (s *DescribeScheduledInstanceAvailabilityInput) SetFirstSlotStartTimeRange(v *SlotDateTimeRangeRequest) *DescribeScheduledInstanceAvailabilityInput {
72941	s.FirstSlotStartTimeRange = v
72942	return s
72943}
72944
72945// SetMaxResults sets the MaxResults field's value.
72946func (s *DescribeScheduledInstanceAvailabilityInput) SetMaxResults(v int64) *DescribeScheduledInstanceAvailabilityInput {
72947	s.MaxResults = &v
72948	return s
72949}
72950
72951// SetMaxSlotDurationInHours sets the MaxSlotDurationInHours field's value.
72952func (s *DescribeScheduledInstanceAvailabilityInput) SetMaxSlotDurationInHours(v int64) *DescribeScheduledInstanceAvailabilityInput {
72953	s.MaxSlotDurationInHours = &v
72954	return s
72955}
72956
72957// SetMinSlotDurationInHours sets the MinSlotDurationInHours field's value.
72958func (s *DescribeScheduledInstanceAvailabilityInput) SetMinSlotDurationInHours(v int64) *DescribeScheduledInstanceAvailabilityInput {
72959	s.MinSlotDurationInHours = &v
72960	return s
72961}
72962
72963// SetNextToken sets the NextToken field's value.
72964func (s *DescribeScheduledInstanceAvailabilityInput) SetNextToken(v string) *DescribeScheduledInstanceAvailabilityInput {
72965	s.NextToken = &v
72966	return s
72967}
72968
72969// SetRecurrence sets the Recurrence field's value.
72970func (s *DescribeScheduledInstanceAvailabilityInput) SetRecurrence(v *ScheduledInstanceRecurrenceRequest) *DescribeScheduledInstanceAvailabilityInput {
72971	s.Recurrence = v
72972	return s
72973}
72974
72975// Contains the output of DescribeScheduledInstanceAvailability.
72976type DescribeScheduledInstanceAvailabilityOutput struct {
72977	_ struct{} `type:"structure"`
72978
72979	// The token required to retrieve the next set of results. This value is null
72980	// when there are no more results to return.
72981	NextToken *string `locationName:"nextToken" type:"string"`
72982
72983	// Information about the available Scheduled Instances.
72984	ScheduledInstanceAvailabilitySet []*ScheduledInstanceAvailability `locationName:"scheduledInstanceAvailabilitySet" locationNameList:"item" type:"list"`
72985}
72986
72987// String returns the string representation
72988func (s DescribeScheduledInstanceAvailabilityOutput) String() string {
72989	return awsutil.Prettify(s)
72990}
72991
72992// GoString returns the string representation
72993func (s DescribeScheduledInstanceAvailabilityOutput) GoString() string {
72994	return s.String()
72995}
72996
72997// SetNextToken sets the NextToken field's value.
72998func (s *DescribeScheduledInstanceAvailabilityOutput) SetNextToken(v string) *DescribeScheduledInstanceAvailabilityOutput {
72999	s.NextToken = &v
73000	return s
73001}
73002
73003// SetScheduledInstanceAvailabilitySet sets the ScheduledInstanceAvailabilitySet field's value.
73004func (s *DescribeScheduledInstanceAvailabilityOutput) SetScheduledInstanceAvailabilitySet(v []*ScheduledInstanceAvailability) *DescribeScheduledInstanceAvailabilityOutput {
73005	s.ScheduledInstanceAvailabilitySet = v
73006	return s
73007}
73008
73009// Contains the parameters for DescribeScheduledInstances.
73010type DescribeScheduledInstancesInput struct {
73011	_ struct{} `type:"structure"`
73012
73013	// Checks whether you have the required permissions for the action, without
73014	// actually making the request, and provides an error response. If you have
73015	// the required permissions, the error response is DryRunOperation. Otherwise,
73016	// it is UnauthorizedOperation.
73017	DryRun *bool `type:"boolean"`
73018
73019	// The filters.
73020	//
73021	//    * availability-zone - The Availability Zone (for example, us-west-2a).
73022	//
73023	//    * instance-type - The instance type (for example, c4.large).
73024	//
73025	//    * network-platform - The network platform (EC2-Classic or EC2-VPC).
73026	//
73027	//    * platform - The platform (Linux/UNIX or Windows).
73028	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
73029
73030	// The maximum number of results to return in a single call. This value can
73031	// be between 5 and 300. The default value is 100. To retrieve the remaining
73032	// results, make another call with the returned NextToken value.
73033	MaxResults *int64 `type:"integer"`
73034
73035	// The token for the next set of results.
73036	NextToken *string `type:"string"`
73037
73038	// The Scheduled Instance IDs.
73039	ScheduledInstanceIds []*string `locationName:"ScheduledInstanceId" locationNameList:"ScheduledInstanceId" type:"list"`
73040
73041	// The time period for the first schedule to start.
73042	SlotStartTimeRange *SlotStartTimeRangeRequest `type:"structure"`
73043}
73044
73045// String returns the string representation
73046func (s DescribeScheduledInstancesInput) String() string {
73047	return awsutil.Prettify(s)
73048}
73049
73050// GoString returns the string representation
73051func (s DescribeScheduledInstancesInput) GoString() string {
73052	return s.String()
73053}
73054
73055// SetDryRun sets the DryRun field's value.
73056func (s *DescribeScheduledInstancesInput) SetDryRun(v bool) *DescribeScheduledInstancesInput {
73057	s.DryRun = &v
73058	return s
73059}
73060
73061// SetFilters sets the Filters field's value.
73062func (s *DescribeScheduledInstancesInput) SetFilters(v []*Filter) *DescribeScheduledInstancesInput {
73063	s.Filters = v
73064	return s
73065}
73066
73067// SetMaxResults sets the MaxResults field's value.
73068func (s *DescribeScheduledInstancesInput) SetMaxResults(v int64) *DescribeScheduledInstancesInput {
73069	s.MaxResults = &v
73070	return s
73071}
73072
73073// SetNextToken sets the NextToken field's value.
73074func (s *DescribeScheduledInstancesInput) SetNextToken(v string) *DescribeScheduledInstancesInput {
73075	s.NextToken = &v
73076	return s
73077}
73078
73079// SetScheduledInstanceIds sets the ScheduledInstanceIds field's value.
73080func (s *DescribeScheduledInstancesInput) SetScheduledInstanceIds(v []*string) *DescribeScheduledInstancesInput {
73081	s.ScheduledInstanceIds = v
73082	return s
73083}
73084
73085// SetSlotStartTimeRange sets the SlotStartTimeRange field's value.
73086func (s *DescribeScheduledInstancesInput) SetSlotStartTimeRange(v *SlotStartTimeRangeRequest) *DescribeScheduledInstancesInput {
73087	s.SlotStartTimeRange = v
73088	return s
73089}
73090
73091// Contains the output of DescribeScheduledInstances.
73092type DescribeScheduledInstancesOutput struct {
73093	_ struct{} `type:"structure"`
73094
73095	// The token required to retrieve the next set of results. This value is null
73096	// when there are no more results to return.
73097	NextToken *string `locationName:"nextToken" type:"string"`
73098
73099	// Information about the Scheduled Instances.
73100	ScheduledInstanceSet []*ScheduledInstance `locationName:"scheduledInstanceSet" locationNameList:"item" type:"list"`
73101}
73102
73103// String returns the string representation
73104func (s DescribeScheduledInstancesOutput) String() string {
73105	return awsutil.Prettify(s)
73106}
73107
73108// GoString returns the string representation
73109func (s DescribeScheduledInstancesOutput) GoString() string {
73110	return s.String()
73111}
73112
73113// SetNextToken sets the NextToken field's value.
73114func (s *DescribeScheduledInstancesOutput) SetNextToken(v string) *DescribeScheduledInstancesOutput {
73115	s.NextToken = &v
73116	return s
73117}
73118
73119// SetScheduledInstanceSet sets the ScheduledInstanceSet field's value.
73120func (s *DescribeScheduledInstancesOutput) SetScheduledInstanceSet(v []*ScheduledInstance) *DescribeScheduledInstancesOutput {
73121	s.ScheduledInstanceSet = v
73122	return s
73123}
73124
73125type DescribeSecurityGroupReferencesInput struct {
73126	_ struct{} `type:"structure"`
73127
73128	// Checks whether you have the required permissions for the action, without
73129	// actually making the request, and provides an error response. If you have
73130	// the required permissions, the error response is DryRunOperation. Otherwise,
73131	// it is UnauthorizedOperation.
73132	DryRun *bool `type:"boolean"`
73133
73134	// The IDs of the security groups in your account.
73135	//
73136	// GroupId is a required field
73137	GroupId []*string `locationNameList:"item" type:"list" required:"true"`
73138}
73139
73140// String returns the string representation
73141func (s DescribeSecurityGroupReferencesInput) String() string {
73142	return awsutil.Prettify(s)
73143}
73144
73145// GoString returns the string representation
73146func (s DescribeSecurityGroupReferencesInput) GoString() string {
73147	return s.String()
73148}
73149
73150// Validate inspects the fields of the type to determine if they are valid.
73151func (s *DescribeSecurityGroupReferencesInput) Validate() error {
73152	invalidParams := request.ErrInvalidParams{Context: "DescribeSecurityGroupReferencesInput"}
73153	if s.GroupId == nil {
73154		invalidParams.Add(request.NewErrParamRequired("GroupId"))
73155	}
73156
73157	if invalidParams.Len() > 0 {
73158		return invalidParams
73159	}
73160	return nil
73161}
73162
73163// SetDryRun sets the DryRun field's value.
73164func (s *DescribeSecurityGroupReferencesInput) SetDryRun(v bool) *DescribeSecurityGroupReferencesInput {
73165	s.DryRun = &v
73166	return s
73167}
73168
73169// SetGroupId sets the GroupId field's value.
73170func (s *DescribeSecurityGroupReferencesInput) SetGroupId(v []*string) *DescribeSecurityGroupReferencesInput {
73171	s.GroupId = v
73172	return s
73173}
73174
73175type DescribeSecurityGroupReferencesOutput struct {
73176	_ struct{} `type:"structure"`
73177
73178	// Information about the VPCs with the referencing security groups.
73179	SecurityGroupReferenceSet []*SecurityGroupReference `locationName:"securityGroupReferenceSet" locationNameList:"item" type:"list"`
73180}
73181
73182// String returns the string representation
73183func (s DescribeSecurityGroupReferencesOutput) String() string {
73184	return awsutil.Prettify(s)
73185}
73186
73187// GoString returns the string representation
73188func (s DescribeSecurityGroupReferencesOutput) GoString() string {
73189	return s.String()
73190}
73191
73192// SetSecurityGroupReferenceSet sets the SecurityGroupReferenceSet field's value.
73193func (s *DescribeSecurityGroupReferencesOutput) SetSecurityGroupReferenceSet(v []*SecurityGroupReference) *DescribeSecurityGroupReferencesOutput {
73194	s.SecurityGroupReferenceSet = v
73195	return s
73196}
73197
73198type DescribeSecurityGroupsInput struct {
73199	_ struct{} `type:"structure"`
73200
73201	// Checks whether you have the required permissions for the action, without
73202	// actually making the request, and provides an error response. If you have
73203	// the required permissions, the error response is DryRunOperation. Otherwise,
73204	// it is UnauthorizedOperation.
73205	DryRun *bool `locationName:"dryRun" type:"boolean"`
73206
73207	// The filters. If using multiple filters for rules, the results include security
73208	// groups for which any combination of rules - not necessarily a single rule
73209	// - match all filters.
73210	//
73211	//    * description - The description of the security group.
73212	//
73213	//    * egress.ip-permission.cidr - An IPv4 CIDR block for an outbound security
73214	//    group rule.
73215	//
73216	//    * egress.ip-permission.from-port - For an outbound rule, the start of
73217	//    port range for the TCP and UDP protocols, or an ICMP type number.
73218	//
73219	//    * egress.ip-permission.group-id - The ID of a security group that has
73220	//    been referenced in an outbound security group rule.
73221	//
73222	//    * egress.ip-permission.group-name - The name of a security group that
73223	//    is referenced in an outbound security group rule.
73224	//
73225	//    * egress.ip-permission.ipv6-cidr - An IPv6 CIDR block for an outbound
73226	//    security group rule.
73227	//
73228	//    * egress.ip-permission.prefix-list-id - The ID of a prefix list to which
73229	//    a security group rule allows outbound access.
73230	//
73231	//    * egress.ip-permission.protocol - The IP protocol for an outbound security
73232	//    group rule (tcp | udp | icmp, a protocol number, or -1 for all protocols).
73233	//
73234	//    * egress.ip-permission.to-port - For an outbound rule, the end of port
73235	//    range for the TCP and UDP protocols, or an ICMP code.
73236	//
73237	//    * egress.ip-permission.user-id - The ID of an AWS account that has been
73238	//    referenced in an outbound security group rule.
73239	//
73240	//    * group-id - The ID of the security group.
73241	//
73242	//    * group-name - The name of the security group.
73243	//
73244	//    * ip-permission.cidr - An IPv4 CIDR block for an inbound security group
73245	//    rule.
73246	//
73247	//    * ip-permission.from-port - For an inbound rule, the start of port range
73248	//    for the TCP and UDP protocols, or an ICMP type number.
73249	//
73250	//    * ip-permission.group-id - The ID of a security group that has been referenced
73251	//    in an inbound security group rule.
73252	//
73253	//    * ip-permission.group-name - The name of a security group that is referenced
73254	//    in an inbound security group rule.
73255	//
73256	//    * ip-permission.ipv6-cidr - An IPv6 CIDR block for an inbound security
73257	//    group rule.
73258	//
73259	//    * ip-permission.prefix-list-id - The ID of a prefix list from which a
73260	//    security group rule allows inbound access.
73261	//
73262	//    * ip-permission.protocol - The IP protocol for an inbound security group
73263	//    rule (tcp | udp | icmp, a protocol number, or -1 for all protocols).
73264	//
73265	//    * ip-permission.to-port - For an inbound rule, the end of port range for
73266	//    the TCP and UDP protocols, or an ICMP code.
73267	//
73268	//    * ip-permission.user-id - The ID of an AWS account that has been referenced
73269	//    in an inbound security group rule.
73270	//
73271	//    * owner-id - The AWS account ID of the owner of the security group.
73272	//
73273	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
73274	//    Use the tag key in the filter name and the tag value as the filter value.
73275	//    For example, to find all resources that have a tag with the key Owner
73276	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
73277	//    the filter value.
73278	//
73279	//    * tag-key - The key of a tag assigned to the resource. Use this filter
73280	//    to find all resources assigned a tag with a specific key, regardless of
73281	//    the tag value.
73282	//
73283	//    * vpc-id - The ID of the VPC specified when the security group was created.
73284	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
73285
73286	// The IDs of the security groups. Required for security groups in a nondefault
73287	// VPC.
73288	//
73289	// Default: Describes all your security groups.
73290	GroupIds []*string `locationName:"GroupId" locationNameList:"groupId" type:"list"`
73291
73292	// [EC2-Classic and default VPC only] The names of the security groups. You
73293	// can specify either the security group name or the security group ID. For
73294	// security groups in a nondefault VPC, use the group-name filter to describe
73295	// security groups by name.
73296	//
73297	// Default: Describes all your security groups.
73298	GroupNames []*string `locationName:"GroupName" locationNameList:"GroupName" type:"list"`
73299
73300	// The maximum number of results to return in a single call. To retrieve the
73301	// remaining results, make another request with the returned NextToken value.
73302	// This value can be between 5 and 1000. If this parameter is not specified,
73303	// then all results are returned.
73304	MaxResults *int64 `min:"5" type:"integer"`
73305
73306	// The token to request the next page of results.
73307	NextToken *string `type:"string"`
73308}
73309
73310// String returns the string representation
73311func (s DescribeSecurityGroupsInput) String() string {
73312	return awsutil.Prettify(s)
73313}
73314
73315// GoString returns the string representation
73316func (s DescribeSecurityGroupsInput) GoString() string {
73317	return s.String()
73318}
73319
73320// Validate inspects the fields of the type to determine if they are valid.
73321func (s *DescribeSecurityGroupsInput) Validate() error {
73322	invalidParams := request.ErrInvalidParams{Context: "DescribeSecurityGroupsInput"}
73323	if s.MaxResults != nil && *s.MaxResults < 5 {
73324		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
73325	}
73326
73327	if invalidParams.Len() > 0 {
73328		return invalidParams
73329	}
73330	return nil
73331}
73332
73333// SetDryRun sets the DryRun field's value.
73334func (s *DescribeSecurityGroupsInput) SetDryRun(v bool) *DescribeSecurityGroupsInput {
73335	s.DryRun = &v
73336	return s
73337}
73338
73339// SetFilters sets the Filters field's value.
73340func (s *DescribeSecurityGroupsInput) SetFilters(v []*Filter) *DescribeSecurityGroupsInput {
73341	s.Filters = v
73342	return s
73343}
73344
73345// SetGroupIds sets the GroupIds field's value.
73346func (s *DescribeSecurityGroupsInput) SetGroupIds(v []*string) *DescribeSecurityGroupsInput {
73347	s.GroupIds = v
73348	return s
73349}
73350
73351// SetGroupNames sets the GroupNames field's value.
73352func (s *DescribeSecurityGroupsInput) SetGroupNames(v []*string) *DescribeSecurityGroupsInput {
73353	s.GroupNames = v
73354	return s
73355}
73356
73357// SetMaxResults sets the MaxResults field's value.
73358func (s *DescribeSecurityGroupsInput) SetMaxResults(v int64) *DescribeSecurityGroupsInput {
73359	s.MaxResults = &v
73360	return s
73361}
73362
73363// SetNextToken sets the NextToken field's value.
73364func (s *DescribeSecurityGroupsInput) SetNextToken(v string) *DescribeSecurityGroupsInput {
73365	s.NextToken = &v
73366	return s
73367}
73368
73369type DescribeSecurityGroupsOutput struct {
73370	_ struct{} `type:"structure"`
73371
73372	// The token to use to retrieve the next page of results. This value is null
73373	// when there are no more results to return.
73374	NextToken *string `locationName:"nextToken" type:"string"`
73375
73376	// Information about the security groups.
73377	SecurityGroups []*SecurityGroup `locationName:"securityGroupInfo" locationNameList:"item" type:"list"`
73378}
73379
73380// String returns the string representation
73381func (s DescribeSecurityGroupsOutput) String() string {
73382	return awsutil.Prettify(s)
73383}
73384
73385// GoString returns the string representation
73386func (s DescribeSecurityGroupsOutput) GoString() string {
73387	return s.String()
73388}
73389
73390// SetNextToken sets the NextToken field's value.
73391func (s *DescribeSecurityGroupsOutput) SetNextToken(v string) *DescribeSecurityGroupsOutput {
73392	s.NextToken = &v
73393	return s
73394}
73395
73396// SetSecurityGroups sets the SecurityGroups field's value.
73397func (s *DescribeSecurityGroupsOutput) SetSecurityGroups(v []*SecurityGroup) *DescribeSecurityGroupsOutput {
73398	s.SecurityGroups = v
73399	return s
73400}
73401
73402type DescribeSnapshotAttributeInput struct {
73403	_ struct{} `type:"structure"`
73404
73405	// The snapshot attribute you would like to view.
73406	//
73407	// Attribute is a required field
73408	Attribute *string `type:"string" required:"true" enum:"SnapshotAttributeName"`
73409
73410	// Checks whether you have the required permissions for the action, without
73411	// actually making the request, and provides an error response. If you have
73412	// the required permissions, the error response is DryRunOperation. Otherwise,
73413	// it is UnauthorizedOperation.
73414	DryRun *bool `locationName:"dryRun" type:"boolean"`
73415
73416	// The ID of the EBS snapshot.
73417	//
73418	// SnapshotId is a required field
73419	SnapshotId *string `type:"string" required:"true"`
73420}
73421
73422// String returns the string representation
73423func (s DescribeSnapshotAttributeInput) String() string {
73424	return awsutil.Prettify(s)
73425}
73426
73427// GoString returns the string representation
73428func (s DescribeSnapshotAttributeInput) GoString() string {
73429	return s.String()
73430}
73431
73432// Validate inspects the fields of the type to determine if they are valid.
73433func (s *DescribeSnapshotAttributeInput) Validate() error {
73434	invalidParams := request.ErrInvalidParams{Context: "DescribeSnapshotAttributeInput"}
73435	if s.Attribute == nil {
73436		invalidParams.Add(request.NewErrParamRequired("Attribute"))
73437	}
73438	if s.SnapshotId == nil {
73439		invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
73440	}
73441
73442	if invalidParams.Len() > 0 {
73443		return invalidParams
73444	}
73445	return nil
73446}
73447
73448// SetAttribute sets the Attribute field's value.
73449func (s *DescribeSnapshotAttributeInput) SetAttribute(v string) *DescribeSnapshotAttributeInput {
73450	s.Attribute = &v
73451	return s
73452}
73453
73454// SetDryRun sets the DryRun field's value.
73455func (s *DescribeSnapshotAttributeInput) SetDryRun(v bool) *DescribeSnapshotAttributeInput {
73456	s.DryRun = &v
73457	return s
73458}
73459
73460// SetSnapshotId sets the SnapshotId field's value.
73461func (s *DescribeSnapshotAttributeInput) SetSnapshotId(v string) *DescribeSnapshotAttributeInput {
73462	s.SnapshotId = &v
73463	return s
73464}
73465
73466type DescribeSnapshotAttributeOutput struct {
73467	_ struct{} `type:"structure"`
73468
73469	// The users and groups that have the permissions for creating volumes from
73470	// the snapshot.
73471	CreateVolumePermissions []*CreateVolumePermission `locationName:"createVolumePermission" locationNameList:"item" type:"list"`
73472
73473	// The product codes.
73474	ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
73475
73476	// The ID of the EBS snapshot.
73477	SnapshotId *string `locationName:"snapshotId" type:"string"`
73478}
73479
73480// String returns the string representation
73481func (s DescribeSnapshotAttributeOutput) String() string {
73482	return awsutil.Prettify(s)
73483}
73484
73485// GoString returns the string representation
73486func (s DescribeSnapshotAttributeOutput) GoString() string {
73487	return s.String()
73488}
73489
73490// SetCreateVolumePermissions sets the CreateVolumePermissions field's value.
73491func (s *DescribeSnapshotAttributeOutput) SetCreateVolumePermissions(v []*CreateVolumePermission) *DescribeSnapshotAttributeOutput {
73492	s.CreateVolumePermissions = v
73493	return s
73494}
73495
73496// SetProductCodes sets the ProductCodes field's value.
73497func (s *DescribeSnapshotAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeSnapshotAttributeOutput {
73498	s.ProductCodes = v
73499	return s
73500}
73501
73502// SetSnapshotId sets the SnapshotId field's value.
73503func (s *DescribeSnapshotAttributeOutput) SetSnapshotId(v string) *DescribeSnapshotAttributeOutput {
73504	s.SnapshotId = &v
73505	return s
73506}
73507
73508type DescribeSnapshotsInput struct {
73509	_ struct{} `type:"structure"`
73510
73511	// Checks whether you have the required permissions for the action, without
73512	// actually making the request, and provides an error response. If you have
73513	// the required permissions, the error response is DryRunOperation. Otherwise,
73514	// it is UnauthorizedOperation.
73515	DryRun *bool `locationName:"dryRun" type:"boolean"`
73516
73517	// The filters.
73518	//
73519	//    * description - A description of the snapshot.
73520	//
73521	//    * encrypted - Indicates whether the snapshot is encrypted (true | false)
73522	//
73523	//    * owner-alias - The owner alias, from an Amazon-maintained list (amazon).
73524	//    This is not the user-configured AWS account alias set using the IAM console.
73525	//    We recommend that you use the related parameter instead of this filter.
73526	//
73527	//    * owner-id - The AWS account ID of the owner. We recommend that you use
73528	//    the related parameter instead of this filter.
73529	//
73530	//    * progress - The progress of the snapshot, as a percentage (for example,
73531	//    80%).
73532	//
73533	//    * snapshot-id - The snapshot ID.
73534	//
73535	//    * start-time - The time stamp when the snapshot was initiated.
73536	//
73537	//    * status - The status of the snapshot (pending | completed | error).
73538	//
73539	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
73540	//    Use the tag key in the filter name and the tag value as the filter value.
73541	//    For example, to find all resources that have a tag with the key Owner
73542	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
73543	//    the filter value.
73544	//
73545	//    * tag-key - The key of a tag assigned to the resource. Use this filter
73546	//    to find all resources assigned a tag with a specific key, regardless of
73547	//    the tag value.
73548	//
73549	//    * volume-id - The ID of the volume the snapshot is for.
73550	//
73551	//    * volume-size - The size of the volume, in GiB.
73552	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
73553
73554	// The maximum number of snapshot results returned by DescribeSnapshots in paginated
73555	// output. When this parameter is used, DescribeSnapshots only returns MaxResults
73556	// results in a single page along with a NextToken response element. The remaining
73557	// results of the initial request can be seen by sending another DescribeSnapshots
73558	// request with the returned NextToken value. This value can be between 5 and
73559	// 1,000; if MaxResults is given a value larger than 1,000, only 1,000 results
73560	// are returned. If this parameter is not used, then DescribeSnapshots returns
73561	// all results. You cannot specify this parameter and the snapshot IDs parameter
73562	// in the same request.
73563	MaxResults *int64 `type:"integer"`
73564
73565	// The NextToken value returned from a previous paginated DescribeSnapshots
73566	// request where MaxResults was used and the results exceeded the value of that
73567	// parameter. Pagination continues from the end of the previous results that
73568	// returned the NextToken value. This value is null when there are no more results
73569	// to return.
73570	NextToken *string `type:"string"`
73571
73572	// Scopes the results to snapshots with the specified owners. You can specify
73573	// a combination of AWS account IDs, self, and amazon.
73574	OwnerIds []*string `locationName:"Owner" locationNameList:"Owner" type:"list"`
73575
73576	// The IDs of the AWS accounts that can create volumes from the snapshot.
73577	RestorableByUserIds []*string `locationName:"RestorableBy" type:"list"`
73578
73579	// The snapshot IDs.
73580	//
73581	// Default: Describes the snapshots for which you have create volume permissions.
73582	SnapshotIds []*string `locationName:"SnapshotId" locationNameList:"SnapshotId" type:"list"`
73583}
73584
73585// String returns the string representation
73586func (s DescribeSnapshotsInput) String() string {
73587	return awsutil.Prettify(s)
73588}
73589
73590// GoString returns the string representation
73591func (s DescribeSnapshotsInput) GoString() string {
73592	return s.String()
73593}
73594
73595// SetDryRun sets the DryRun field's value.
73596func (s *DescribeSnapshotsInput) SetDryRun(v bool) *DescribeSnapshotsInput {
73597	s.DryRun = &v
73598	return s
73599}
73600
73601// SetFilters sets the Filters field's value.
73602func (s *DescribeSnapshotsInput) SetFilters(v []*Filter) *DescribeSnapshotsInput {
73603	s.Filters = v
73604	return s
73605}
73606
73607// SetMaxResults sets the MaxResults field's value.
73608func (s *DescribeSnapshotsInput) SetMaxResults(v int64) *DescribeSnapshotsInput {
73609	s.MaxResults = &v
73610	return s
73611}
73612
73613// SetNextToken sets the NextToken field's value.
73614func (s *DescribeSnapshotsInput) SetNextToken(v string) *DescribeSnapshotsInput {
73615	s.NextToken = &v
73616	return s
73617}
73618
73619// SetOwnerIds sets the OwnerIds field's value.
73620func (s *DescribeSnapshotsInput) SetOwnerIds(v []*string) *DescribeSnapshotsInput {
73621	s.OwnerIds = v
73622	return s
73623}
73624
73625// SetRestorableByUserIds sets the RestorableByUserIds field's value.
73626func (s *DescribeSnapshotsInput) SetRestorableByUserIds(v []*string) *DescribeSnapshotsInput {
73627	s.RestorableByUserIds = v
73628	return s
73629}
73630
73631// SetSnapshotIds sets the SnapshotIds field's value.
73632func (s *DescribeSnapshotsInput) SetSnapshotIds(v []*string) *DescribeSnapshotsInput {
73633	s.SnapshotIds = v
73634	return s
73635}
73636
73637type DescribeSnapshotsOutput struct {
73638	_ struct{} `type:"structure"`
73639
73640	// The NextToken value to include in a future DescribeSnapshots request. When
73641	// the results of a DescribeSnapshots request exceed MaxResults, this value
73642	// can be used to retrieve the next page of results. This value is null when
73643	// there are no more results to return.
73644	NextToken *string `locationName:"nextToken" type:"string"`
73645
73646	// Information about the snapshots.
73647	Snapshots []*Snapshot `locationName:"snapshotSet" locationNameList:"item" type:"list"`
73648}
73649
73650// String returns the string representation
73651func (s DescribeSnapshotsOutput) String() string {
73652	return awsutil.Prettify(s)
73653}
73654
73655// GoString returns the string representation
73656func (s DescribeSnapshotsOutput) GoString() string {
73657	return s.String()
73658}
73659
73660// SetNextToken sets the NextToken field's value.
73661func (s *DescribeSnapshotsOutput) SetNextToken(v string) *DescribeSnapshotsOutput {
73662	s.NextToken = &v
73663	return s
73664}
73665
73666// SetSnapshots sets the Snapshots field's value.
73667func (s *DescribeSnapshotsOutput) SetSnapshots(v []*Snapshot) *DescribeSnapshotsOutput {
73668	s.Snapshots = v
73669	return s
73670}
73671
73672// Contains the parameters for DescribeSpotDatafeedSubscription.
73673type DescribeSpotDatafeedSubscriptionInput struct {
73674	_ struct{} `type:"structure"`
73675
73676	// Checks whether you have the required permissions for the action, without
73677	// actually making the request, and provides an error response. If you have
73678	// the required permissions, the error response is DryRunOperation. Otherwise,
73679	// it is UnauthorizedOperation.
73680	DryRun *bool `locationName:"dryRun" type:"boolean"`
73681}
73682
73683// String returns the string representation
73684func (s DescribeSpotDatafeedSubscriptionInput) String() string {
73685	return awsutil.Prettify(s)
73686}
73687
73688// GoString returns the string representation
73689func (s DescribeSpotDatafeedSubscriptionInput) GoString() string {
73690	return s.String()
73691}
73692
73693// SetDryRun sets the DryRun field's value.
73694func (s *DescribeSpotDatafeedSubscriptionInput) SetDryRun(v bool) *DescribeSpotDatafeedSubscriptionInput {
73695	s.DryRun = &v
73696	return s
73697}
73698
73699// Contains the output of DescribeSpotDatafeedSubscription.
73700type DescribeSpotDatafeedSubscriptionOutput struct {
73701	_ struct{} `type:"structure"`
73702
73703	// The Spot Instance data feed subscription.
73704	SpotDatafeedSubscription *SpotDatafeedSubscription `locationName:"spotDatafeedSubscription" type:"structure"`
73705}
73706
73707// String returns the string representation
73708func (s DescribeSpotDatafeedSubscriptionOutput) String() string {
73709	return awsutil.Prettify(s)
73710}
73711
73712// GoString returns the string representation
73713func (s DescribeSpotDatafeedSubscriptionOutput) GoString() string {
73714	return s.String()
73715}
73716
73717// SetSpotDatafeedSubscription sets the SpotDatafeedSubscription field's value.
73718func (s *DescribeSpotDatafeedSubscriptionOutput) SetSpotDatafeedSubscription(v *SpotDatafeedSubscription) *DescribeSpotDatafeedSubscriptionOutput {
73719	s.SpotDatafeedSubscription = v
73720	return s
73721}
73722
73723// Contains the parameters for DescribeSpotFleetInstances.
73724type DescribeSpotFleetInstancesInput struct {
73725	_ struct{} `type:"structure"`
73726
73727	// Checks whether you have the required permissions for the action, without
73728	// actually making the request, and provides an error response. If you have
73729	// the required permissions, the error response is DryRunOperation. Otherwise,
73730	// it is UnauthorizedOperation.
73731	DryRun *bool `locationName:"dryRun" type:"boolean"`
73732
73733	// The maximum number of results to return in a single call. Specify a value
73734	// between 1 and 1000. The default value is 1000. To retrieve the remaining
73735	// results, make another call with the returned NextToken value.
73736	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
73737
73738	// The token for the next set of results.
73739	NextToken *string `locationName:"nextToken" type:"string"`
73740
73741	// The ID of the Spot Fleet request.
73742	//
73743	// SpotFleetRequestId is a required field
73744	SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
73745}
73746
73747// String returns the string representation
73748func (s DescribeSpotFleetInstancesInput) String() string {
73749	return awsutil.Prettify(s)
73750}
73751
73752// GoString returns the string representation
73753func (s DescribeSpotFleetInstancesInput) GoString() string {
73754	return s.String()
73755}
73756
73757// Validate inspects the fields of the type to determine if they are valid.
73758func (s *DescribeSpotFleetInstancesInput) Validate() error {
73759	invalidParams := request.ErrInvalidParams{Context: "DescribeSpotFleetInstancesInput"}
73760	if s.MaxResults != nil && *s.MaxResults < 1 {
73761		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
73762	}
73763	if s.SpotFleetRequestId == nil {
73764		invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestId"))
73765	}
73766
73767	if invalidParams.Len() > 0 {
73768		return invalidParams
73769	}
73770	return nil
73771}
73772
73773// SetDryRun sets the DryRun field's value.
73774func (s *DescribeSpotFleetInstancesInput) SetDryRun(v bool) *DescribeSpotFleetInstancesInput {
73775	s.DryRun = &v
73776	return s
73777}
73778
73779// SetMaxResults sets the MaxResults field's value.
73780func (s *DescribeSpotFleetInstancesInput) SetMaxResults(v int64) *DescribeSpotFleetInstancesInput {
73781	s.MaxResults = &v
73782	return s
73783}
73784
73785// SetNextToken sets the NextToken field's value.
73786func (s *DescribeSpotFleetInstancesInput) SetNextToken(v string) *DescribeSpotFleetInstancesInput {
73787	s.NextToken = &v
73788	return s
73789}
73790
73791// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
73792func (s *DescribeSpotFleetInstancesInput) SetSpotFleetRequestId(v string) *DescribeSpotFleetInstancesInput {
73793	s.SpotFleetRequestId = &v
73794	return s
73795}
73796
73797// Contains the output of DescribeSpotFleetInstances.
73798type DescribeSpotFleetInstancesOutput struct {
73799	_ struct{} `type:"structure"`
73800
73801	// The running instances. This list is refreshed periodically and might be out
73802	// of date.
73803	ActiveInstances []*ActiveInstance `locationName:"activeInstanceSet" locationNameList:"item" type:"list"`
73804
73805	// The token required to retrieve the next set of results. This value is null
73806	// when there are no more results to return.
73807	NextToken *string `locationName:"nextToken" type:"string"`
73808
73809	// The ID of the Spot Fleet request.
73810	SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"`
73811}
73812
73813// String returns the string representation
73814func (s DescribeSpotFleetInstancesOutput) String() string {
73815	return awsutil.Prettify(s)
73816}
73817
73818// GoString returns the string representation
73819func (s DescribeSpotFleetInstancesOutput) GoString() string {
73820	return s.String()
73821}
73822
73823// SetActiveInstances sets the ActiveInstances field's value.
73824func (s *DescribeSpotFleetInstancesOutput) SetActiveInstances(v []*ActiveInstance) *DescribeSpotFleetInstancesOutput {
73825	s.ActiveInstances = v
73826	return s
73827}
73828
73829// SetNextToken sets the NextToken field's value.
73830func (s *DescribeSpotFleetInstancesOutput) SetNextToken(v string) *DescribeSpotFleetInstancesOutput {
73831	s.NextToken = &v
73832	return s
73833}
73834
73835// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
73836func (s *DescribeSpotFleetInstancesOutput) SetSpotFleetRequestId(v string) *DescribeSpotFleetInstancesOutput {
73837	s.SpotFleetRequestId = &v
73838	return s
73839}
73840
73841// Contains the parameters for DescribeSpotFleetRequestHistory.
73842type DescribeSpotFleetRequestHistoryInput struct {
73843	_ struct{} `type:"structure"`
73844
73845	// Checks whether you have the required permissions for the action, without
73846	// actually making the request, and provides an error response. If you have
73847	// the required permissions, the error response is DryRunOperation. Otherwise,
73848	// it is UnauthorizedOperation.
73849	DryRun *bool `locationName:"dryRun" type:"boolean"`
73850
73851	// The type of events to describe. By default, all events are described.
73852	EventType *string `locationName:"eventType" type:"string" enum:"EventType"`
73853
73854	// The maximum number of results to return in a single call. Specify a value
73855	// between 1 and 1000. The default value is 1000. To retrieve the remaining
73856	// results, make another call with the returned NextToken value.
73857	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
73858
73859	// The token for the next set of results.
73860	NextToken *string `locationName:"nextToken" type:"string"`
73861
73862	// The ID of the Spot Fleet request.
73863	//
73864	// SpotFleetRequestId is a required field
73865	SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
73866
73867	// The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
73868	//
73869	// StartTime is a required field
73870	StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
73871}
73872
73873// String returns the string representation
73874func (s DescribeSpotFleetRequestHistoryInput) String() string {
73875	return awsutil.Prettify(s)
73876}
73877
73878// GoString returns the string representation
73879func (s DescribeSpotFleetRequestHistoryInput) GoString() string {
73880	return s.String()
73881}
73882
73883// Validate inspects the fields of the type to determine if they are valid.
73884func (s *DescribeSpotFleetRequestHistoryInput) Validate() error {
73885	invalidParams := request.ErrInvalidParams{Context: "DescribeSpotFleetRequestHistoryInput"}
73886	if s.MaxResults != nil && *s.MaxResults < 1 {
73887		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
73888	}
73889	if s.SpotFleetRequestId == nil {
73890		invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestId"))
73891	}
73892	if s.StartTime == nil {
73893		invalidParams.Add(request.NewErrParamRequired("StartTime"))
73894	}
73895
73896	if invalidParams.Len() > 0 {
73897		return invalidParams
73898	}
73899	return nil
73900}
73901
73902// SetDryRun sets the DryRun field's value.
73903func (s *DescribeSpotFleetRequestHistoryInput) SetDryRun(v bool) *DescribeSpotFleetRequestHistoryInput {
73904	s.DryRun = &v
73905	return s
73906}
73907
73908// SetEventType sets the EventType field's value.
73909func (s *DescribeSpotFleetRequestHistoryInput) SetEventType(v string) *DescribeSpotFleetRequestHistoryInput {
73910	s.EventType = &v
73911	return s
73912}
73913
73914// SetMaxResults sets the MaxResults field's value.
73915func (s *DescribeSpotFleetRequestHistoryInput) SetMaxResults(v int64) *DescribeSpotFleetRequestHistoryInput {
73916	s.MaxResults = &v
73917	return s
73918}
73919
73920// SetNextToken sets the NextToken field's value.
73921func (s *DescribeSpotFleetRequestHistoryInput) SetNextToken(v string) *DescribeSpotFleetRequestHistoryInput {
73922	s.NextToken = &v
73923	return s
73924}
73925
73926// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
73927func (s *DescribeSpotFleetRequestHistoryInput) SetSpotFleetRequestId(v string) *DescribeSpotFleetRequestHistoryInput {
73928	s.SpotFleetRequestId = &v
73929	return s
73930}
73931
73932// SetStartTime sets the StartTime field's value.
73933func (s *DescribeSpotFleetRequestHistoryInput) SetStartTime(v time.Time) *DescribeSpotFleetRequestHistoryInput {
73934	s.StartTime = &v
73935	return s
73936}
73937
73938// Contains the output of DescribeSpotFleetRequestHistory.
73939type DescribeSpotFleetRequestHistoryOutput struct {
73940	_ struct{} `type:"structure"`
73941
73942	// Information about the events in the history of the Spot Fleet request.
73943	HistoryRecords []*HistoryRecord `locationName:"historyRecordSet" locationNameList:"item" type:"list"`
73944
73945	// The last date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
73946	// All records up to this time were retrieved.
73947	//
73948	// If nextToken indicates that there are more results, this value is not present.
73949	LastEvaluatedTime *time.Time `locationName:"lastEvaluatedTime" type:"timestamp"`
73950
73951	// The token required to retrieve the next set of results. This value is null
73952	// when there are no more results to return.
73953	NextToken *string `locationName:"nextToken" type:"string"`
73954
73955	// The ID of the Spot Fleet request.
73956	SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"`
73957
73958	// The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
73959	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
73960}
73961
73962// String returns the string representation
73963func (s DescribeSpotFleetRequestHistoryOutput) String() string {
73964	return awsutil.Prettify(s)
73965}
73966
73967// GoString returns the string representation
73968func (s DescribeSpotFleetRequestHistoryOutput) GoString() string {
73969	return s.String()
73970}
73971
73972// SetHistoryRecords sets the HistoryRecords field's value.
73973func (s *DescribeSpotFleetRequestHistoryOutput) SetHistoryRecords(v []*HistoryRecord) *DescribeSpotFleetRequestHistoryOutput {
73974	s.HistoryRecords = v
73975	return s
73976}
73977
73978// SetLastEvaluatedTime sets the LastEvaluatedTime field's value.
73979func (s *DescribeSpotFleetRequestHistoryOutput) SetLastEvaluatedTime(v time.Time) *DescribeSpotFleetRequestHistoryOutput {
73980	s.LastEvaluatedTime = &v
73981	return s
73982}
73983
73984// SetNextToken sets the NextToken field's value.
73985func (s *DescribeSpotFleetRequestHistoryOutput) SetNextToken(v string) *DescribeSpotFleetRequestHistoryOutput {
73986	s.NextToken = &v
73987	return s
73988}
73989
73990// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
73991func (s *DescribeSpotFleetRequestHistoryOutput) SetSpotFleetRequestId(v string) *DescribeSpotFleetRequestHistoryOutput {
73992	s.SpotFleetRequestId = &v
73993	return s
73994}
73995
73996// SetStartTime sets the StartTime field's value.
73997func (s *DescribeSpotFleetRequestHistoryOutput) SetStartTime(v time.Time) *DescribeSpotFleetRequestHistoryOutput {
73998	s.StartTime = &v
73999	return s
74000}
74001
74002// Contains the parameters for DescribeSpotFleetRequests.
74003type DescribeSpotFleetRequestsInput struct {
74004	_ struct{} `type:"structure"`
74005
74006	// Checks whether you have the required permissions for the action, without
74007	// actually making the request, and provides an error response. If you have
74008	// the required permissions, the error response is DryRunOperation. Otherwise,
74009	// it is UnauthorizedOperation.
74010	DryRun *bool `locationName:"dryRun" type:"boolean"`
74011
74012	// The maximum number of results to return in a single call. Specify a value
74013	// between 1 and 1000. The default value is 1000. To retrieve the remaining
74014	// results, make another call with the returned NextToken value.
74015	MaxResults *int64 `locationName:"maxResults" type:"integer"`
74016
74017	// The token for the next set of results.
74018	NextToken *string `locationName:"nextToken" type:"string"`
74019
74020	// The IDs of the Spot Fleet requests.
74021	SpotFleetRequestIds []*string `locationName:"spotFleetRequestId" locationNameList:"item" type:"list"`
74022}
74023
74024// String returns the string representation
74025func (s DescribeSpotFleetRequestsInput) String() string {
74026	return awsutil.Prettify(s)
74027}
74028
74029// GoString returns the string representation
74030func (s DescribeSpotFleetRequestsInput) GoString() string {
74031	return s.String()
74032}
74033
74034// SetDryRun sets the DryRun field's value.
74035func (s *DescribeSpotFleetRequestsInput) SetDryRun(v bool) *DescribeSpotFleetRequestsInput {
74036	s.DryRun = &v
74037	return s
74038}
74039
74040// SetMaxResults sets the MaxResults field's value.
74041func (s *DescribeSpotFleetRequestsInput) SetMaxResults(v int64) *DescribeSpotFleetRequestsInput {
74042	s.MaxResults = &v
74043	return s
74044}
74045
74046// SetNextToken sets the NextToken field's value.
74047func (s *DescribeSpotFleetRequestsInput) SetNextToken(v string) *DescribeSpotFleetRequestsInput {
74048	s.NextToken = &v
74049	return s
74050}
74051
74052// SetSpotFleetRequestIds sets the SpotFleetRequestIds field's value.
74053func (s *DescribeSpotFleetRequestsInput) SetSpotFleetRequestIds(v []*string) *DescribeSpotFleetRequestsInput {
74054	s.SpotFleetRequestIds = v
74055	return s
74056}
74057
74058// Contains the output of DescribeSpotFleetRequests.
74059type DescribeSpotFleetRequestsOutput struct {
74060	_ struct{} `type:"structure"`
74061
74062	// The token required to retrieve the next set of results. This value is null
74063	// when there are no more results to return.
74064	NextToken *string `locationName:"nextToken" type:"string"`
74065
74066	// Information about the configuration of your Spot Fleet.
74067	SpotFleetRequestConfigs []*SpotFleetRequestConfig `locationName:"spotFleetRequestConfigSet" locationNameList:"item" type:"list"`
74068}
74069
74070// String returns the string representation
74071func (s DescribeSpotFleetRequestsOutput) String() string {
74072	return awsutil.Prettify(s)
74073}
74074
74075// GoString returns the string representation
74076func (s DescribeSpotFleetRequestsOutput) GoString() string {
74077	return s.String()
74078}
74079
74080// SetNextToken sets the NextToken field's value.
74081func (s *DescribeSpotFleetRequestsOutput) SetNextToken(v string) *DescribeSpotFleetRequestsOutput {
74082	s.NextToken = &v
74083	return s
74084}
74085
74086// SetSpotFleetRequestConfigs sets the SpotFleetRequestConfigs field's value.
74087func (s *DescribeSpotFleetRequestsOutput) SetSpotFleetRequestConfigs(v []*SpotFleetRequestConfig) *DescribeSpotFleetRequestsOutput {
74088	s.SpotFleetRequestConfigs = v
74089	return s
74090}
74091
74092// Contains the parameters for DescribeSpotInstanceRequests.
74093type DescribeSpotInstanceRequestsInput struct {
74094	_ struct{} `type:"structure"`
74095
74096	// Checks whether you have the required permissions for the action, without
74097	// actually making the request, and provides an error response. If you have
74098	// the required permissions, the error response is DryRunOperation. Otherwise,
74099	// it is UnauthorizedOperation.
74100	DryRun *bool `locationName:"dryRun" type:"boolean"`
74101
74102	// One or more filters.
74103	//
74104	//    * availability-zone-group - The Availability Zone group.
74105	//
74106	//    * create-time - The time stamp when the Spot Instance request was created.
74107	//
74108	//    * fault-code - The fault code related to the request.
74109	//
74110	//    * fault-message - The fault message related to the request.
74111	//
74112	//    * instance-id - The ID of the instance that fulfilled the request.
74113	//
74114	//    * launch-group - The Spot Instance launch group.
74115	//
74116	//    * launch.block-device-mapping.delete-on-termination - Indicates whether
74117	//    the EBS volume is deleted on instance termination.
74118	//
74119	//    * launch.block-device-mapping.device-name - The device name for the volume
74120	//    in the block device mapping (for example, /dev/sdh or xvdh).
74121	//
74122	//    * launch.block-device-mapping.snapshot-id - The ID of the snapshot for
74123	//    the EBS volume.
74124	//
74125	//    * launch.block-device-mapping.volume-size - The size of the EBS volume,
74126	//    in GiB.
74127	//
74128	//    * launch.block-device-mapping.volume-type - The type of EBS volume: gp2
74129	//    for General Purpose SSD, io1 or io2 for Provisioned IOPS SSD, st1 for
74130	//    Throughput Optimized HDD, sc1for Cold HDD, or standard for Magnetic.
74131	//
74132	//    * launch.group-id - The ID of the security group for the instance.
74133	//
74134	//    * launch.group-name - The name of the security group for the instance.
74135	//
74136	//    * launch.image-id - The ID of the AMI.
74137	//
74138	//    * launch.instance-type - The type of instance (for example, m3.medium).
74139	//
74140	//    * launch.kernel-id - The kernel ID.
74141	//
74142	//    * launch.key-name - The name of the key pair the instance launched with.
74143	//
74144	//    * launch.monitoring-enabled - Whether detailed monitoring is enabled for
74145	//    the Spot Instance.
74146	//
74147	//    * launch.ramdisk-id - The RAM disk ID.
74148	//
74149	//    * launched-availability-zone - The Availability Zone in which the request
74150	//    is launched.
74151	//
74152	//    * network-interface.addresses.primary - Indicates whether the IP address
74153	//    is the primary private IP address.
74154	//
74155	//    * network-interface.delete-on-termination - Indicates whether the network
74156	//    interface is deleted when the instance is terminated.
74157	//
74158	//    * network-interface.description - A description of the network interface.
74159	//
74160	//    * network-interface.device-index - The index of the device for the network
74161	//    interface attachment on the instance.
74162	//
74163	//    * network-interface.group-id - The ID of the security group associated
74164	//    with the network interface.
74165	//
74166	//    * network-interface.network-interface-id - The ID of the network interface.
74167	//
74168	//    * network-interface.private-ip-address - The primary private IP address
74169	//    of the network interface.
74170	//
74171	//    * network-interface.subnet-id - The ID of the subnet for the instance.
74172	//
74173	//    * product-description - The product description associated with the instance
74174	//    (Linux/UNIX | Windows).
74175	//
74176	//    * spot-instance-request-id - The Spot Instance request ID.
74177	//
74178	//    * spot-price - The maximum hourly price for any Spot Instance launched
74179	//    to fulfill the request.
74180	//
74181	//    * state - The state of the Spot Instance request (open | active | closed
74182	//    | cancelled | failed). Spot request status information can help you track
74183	//    your Amazon EC2 Spot Instance requests. For more information, see Spot
74184	//    request status (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html)
74185	//    in the Amazon EC2 User Guide for Linux Instances.
74186	//
74187	//    * status-code - The short code describing the most recent evaluation of
74188	//    your Spot Instance request.
74189	//
74190	//    * status-message - The message explaining the status of the Spot Instance
74191	//    request.
74192	//
74193	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
74194	//    Use the tag key in the filter name and the tag value as the filter value.
74195	//    For example, to find all resources that have a tag with the key Owner
74196	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
74197	//    the filter value.
74198	//
74199	//    * tag-key - The key of a tag assigned to the resource. Use this filter
74200	//    to find all resources assigned a tag with a specific key, regardless of
74201	//    the tag value.
74202	//
74203	//    * type - The type of Spot Instance request (one-time | persistent).
74204	//
74205	//    * valid-from - The start date of the request.
74206	//
74207	//    * valid-until - The end date of the request.
74208	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
74209
74210	// The maximum number of results to return in a single call. Specify a value
74211	// between 5 and 1000. To retrieve the remaining results, make another call
74212	// with the returned NextToken value.
74213	MaxResults *int64 `type:"integer"`
74214
74215	// The token to request the next set of results. This value is null when there
74216	// are no more results to return.
74217	NextToken *string `type:"string"`
74218
74219	// One or more Spot Instance request IDs.
74220	SpotInstanceRequestIds []*string `locationName:"SpotInstanceRequestId" locationNameList:"SpotInstanceRequestId" type:"list"`
74221}
74222
74223// String returns the string representation
74224func (s DescribeSpotInstanceRequestsInput) String() string {
74225	return awsutil.Prettify(s)
74226}
74227
74228// GoString returns the string representation
74229func (s DescribeSpotInstanceRequestsInput) GoString() string {
74230	return s.String()
74231}
74232
74233// SetDryRun sets the DryRun field's value.
74234func (s *DescribeSpotInstanceRequestsInput) SetDryRun(v bool) *DescribeSpotInstanceRequestsInput {
74235	s.DryRun = &v
74236	return s
74237}
74238
74239// SetFilters sets the Filters field's value.
74240func (s *DescribeSpotInstanceRequestsInput) SetFilters(v []*Filter) *DescribeSpotInstanceRequestsInput {
74241	s.Filters = v
74242	return s
74243}
74244
74245// SetMaxResults sets the MaxResults field's value.
74246func (s *DescribeSpotInstanceRequestsInput) SetMaxResults(v int64) *DescribeSpotInstanceRequestsInput {
74247	s.MaxResults = &v
74248	return s
74249}
74250
74251// SetNextToken sets the NextToken field's value.
74252func (s *DescribeSpotInstanceRequestsInput) SetNextToken(v string) *DescribeSpotInstanceRequestsInput {
74253	s.NextToken = &v
74254	return s
74255}
74256
74257// SetSpotInstanceRequestIds sets the SpotInstanceRequestIds field's value.
74258func (s *DescribeSpotInstanceRequestsInput) SetSpotInstanceRequestIds(v []*string) *DescribeSpotInstanceRequestsInput {
74259	s.SpotInstanceRequestIds = v
74260	return s
74261}
74262
74263// Contains the output of DescribeSpotInstanceRequests.
74264type DescribeSpotInstanceRequestsOutput struct {
74265	_ struct{} `type:"structure"`
74266
74267	// The token to use to retrieve the next set of results. This value is null
74268	// when there are no more results to return.
74269	NextToken *string `locationName:"nextToken" type:"string"`
74270
74271	// One or more Spot Instance requests.
74272	SpotInstanceRequests []*SpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"`
74273}
74274
74275// String returns the string representation
74276func (s DescribeSpotInstanceRequestsOutput) String() string {
74277	return awsutil.Prettify(s)
74278}
74279
74280// GoString returns the string representation
74281func (s DescribeSpotInstanceRequestsOutput) GoString() string {
74282	return s.String()
74283}
74284
74285// SetNextToken sets the NextToken field's value.
74286func (s *DescribeSpotInstanceRequestsOutput) SetNextToken(v string) *DescribeSpotInstanceRequestsOutput {
74287	s.NextToken = &v
74288	return s
74289}
74290
74291// SetSpotInstanceRequests sets the SpotInstanceRequests field's value.
74292func (s *DescribeSpotInstanceRequestsOutput) SetSpotInstanceRequests(v []*SpotInstanceRequest) *DescribeSpotInstanceRequestsOutput {
74293	s.SpotInstanceRequests = v
74294	return s
74295}
74296
74297// Contains the parameters for DescribeSpotPriceHistory.
74298type DescribeSpotPriceHistoryInput struct {
74299	_ struct{} `type:"structure"`
74300
74301	// Filters the results by the specified Availability Zone.
74302	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
74303
74304	// Checks whether you have the required permissions for the action, without
74305	// actually making the request, and provides an error response. If you have
74306	// the required permissions, the error response is DryRunOperation. Otherwise,
74307	// it is UnauthorizedOperation.
74308	DryRun *bool `locationName:"dryRun" type:"boolean"`
74309
74310	// The date and time, up to the current date, from which to stop retrieving
74311	// the price history data, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
74312	EndTime *time.Time `locationName:"endTime" type:"timestamp"`
74313
74314	// One or more filters.
74315	//
74316	//    * availability-zone - The Availability Zone for which prices should be
74317	//    returned.
74318	//
74319	//    * instance-type - The type of instance (for example, m3.medium).
74320	//
74321	//    * product-description - The product description for the Spot price (Linux/UNIX
74322	//    | Red Hat Enterprise Linux | SUSE Linux | Windows | Linux/UNIX (Amazon
74323	//    VPC) | Red Hat Enterprise Linux (Amazon VPC) | SUSE Linux (Amazon VPC)
74324	//    | Windows (Amazon VPC)).
74325	//
74326	//    * spot-price - The Spot price. The value must match exactly (or use wildcards;
74327	//    greater than or less than comparison is not supported).
74328	//
74329	//    * timestamp - The time stamp of the Spot price history, in UTC format
74330	//    (for example, YYYY-MM-DDTHH:MM:SSZ). You can use wildcards (* and ?).
74331	//    Greater than or less than comparison is not supported.
74332	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
74333
74334	// Filters the results by the specified instance types.
74335	InstanceTypes []*string `locationName:"InstanceType" type:"list"`
74336
74337	// The maximum number of results to return in a single call. Specify a value
74338	// between 1 and 1000. The default value is 1000. To retrieve the remaining
74339	// results, make another call with the returned NextToken value.
74340	MaxResults *int64 `locationName:"maxResults" type:"integer"`
74341
74342	// The token for the next set of results.
74343	NextToken *string `locationName:"nextToken" type:"string"`
74344
74345	// Filters the results by the specified basic product descriptions.
74346	ProductDescriptions []*string `locationName:"ProductDescription" type:"list"`
74347
74348	// The date and time, up to the past 90 days, from which to start retrieving
74349	// the price history data, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
74350	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
74351}
74352
74353// String returns the string representation
74354func (s DescribeSpotPriceHistoryInput) String() string {
74355	return awsutil.Prettify(s)
74356}
74357
74358// GoString returns the string representation
74359func (s DescribeSpotPriceHistoryInput) GoString() string {
74360	return s.String()
74361}
74362
74363// SetAvailabilityZone sets the AvailabilityZone field's value.
74364func (s *DescribeSpotPriceHistoryInput) SetAvailabilityZone(v string) *DescribeSpotPriceHistoryInput {
74365	s.AvailabilityZone = &v
74366	return s
74367}
74368
74369// SetDryRun sets the DryRun field's value.
74370func (s *DescribeSpotPriceHistoryInput) SetDryRun(v bool) *DescribeSpotPriceHistoryInput {
74371	s.DryRun = &v
74372	return s
74373}
74374
74375// SetEndTime sets the EndTime field's value.
74376func (s *DescribeSpotPriceHistoryInput) SetEndTime(v time.Time) *DescribeSpotPriceHistoryInput {
74377	s.EndTime = &v
74378	return s
74379}
74380
74381// SetFilters sets the Filters field's value.
74382func (s *DescribeSpotPriceHistoryInput) SetFilters(v []*Filter) *DescribeSpotPriceHistoryInput {
74383	s.Filters = v
74384	return s
74385}
74386
74387// SetInstanceTypes sets the InstanceTypes field's value.
74388func (s *DescribeSpotPriceHistoryInput) SetInstanceTypes(v []*string) *DescribeSpotPriceHistoryInput {
74389	s.InstanceTypes = v
74390	return s
74391}
74392
74393// SetMaxResults sets the MaxResults field's value.
74394func (s *DescribeSpotPriceHistoryInput) SetMaxResults(v int64) *DescribeSpotPriceHistoryInput {
74395	s.MaxResults = &v
74396	return s
74397}
74398
74399// SetNextToken sets the NextToken field's value.
74400func (s *DescribeSpotPriceHistoryInput) SetNextToken(v string) *DescribeSpotPriceHistoryInput {
74401	s.NextToken = &v
74402	return s
74403}
74404
74405// SetProductDescriptions sets the ProductDescriptions field's value.
74406func (s *DescribeSpotPriceHistoryInput) SetProductDescriptions(v []*string) *DescribeSpotPriceHistoryInput {
74407	s.ProductDescriptions = v
74408	return s
74409}
74410
74411// SetStartTime sets the StartTime field's value.
74412func (s *DescribeSpotPriceHistoryInput) SetStartTime(v time.Time) *DescribeSpotPriceHistoryInput {
74413	s.StartTime = &v
74414	return s
74415}
74416
74417// Contains the output of DescribeSpotPriceHistory.
74418type DescribeSpotPriceHistoryOutput struct {
74419	_ struct{} `type:"structure"`
74420
74421	// The token required to retrieve the next set of results. This value is null
74422	// or an empty string when there are no more results to return.
74423	NextToken *string `locationName:"nextToken" type:"string"`
74424
74425	// The historical Spot prices.
74426	SpotPriceHistory []*SpotPrice `locationName:"spotPriceHistorySet" locationNameList:"item" type:"list"`
74427}
74428
74429// String returns the string representation
74430func (s DescribeSpotPriceHistoryOutput) String() string {
74431	return awsutil.Prettify(s)
74432}
74433
74434// GoString returns the string representation
74435func (s DescribeSpotPriceHistoryOutput) GoString() string {
74436	return s.String()
74437}
74438
74439// SetNextToken sets the NextToken field's value.
74440func (s *DescribeSpotPriceHistoryOutput) SetNextToken(v string) *DescribeSpotPriceHistoryOutput {
74441	s.NextToken = &v
74442	return s
74443}
74444
74445// SetSpotPriceHistory sets the SpotPriceHistory field's value.
74446func (s *DescribeSpotPriceHistoryOutput) SetSpotPriceHistory(v []*SpotPrice) *DescribeSpotPriceHistoryOutput {
74447	s.SpotPriceHistory = v
74448	return s
74449}
74450
74451type DescribeStaleSecurityGroupsInput struct {
74452	_ struct{} `type:"structure"`
74453
74454	// Checks whether you have the required permissions for the action, without
74455	// actually making the request, and provides an error response. If you have
74456	// the required permissions, the error response is DryRunOperation. Otherwise,
74457	// it is UnauthorizedOperation.
74458	DryRun *bool `type:"boolean"`
74459
74460	// The maximum number of items to return for this request. The request returns
74461	// a token that you can specify in a subsequent call to get the next set of
74462	// results.
74463	MaxResults *int64 `min:"5" type:"integer"`
74464
74465	// The token for the next set of items to return. (You received this token from
74466	// a prior call.)
74467	NextToken *string `min:"1" type:"string"`
74468
74469	// The ID of the VPC.
74470	//
74471	// VpcId is a required field
74472	VpcId *string `type:"string" required:"true"`
74473}
74474
74475// String returns the string representation
74476func (s DescribeStaleSecurityGroupsInput) String() string {
74477	return awsutil.Prettify(s)
74478}
74479
74480// GoString returns the string representation
74481func (s DescribeStaleSecurityGroupsInput) GoString() string {
74482	return s.String()
74483}
74484
74485// Validate inspects the fields of the type to determine if they are valid.
74486func (s *DescribeStaleSecurityGroupsInput) Validate() error {
74487	invalidParams := request.ErrInvalidParams{Context: "DescribeStaleSecurityGroupsInput"}
74488	if s.MaxResults != nil && *s.MaxResults < 5 {
74489		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
74490	}
74491	if s.NextToken != nil && len(*s.NextToken) < 1 {
74492		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
74493	}
74494	if s.VpcId == nil {
74495		invalidParams.Add(request.NewErrParamRequired("VpcId"))
74496	}
74497
74498	if invalidParams.Len() > 0 {
74499		return invalidParams
74500	}
74501	return nil
74502}
74503
74504// SetDryRun sets the DryRun field's value.
74505func (s *DescribeStaleSecurityGroupsInput) SetDryRun(v bool) *DescribeStaleSecurityGroupsInput {
74506	s.DryRun = &v
74507	return s
74508}
74509
74510// SetMaxResults sets the MaxResults field's value.
74511func (s *DescribeStaleSecurityGroupsInput) SetMaxResults(v int64) *DescribeStaleSecurityGroupsInput {
74512	s.MaxResults = &v
74513	return s
74514}
74515
74516// SetNextToken sets the NextToken field's value.
74517func (s *DescribeStaleSecurityGroupsInput) SetNextToken(v string) *DescribeStaleSecurityGroupsInput {
74518	s.NextToken = &v
74519	return s
74520}
74521
74522// SetVpcId sets the VpcId field's value.
74523func (s *DescribeStaleSecurityGroupsInput) SetVpcId(v string) *DescribeStaleSecurityGroupsInput {
74524	s.VpcId = &v
74525	return s
74526}
74527
74528type DescribeStaleSecurityGroupsOutput struct {
74529	_ struct{} `type:"structure"`
74530
74531	// The token to use when requesting the next set of items. If there are no additional
74532	// items to return, the string is empty.
74533	NextToken *string `locationName:"nextToken" type:"string"`
74534
74535	// Information about the stale security groups.
74536	StaleSecurityGroupSet []*StaleSecurityGroup `locationName:"staleSecurityGroupSet" locationNameList:"item" type:"list"`
74537}
74538
74539// String returns the string representation
74540func (s DescribeStaleSecurityGroupsOutput) String() string {
74541	return awsutil.Prettify(s)
74542}
74543
74544// GoString returns the string representation
74545func (s DescribeStaleSecurityGroupsOutput) GoString() string {
74546	return s.String()
74547}
74548
74549// SetNextToken sets the NextToken field's value.
74550func (s *DescribeStaleSecurityGroupsOutput) SetNextToken(v string) *DescribeStaleSecurityGroupsOutput {
74551	s.NextToken = &v
74552	return s
74553}
74554
74555// SetStaleSecurityGroupSet sets the StaleSecurityGroupSet field's value.
74556func (s *DescribeStaleSecurityGroupsOutput) SetStaleSecurityGroupSet(v []*StaleSecurityGroup) *DescribeStaleSecurityGroupsOutput {
74557	s.StaleSecurityGroupSet = v
74558	return s
74559}
74560
74561type DescribeStoreImageTasksInput struct {
74562	_ struct{} `type:"structure"`
74563
74564	// Checks whether you have the required permissions for the action, without
74565	// actually making the request, and provides an error response. If you have
74566	// the required permissions, the error response is DryRunOperation. Otherwise,
74567	// it is UnauthorizedOperation.
74568	DryRun *bool `type:"boolean"`
74569
74570	// The filters.
74571	//
74572	//    * task-state - Returns tasks in a certain state (InProgress | Completed
74573	//    | Failed)
74574	//
74575	//    * bucket - Returns task information for tasks that targeted a specific
74576	//    bucket. For the filter value, specify the bucket name.
74577	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
74578
74579	// The AMI IDs for which to show progress. Up to 20 AMI IDs can be included
74580	// in a request.
74581	ImageIds []*string `locationName:"ImageId" locationNameList:"item" type:"list"`
74582
74583	// The maximum number of results to return in a single call. To retrieve the
74584	// remaining results, make another call with the returned NextToken value. This
74585	// value can be between 1 and 200. You cannot specify this parameter and the
74586	// ImageIDs parameter in the same call.
74587	MaxResults *int64 `min:"1" type:"integer"`
74588
74589	// The token for the next page of results.
74590	NextToken *string `type:"string"`
74591}
74592
74593// String returns the string representation
74594func (s DescribeStoreImageTasksInput) String() string {
74595	return awsutil.Prettify(s)
74596}
74597
74598// GoString returns the string representation
74599func (s DescribeStoreImageTasksInput) GoString() string {
74600	return s.String()
74601}
74602
74603// Validate inspects the fields of the type to determine if they are valid.
74604func (s *DescribeStoreImageTasksInput) Validate() error {
74605	invalidParams := request.ErrInvalidParams{Context: "DescribeStoreImageTasksInput"}
74606	if s.MaxResults != nil && *s.MaxResults < 1 {
74607		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
74608	}
74609
74610	if invalidParams.Len() > 0 {
74611		return invalidParams
74612	}
74613	return nil
74614}
74615
74616// SetDryRun sets the DryRun field's value.
74617func (s *DescribeStoreImageTasksInput) SetDryRun(v bool) *DescribeStoreImageTasksInput {
74618	s.DryRun = &v
74619	return s
74620}
74621
74622// SetFilters sets the Filters field's value.
74623func (s *DescribeStoreImageTasksInput) SetFilters(v []*Filter) *DescribeStoreImageTasksInput {
74624	s.Filters = v
74625	return s
74626}
74627
74628// SetImageIds sets the ImageIds field's value.
74629func (s *DescribeStoreImageTasksInput) SetImageIds(v []*string) *DescribeStoreImageTasksInput {
74630	s.ImageIds = v
74631	return s
74632}
74633
74634// SetMaxResults sets the MaxResults field's value.
74635func (s *DescribeStoreImageTasksInput) SetMaxResults(v int64) *DescribeStoreImageTasksInput {
74636	s.MaxResults = &v
74637	return s
74638}
74639
74640// SetNextToken sets the NextToken field's value.
74641func (s *DescribeStoreImageTasksInput) SetNextToken(v string) *DescribeStoreImageTasksInput {
74642	s.NextToken = &v
74643	return s
74644}
74645
74646type DescribeStoreImageTasksOutput struct {
74647	_ struct{} `type:"structure"`
74648
74649	// The token to use to retrieve the next page of results. This value is null
74650	// when there are no more results to return.
74651	NextToken *string `locationName:"nextToken" type:"string"`
74652
74653	// The information about the AMI store tasks.
74654	StoreImageTaskResults []*StoreImageTaskResult `locationName:"storeImageTaskResultSet" locationNameList:"item" type:"list"`
74655}
74656
74657// String returns the string representation
74658func (s DescribeStoreImageTasksOutput) String() string {
74659	return awsutil.Prettify(s)
74660}
74661
74662// GoString returns the string representation
74663func (s DescribeStoreImageTasksOutput) GoString() string {
74664	return s.String()
74665}
74666
74667// SetNextToken sets the NextToken field's value.
74668func (s *DescribeStoreImageTasksOutput) SetNextToken(v string) *DescribeStoreImageTasksOutput {
74669	s.NextToken = &v
74670	return s
74671}
74672
74673// SetStoreImageTaskResults sets the StoreImageTaskResults field's value.
74674func (s *DescribeStoreImageTasksOutput) SetStoreImageTaskResults(v []*StoreImageTaskResult) *DescribeStoreImageTasksOutput {
74675	s.StoreImageTaskResults = v
74676	return s
74677}
74678
74679type DescribeSubnetsInput struct {
74680	_ struct{} `type:"structure"`
74681
74682	// Checks whether you have the required permissions for the action, without
74683	// actually making the request, and provides an error response. If you have
74684	// the required permissions, the error response is DryRunOperation. Otherwise,
74685	// it is UnauthorizedOperation.
74686	DryRun *bool `locationName:"dryRun" type:"boolean"`
74687
74688	// One or more filters.
74689	//
74690	//    * availability-zone - The Availability Zone for the subnet. You can also
74691	//    use availabilityZone as the filter name.
74692	//
74693	//    * availability-zone-id - The ID of the Availability Zone for the subnet.
74694	//    You can also use availabilityZoneId as the filter name.
74695	//
74696	//    * available-ip-address-count - The number of IPv4 addresses in the subnet
74697	//    that are available.
74698	//
74699	//    * cidr-block - The IPv4 CIDR block of the subnet. The CIDR block you specify
74700	//    must exactly match the subnet's CIDR block for information to be returned
74701	//    for the subnet. You can also use cidr or cidrBlock as the filter names.
74702	//
74703	//    * default-for-az - Indicates whether this is the default subnet for the
74704	//    Availability Zone. You can also use defaultForAz as the filter name.
74705	//
74706	//    * ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR block associated
74707	//    with the subnet.
74708	//
74709	//    * ipv6-cidr-block-association.association-id - An association ID for an
74710	//    IPv6 CIDR block associated with the subnet.
74711	//
74712	//    * ipv6-cidr-block-association.state - The state of an IPv6 CIDR block
74713	//    associated with the subnet.
74714	//
74715	//    * outpost-arn - The Amazon Resource Name (ARN) of the Outpost.
74716	//
74717	//    * owner-id - The ID of the AWS account that owns the subnet.
74718	//
74719	//    * state - The state of the subnet (pending | available).
74720	//
74721	//    * subnet-arn - The Amazon Resource Name (ARN) of the subnet.
74722	//
74723	//    * subnet-id - The ID of the subnet.
74724	//
74725	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
74726	//    Use the tag key in the filter name and the tag value as the filter value.
74727	//    For example, to find all resources that have a tag with the key Owner
74728	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
74729	//    the filter value.
74730	//
74731	//    * tag-key - The key of a tag assigned to the resource. Use this filter
74732	//    to find all resources assigned a tag with a specific key, regardless of
74733	//    the tag value.
74734	//
74735	//    * vpc-id - The ID of the VPC for the subnet.
74736	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
74737
74738	// The maximum number of results to return with a single call. To retrieve the
74739	// remaining results, make another call with the returned nextToken value.
74740	MaxResults *int64 `min:"5" type:"integer"`
74741
74742	// The token for the next page of results.
74743	NextToken *string `type:"string"`
74744
74745	// One or more subnet IDs.
74746	//
74747	// Default: Describes all your subnets.
74748	SubnetIds []*string `locationName:"SubnetId" locationNameList:"SubnetId" type:"list"`
74749}
74750
74751// String returns the string representation
74752func (s DescribeSubnetsInput) String() string {
74753	return awsutil.Prettify(s)
74754}
74755
74756// GoString returns the string representation
74757func (s DescribeSubnetsInput) GoString() string {
74758	return s.String()
74759}
74760
74761// Validate inspects the fields of the type to determine if they are valid.
74762func (s *DescribeSubnetsInput) Validate() error {
74763	invalidParams := request.ErrInvalidParams{Context: "DescribeSubnetsInput"}
74764	if s.MaxResults != nil && *s.MaxResults < 5 {
74765		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
74766	}
74767
74768	if invalidParams.Len() > 0 {
74769		return invalidParams
74770	}
74771	return nil
74772}
74773
74774// SetDryRun sets the DryRun field's value.
74775func (s *DescribeSubnetsInput) SetDryRun(v bool) *DescribeSubnetsInput {
74776	s.DryRun = &v
74777	return s
74778}
74779
74780// SetFilters sets the Filters field's value.
74781func (s *DescribeSubnetsInput) SetFilters(v []*Filter) *DescribeSubnetsInput {
74782	s.Filters = v
74783	return s
74784}
74785
74786// SetMaxResults sets the MaxResults field's value.
74787func (s *DescribeSubnetsInput) SetMaxResults(v int64) *DescribeSubnetsInput {
74788	s.MaxResults = &v
74789	return s
74790}
74791
74792// SetNextToken sets the NextToken field's value.
74793func (s *DescribeSubnetsInput) SetNextToken(v string) *DescribeSubnetsInput {
74794	s.NextToken = &v
74795	return s
74796}
74797
74798// SetSubnetIds sets the SubnetIds field's value.
74799func (s *DescribeSubnetsInput) SetSubnetIds(v []*string) *DescribeSubnetsInput {
74800	s.SubnetIds = v
74801	return s
74802}
74803
74804type DescribeSubnetsOutput struct {
74805	_ struct{} `type:"structure"`
74806
74807	// The token to use to retrieve the next page of results. This value is null
74808	// when there are no more results to return.
74809	NextToken *string `locationName:"nextToken" type:"string"`
74810
74811	// Information about one or more subnets.
74812	Subnets []*Subnet `locationName:"subnetSet" locationNameList:"item" type:"list"`
74813}
74814
74815// String returns the string representation
74816func (s DescribeSubnetsOutput) String() string {
74817	return awsutil.Prettify(s)
74818}
74819
74820// GoString returns the string representation
74821func (s DescribeSubnetsOutput) GoString() string {
74822	return s.String()
74823}
74824
74825// SetNextToken sets the NextToken field's value.
74826func (s *DescribeSubnetsOutput) SetNextToken(v string) *DescribeSubnetsOutput {
74827	s.NextToken = &v
74828	return s
74829}
74830
74831// SetSubnets sets the Subnets field's value.
74832func (s *DescribeSubnetsOutput) SetSubnets(v []*Subnet) *DescribeSubnetsOutput {
74833	s.Subnets = v
74834	return s
74835}
74836
74837type DescribeTagsInput struct {
74838	_ struct{} `type:"structure"`
74839
74840	// Checks whether you have the required permissions for the action, without
74841	// actually making the request, and provides an error response. If you have
74842	// the required permissions, the error response is DryRunOperation. Otherwise,
74843	// it is UnauthorizedOperation.
74844	DryRun *bool `locationName:"dryRun" type:"boolean"`
74845
74846	// The filters.
74847	//
74848	//    * key - The tag key.
74849	//
74850	//    * resource-id - The ID of the resource.
74851	//
74852	//    * resource-type - The resource type (customer-gateway | dedicated-host
74853	//    | dhcp-options | elastic-ip | fleet | fpga-image | host-reservation |
74854	//    image | instance | internet-gateway | key-pair | launch-template | natgateway
74855	//    | network-acl | network-interface | placement-group | reserved-instances
74856	//    | route-table | security-group | snapshot | spot-instances-request | subnet
74857	//    | volume | vpc | vpc-endpoint | vpc-endpoint-service | vpc-peering-connection
74858	//    | vpn-connection | vpn-gateway).
74859	//
74860	//    * tag:<key> - The key/value combination of the tag. For example, specify
74861	//    "tag:Owner" for the filter name and "TeamA" for the filter value to find
74862	//    resources with the tag "Owner=TeamA".
74863	//
74864	//    * value - The tag value.
74865	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
74866
74867	// The maximum number of results to return in a single call. This value can
74868	// be between 5 and 1000. To retrieve the remaining results, make another call
74869	// with the returned NextToken value.
74870	MaxResults *int64 `locationName:"maxResults" type:"integer"`
74871
74872	// The token to retrieve the next page of results.
74873	NextToken *string `locationName:"nextToken" type:"string"`
74874}
74875
74876// String returns the string representation
74877func (s DescribeTagsInput) String() string {
74878	return awsutil.Prettify(s)
74879}
74880
74881// GoString returns the string representation
74882func (s DescribeTagsInput) GoString() string {
74883	return s.String()
74884}
74885
74886// SetDryRun sets the DryRun field's value.
74887func (s *DescribeTagsInput) SetDryRun(v bool) *DescribeTagsInput {
74888	s.DryRun = &v
74889	return s
74890}
74891
74892// SetFilters sets the Filters field's value.
74893func (s *DescribeTagsInput) SetFilters(v []*Filter) *DescribeTagsInput {
74894	s.Filters = v
74895	return s
74896}
74897
74898// SetMaxResults sets the MaxResults field's value.
74899func (s *DescribeTagsInput) SetMaxResults(v int64) *DescribeTagsInput {
74900	s.MaxResults = &v
74901	return s
74902}
74903
74904// SetNextToken sets the NextToken field's value.
74905func (s *DescribeTagsInput) SetNextToken(v string) *DescribeTagsInput {
74906	s.NextToken = &v
74907	return s
74908}
74909
74910type DescribeTagsOutput struct {
74911	_ struct{} `type:"structure"`
74912
74913	// The token to use to retrieve the next page of results. This value is null
74914	// when there are no more results to return.
74915	NextToken *string `locationName:"nextToken" type:"string"`
74916
74917	// The tags.
74918	Tags []*TagDescription `locationName:"tagSet" locationNameList:"item" type:"list"`
74919}
74920
74921// String returns the string representation
74922func (s DescribeTagsOutput) String() string {
74923	return awsutil.Prettify(s)
74924}
74925
74926// GoString returns the string representation
74927func (s DescribeTagsOutput) GoString() string {
74928	return s.String()
74929}
74930
74931// SetNextToken sets the NextToken field's value.
74932func (s *DescribeTagsOutput) SetNextToken(v string) *DescribeTagsOutput {
74933	s.NextToken = &v
74934	return s
74935}
74936
74937// SetTags sets the Tags field's value.
74938func (s *DescribeTagsOutput) SetTags(v []*TagDescription) *DescribeTagsOutput {
74939	s.Tags = v
74940	return s
74941}
74942
74943type DescribeTrafficMirrorFiltersInput struct {
74944	_ struct{} `type:"structure"`
74945
74946	// Checks whether you have the required permissions for the action, without
74947	// actually making the request, and provides an error response. If you have
74948	// the required permissions, the error response is DryRunOperation. Otherwise,
74949	// it is UnauthorizedOperation.
74950	DryRun *bool `type:"boolean"`
74951
74952	// One or more filters. The possible values are:
74953	//
74954	//    * description: The Traffic Mirror filter description.
74955	//
74956	//    * traffic-mirror-filter-id: The ID of the Traffic Mirror filter.
74957	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
74958
74959	// The maximum number of results to return with a single call. To retrieve the
74960	// remaining results, make another call with the returned nextToken value.
74961	MaxResults *int64 `min:"5" type:"integer"`
74962
74963	// The token for the next page of results.
74964	NextToken *string `type:"string"`
74965
74966	// The ID of the Traffic Mirror filter.
74967	TrafficMirrorFilterIds []*string `locationName:"TrafficMirrorFilterId" locationNameList:"item" type:"list"`
74968}
74969
74970// String returns the string representation
74971func (s DescribeTrafficMirrorFiltersInput) String() string {
74972	return awsutil.Prettify(s)
74973}
74974
74975// GoString returns the string representation
74976func (s DescribeTrafficMirrorFiltersInput) GoString() string {
74977	return s.String()
74978}
74979
74980// Validate inspects the fields of the type to determine if they are valid.
74981func (s *DescribeTrafficMirrorFiltersInput) Validate() error {
74982	invalidParams := request.ErrInvalidParams{Context: "DescribeTrafficMirrorFiltersInput"}
74983	if s.MaxResults != nil && *s.MaxResults < 5 {
74984		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
74985	}
74986
74987	if invalidParams.Len() > 0 {
74988		return invalidParams
74989	}
74990	return nil
74991}
74992
74993// SetDryRun sets the DryRun field's value.
74994func (s *DescribeTrafficMirrorFiltersInput) SetDryRun(v bool) *DescribeTrafficMirrorFiltersInput {
74995	s.DryRun = &v
74996	return s
74997}
74998
74999// SetFilters sets the Filters field's value.
75000func (s *DescribeTrafficMirrorFiltersInput) SetFilters(v []*Filter) *DescribeTrafficMirrorFiltersInput {
75001	s.Filters = v
75002	return s
75003}
75004
75005// SetMaxResults sets the MaxResults field's value.
75006func (s *DescribeTrafficMirrorFiltersInput) SetMaxResults(v int64) *DescribeTrafficMirrorFiltersInput {
75007	s.MaxResults = &v
75008	return s
75009}
75010
75011// SetNextToken sets the NextToken field's value.
75012func (s *DescribeTrafficMirrorFiltersInput) SetNextToken(v string) *DescribeTrafficMirrorFiltersInput {
75013	s.NextToken = &v
75014	return s
75015}
75016
75017// SetTrafficMirrorFilterIds sets the TrafficMirrorFilterIds field's value.
75018func (s *DescribeTrafficMirrorFiltersInput) SetTrafficMirrorFilterIds(v []*string) *DescribeTrafficMirrorFiltersInput {
75019	s.TrafficMirrorFilterIds = v
75020	return s
75021}
75022
75023type DescribeTrafficMirrorFiltersOutput struct {
75024	_ struct{} `type:"structure"`
75025
75026	// The token to use to retrieve the next page of results. The value is null
75027	// when there are no more results to return.
75028	NextToken *string `locationName:"nextToken" type:"string"`
75029
75030	// Information about one or more Traffic Mirror filters.
75031	TrafficMirrorFilters []*TrafficMirrorFilter `locationName:"trafficMirrorFilterSet" locationNameList:"item" type:"list"`
75032}
75033
75034// String returns the string representation
75035func (s DescribeTrafficMirrorFiltersOutput) String() string {
75036	return awsutil.Prettify(s)
75037}
75038
75039// GoString returns the string representation
75040func (s DescribeTrafficMirrorFiltersOutput) GoString() string {
75041	return s.String()
75042}
75043
75044// SetNextToken sets the NextToken field's value.
75045func (s *DescribeTrafficMirrorFiltersOutput) SetNextToken(v string) *DescribeTrafficMirrorFiltersOutput {
75046	s.NextToken = &v
75047	return s
75048}
75049
75050// SetTrafficMirrorFilters sets the TrafficMirrorFilters field's value.
75051func (s *DescribeTrafficMirrorFiltersOutput) SetTrafficMirrorFilters(v []*TrafficMirrorFilter) *DescribeTrafficMirrorFiltersOutput {
75052	s.TrafficMirrorFilters = v
75053	return s
75054}
75055
75056type DescribeTrafficMirrorSessionsInput struct {
75057	_ struct{} `type:"structure"`
75058
75059	// Checks whether you have the required permissions for the action, without
75060	// actually making the request, and provides an error response. If you have
75061	// the required permissions, the error response is DryRunOperation. Otherwise,
75062	// it is UnauthorizedOperation.
75063	DryRun *bool `type:"boolean"`
75064
75065	// One or more filters. The possible values are:
75066	//
75067	//    * description: The Traffic Mirror session description.
75068	//
75069	//    * network-interface-id: The ID of the Traffic Mirror session network interface.
75070	//
75071	//    * owner-id: The ID of the account that owns the Traffic Mirror session.
75072	//
75073	//    * packet-length: The assigned number of packets to mirror.
75074	//
75075	//    * session-number: The assigned session number.
75076	//
75077	//    * traffic-mirror-filter-id: The ID of the Traffic Mirror filter.
75078	//
75079	//    * traffic-mirror-session-id: The ID of the Traffic Mirror session.
75080	//
75081	//    * traffic-mirror-target-id: The ID of the Traffic Mirror target.
75082	//
75083	//    * virtual-network-id: The virtual network ID of the Traffic Mirror session.
75084	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
75085
75086	// The maximum number of results to return with a single call. To retrieve the
75087	// remaining results, make another call with the returned nextToken value.
75088	MaxResults *int64 `min:"5" type:"integer"`
75089
75090	// The token for the next page of results.
75091	NextToken *string `type:"string"`
75092
75093	// The ID of the Traffic Mirror session.
75094	TrafficMirrorSessionIds []*string `locationName:"TrafficMirrorSessionId" locationNameList:"item" type:"list"`
75095}
75096
75097// String returns the string representation
75098func (s DescribeTrafficMirrorSessionsInput) String() string {
75099	return awsutil.Prettify(s)
75100}
75101
75102// GoString returns the string representation
75103func (s DescribeTrafficMirrorSessionsInput) GoString() string {
75104	return s.String()
75105}
75106
75107// Validate inspects the fields of the type to determine if they are valid.
75108func (s *DescribeTrafficMirrorSessionsInput) Validate() error {
75109	invalidParams := request.ErrInvalidParams{Context: "DescribeTrafficMirrorSessionsInput"}
75110	if s.MaxResults != nil && *s.MaxResults < 5 {
75111		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
75112	}
75113
75114	if invalidParams.Len() > 0 {
75115		return invalidParams
75116	}
75117	return nil
75118}
75119
75120// SetDryRun sets the DryRun field's value.
75121func (s *DescribeTrafficMirrorSessionsInput) SetDryRun(v bool) *DescribeTrafficMirrorSessionsInput {
75122	s.DryRun = &v
75123	return s
75124}
75125
75126// SetFilters sets the Filters field's value.
75127func (s *DescribeTrafficMirrorSessionsInput) SetFilters(v []*Filter) *DescribeTrafficMirrorSessionsInput {
75128	s.Filters = v
75129	return s
75130}
75131
75132// SetMaxResults sets the MaxResults field's value.
75133func (s *DescribeTrafficMirrorSessionsInput) SetMaxResults(v int64) *DescribeTrafficMirrorSessionsInput {
75134	s.MaxResults = &v
75135	return s
75136}
75137
75138// SetNextToken sets the NextToken field's value.
75139func (s *DescribeTrafficMirrorSessionsInput) SetNextToken(v string) *DescribeTrafficMirrorSessionsInput {
75140	s.NextToken = &v
75141	return s
75142}
75143
75144// SetTrafficMirrorSessionIds sets the TrafficMirrorSessionIds field's value.
75145func (s *DescribeTrafficMirrorSessionsInput) SetTrafficMirrorSessionIds(v []*string) *DescribeTrafficMirrorSessionsInput {
75146	s.TrafficMirrorSessionIds = v
75147	return s
75148}
75149
75150type DescribeTrafficMirrorSessionsOutput struct {
75151	_ struct{} `type:"structure"`
75152
75153	// The token to use to retrieve the next page of results. The value is null
75154	// when there are no more results to return.
75155	NextToken *string `locationName:"nextToken" type:"string"`
75156
75157	// Describes one or more Traffic Mirror sessions. By default, all Traffic Mirror
75158	// sessions are described. Alternatively, you can filter the results.
75159	TrafficMirrorSessions []*TrafficMirrorSession `locationName:"trafficMirrorSessionSet" locationNameList:"item" type:"list"`
75160}
75161
75162// String returns the string representation
75163func (s DescribeTrafficMirrorSessionsOutput) String() string {
75164	return awsutil.Prettify(s)
75165}
75166
75167// GoString returns the string representation
75168func (s DescribeTrafficMirrorSessionsOutput) GoString() string {
75169	return s.String()
75170}
75171
75172// SetNextToken sets the NextToken field's value.
75173func (s *DescribeTrafficMirrorSessionsOutput) SetNextToken(v string) *DescribeTrafficMirrorSessionsOutput {
75174	s.NextToken = &v
75175	return s
75176}
75177
75178// SetTrafficMirrorSessions sets the TrafficMirrorSessions field's value.
75179func (s *DescribeTrafficMirrorSessionsOutput) SetTrafficMirrorSessions(v []*TrafficMirrorSession) *DescribeTrafficMirrorSessionsOutput {
75180	s.TrafficMirrorSessions = v
75181	return s
75182}
75183
75184type DescribeTrafficMirrorTargetsInput struct {
75185	_ struct{} `type:"structure"`
75186
75187	// Checks whether you have the required permissions for the action, without
75188	// actually making the request, and provides an error response. If you have
75189	// the required permissions, the error response is DryRunOperation. Otherwise,
75190	// it is UnauthorizedOperation.
75191	DryRun *bool `type:"boolean"`
75192
75193	// One or more filters. The possible values are:
75194	//
75195	//    * description: The Traffic Mirror target description.
75196	//
75197	//    * network-interface-id: The ID of the Traffic Mirror session network interface.
75198	//
75199	//    * network-load-balancer-arn: The Amazon Resource Name (ARN) of the Network
75200	//    Load Balancer that is associated with the session.
75201	//
75202	//    * owner-id: The ID of the account that owns the Traffic Mirror session.
75203	//
75204	//    * traffic-mirror-target-id: The ID of the Traffic Mirror target.
75205	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
75206
75207	// The maximum number of results to return with a single call. To retrieve the
75208	// remaining results, make another call with the returned nextToken value.
75209	MaxResults *int64 `min:"5" type:"integer"`
75210
75211	// The token for the next page of results.
75212	NextToken *string `type:"string"`
75213
75214	// The ID of the Traffic Mirror targets.
75215	TrafficMirrorTargetIds []*string `locationName:"TrafficMirrorTargetId" locationNameList:"item" type:"list"`
75216}
75217
75218// String returns the string representation
75219func (s DescribeTrafficMirrorTargetsInput) String() string {
75220	return awsutil.Prettify(s)
75221}
75222
75223// GoString returns the string representation
75224func (s DescribeTrafficMirrorTargetsInput) GoString() string {
75225	return s.String()
75226}
75227
75228// Validate inspects the fields of the type to determine if they are valid.
75229func (s *DescribeTrafficMirrorTargetsInput) Validate() error {
75230	invalidParams := request.ErrInvalidParams{Context: "DescribeTrafficMirrorTargetsInput"}
75231	if s.MaxResults != nil && *s.MaxResults < 5 {
75232		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
75233	}
75234
75235	if invalidParams.Len() > 0 {
75236		return invalidParams
75237	}
75238	return nil
75239}
75240
75241// SetDryRun sets the DryRun field's value.
75242func (s *DescribeTrafficMirrorTargetsInput) SetDryRun(v bool) *DescribeTrafficMirrorTargetsInput {
75243	s.DryRun = &v
75244	return s
75245}
75246
75247// SetFilters sets the Filters field's value.
75248func (s *DescribeTrafficMirrorTargetsInput) SetFilters(v []*Filter) *DescribeTrafficMirrorTargetsInput {
75249	s.Filters = v
75250	return s
75251}
75252
75253// SetMaxResults sets the MaxResults field's value.
75254func (s *DescribeTrafficMirrorTargetsInput) SetMaxResults(v int64) *DescribeTrafficMirrorTargetsInput {
75255	s.MaxResults = &v
75256	return s
75257}
75258
75259// SetNextToken sets the NextToken field's value.
75260func (s *DescribeTrafficMirrorTargetsInput) SetNextToken(v string) *DescribeTrafficMirrorTargetsInput {
75261	s.NextToken = &v
75262	return s
75263}
75264
75265// SetTrafficMirrorTargetIds sets the TrafficMirrorTargetIds field's value.
75266func (s *DescribeTrafficMirrorTargetsInput) SetTrafficMirrorTargetIds(v []*string) *DescribeTrafficMirrorTargetsInput {
75267	s.TrafficMirrorTargetIds = v
75268	return s
75269}
75270
75271type DescribeTrafficMirrorTargetsOutput struct {
75272	_ struct{} `type:"structure"`
75273
75274	// The token to use to retrieve the next page of results. The value is null
75275	// when there are no more results to return.
75276	NextToken *string `locationName:"nextToken" type:"string"`
75277
75278	// Information about one or more Traffic Mirror targets.
75279	TrafficMirrorTargets []*TrafficMirrorTarget `locationName:"trafficMirrorTargetSet" locationNameList:"item" type:"list"`
75280}
75281
75282// String returns the string representation
75283func (s DescribeTrafficMirrorTargetsOutput) String() string {
75284	return awsutil.Prettify(s)
75285}
75286
75287// GoString returns the string representation
75288func (s DescribeTrafficMirrorTargetsOutput) GoString() string {
75289	return s.String()
75290}
75291
75292// SetNextToken sets the NextToken field's value.
75293func (s *DescribeTrafficMirrorTargetsOutput) SetNextToken(v string) *DescribeTrafficMirrorTargetsOutput {
75294	s.NextToken = &v
75295	return s
75296}
75297
75298// SetTrafficMirrorTargets sets the TrafficMirrorTargets field's value.
75299func (s *DescribeTrafficMirrorTargetsOutput) SetTrafficMirrorTargets(v []*TrafficMirrorTarget) *DescribeTrafficMirrorTargetsOutput {
75300	s.TrafficMirrorTargets = v
75301	return s
75302}
75303
75304type DescribeTransitGatewayAttachmentsInput struct {
75305	_ struct{} `type:"structure"`
75306
75307	// Checks whether you have the required permissions for the action, without
75308	// actually making the request, and provides an error response. If you have
75309	// the required permissions, the error response is DryRunOperation. Otherwise,
75310	// it is UnauthorizedOperation.
75311	DryRun *bool `type:"boolean"`
75312
75313	// One or more filters. The possible values are:
75314	//
75315	//    * association.state - The state of the association (associating | associated
75316	//    | disassociating).
75317	//
75318	//    * association.transit-gateway-route-table-id - The ID of the route table
75319	//    for the transit gateway.
75320	//
75321	//    * resource-id - The ID of the resource.
75322	//
75323	//    * resource-owner-id - The ID of the AWS account that owns the resource.
75324	//
75325	//    * resource-type - The resource type. Valid values are vpc | vpn | direct-connect-gateway
75326	//    | peering | connect.
75327	//
75328	//    * state - The state of the attachment. Valid values are available | deleted
75329	//    | deleting | failed | failing | initiatingRequest | modifying | pendingAcceptance
75330	//    | pending | rollingBack | rejected | rejecting.
75331	//
75332	//    * transit-gateway-attachment-id - The ID of the attachment.
75333	//
75334	//    * transit-gateway-id - The ID of the transit gateway.
75335	//
75336	//    * transit-gateway-owner-id - The ID of the AWS account that owns the transit
75337	//    gateway.
75338	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
75339
75340	// The maximum number of results to return with a single call. To retrieve the
75341	// remaining results, make another call with the returned nextToken value.
75342	MaxResults *int64 `min:"5" type:"integer"`
75343
75344	// The token for the next page of results.
75345	NextToken *string `type:"string"`
75346
75347	// The IDs of the attachments.
75348	TransitGatewayAttachmentIds []*string `type:"list"`
75349}
75350
75351// String returns the string representation
75352func (s DescribeTransitGatewayAttachmentsInput) String() string {
75353	return awsutil.Prettify(s)
75354}
75355
75356// GoString returns the string representation
75357func (s DescribeTransitGatewayAttachmentsInput) GoString() string {
75358	return s.String()
75359}
75360
75361// Validate inspects the fields of the type to determine if they are valid.
75362func (s *DescribeTransitGatewayAttachmentsInput) Validate() error {
75363	invalidParams := request.ErrInvalidParams{Context: "DescribeTransitGatewayAttachmentsInput"}
75364	if s.MaxResults != nil && *s.MaxResults < 5 {
75365		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
75366	}
75367
75368	if invalidParams.Len() > 0 {
75369		return invalidParams
75370	}
75371	return nil
75372}
75373
75374// SetDryRun sets the DryRun field's value.
75375func (s *DescribeTransitGatewayAttachmentsInput) SetDryRun(v bool) *DescribeTransitGatewayAttachmentsInput {
75376	s.DryRun = &v
75377	return s
75378}
75379
75380// SetFilters sets the Filters field's value.
75381func (s *DescribeTransitGatewayAttachmentsInput) SetFilters(v []*Filter) *DescribeTransitGatewayAttachmentsInput {
75382	s.Filters = v
75383	return s
75384}
75385
75386// SetMaxResults sets the MaxResults field's value.
75387func (s *DescribeTransitGatewayAttachmentsInput) SetMaxResults(v int64) *DescribeTransitGatewayAttachmentsInput {
75388	s.MaxResults = &v
75389	return s
75390}
75391
75392// SetNextToken sets the NextToken field's value.
75393func (s *DescribeTransitGatewayAttachmentsInput) SetNextToken(v string) *DescribeTransitGatewayAttachmentsInput {
75394	s.NextToken = &v
75395	return s
75396}
75397
75398// SetTransitGatewayAttachmentIds sets the TransitGatewayAttachmentIds field's value.
75399func (s *DescribeTransitGatewayAttachmentsInput) SetTransitGatewayAttachmentIds(v []*string) *DescribeTransitGatewayAttachmentsInput {
75400	s.TransitGatewayAttachmentIds = v
75401	return s
75402}
75403
75404type DescribeTransitGatewayAttachmentsOutput struct {
75405	_ struct{} `type:"structure"`
75406
75407	// The token to use to retrieve the next page of results. This value is null
75408	// when there are no more results to return.
75409	NextToken *string `locationName:"nextToken" type:"string"`
75410
75411	// Information about the attachments.
75412	TransitGatewayAttachments []*TransitGatewayAttachment `locationName:"transitGatewayAttachments" locationNameList:"item" type:"list"`
75413}
75414
75415// String returns the string representation
75416func (s DescribeTransitGatewayAttachmentsOutput) String() string {
75417	return awsutil.Prettify(s)
75418}
75419
75420// GoString returns the string representation
75421func (s DescribeTransitGatewayAttachmentsOutput) GoString() string {
75422	return s.String()
75423}
75424
75425// SetNextToken sets the NextToken field's value.
75426func (s *DescribeTransitGatewayAttachmentsOutput) SetNextToken(v string) *DescribeTransitGatewayAttachmentsOutput {
75427	s.NextToken = &v
75428	return s
75429}
75430
75431// SetTransitGatewayAttachments sets the TransitGatewayAttachments field's value.
75432func (s *DescribeTransitGatewayAttachmentsOutput) SetTransitGatewayAttachments(v []*TransitGatewayAttachment) *DescribeTransitGatewayAttachmentsOutput {
75433	s.TransitGatewayAttachments = v
75434	return s
75435}
75436
75437type DescribeTransitGatewayConnectPeersInput struct {
75438	_ struct{} `type:"structure"`
75439
75440	// Checks whether you have the required permissions for the action, without
75441	// actually making the request, and provides an error response. If you have
75442	// the required permissions, the error response is DryRunOperation. Otherwise,
75443	// it is UnauthorizedOperation.
75444	DryRun *bool `type:"boolean"`
75445
75446	// One or more filters. The possible values are:
75447	//
75448	//    * state - The state of the Connect peer (pending | available | deleting
75449	//    | deleted).
75450	//
75451	//    * transit-gateway-attachment-id - The ID of the attachment.
75452	//
75453	//    * transit-gateway-connect-peer-id - The ID of the Connect peer.
75454	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
75455
75456	// The maximum number of results to return with a single call. To retrieve the
75457	// remaining results, make another call with the returned nextToken value.
75458	MaxResults *int64 `min:"5" type:"integer"`
75459
75460	// The token for the next page of results.
75461	NextToken *string `type:"string"`
75462
75463	// The IDs of the Connect peers.
75464	TransitGatewayConnectPeerIds []*string `locationNameList:"item" type:"list"`
75465}
75466
75467// String returns the string representation
75468func (s DescribeTransitGatewayConnectPeersInput) String() string {
75469	return awsutil.Prettify(s)
75470}
75471
75472// GoString returns the string representation
75473func (s DescribeTransitGatewayConnectPeersInput) GoString() string {
75474	return s.String()
75475}
75476
75477// Validate inspects the fields of the type to determine if they are valid.
75478func (s *DescribeTransitGatewayConnectPeersInput) Validate() error {
75479	invalidParams := request.ErrInvalidParams{Context: "DescribeTransitGatewayConnectPeersInput"}
75480	if s.MaxResults != nil && *s.MaxResults < 5 {
75481		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
75482	}
75483
75484	if invalidParams.Len() > 0 {
75485		return invalidParams
75486	}
75487	return nil
75488}
75489
75490// SetDryRun sets the DryRun field's value.
75491func (s *DescribeTransitGatewayConnectPeersInput) SetDryRun(v bool) *DescribeTransitGatewayConnectPeersInput {
75492	s.DryRun = &v
75493	return s
75494}
75495
75496// SetFilters sets the Filters field's value.
75497func (s *DescribeTransitGatewayConnectPeersInput) SetFilters(v []*Filter) *DescribeTransitGatewayConnectPeersInput {
75498	s.Filters = v
75499	return s
75500}
75501
75502// SetMaxResults sets the MaxResults field's value.
75503func (s *DescribeTransitGatewayConnectPeersInput) SetMaxResults(v int64) *DescribeTransitGatewayConnectPeersInput {
75504	s.MaxResults = &v
75505	return s
75506}
75507
75508// SetNextToken sets the NextToken field's value.
75509func (s *DescribeTransitGatewayConnectPeersInput) SetNextToken(v string) *DescribeTransitGatewayConnectPeersInput {
75510	s.NextToken = &v
75511	return s
75512}
75513
75514// SetTransitGatewayConnectPeerIds sets the TransitGatewayConnectPeerIds field's value.
75515func (s *DescribeTransitGatewayConnectPeersInput) SetTransitGatewayConnectPeerIds(v []*string) *DescribeTransitGatewayConnectPeersInput {
75516	s.TransitGatewayConnectPeerIds = v
75517	return s
75518}
75519
75520type DescribeTransitGatewayConnectPeersOutput struct {
75521	_ struct{} `type:"structure"`
75522
75523	// The token to use to retrieve the next page of results. This value is null
75524	// when there are no more results to return.
75525	NextToken *string `locationName:"nextToken" type:"string"`
75526
75527	// Information about the Connect peers.
75528	TransitGatewayConnectPeers []*TransitGatewayConnectPeer `locationName:"transitGatewayConnectPeerSet" locationNameList:"item" type:"list"`
75529}
75530
75531// String returns the string representation
75532func (s DescribeTransitGatewayConnectPeersOutput) String() string {
75533	return awsutil.Prettify(s)
75534}
75535
75536// GoString returns the string representation
75537func (s DescribeTransitGatewayConnectPeersOutput) GoString() string {
75538	return s.String()
75539}
75540
75541// SetNextToken sets the NextToken field's value.
75542func (s *DescribeTransitGatewayConnectPeersOutput) SetNextToken(v string) *DescribeTransitGatewayConnectPeersOutput {
75543	s.NextToken = &v
75544	return s
75545}
75546
75547// SetTransitGatewayConnectPeers sets the TransitGatewayConnectPeers field's value.
75548func (s *DescribeTransitGatewayConnectPeersOutput) SetTransitGatewayConnectPeers(v []*TransitGatewayConnectPeer) *DescribeTransitGatewayConnectPeersOutput {
75549	s.TransitGatewayConnectPeers = v
75550	return s
75551}
75552
75553type DescribeTransitGatewayConnectsInput struct {
75554	_ struct{} `type:"structure"`
75555
75556	// Checks whether you have the required permissions for the action, without
75557	// actually making the request, and provides an error response. If you have
75558	// the required permissions, the error response is DryRunOperation. Otherwise,
75559	// it is UnauthorizedOperation.
75560	DryRun *bool `type:"boolean"`
75561
75562	// One or more filters. The possible values are:
75563	//
75564	//    * options.protocol - The tunnel protocol (gre).
75565	//
75566	//    * state - The state of the attachment (initiating | initiatingRequest
75567	//    | pendingAcceptance | rollingBack | pending | available | modifying |
75568	//    deleting | deleted | failed | rejected | rejecting | failing).
75569	//
75570	//    * transit-gateway-attachment-id - The ID of the Connect attachment.
75571	//
75572	//    * transit-gateway-id - The ID of the transit gateway.
75573	//
75574	//    * transport-transit-gateway-attachment-id - The ID of the transit gateway
75575	//    attachment from which the Connect attachment was created.
75576	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
75577
75578	// The maximum number of results to return with a single call. To retrieve the
75579	// remaining results, make another call with the returned nextToken value.
75580	MaxResults *int64 `min:"5" type:"integer"`
75581
75582	// The token for the next page of results.
75583	NextToken *string `type:"string"`
75584
75585	// The IDs of the attachments.
75586	TransitGatewayAttachmentIds []*string `type:"list"`
75587}
75588
75589// String returns the string representation
75590func (s DescribeTransitGatewayConnectsInput) String() string {
75591	return awsutil.Prettify(s)
75592}
75593
75594// GoString returns the string representation
75595func (s DescribeTransitGatewayConnectsInput) GoString() string {
75596	return s.String()
75597}
75598
75599// Validate inspects the fields of the type to determine if they are valid.
75600func (s *DescribeTransitGatewayConnectsInput) Validate() error {
75601	invalidParams := request.ErrInvalidParams{Context: "DescribeTransitGatewayConnectsInput"}
75602	if s.MaxResults != nil && *s.MaxResults < 5 {
75603		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
75604	}
75605
75606	if invalidParams.Len() > 0 {
75607		return invalidParams
75608	}
75609	return nil
75610}
75611
75612// SetDryRun sets the DryRun field's value.
75613func (s *DescribeTransitGatewayConnectsInput) SetDryRun(v bool) *DescribeTransitGatewayConnectsInput {
75614	s.DryRun = &v
75615	return s
75616}
75617
75618// SetFilters sets the Filters field's value.
75619func (s *DescribeTransitGatewayConnectsInput) SetFilters(v []*Filter) *DescribeTransitGatewayConnectsInput {
75620	s.Filters = v
75621	return s
75622}
75623
75624// SetMaxResults sets the MaxResults field's value.
75625func (s *DescribeTransitGatewayConnectsInput) SetMaxResults(v int64) *DescribeTransitGatewayConnectsInput {
75626	s.MaxResults = &v
75627	return s
75628}
75629
75630// SetNextToken sets the NextToken field's value.
75631func (s *DescribeTransitGatewayConnectsInput) SetNextToken(v string) *DescribeTransitGatewayConnectsInput {
75632	s.NextToken = &v
75633	return s
75634}
75635
75636// SetTransitGatewayAttachmentIds sets the TransitGatewayAttachmentIds field's value.
75637func (s *DescribeTransitGatewayConnectsInput) SetTransitGatewayAttachmentIds(v []*string) *DescribeTransitGatewayConnectsInput {
75638	s.TransitGatewayAttachmentIds = v
75639	return s
75640}
75641
75642type DescribeTransitGatewayConnectsOutput struct {
75643	_ struct{} `type:"structure"`
75644
75645	// The token to use to retrieve the next page of results. This value is null
75646	// when there are no more results to return.
75647	NextToken *string `locationName:"nextToken" type:"string"`
75648
75649	// Information about the Connect attachments.
75650	TransitGatewayConnects []*TransitGatewayConnect `locationName:"transitGatewayConnectSet" locationNameList:"item" type:"list"`
75651}
75652
75653// String returns the string representation
75654func (s DescribeTransitGatewayConnectsOutput) String() string {
75655	return awsutil.Prettify(s)
75656}
75657
75658// GoString returns the string representation
75659func (s DescribeTransitGatewayConnectsOutput) GoString() string {
75660	return s.String()
75661}
75662
75663// SetNextToken sets the NextToken field's value.
75664func (s *DescribeTransitGatewayConnectsOutput) SetNextToken(v string) *DescribeTransitGatewayConnectsOutput {
75665	s.NextToken = &v
75666	return s
75667}
75668
75669// SetTransitGatewayConnects sets the TransitGatewayConnects field's value.
75670func (s *DescribeTransitGatewayConnectsOutput) SetTransitGatewayConnects(v []*TransitGatewayConnect) *DescribeTransitGatewayConnectsOutput {
75671	s.TransitGatewayConnects = v
75672	return s
75673}
75674
75675type DescribeTransitGatewayMulticastDomainsInput struct {
75676	_ struct{} `type:"structure"`
75677
75678	// Checks whether you have the required permissions for the action, without
75679	// actually making the request, and provides an error response. If you have
75680	// the required permissions, the error response is DryRunOperation. Otherwise,
75681	// it is UnauthorizedOperation.
75682	DryRun *bool `type:"boolean"`
75683
75684	// One or more filters. The possible values are:
75685	//
75686	//    * state - The state of the transit gateway multicast domain. Valid values
75687	//    are pending | available | deleting | deleted.
75688	//
75689	//    * transit-gateway-id - The ID of the transit gateway.
75690	//
75691	//    * transit-gateway-multicast-domain-id - The ID of the transit gateway
75692	//    multicast domain.
75693	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
75694
75695	// The maximum number of results to return with a single call. To retrieve the
75696	// remaining results, make another call with the returned nextToken value.
75697	MaxResults *int64 `min:"5" type:"integer"`
75698
75699	// The token for the next page of results.
75700	NextToken *string `type:"string"`
75701
75702	// The ID of the transit gateway multicast domain.
75703	TransitGatewayMulticastDomainIds []*string `locationNameList:"item" type:"list"`
75704}
75705
75706// String returns the string representation
75707func (s DescribeTransitGatewayMulticastDomainsInput) String() string {
75708	return awsutil.Prettify(s)
75709}
75710
75711// GoString returns the string representation
75712func (s DescribeTransitGatewayMulticastDomainsInput) GoString() string {
75713	return s.String()
75714}
75715
75716// Validate inspects the fields of the type to determine if they are valid.
75717func (s *DescribeTransitGatewayMulticastDomainsInput) Validate() error {
75718	invalidParams := request.ErrInvalidParams{Context: "DescribeTransitGatewayMulticastDomainsInput"}
75719	if s.MaxResults != nil && *s.MaxResults < 5 {
75720		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
75721	}
75722
75723	if invalidParams.Len() > 0 {
75724		return invalidParams
75725	}
75726	return nil
75727}
75728
75729// SetDryRun sets the DryRun field's value.
75730func (s *DescribeTransitGatewayMulticastDomainsInput) SetDryRun(v bool) *DescribeTransitGatewayMulticastDomainsInput {
75731	s.DryRun = &v
75732	return s
75733}
75734
75735// SetFilters sets the Filters field's value.
75736func (s *DescribeTransitGatewayMulticastDomainsInput) SetFilters(v []*Filter) *DescribeTransitGatewayMulticastDomainsInput {
75737	s.Filters = v
75738	return s
75739}
75740
75741// SetMaxResults sets the MaxResults field's value.
75742func (s *DescribeTransitGatewayMulticastDomainsInput) SetMaxResults(v int64) *DescribeTransitGatewayMulticastDomainsInput {
75743	s.MaxResults = &v
75744	return s
75745}
75746
75747// SetNextToken sets the NextToken field's value.
75748func (s *DescribeTransitGatewayMulticastDomainsInput) SetNextToken(v string) *DescribeTransitGatewayMulticastDomainsInput {
75749	s.NextToken = &v
75750	return s
75751}
75752
75753// SetTransitGatewayMulticastDomainIds sets the TransitGatewayMulticastDomainIds field's value.
75754func (s *DescribeTransitGatewayMulticastDomainsInput) SetTransitGatewayMulticastDomainIds(v []*string) *DescribeTransitGatewayMulticastDomainsInput {
75755	s.TransitGatewayMulticastDomainIds = v
75756	return s
75757}
75758
75759type DescribeTransitGatewayMulticastDomainsOutput struct {
75760	_ struct{} `type:"structure"`
75761
75762	// The token to use to retrieve the next page of results. This value is null
75763	// when there are no more results to return.
75764	NextToken *string `locationName:"nextToken" type:"string"`
75765
75766	// Information about the transit gateway multicast domains.
75767	TransitGatewayMulticastDomains []*TransitGatewayMulticastDomain `locationName:"transitGatewayMulticastDomains" locationNameList:"item" type:"list"`
75768}
75769
75770// String returns the string representation
75771func (s DescribeTransitGatewayMulticastDomainsOutput) String() string {
75772	return awsutil.Prettify(s)
75773}
75774
75775// GoString returns the string representation
75776func (s DescribeTransitGatewayMulticastDomainsOutput) GoString() string {
75777	return s.String()
75778}
75779
75780// SetNextToken sets the NextToken field's value.
75781func (s *DescribeTransitGatewayMulticastDomainsOutput) SetNextToken(v string) *DescribeTransitGatewayMulticastDomainsOutput {
75782	s.NextToken = &v
75783	return s
75784}
75785
75786// SetTransitGatewayMulticastDomains sets the TransitGatewayMulticastDomains field's value.
75787func (s *DescribeTransitGatewayMulticastDomainsOutput) SetTransitGatewayMulticastDomains(v []*TransitGatewayMulticastDomain) *DescribeTransitGatewayMulticastDomainsOutput {
75788	s.TransitGatewayMulticastDomains = v
75789	return s
75790}
75791
75792type DescribeTransitGatewayPeeringAttachmentsInput struct {
75793	_ struct{} `type:"structure"`
75794
75795	// Checks whether you have the required permissions for the action, without
75796	// actually making the request, and provides an error response. If you have
75797	// the required permissions, the error response is DryRunOperation. Otherwise,
75798	// it is UnauthorizedOperation.
75799	DryRun *bool `type:"boolean"`
75800
75801	// One or more filters. The possible values are:
75802	//
75803	//    * transit-gateway-attachment-id - The ID of the transit gateway attachment.
75804	//
75805	//    * local-owner-id - The ID of your AWS account.
75806	//
75807	//    * remote-owner-id - The ID of the AWS account in the remote Region that
75808	//    owns the transit gateway.
75809	//
75810	//    * state - The state of the peering attachment. Valid values are available
75811	//    | deleted | deleting | failed | failing | initiatingRequest | modifying
75812	//    | pendingAcceptance | pending | rollingBack | rejected | rejecting).
75813	//
75814	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
75815	//    Use the tag key in the filter name and the tag value as the filter value.
75816	//    For example, to find all resources that have a tag with the key Owner
75817	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
75818	//    the filter value.
75819	//
75820	//    * tag-key - The key of a tag assigned to the resource. Use this filter
75821	//    to find all resources that have a tag with a specific key, regardless
75822	//    of the tag value.
75823	//
75824	//    * transit-gateway-id - The ID of the transit gateway.
75825	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
75826
75827	// The maximum number of results to return with a single call. To retrieve the
75828	// remaining results, make another call with the returned nextToken value.
75829	MaxResults *int64 `min:"5" type:"integer"`
75830
75831	// The token for the next page of results.
75832	NextToken *string `type:"string"`
75833
75834	// One or more IDs of the transit gateway peering attachments.
75835	TransitGatewayAttachmentIds []*string `type:"list"`
75836}
75837
75838// String returns the string representation
75839func (s DescribeTransitGatewayPeeringAttachmentsInput) String() string {
75840	return awsutil.Prettify(s)
75841}
75842
75843// GoString returns the string representation
75844func (s DescribeTransitGatewayPeeringAttachmentsInput) GoString() string {
75845	return s.String()
75846}
75847
75848// Validate inspects the fields of the type to determine if they are valid.
75849func (s *DescribeTransitGatewayPeeringAttachmentsInput) Validate() error {
75850	invalidParams := request.ErrInvalidParams{Context: "DescribeTransitGatewayPeeringAttachmentsInput"}
75851	if s.MaxResults != nil && *s.MaxResults < 5 {
75852		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
75853	}
75854
75855	if invalidParams.Len() > 0 {
75856		return invalidParams
75857	}
75858	return nil
75859}
75860
75861// SetDryRun sets the DryRun field's value.
75862func (s *DescribeTransitGatewayPeeringAttachmentsInput) SetDryRun(v bool) *DescribeTransitGatewayPeeringAttachmentsInput {
75863	s.DryRun = &v
75864	return s
75865}
75866
75867// SetFilters sets the Filters field's value.
75868func (s *DescribeTransitGatewayPeeringAttachmentsInput) SetFilters(v []*Filter) *DescribeTransitGatewayPeeringAttachmentsInput {
75869	s.Filters = v
75870	return s
75871}
75872
75873// SetMaxResults sets the MaxResults field's value.
75874func (s *DescribeTransitGatewayPeeringAttachmentsInput) SetMaxResults(v int64) *DescribeTransitGatewayPeeringAttachmentsInput {
75875	s.MaxResults = &v
75876	return s
75877}
75878
75879// SetNextToken sets the NextToken field's value.
75880func (s *DescribeTransitGatewayPeeringAttachmentsInput) SetNextToken(v string) *DescribeTransitGatewayPeeringAttachmentsInput {
75881	s.NextToken = &v
75882	return s
75883}
75884
75885// SetTransitGatewayAttachmentIds sets the TransitGatewayAttachmentIds field's value.
75886func (s *DescribeTransitGatewayPeeringAttachmentsInput) SetTransitGatewayAttachmentIds(v []*string) *DescribeTransitGatewayPeeringAttachmentsInput {
75887	s.TransitGatewayAttachmentIds = v
75888	return s
75889}
75890
75891type DescribeTransitGatewayPeeringAttachmentsOutput struct {
75892	_ struct{} `type:"structure"`
75893
75894	// The token to use to retrieve the next page of results. This value is null
75895	// when there are no more results to return.
75896	NextToken *string `locationName:"nextToken" type:"string"`
75897
75898	// The transit gateway peering attachments.
75899	TransitGatewayPeeringAttachments []*TransitGatewayPeeringAttachment `locationName:"transitGatewayPeeringAttachments" locationNameList:"item" type:"list"`
75900}
75901
75902// String returns the string representation
75903func (s DescribeTransitGatewayPeeringAttachmentsOutput) String() string {
75904	return awsutil.Prettify(s)
75905}
75906
75907// GoString returns the string representation
75908func (s DescribeTransitGatewayPeeringAttachmentsOutput) GoString() string {
75909	return s.String()
75910}
75911
75912// SetNextToken sets the NextToken field's value.
75913func (s *DescribeTransitGatewayPeeringAttachmentsOutput) SetNextToken(v string) *DescribeTransitGatewayPeeringAttachmentsOutput {
75914	s.NextToken = &v
75915	return s
75916}
75917
75918// SetTransitGatewayPeeringAttachments sets the TransitGatewayPeeringAttachments field's value.
75919func (s *DescribeTransitGatewayPeeringAttachmentsOutput) SetTransitGatewayPeeringAttachments(v []*TransitGatewayPeeringAttachment) *DescribeTransitGatewayPeeringAttachmentsOutput {
75920	s.TransitGatewayPeeringAttachments = v
75921	return s
75922}
75923
75924type DescribeTransitGatewayRouteTablesInput struct {
75925	_ struct{} `type:"structure"`
75926
75927	// Checks whether you have the required permissions for the action, without
75928	// actually making the request, and provides an error response. If you have
75929	// the required permissions, the error response is DryRunOperation. Otherwise,
75930	// it is UnauthorizedOperation.
75931	DryRun *bool `type:"boolean"`
75932
75933	// One or more filters. The possible values are:
75934	//
75935	//    * default-association-route-table - Indicates whether this is the default
75936	//    association route table for the transit gateway (true | false).
75937	//
75938	//    * default-propagation-route-table - Indicates whether this is the default
75939	//    propagation route table for the transit gateway (true | false).
75940	//
75941	//    * state - The state of the route table (available | deleting | deleted
75942	//    | pending).
75943	//
75944	//    * transit-gateway-id - The ID of the transit gateway.
75945	//
75946	//    * transit-gateway-route-table-id - The ID of the transit gateway route
75947	//    table.
75948	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
75949
75950	// The maximum number of results to return with a single call. To retrieve the
75951	// remaining results, make another call with the returned nextToken value.
75952	MaxResults *int64 `min:"5" type:"integer"`
75953
75954	// The token for the next page of results.
75955	NextToken *string `type:"string"`
75956
75957	// The IDs of the transit gateway route tables.
75958	TransitGatewayRouteTableIds []*string `locationNameList:"item" type:"list"`
75959}
75960
75961// String returns the string representation
75962func (s DescribeTransitGatewayRouteTablesInput) String() string {
75963	return awsutil.Prettify(s)
75964}
75965
75966// GoString returns the string representation
75967func (s DescribeTransitGatewayRouteTablesInput) GoString() string {
75968	return s.String()
75969}
75970
75971// Validate inspects the fields of the type to determine if they are valid.
75972func (s *DescribeTransitGatewayRouteTablesInput) Validate() error {
75973	invalidParams := request.ErrInvalidParams{Context: "DescribeTransitGatewayRouteTablesInput"}
75974	if s.MaxResults != nil && *s.MaxResults < 5 {
75975		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
75976	}
75977
75978	if invalidParams.Len() > 0 {
75979		return invalidParams
75980	}
75981	return nil
75982}
75983
75984// SetDryRun sets the DryRun field's value.
75985func (s *DescribeTransitGatewayRouteTablesInput) SetDryRun(v bool) *DescribeTransitGatewayRouteTablesInput {
75986	s.DryRun = &v
75987	return s
75988}
75989
75990// SetFilters sets the Filters field's value.
75991func (s *DescribeTransitGatewayRouteTablesInput) SetFilters(v []*Filter) *DescribeTransitGatewayRouteTablesInput {
75992	s.Filters = v
75993	return s
75994}
75995
75996// SetMaxResults sets the MaxResults field's value.
75997func (s *DescribeTransitGatewayRouteTablesInput) SetMaxResults(v int64) *DescribeTransitGatewayRouteTablesInput {
75998	s.MaxResults = &v
75999	return s
76000}
76001
76002// SetNextToken sets the NextToken field's value.
76003func (s *DescribeTransitGatewayRouteTablesInput) SetNextToken(v string) *DescribeTransitGatewayRouteTablesInput {
76004	s.NextToken = &v
76005	return s
76006}
76007
76008// SetTransitGatewayRouteTableIds sets the TransitGatewayRouteTableIds field's value.
76009func (s *DescribeTransitGatewayRouteTablesInput) SetTransitGatewayRouteTableIds(v []*string) *DescribeTransitGatewayRouteTablesInput {
76010	s.TransitGatewayRouteTableIds = v
76011	return s
76012}
76013
76014type DescribeTransitGatewayRouteTablesOutput struct {
76015	_ struct{} `type:"structure"`
76016
76017	// The token to use to retrieve the next page of results. This value is null
76018	// when there are no more results to return.
76019	NextToken *string `locationName:"nextToken" type:"string"`
76020
76021	// Information about the transit gateway route tables.
76022	TransitGatewayRouteTables []*TransitGatewayRouteTable `locationName:"transitGatewayRouteTables" locationNameList:"item" type:"list"`
76023}
76024
76025// String returns the string representation
76026func (s DescribeTransitGatewayRouteTablesOutput) String() string {
76027	return awsutil.Prettify(s)
76028}
76029
76030// GoString returns the string representation
76031func (s DescribeTransitGatewayRouteTablesOutput) GoString() string {
76032	return s.String()
76033}
76034
76035// SetNextToken sets the NextToken field's value.
76036func (s *DescribeTransitGatewayRouteTablesOutput) SetNextToken(v string) *DescribeTransitGatewayRouteTablesOutput {
76037	s.NextToken = &v
76038	return s
76039}
76040
76041// SetTransitGatewayRouteTables sets the TransitGatewayRouteTables field's value.
76042func (s *DescribeTransitGatewayRouteTablesOutput) SetTransitGatewayRouteTables(v []*TransitGatewayRouteTable) *DescribeTransitGatewayRouteTablesOutput {
76043	s.TransitGatewayRouteTables = v
76044	return s
76045}
76046
76047type DescribeTransitGatewayVpcAttachmentsInput struct {
76048	_ struct{} `type:"structure"`
76049
76050	// Checks whether you have the required permissions for the action, without
76051	// actually making the request, and provides an error response. If you have
76052	// the required permissions, the error response is DryRunOperation. Otherwise,
76053	// it is UnauthorizedOperation.
76054	DryRun *bool `type:"boolean"`
76055
76056	// One or more filters. The possible values are:
76057	//
76058	//    * state - The state of the attachment. Valid values are available | deleted
76059	//    | deleting | failed | failing | initiatingRequest | modifying | pendingAcceptance
76060	//    | pending | rollingBack | rejected | rejecting.
76061	//
76062	//    * transit-gateway-attachment-id - The ID of the attachment.
76063	//
76064	//    * transit-gateway-id - The ID of the transit gateway.
76065	//
76066	//    * vpc-id - The ID of the VPC.
76067	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
76068
76069	// The maximum number of results to return with a single call. To retrieve the
76070	// remaining results, make another call with the returned nextToken value.
76071	MaxResults *int64 `min:"5" type:"integer"`
76072
76073	// The token for the next page of results.
76074	NextToken *string `type:"string"`
76075
76076	// The IDs of the attachments.
76077	TransitGatewayAttachmentIds []*string `type:"list"`
76078}
76079
76080// String returns the string representation
76081func (s DescribeTransitGatewayVpcAttachmentsInput) String() string {
76082	return awsutil.Prettify(s)
76083}
76084
76085// GoString returns the string representation
76086func (s DescribeTransitGatewayVpcAttachmentsInput) GoString() string {
76087	return s.String()
76088}
76089
76090// Validate inspects the fields of the type to determine if they are valid.
76091func (s *DescribeTransitGatewayVpcAttachmentsInput) Validate() error {
76092	invalidParams := request.ErrInvalidParams{Context: "DescribeTransitGatewayVpcAttachmentsInput"}
76093	if s.MaxResults != nil && *s.MaxResults < 5 {
76094		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
76095	}
76096
76097	if invalidParams.Len() > 0 {
76098		return invalidParams
76099	}
76100	return nil
76101}
76102
76103// SetDryRun sets the DryRun field's value.
76104func (s *DescribeTransitGatewayVpcAttachmentsInput) SetDryRun(v bool) *DescribeTransitGatewayVpcAttachmentsInput {
76105	s.DryRun = &v
76106	return s
76107}
76108
76109// SetFilters sets the Filters field's value.
76110func (s *DescribeTransitGatewayVpcAttachmentsInput) SetFilters(v []*Filter) *DescribeTransitGatewayVpcAttachmentsInput {
76111	s.Filters = v
76112	return s
76113}
76114
76115// SetMaxResults sets the MaxResults field's value.
76116func (s *DescribeTransitGatewayVpcAttachmentsInput) SetMaxResults(v int64) *DescribeTransitGatewayVpcAttachmentsInput {
76117	s.MaxResults = &v
76118	return s
76119}
76120
76121// SetNextToken sets the NextToken field's value.
76122func (s *DescribeTransitGatewayVpcAttachmentsInput) SetNextToken(v string) *DescribeTransitGatewayVpcAttachmentsInput {
76123	s.NextToken = &v
76124	return s
76125}
76126
76127// SetTransitGatewayAttachmentIds sets the TransitGatewayAttachmentIds field's value.
76128func (s *DescribeTransitGatewayVpcAttachmentsInput) SetTransitGatewayAttachmentIds(v []*string) *DescribeTransitGatewayVpcAttachmentsInput {
76129	s.TransitGatewayAttachmentIds = v
76130	return s
76131}
76132
76133type DescribeTransitGatewayVpcAttachmentsOutput struct {
76134	_ struct{} `type:"structure"`
76135
76136	// The token to use to retrieve the next page of results. This value is null
76137	// when there are no more results to return.
76138	NextToken *string `locationName:"nextToken" type:"string"`
76139
76140	// Information about the VPC attachments.
76141	TransitGatewayVpcAttachments []*TransitGatewayVpcAttachment `locationName:"transitGatewayVpcAttachments" locationNameList:"item" type:"list"`
76142}
76143
76144// String returns the string representation
76145func (s DescribeTransitGatewayVpcAttachmentsOutput) String() string {
76146	return awsutil.Prettify(s)
76147}
76148
76149// GoString returns the string representation
76150func (s DescribeTransitGatewayVpcAttachmentsOutput) GoString() string {
76151	return s.String()
76152}
76153
76154// SetNextToken sets the NextToken field's value.
76155func (s *DescribeTransitGatewayVpcAttachmentsOutput) SetNextToken(v string) *DescribeTransitGatewayVpcAttachmentsOutput {
76156	s.NextToken = &v
76157	return s
76158}
76159
76160// SetTransitGatewayVpcAttachments sets the TransitGatewayVpcAttachments field's value.
76161func (s *DescribeTransitGatewayVpcAttachmentsOutput) SetTransitGatewayVpcAttachments(v []*TransitGatewayVpcAttachment) *DescribeTransitGatewayVpcAttachmentsOutput {
76162	s.TransitGatewayVpcAttachments = v
76163	return s
76164}
76165
76166type DescribeTransitGatewaysInput struct {
76167	_ struct{} `type:"structure"`
76168
76169	// Checks whether you have the required permissions for the action, without
76170	// actually making the request, and provides an error response. If you have
76171	// the required permissions, the error response is DryRunOperation. Otherwise,
76172	// it is UnauthorizedOperation.
76173	DryRun *bool `type:"boolean"`
76174
76175	// One or more filters. The possible values are:
76176	//
76177	//    * options.propagation-default-route-table-id - The ID of the default propagation
76178	//    route table.
76179	//
76180	//    * options.amazon-side-asn - The private ASN for the Amazon side of a BGP
76181	//    session.
76182	//
76183	//    * options.association-default-route-table-id - The ID of the default association
76184	//    route table.
76185	//
76186	//    * options.auto-accept-shared-attachments - Indicates whether there is
76187	//    automatic acceptance of attachment requests (enable | disable).
76188	//
76189	//    * options.default-route-table-association - Indicates whether resource
76190	//    attachments are automatically associated with the default association
76191	//    route table (enable | disable).
76192	//
76193	//    * options.default-route-table-propagation - Indicates whether resource
76194	//    attachments automatically propagate routes to the default propagation
76195	//    route table (enable | disable).
76196	//
76197	//    * options.dns-support - Indicates whether DNS support is enabled (enable
76198	//    | disable).
76199	//
76200	//    * options.vpn-ecmp-support - Indicates whether Equal Cost Multipath Protocol
76201	//    support is enabled (enable | disable).
76202	//
76203	//    * owner-id - The ID of the AWS account that owns the transit gateway.
76204	//
76205	//    * state - The state of the transit gateway (available | deleted | deleting
76206	//    | modifying | pending).
76207	//
76208	//    * transit-gateway-id - The ID of the transit gateway.
76209	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
76210
76211	// The maximum number of results to return with a single call. To retrieve the
76212	// remaining results, make another call with the returned nextToken value.
76213	MaxResults *int64 `min:"5" type:"integer"`
76214
76215	// The token for the next page of results.
76216	NextToken *string `type:"string"`
76217
76218	// The IDs of the transit gateways.
76219	TransitGatewayIds []*string `locationNameList:"item" type:"list"`
76220}
76221
76222// String returns the string representation
76223func (s DescribeTransitGatewaysInput) String() string {
76224	return awsutil.Prettify(s)
76225}
76226
76227// GoString returns the string representation
76228func (s DescribeTransitGatewaysInput) GoString() string {
76229	return s.String()
76230}
76231
76232// Validate inspects the fields of the type to determine if they are valid.
76233func (s *DescribeTransitGatewaysInput) Validate() error {
76234	invalidParams := request.ErrInvalidParams{Context: "DescribeTransitGatewaysInput"}
76235	if s.MaxResults != nil && *s.MaxResults < 5 {
76236		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
76237	}
76238
76239	if invalidParams.Len() > 0 {
76240		return invalidParams
76241	}
76242	return nil
76243}
76244
76245// SetDryRun sets the DryRun field's value.
76246func (s *DescribeTransitGatewaysInput) SetDryRun(v bool) *DescribeTransitGatewaysInput {
76247	s.DryRun = &v
76248	return s
76249}
76250
76251// SetFilters sets the Filters field's value.
76252func (s *DescribeTransitGatewaysInput) SetFilters(v []*Filter) *DescribeTransitGatewaysInput {
76253	s.Filters = v
76254	return s
76255}
76256
76257// SetMaxResults sets the MaxResults field's value.
76258func (s *DescribeTransitGatewaysInput) SetMaxResults(v int64) *DescribeTransitGatewaysInput {
76259	s.MaxResults = &v
76260	return s
76261}
76262
76263// SetNextToken sets the NextToken field's value.
76264func (s *DescribeTransitGatewaysInput) SetNextToken(v string) *DescribeTransitGatewaysInput {
76265	s.NextToken = &v
76266	return s
76267}
76268
76269// SetTransitGatewayIds sets the TransitGatewayIds field's value.
76270func (s *DescribeTransitGatewaysInput) SetTransitGatewayIds(v []*string) *DescribeTransitGatewaysInput {
76271	s.TransitGatewayIds = v
76272	return s
76273}
76274
76275type DescribeTransitGatewaysOutput struct {
76276	_ struct{} `type:"structure"`
76277
76278	// The token to use to retrieve the next page of results. This value is null
76279	// when there are no more results to return.
76280	NextToken *string `locationName:"nextToken" type:"string"`
76281
76282	// Information about the transit gateways.
76283	TransitGateways []*TransitGateway `locationName:"transitGatewaySet" locationNameList:"item" type:"list"`
76284}
76285
76286// String returns the string representation
76287func (s DescribeTransitGatewaysOutput) String() string {
76288	return awsutil.Prettify(s)
76289}
76290
76291// GoString returns the string representation
76292func (s DescribeTransitGatewaysOutput) GoString() string {
76293	return s.String()
76294}
76295
76296// SetNextToken sets the NextToken field's value.
76297func (s *DescribeTransitGatewaysOutput) SetNextToken(v string) *DescribeTransitGatewaysOutput {
76298	s.NextToken = &v
76299	return s
76300}
76301
76302// SetTransitGateways sets the TransitGateways field's value.
76303func (s *DescribeTransitGatewaysOutput) SetTransitGateways(v []*TransitGateway) *DescribeTransitGatewaysOutput {
76304	s.TransitGateways = v
76305	return s
76306}
76307
76308type DescribeVolumeAttributeInput struct {
76309	_ struct{} `type:"structure"`
76310
76311	// The attribute of the volume. This parameter is required.
76312	//
76313	// Attribute is a required field
76314	Attribute *string `type:"string" required:"true" enum:"VolumeAttributeName"`
76315
76316	// Checks whether you have the required permissions for the action, without
76317	// actually making the request, and provides an error response. If you have
76318	// the required permissions, the error response is DryRunOperation. Otherwise,
76319	// it is UnauthorizedOperation.
76320	DryRun *bool `locationName:"dryRun" type:"boolean"`
76321
76322	// The ID of the volume.
76323	//
76324	// VolumeId is a required field
76325	VolumeId *string `type:"string" required:"true"`
76326}
76327
76328// String returns the string representation
76329func (s DescribeVolumeAttributeInput) String() string {
76330	return awsutil.Prettify(s)
76331}
76332
76333// GoString returns the string representation
76334func (s DescribeVolumeAttributeInput) GoString() string {
76335	return s.String()
76336}
76337
76338// Validate inspects the fields of the type to determine if they are valid.
76339func (s *DescribeVolumeAttributeInput) Validate() error {
76340	invalidParams := request.ErrInvalidParams{Context: "DescribeVolumeAttributeInput"}
76341	if s.Attribute == nil {
76342		invalidParams.Add(request.NewErrParamRequired("Attribute"))
76343	}
76344	if s.VolumeId == nil {
76345		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
76346	}
76347
76348	if invalidParams.Len() > 0 {
76349		return invalidParams
76350	}
76351	return nil
76352}
76353
76354// SetAttribute sets the Attribute field's value.
76355func (s *DescribeVolumeAttributeInput) SetAttribute(v string) *DescribeVolumeAttributeInput {
76356	s.Attribute = &v
76357	return s
76358}
76359
76360// SetDryRun sets the DryRun field's value.
76361func (s *DescribeVolumeAttributeInput) SetDryRun(v bool) *DescribeVolumeAttributeInput {
76362	s.DryRun = &v
76363	return s
76364}
76365
76366// SetVolumeId sets the VolumeId field's value.
76367func (s *DescribeVolumeAttributeInput) SetVolumeId(v string) *DescribeVolumeAttributeInput {
76368	s.VolumeId = &v
76369	return s
76370}
76371
76372type DescribeVolumeAttributeOutput struct {
76373	_ struct{} `type:"structure"`
76374
76375	// The state of autoEnableIO attribute.
76376	AutoEnableIO *AttributeBooleanValue `locationName:"autoEnableIO" type:"structure"`
76377
76378	// A list of product codes.
76379	ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
76380
76381	// The ID of the volume.
76382	VolumeId *string `locationName:"volumeId" type:"string"`
76383}
76384
76385// String returns the string representation
76386func (s DescribeVolumeAttributeOutput) String() string {
76387	return awsutil.Prettify(s)
76388}
76389
76390// GoString returns the string representation
76391func (s DescribeVolumeAttributeOutput) GoString() string {
76392	return s.String()
76393}
76394
76395// SetAutoEnableIO sets the AutoEnableIO field's value.
76396func (s *DescribeVolumeAttributeOutput) SetAutoEnableIO(v *AttributeBooleanValue) *DescribeVolumeAttributeOutput {
76397	s.AutoEnableIO = v
76398	return s
76399}
76400
76401// SetProductCodes sets the ProductCodes field's value.
76402func (s *DescribeVolumeAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeVolumeAttributeOutput {
76403	s.ProductCodes = v
76404	return s
76405}
76406
76407// SetVolumeId sets the VolumeId field's value.
76408func (s *DescribeVolumeAttributeOutput) SetVolumeId(v string) *DescribeVolumeAttributeOutput {
76409	s.VolumeId = &v
76410	return s
76411}
76412
76413type DescribeVolumeStatusInput struct {
76414	_ struct{} `type:"structure"`
76415
76416	// Checks whether you have the required permissions for the action, without
76417	// actually making the request, and provides an error response. If you have
76418	// the required permissions, the error response is DryRunOperation. Otherwise,
76419	// it is UnauthorizedOperation.
76420	DryRun *bool `locationName:"dryRun" type:"boolean"`
76421
76422	// The filters.
76423	//
76424	//    * action.code - The action code for the event (for example, enable-volume-io).
76425	//
76426	//    * action.description - A description of the action.
76427	//
76428	//    * action.event-id - The event ID associated with the action.
76429	//
76430	//    * availability-zone - The Availability Zone of the instance.
76431	//
76432	//    * event.description - A description of the event.
76433	//
76434	//    * event.event-id - The event ID.
76435	//
76436	//    * event.event-type - The event type (for io-enabled: passed | failed;
76437	//    for io-performance: io-performance:degraded | io-performance:severely-degraded
76438	//    | io-performance:stalled).
76439	//
76440	//    * event.not-after - The latest end time for the event.
76441	//
76442	//    * event.not-before - The earliest start time for the event.
76443	//
76444	//    * volume-status.details-name - The cause for volume-status.status (io-enabled
76445	//    | io-performance).
76446	//
76447	//    * volume-status.details-status - The status of volume-status.details-name
76448	//    (for io-enabled: passed | failed; for io-performance: normal | degraded
76449	//    | severely-degraded | stalled).
76450	//
76451	//    * volume-status.status - The status of the volume (ok | impaired | warning
76452	//    | insufficient-data).
76453	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
76454
76455	// The maximum number of volume results returned by DescribeVolumeStatus in
76456	// paginated output. When this parameter is used, the request only returns MaxResults
76457	// results in a single page along with a NextToken response element. The remaining
76458	// results of the initial request can be seen by sending another request with
76459	// the returned NextToken value. This value can be between 5 and 1,000; if MaxResults
76460	// is given a value larger than 1,000, only 1,000 results are returned. If this
76461	// parameter is not used, then DescribeVolumeStatus returns all results. You
76462	// cannot specify this parameter and the volume IDs parameter in the same request.
76463	MaxResults *int64 `type:"integer"`
76464
76465	// The NextToken value to include in a future DescribeVolumeStatus request.
76466	// When the results of the request exceed MaxResults, this value can be used
76467	// to retrieve the next page of results. This value is null when there are no
76468	// more results to return.
76469	NextToken *string `type:"string"`
76470
76471	// The IDs of the volumes.
76472	//
76473	// Default: Describes all your volumes.
76474	VolumeIds []*string `locationName:"VolumeId" locationNameList:"VolumeId" type:"list"`
76475}
76476
76477// String returns the string representation
76478func (s DescribeVolumeStatusInput) String() string {
76479	return awsutil.Prettify(s)
76480}
76481
76482// GoString returns the string representation
76483func (s DescribeVolumeStatusInput) GoString() string {
76484	return s.String()
76485}
76486
76487// SetDryRun sets the DryRun field's value.
76488func (s *DescribeVolumeStatusInput) SetDryRun(v bool) *DescribeVolumeStatusInput {
76489	s.DryRun = &v
76490	return s
76491}
76492
76493// SetFilters sets the Filters field's value.
76494func (s *DescribeVolumeStatusInput) SetFilters(v []*Filter) *DescribeVolumeStatusInput {
76495	s.Filters = v
76496	return s
76497}
76498
76499// SetMaxResults sets the MaxResults field's value.
76500func (s *DescribeVolumeStatusInput) SetMaxResults(v int64) *DescribeVolumeStatusInput {
76501	s.MaxResults = &v
76502	return s
76503}
76504
76505// SetNextToken sets the NextToken field's value.
76506func (s *DescribeVolumeStatusInput) SetNextToken(v string) *DescribeVolumeStatusInput {
76507	s.NextToken = &v
76508	return s
76509}
76510
76511// SetVolumeIds sets the VolumeIds field's value.
76512func (s *DescribeVolumeStatusInput) SetVolumeIds(v []*string) *DescribeVolumeStatusInput {
76513	s.VolumeIds = v
76514	return s
76515}
76516
76517type DescribeVolumeStatusOutput struct {
76518	_ struct{} `type:"structure"`
76519
76520	// The token to use to retrieve the next page of results. This value is null
76521	// when there are no more results to return.
76522	NextToken *string `locationName:"nextToken" type:"string"`
76523
76524	// Information about the status of the volumes.
76525	VolumeStatuses []*VolumeStatusItem `locationName:"volumeStatusSet" locationNameList:"item" type:"list"`
76526}
76527
76528// String returns the string representation
76529func (s DescribeVolumeStatusOutput) String() string {
76530	return awsutil.Prettify(s)
76531}
76532
76533// GoString returns the string representation
76534func (s DescribeVolumeStatusOutput) GoString() string {
76535	return s.String()
76536}
76537
76538// SetNextToken sets the NextToken field's value.
76539func (s *DescribeVolumeStatusOutput) SetNextToken(v string) *DescribeVolumeStatusOutput {
76540	s.NextToken = &v
76541	return s
76542}
76543
76544// SetVolumeStatuses sets the VolumeStatuses field's value.
76545func (s *DescribeVolumeStatusOutput) SetVolumeStatuses(v []*VolumeStatusItem) *DescribeVolumeStatusOutput {
76546	s.VolumeStatuses = v
76547	return s
76548}
76549
76550type DescribeVolumesInput struct {
76551	_ struct{} `type:"structure"`
76552
76553	// Checks whether you have the required permissions for the action, without
76554	// actually making the request, and provides an error response. If you have
76555	// the required permissions, the error response is DryRunOperation. Otherwise,
76556	// it is UnauthorizedOperation.
76557	DryRun *bool `locationName:"dryRun" type:"boolean"`
76558
76559	// The filters.
76560	//
76561	//    * attachment.attach-time - The time stamp when the attachment initiated.
76562	//
76563	//    * attachment.delete-on-termination - Whether the volume is deleted on
76564	//    instance termination.
76565	//
76566	//    * attachment.device - The device name specified in the block device mapping
76567	//    (for example, /dev/sda1).
76568	//
76569	//    * attachment.instance-id - The ID of the instance the volume is attached
76570	//    to.
76571	//
76572	//    * attachment.status - The attachment state (attaching | attached | detaching).
76573	//
76574	//    * availability-zone - The Availability Zone in which the volume was created.
76575	//
76576	//    * create-time - The time stamp when the volume was created.
76577	//
76578	//    * encrypted - Indicates whether the volume is encrypted (true | false)
76579	//
76580	//    * multi-attach-enabled - Indicates whether the volume is enabled for Multi-Attach
76581	//    (true | false)
76582	//
76583	//    * fast-restored - Indicates whether the volume was created from a snapshot
76584	//    that is enabled for fast snapshot restore (true | false).
76585	//
76586	//    * size - The size of the volume, in GiB.
76587	//
76588	//    * snapshot-id - The snapshot from which the volume was created.
76589	//
76590	//    * status - The state of the volume (creating | available | in-use | deleting
76591	//    | deleted | error).
76592	//
76593	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
76594	//    Use the tag key in the filter name and the tag value as the filter value.
76595	//    For example, to find all resources that have a tag with the key Owner
76596	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
76597	//    the filter value.
76598	//
76599	//    * tag-key - The key of a tag assigned to the resource. Use this filter
76600	//    to find all resources assigned a tag with a specific key, regardless of
76601	//    the tag value.
76602	//
76603	//    * volume-id - The volume ID.
76604	//
76605	//    * volume-type - The Amazon EBS volume type (gp2 | gp3 | io1 | io2 | st1
76606	//    | sc1| standard)
76607	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
76608
76609	// The maximum number of volume results returned by DescribeVolumes in paginated
76610	// output. When this parameter is used, DescribeVolumes only returns MaxResults
76611	// results in a single page along with a NextToken response element. The remaining
76612	// results of the initial request can be seen by sending another DescribeVolumes
76613	// request with the returned NextToken value. This value can be between 5 and
76614	// 500; if MaxResults is given a value larger than 500, only 500 results are
76615	// returned. If this parameter is not used, then DescribeVolumes returns all
76616	// results. You cannot specify this parameter and the volume IDs parameter in
76617	// the same request.
76618	MaxResults *int64 `locationName:"maxResults" type:"integer"`
76619
76620	// The NextToken value returned from a previous paginated DescribeVolumes request
76621	// where MaxResults was used and the results exceeded the value of that parameter.
76622	// Pagination continues from the end of the previous results that returned the
76623	// NextToken value. This value is null when there are no more results to return.
76624	NextToken *string `locationName:"nextToken" type:"string"`
76625
76626	// The volume IDs.
76627	VolumeIds []*string `locationName:"VolumeId" locationNameList:"VolumeId" type:"list"`
76628}
76629
76630// String returns the string representation
76631func (s DescribeVolumesInput) String() string {
76632	return awsutil.Prettify(s)
76633}
76634
76635// GoString returns the string representation
76636func (s DescribeVolumesInput) GoString() string {
76637	return s.String()
76638}
76639
76640// SetDryRun sets the DryRun field's value.
76641func (s *DescribeVolumesInput) SetDryRun(v bool) *DescribeVolumesInput {
76642	s.DryRun = &v
76643	return s
76644}
76645
76646// SetFilters sets the Filters field's value.
76647func (s *DescribeVolumesInput) SetFilters(v []*Filter) *DescribeVolumesInput {
76648	s.Filters = v
76649	return s
76650}
76651
76652// SetMaxResults sets the MaxResults field's value.
76653func (s *DescribeVolumesInput) SetMaxResults(v int64) *DescribeVolumesInput {
76654	s.MaxResults = &v
76655	return s
76656}
76657
76658// SetNextToken sets the NextToken field's value.
76659func (s *DescribeVolumesInput) SetNextToken(v string) *DescribeVolumesInput {
76660	s.NextToken = &v
76661	return s
76662}
76663
76664// SetVolumeIds sets the VolumeIds field's value.
76665func (s *DescribeVolumesInput) SetVolumeIds(v []*string) *DescribeVolumesInput {
76666	s.VolumeIds = v
76667	return s
76668}
76669
76670type DescribeVolumesModificationsInput struct {
76671	_ struct{} `type:"structure"`
76672
76673	// Checks whether you have the required permissions for the action, without
76674	// actually making the request, and provides an error response. If you have
76675	// the required permissions, the error response is DryRunOperation. Otherwise,
76676	// it is UnauthorizedOperation.
76677	DryRun *bool `type:"boolean"`
76678
76679	// The filters.
76680	//
76681	//    * modification-state - The current modification state (modifying | optimizing
76682	//    | completed | failed).
76683	//
76684	//    * original-iops - The original IOPS rate of the volume.
76685	//
76686	//    * original-size - The original size of the volume, in GiB.
76687	//
76688	//    * original-volume-type - The original volume type of the volume (standard
76689	//    | io1 | io2 | gp2 | sc1 | st1).
76690	//
76691	//    * originalMultiAttachEnabled - Indicates whether Multi-Attach support
76692	//    was enabled (true | false).
76693	//
76694	//    * start-time - The modification start time.
76695	//
76696	//    * target-iops - The target IOPS rate of the volume.
76697	//
76698	//    * target-size - The target size of the volume, in GiB.
76699	//
76700	//    * target-volume-type - The target volume type of the volume (standard
76701	//    | io1 | io2 | gp2 | sc1 | st1).
76702	//
76703	//    * targetMultiAttachEnabled - Indicates whether Multi-Attach support is
76704	//    to be enabled (true | false).
76705	//
76706	//    * volume-id - The ID of the volume.
76707	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
76708
76709	// The maximum number of results (up to a limit of 500) to be returned in a
76710	// paginated request.
76711	MaxResults *int64 `type:"integer"`
76712
76713	// The nextToken value returned by a previous paginated request.
76714	NextToken *string `type:"string"`
76715
76716	// The IDs of the volumes.
76717	VolumeIds []*string `locationName:"VolumeId" locationNameList:"VolumeId" type:"list"`
76718}
76719
76720// String returns the string representation
76721func (s DescribeVolumesModificationsInput) String() string {
76722	return awsutil.Prettify(s)
76723}
76724
76725// GoString returns the string representation
76726func (s DescribeVolumesModificationsInput) GoString() string {
76727	return s.String()
76728}
76729
76730// SetDryRun sets the DryRun field's value.
76731func (s *DescribeVolumesModificationsInput) SetDryRun(v bool) *DescribeVolumesModificationsInput {
76732	s.DryRun = &v
76733	return s
76734}
76735
76736// SetFilters sets the Filters field's value.
76737func (s *DescribeVolumesModificationsInput) SetFilters(v []*Filter) *DescribeVolumesModificationsInput {
76738	s.Filters = v
76739	return s
76740}
76741
76742// SetMaxResults sets the MaxResults field's value.
76743func (s *DescribeVolumesModificationsInput) SetMaxResults(v int64) *DescribeVolumesModificationsInput {
76744	s.MaxResults = &v
76745	return s
76746}
76747
76748// SetNextToken sets the NextToken field's value.
76749func (s *DescribeVolumesModificationsInput) SetNextToken(v string) *DescribeVolumesModificationsInput {
76750	s.NextToken = &v
76751	return s
76752}
76753
76754// SetVolumeIds sets the VolumeIds field's value.
76755func (s *DescribeVolumesModificationsInput) SetVolumeIds(v []*string) *DescribeVolumesModificationsInput {
76756	s.VolumeIds = v
76757	return s
76758}
76759
76760type DescribeVolumesModificationsOutput struct {
76761	_ struct{} `type:"structure"`
76762
76763	// Token for pagination, null if there are no more results
76764	NextToken *string `locationName:"nextToken" type:"string"`
76765
76766	// Information about the volume modifications.
76767	VolumesModifications []*VolumeModification `locationName:"volumeModificationSet" locationNameList:"item" type:"list"`
76768}
76769
76770// String returns the string representation
76771func (s DescribeVolumesModificationsOutput) String() string {
76772	return awsutil.Prettify(s)
76773}
76774
76775// GoString returns the string representation
76776func (s DescribeVolumesModificationsOutput) GoString() string {
76777	return s.String()
76778}
76779
76780// SetNextToken sets the NextToken field's value.
76781func (s *DescribeVolumesModificationsOutput) SetNextToken(v string) *DescribeVolumesModificationsOutput {
76782	s.NextToken = &v
76783	return s
76784}
76785
76786// SetVolumesModifications sets the VolumesModifications field's value.
76787func (s *DescribeVolumesModificationsOutput) SetVolumesModifications(v []*VolumeModification) *DescribeVolumesModificationsOutput {
76788	s.VolumesModifications = v
76789	return s
76790}
76791
76792type DescribeVolumesOutput struct {
76793	_ struct{} `type:"structure"`
76794
76795	// The NextToken value to include in a future DescribeVolumes request. When
76796	// the results of a DescribeVolumes request exceed MaxResults, this value can
76797	// be used to retrieve the next page of results. This value is null when there
76798	// are no more results to return.
76799	NextToken *string `locationName:"nextToken" type:"string"`
76800
76801	// Information about the volumes.
76802	Volumes []*Volume `locationName:"volumeSet" locationNameList:"item" type:"list"`
76803}
76804
76805// String returns the string representation
76806func (s DescribeVolumesOutput) String() string {
76807	return awsutil.Prettify(s)
76808}
76809
76810// GoString returns the string representation
76811func (s DescribeVolumesOutput) GoString() string {
76812	return s.String()
76813}
76814
76815// SetNextToken sets the NextToken field's value.
76816func (s *DescribeVolumesOutput) SetNextToken(v string) *DescribeVolumesOutput {
76817	s.NextToken = &v
76818	return s
76819}
76820
76821// SetVolumes sets the Volumes field's value.
76822func (s *DescribeVolumesOutput) SetVolumes(v []*Volume) *DescribeVolumesOutput {
76823	s.Volumes = v
76824	return s
76825}
76826
76827type DescribeVpcAttributeInput struct {
76828	_ struct{} `type:"structure"`
76829
76830	// The VPC attribute.
76831	//
76832	// Attribute is a required field
76833	Attribute *string `type:"string" required:"true" enum:"VpcAttributeName"`
76834
76835	// Checks whether you have the required permissions for the action, without
76836	// actually making the request, and provides an error response. If you have
76837	// the required permissions, the error response is DryRunOperation. Otherwise,
76838	// it is UnauthorizedOperation.
76839	DryRun *bool `locationName:"dryRun" type:"boolean"`
76840
76841	// The ID of the VPC.
76842	//
76843	// VpcId is a required field
76844	VpcId *string `type:"string" required:"true"`
76845}
76846
76847// String returns the string representation
76848func (s DescribeVpcAttributeInput) String() string {
76849	return awsutil.Prettify(s)
76850}
76851
76852// GoString returns the string representation
76853func (s DescribeVpcAttributeInput) GoString() string {
76854	return s.String()
76855}
76856
76857// Validate inspects the fields of the type to determine if they are valid.
76858func (s *DescribeVpcAttributeInput) Validate() error {
76859	invalidParams := request.ErrInvalidParams{Context: "DescribeVpcAttributeInput"}
76860	if s.Attribute == nil {
76861		invalidParams.Add(request.NewErrParamRequired("Attribute"))
76862	}
76863	if s.VpcId == nil {
76864		invalidParams.Add(request.NewErrParamRequired("VpcId"))
76865	}
76866
76867	if invalidParams.Len() > 0 {
76868		return invalidParams
76869	}
76870	return nil
76871}
76872
76873// SetAttribute sets the Attribute field's value.
76874func (s *DescribeVpcAttributeInput) SetAttribute(v string) *DescribeVpcAttributeInput {
76875	s.Attribute = &v
76876	return s
76877}
76878
76879// SetDryRun sets the DryRun field's value.
76880func (s *DescribeVpcAttributeInput) SetDryRun(v bool) *DescribeVpcAttributeInput {
76881	s.DryRun = &v
76882	return s
76883}
76884
76885// SetVpcId sets the VpcId field's value.
76886func (s *DescribeVpcAttributeInput) SetVpcId(v string) *DescribeVpcAttributeInput {
76887	s.VpcId = &v
76888	return s
76889}
76890
76891type DescribeVpcAttributeOutput struct {
76892	_ struct{} `type:"structure"`
76893
76894	// Indicates whether the instances launched in the VPC get DNS hostnames. If
76895	// this attribute is true, instances in the VPC get DNS hostnames; otherwise,
76896	// they do not.
76897	EnableDnsHostnames *AttributeBooleanValue `locationName:"enableDnsHostnames" type:"structure"`
76898
76899	// Indicates whether DNS resolution is enabled for the VPC. If this attribute
76900	// is true, the Amazon DNS server resolves DNS hostnames for your instances
76901	// to their corresponding IP addresses; otherwise, it does not.
76902	EnableDnsSupport *AttributeBooleanValue `locationName:"enableDnsSupport" type:"structure"`
76903
76904	// The ID of the VPC.
76905	VpcId *string `locationName:"vpcId" type:"string"`
76906}
76907
76908// String returns the string representation
76909func (s DescribeVpcAttributeOutput) String() string {
76910	return awsutil.Prettify(s)
76911}
76912
76913// GoString returns the string representation
76914func (s DescribeVpcAttributeOutput) GoString() string {
76915	return s.String()
76916}
76917
76918// SetEnableDnsHostnames sets the EnableDnsHostnames field's value.
76919func (s *DescribeVpcAttributeOutput) SetEnableDnsHostnames(v *AttributeBooleanValue) *DescribeVpcAttributeOutput {
76920	s.EnableDnsHostnames = v
76921	return s
76922}
76923
76924// SetEnableDnsSupport sets the EnableDnsSupport field's value.
76925func (s *DescribeVpcAttributeOutput) SetEnableDnsSupport(v *AttributeBooleanValue) *DescribeVpcAttributeOutput {
76926	s.EnableDnsSupport = v
76927	return s
76928}
76929
76930// SetVpcId sets the VpcId field's value.
76931func (s *DescribeVpcAttributeOutput) SetVpcId(v string) *DescribeVpcAttributeOutput {
76932	s.VpcId = &v
76933	return s
76934}
76935
76936type DescribeVpcClassicLinkDnsSupportInput struct {
76937	_ struct{} `type:"structure"`
76938
76939	// The maximum number of results to return with a single call. To retrieve the
76940	// remaining results, make another call with the returned nextToken value.
76941	MaxResults *int64 `locationName:"maxResults" min:"5" type:"integer"`
76942
76943	// The token for the next page of results.
76944	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
76945
76946	// One or more VPC IDs.
76947	VpcIds []*string `locationNameList:"VpcId" type:"list"`
76948}
76949
76950// String returns the string representation
76951func (s DescribeVpcClassicLinkDnsSupportInput) String() string {
76952	return awsutil.Prettify(s)
76953}
76954
76955// GoString returns the string representation
76956func (s DescribeVpcClassicLinkDnsSupportInput) GoString() string {
76957	return s.String()
76958}
76959
76960// Validate inspects the fields of the type to determine if they are valid.
76961func (s *DescribeVpcClassicLinkDnsSupportInput) Validate() error {
76962	invalidParams := request.ErrInvalidParams{Context: "DescribeVpcClassicLinkDnsSupportInput"}
76963	if s.MaxResults != nil && *s.MaxResults < 5 {
76964		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
76965	}
76966	if s.NextToken != nil && len(*s.NextToken) < 1 {
76967		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
76968	}
76969
76970	if invalidParams.Len() > 0 {
76971		return invalidParams
76972	}
76973	return nil
76974}
76975
76976// SetMaxResults sets the MaxResults field's value.
76977func (s *DescribeVpcClassicLinkDnsSupportInput) SetMaxResults(v int64) *DescribeVpcClassicLinkDnsSupportInput {
76978	s.MaxResults = &v
76979	return s
76980}
76981
76982// SetNextToken sets the NextToken field's value.
76983func (s *DescribeVpcClassicLinkDnsSupportInput) SetNextToken(v string) *DescribeVpcClassicLinkDnsSupportInput {
76984	s.NextToken = &v
76985	return s
76986}
76987
76988// SetVpcIds sets the VpcIds field's value.
76989func (s *DescribeVpcClassicLinkDnsSupportInput) SetVpcIds(v []*string) *DescribeVpcClassicLinkDnsSupportInput {
76990	s.VpcIds = v
76991	return s
76992}
76993
76994type DescribeVpcClassicLinkDnsSupportOutput struct {
76995	_ struct{} `type:"structure"`
76996
76997	// The token to use to retrieve the next page of results. This value is null
76998	// when there are no more results to return.
76999	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
77000
77001	// Information about the ClassicLink DNS support status of the VPCs.
77002	Vpcs []*ClassicLinkDnsSupport `locationName:"vpcs" locationNameList:"item" type:"list"`
77003}
77004
77005// String returns the string representation
77006func (s DescribeVpcClassicLinkDnsSupportOutput) String() string {
77007	return awsutil.Prettify(s)
77008}
77009
77010// GoString returns the string representation
77011func (s DescribeVpcClassicLinkDnsSupportOutput) GoString() string {
77012	return s.String()
77013}
77014
77015// SetNextToken sets the NextToken field's value.
77016func (s *DescribeVpcClassicLinkDnsSupportOutput) SetNextToken(v string) *DescribeVpcClassicLinkDnsSupportOutput {
77017	s.NextToken = &v
77018	return s
77019}
77020
77021// SetVpcs sets the Vpcs field's value.
77022func (s *DescribeVpcClassicLinkDnsSupportOutput) SetVpcs(v []*ClassicLinkDnsSupport) *DescribeVpcClassicLinkDnsSupportOutput {
77023	s.Vpcs = v
77024	return s
77025}
77026
77027type DescribeVpcClassicLinkInput struct {
77028	_ struct{} `type:"structure"`
77029
77030	// Checks whether you have the required permissions for the action, without
77031	// actually making the request, and provides an error response. If you have
77032	// the required permissions, the error response is DryRunOperation. Otherwise,
77033	// it is UnauthorizedOperation.
77034	DryRun *bool `locationName:"dryRun" type:"boolean"`
77035
77036	// One or more filters.
77037	//
77038	//    * is-classic-link-enabled - Whether the VPC is enabled for ClassicLink
77039	//    (true | false).
77040	//
77041	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
77042	//    Use the tag key in the filter name and the tag value as the filter value.
77043	//    For example, to find all resources that have a tag with the key Owner
77044	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
77045	//    the filter value.
77046	//
77047	//    * tag-key - The key of a tag assigned to the resource. Use this filter
77048	//    to find all resources assigned a tag with a specific key, regardless of
77049	//    the tag value.
77050	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
77051
77052	// One or more VPCs for which you want to describe the ClassicLink status.
77053	VpcIds []*string `locationName:"VpcId" locationNameList:"VpcId" type:"list"`
77054}
77055
77056// String returns the string representation
77057func (s DescribeVpcClassicLinkInput) String() string {
77058	return awsutil.Prettify(s)
77059}
77060
77061// GoString returns the string representation
77062func (s DescribeVpcClassicLinkInput) GoString() string {
77063	return s.String()
77064}
77065
77066// SetDryRun sets the DryRun field's value.
77067func (s *DescribeVpcClassicLinkInput) SetDryRun(v bool) *DescribeVpcClassicLinkInput {
77068	s.DryRun = &v
77069	return s
77070}
77071
77072// SetFilters sets the Filters field's value.
77073func (s *DescribeVpcClassicLinkInput) SetFilters(v []*Filter) *DescribeVpcClassicLinkInput {
77074	s.Filters = v
77075	return s
77076}
77077
77078// SetVpcIds sets the VpcIds field's value.
77079func (s *DescribeVpcClassicLinkInput) SetVpcIds(v []*string) *DescribeVpcClassicLinkInput {
77080	s.VpcIds = v
77081	return s
77082}
77083
77084type DescribeVpcClassicLinkOutput struct {
77085	_ struct{} `type:"structure"`
77086
77087	// The ClassicLink status of one or more VPCs.
77088	Vpcs []*VpcClassicLink `locationName:"vpcSet" locationNameList:"item" type:"list"`
77089}
77090
77091// String returns the string representation
77092func (s DescribeVpcClassicLinkOutput) String() string {
77093	return awsutil.Prettify(s)
77094}
77095
77096// GoString returns the string representation
77097func (s DescribeVpcClassicLinkOutput) GoString() string {
77098	return s.String()
77099}
77100
77101// SetVpcs sets the Vpcs field's value.
77102func (s *DescribeVpcClassicLinkOutput) SetVpcs(v []*VpcClassicLink) *DescribeVpcClassicLinkOutput {
77103	s.Vpcs = v
77104	return s
77105}
77106
77107type DescribeVpcEndpointConnectionNotificationsInput struct {
77108	_ struct{} `type:"structure"`
77109
77110	// The ID of the notification.
77111	ConnectionNotificationId *string `type:"string"`
77112
77113	// Checks whether you have the required permissions for the action, without
77114	// actually making the request, and provides an error response. If you have
77115	// the required permissions, the error response is DryRunOperation. Otherwise,
77116	// it is UnauthorizedOperation.
77117	DryRun *bool `type:"boolean"`
77118
77119	// One or more filters.
77120	//
77121	//    * connection-notification-arn - The ARN of the SNS topic for the notification.
77122	//
77123	//    * connection-notification-id - The ID of the notification.
77124	//
77125	//    * connection-notification-state - The state of the notification (Enabled
77126	//    | Disabled).
77127	//
77128	//    * connection-notification-type - The type of notification (Topic).
77129	//
77130	//    * service-id - The ID of the endpoint service.
77131	//
77132	//    * vpc-endpoint-id - The ID of the VPC endpoint.
77133	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
77134
77135	// The maximum number of results to return in a single call. To retrieve the
77136	// remaining results, make another request with the returned NextToken value.
77137	MaxResults *int64 `type:"integer"`
77138
77139	// The token to request the next page of results.
77140	NextToken *string `type:"string"`
77141}
77142
77143// String returns the string representation
77144func (s DescribeVpcEndpointConnectionNotificationsInput) String() string {
77145	return awsutil.Prettify(s)
77146}
77147
77148// GoString returns the string representation
77149func (s DescribeVpcEndpointConnectionNotificationsInput) GoString() string {
77150	return s.String()
77151}
77152
77153// SetConnectionNotificationId sets the ConnectionNotificationId field's value.
77154func (s *DescribeVpcEndpointConnectionNotificationsInput) SetConnectionNotificationId(v string) *DescribeVpcEndpointConnectionNotificationsInput {
77155	s.ConnectionNotificationId = &v
77156	return s
77157}
77158
77159// SetDryRun sets the DryRun field's value.
77160func (s *DescribeVpcEndpointConnectionNotificationsInput) SetDryRun(v bool) *DescribeVpcEndpointConnectionNotificationsInput {
77161	s.DryRun = &v
77162	return s
77163}
77164
77165// SetFilters sets the Filters field's value.
77166func (s *DescribeVpcEndpointConnectionNotificationsInput) SetFilters(v []*Filter) *DescribeVpcEndpointConnectionNotificationsInput {
77167	s.Filters = v
77168	return s
77169}
77170
77171// SetMaxResults sets the MaxResults field's value.
77172func (s *DescribeVpcEndpointConnectionNotificationsInput) SetMaxResults(v int64) *DescribeVpcEndpointConnectionNotificationsInput {
77173	s.MaxResults = &v
77174	return s
77175}
77176
77177// SetNextToken sets the NextToken field's value.
77178func (s *DescribeVpcEndpointConnectionNotificationsInput) SetNextToken(v string) *DescribeVpcEndpointConnectionNotificationsInput {
77179	s.NextToken = &v
77180	return s
77181}
77182
77183type DescribeVpcEndpointConnectionNotificationsOutput struct {
77184	_ struct{} `type:"structure"`
77185
77186	// One or more notifications.
77187	ConnectionNotificationSet []*ConnectionNotification `locationName:"connectionNotificationSet" locationNameList:"item" type:"list"`
77188
77189	// The token to use to retrieve the next page of results. This value is null
77190	// when there are no more results to return.
77191	NextToken *string `locationName:"nextToken" type:"string"`
77192}
77193
77194// String returns the string representation
77195func (s DescribeVpcEndpointConnectionNotificationsOutput) String() string {
77196	return awsutil.Prettify(s)
77197}
77198
77199// GoString returns the string representation
77200func (s DescribeVpcEndpointConnectionNotificationsOutput) GoString() string {
77201	return s.String()
77202}
77203
77204// SetConnectionNotificationSet sets the ConnectionNotificationSet field's value.
77205func (s *DescribeVpcEndpointConnectionNotificationsOutput) SetConnectionNotificationSet(v []*ConnectionNotification) *DescribeVpcEndpointConnectionNotificationsOutput {
77206	s.ConnectionNotificationSet = v
77207	return s
77208}
77209
77210// SetNextToken sets the NextToken field's value.
77211func (s *DescribeVpcEndpointConnectionNotificationsOutput) SetNextToken(v string) *DescribeVpcEndpointConnectionNotificationsOutput {
77212	s.NextToken = &v
77213	return s
77214}
77215
77216type DescribeVpcEndpointConnectionsInput struct {
77217	_ struct{} `type:"structure"`
77218
77219	// Checks whether you have the required permissions for the action, without
77220	// actually making the request, and provides an error response. If you have
77221	// the required permissions, the error response is DryRunOperation. Otherwise,
77222	// it is UnauthorizedOperation.
77223	DryRun *bool `type:"boolean"`
77224
77225	// One or more filters.
77226	//
77227	//    * service-id - The ID of the service.
77228	//
77229	//    * vpc-endpoint-owner - The AWS account number of the owner of the endpoint.
77230	//
77231	//    * vpc-endpoint-state - The state of the endpoint (pendingAcceptance |
77232	//    pending | available | deleting | deleted | rejected | failed).
77233	//
77234	//    * vpc-endpoint-id - The ID of the endpoint.
77235	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
77236
77237	// The maximum number of results to return for the request in a single page.
77238	// The remaining results of the initial request can be seen by sending another
77239	// request with the returned NextToken value. This value can be between 5 and
77240	// 1,000; if MaxResults is given a value larger than 1,000, only 1,000 results
77241	// are returned.
77242	MaxResults *int64 `type:"integer"`
77243
77244	// The token to retrieve the next page of results.
77245	NextToken *string `type:"string"`
77246}
77247
77248// String returns the string representation
77249func (s DescribeVpcEndpointConnectionsInput) String() string {
77250	return awsutil.Prettify(s)
77251}
77252
77253// GoString returns the string representation
77254func (s DescribeVpcEndpointConnectionsInput) GoString() string {
77255	return s.String()
77256}
77257
77258// SetDryRun sets the DryRun field's value.
77259func (s *DescribeVpcEndpointConnectionsInput) SetDryRun(v bool) *DescribeVpcEndpointConnectionsInput {
77260	s.DryRun = &v
77261	return s
77262}
77263
77264// SetFilters sets the Filters field's value.
77265func (s *DescribeVpcEndpointConnectionsInput) SetFilters(v []*Filter) *DescribeVpcEndpointConnectionsInput {
77266	s.Filters = v
77267	return s
77268}
77269
77270// SetMaxResults sets the MaxResults field's value.
77271func (s *DescribeVpcEndpointConnectionsInput) SetMaxResults(v int64) *DescribeVpcEndpointConnectionsInput {
77272	s.MaxResults = &v
77273	return s
77274}
77275
77276// SetNextToken sets the NextToken field's value.
77277func (s *DescribeVpcEndpointConnectionsInput) SetNextToken(v string) *DescribeVpcEndpointConnectionsInput {
77278	s.NextToken = &v
77279	return s
77280}
77281
77282type DescribeVpcEndpointConnectionsOutput struct {
77283	_ struct{} `type:"structure"`
77284
77285	// The token to use to retrieve the next page of results. This value is null
77286	// when there are no more results to return.
77287	NextToken *string `locationName:"nextToken" type:"string"`
77288
77289	// Information about one or more VPC endpoint connections.
77290	VpcEndpointConnections []*VpcEndpointConnection `locationName:"vpcEndpointConnectionSet" locationNameList:"item" type:"list"`
77291}
77292
77293// String returns the string representation
77294func (s DescribeVpcEndpointConnectionsOutput) String() string {
77295	return awsutil.Prettify(s)
77296}
77297
77298// GoString returns the string representation
77299func (s DescribeVpcEndpointConnectionsOutput) GoString() string {
77300	return s.String()
77301}
77302
77303// SetNextToken sets the NextToken field's value.
77304func (s *DescribeVpcEndpointConnectionsOutput) SetNextToken(v string) *DescribeVpcEndpointConnectionsOutput {
77305	s.NextToken = &v
77306	return s
77307}
77308
77309// SetVpcEndpointConnections sets the VpcEndpointConnections field's value.
77310func (s *DescribeVpcEndpointConnectionsOutput) SetVpcEndpointConnections(v []*VpcEndpointConnection) *DescribeVpcEndpointConnectionsOutput {
77311	s.VpcEndpointConnections = v
77312	return s
77313}
77314
77315type DescribeVpcEndpointServiceConfigurationsInput struct {
77316	_ struct{} `type:"structure"`
77317
77318	// Checks whether you have the required permissions for the action, without
77319	// actually making the request, and provides an error response. If you have
77320	// the required permissions, the error response is DryRunOperation. Otherwise,
77321	// it is UnauthorizedOperation.
77322	DryRun *bool `type:"boolean"`
77323
77324	// One or more filters.
77325	//
77326	//    * service-name - The name of the service.
77327	//
77328	//    * service-id - The ID of the service.
77329	//
77330	//    * service-state - The state of the service (Pending | Available | Deleting
77331	//    | Deleted | Failed).
77332	//
77333	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
77334	//    Use the tag key in the filter name and the tag value as the filter value.
77335	//    For example, to find all resources that have a tag with the key Owner
77336	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
77337	//    the filter value.
77338	//
77339	//    * tag-key - The key of a tag assigned to the resource. Use this filter
77340	//    to find all resources assigned a tag with a specific key, regardless of
77341	//    the tag value.
77342	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
77343
77344	// The maximum number of results to return for the request in a single page.
77345	// The remaining results of the initial request can be seen by sending another
77346	// request with the returned NextToken value. This value can be between 5 and
77347	// 1,000; if MaxResults is given a value larger than 1,000, only 1,000 results
77348	// are returned.
77349	MaxResults *int64 `type:"integer"`
77350
77351	// The token to retrieve the next page of results.
77352	NextToken *string `type:"string"`
77353
77354	// The IDs of one or more services.
77355	ServiceIds []*string `locationName:"ServiceId" locationNameList:"item" type:"list"`
77356}
77357
77358// String returns the string representation
77359func (s DescribeVpcEndpointServiceConfigurationsInput) String() string {
77360	return awsutil.Prettify(s)
77361}
77362
77363// GoString returns the string representation
77364func (s DescribeVpcEndpointServiceConfigurationsInput) GoString() string {
77365	return s.String()
77366}
77367
77368// SetDryRun sets the DryRun field's value.
77369func (s *DescribeVpcEndpointServiceConfigurationsInput) SetDryRun(v bool) *DescribeVpcEndpointServiceConfigurationsInput {
77370	s.DryRun = &v
77371	return s
77372}
77373
77374// SetFilters sets the Filters field's value.
77375func (s *DescribeVpcEndpointServiceConfigurationsInput) SetFilters(v []*Filter) *DescribeVpcEndpointServiceConfigurationsInput {
77376	s.Filters = v
77377	return s
77378}
77379
77380// SetMaxResults sets the MaxResults field's value.
77381func (s *DescribeVpcEndpointServiceConfigurationsInput) SetMaxResults(v int64) *DescribeVpcEndpointServiceConfigurationsInput {
77382	s.MaxResults = &v
77383	return s
77384}
77385
77386// SetNextToken sets the NextToken field's value.
77387func (s *DescribeVpcEndpointServiceConfigurationsInput) SetNextToken(v string) *DescribeVpcEndpointServiceConfigurationsInput {
77388	s.NextToken = &v
77389	return s
77390}
77391
77392// SetServiceIds sets the ServiceIds field's value.
77393func (s *DescribeVpcEndpointServiceConfigurationsInput) SetServiceIds(v []*string) *DescribeVpcEndpointServiceConfigurationsInput {
77394	s.ServiceIds = v
77395	return s
77396}
77397
77398type DescribeVpcEndpointServiceConfigurationsOutput struct {
77399	_ struct{} `type:"structure"`
77400
77401	// The token to use to retrieve the next page of results. This value is null
77402	// when there are no more results to return.
77403	NextToken *string `locationName:"nextToken" type:"string"`
77404
77405	// Information about one or more services.
77406	ServiceConfigurations []*ServiceConfiguration `locationName:"serviceConfigurationSet" locationNameList:"item" type:"list"`
77407}
77408
77409// String returns the string representation
77410func (s DescribeVpcEndpointServiceConfigurationsOutput) String() string {
77411	return awsutil.Prettify(s)
77412}
77413
77414// GoString returns the string representation
77415func (s DescribeVpcEndpointServiceConfigurationsOutput) GoString() string {
77416	return s.String()
77417}
77418
77419// SetNextToken sets the NextToken field's value.
77420func (s *DescribeVpcEndpointServiceConfigurationsOutput) SetNextToken(v string) *DescribeVpcEndpointServiceConfigurationsOutput {
77421	s.NextToken = &v
77422	return s
77423}
77424
77425// SetServiceConfigurations sets the ServiceConfigurations field's value.
77426func (s *DescribeVpcEndpointServiceConfigurationsOutput) SetServiceConfigurations(v []*ServiceConfiguration) *DescribeVpcEndpointServiceConfigurationsOutput {
77427	s.ServiceConfigurations = v
77428	return s
77429}
77430
77431type DescribeVpcEndpointServicePermissionsInput struct {
77432	_ struct{} `type:"structure"`
77433
77434	// Checks whether you have the required permissions for the action, without
77435	// actually making the request, and provides an error response. If you have
77436	// the required permissions, the error response is DryRunOperation. Otherwise,
77437	// it is UnauthorizedOperation.
77438	DryRun *bool `type:"boolean"`
77439
77440	// One or more filters.
77441	//
77442	//    * principal - The ARN of the principal.
77443	//
77444	//    * principal-type - The principal type (All | Service | OrganizationUnit
77445	//    | Account | User | Role).
77446	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
77447
77448	// The maximum number of results to return for the request in a single page.
77449	// The remaining results of the initial request can be seen by sending another
77450	// request with the returned NextToken value. This value can be between 5 and
77451	// 1,000; if MaxResults is given a value larger than 1,000, only 1,000 results
77452	// are returned.
77453	MaxResults *int64 `type:"integer"`
77454
77455	// The token to retrieve the next page of results.
77456	NextToken *string `type:"string"`
77457
77458	// The ID of the service.
77459	//
77460	// ServiceId is a required field
77461	ServiceId *string `type:"string" required:"true"`
77462}
77463
77464// String returns the string representation
77465func (s DescribeVpcEndpointServicePermissionsInput) String() string {
77466	return awsutil.Prettify(s)
77467}
77468
77469// GoString returns the string representation
77470func (s DescribeVpcEndpointServicePermissionsInput) GoString() string {
77471	return s.String()
77472}
77473
77474// Validate inspects the fields of the type to determine if they are valid.
77475func (s *DescribeVpcEndpointServicePermissionsInput) Validate() error {
77476	invalidParams := request.ErrInvalidParams{Context: "DescribeVpcEndpointServicePermissionsInput"}
77477	if s.ServiceId == nil {
77478		invalidParams.Add(request.NewErrParamRequired("ServiceId"))
77479	}
77480
77481	if invalidParams.Len() > 0 {
77482		return invalidParams
77483	}
77484	return nil
77485}
77486
77487// SetDryRun sets the DryRun field's value.
77488func (s *DescribeVpcEndpointServicePermissionsInput) SetDryRun(v bool) *DescribeVpcEndpointServicePermissionsInput {
77489	s.DryRun = &v
77490	return s
77491}
77492
77493// SetFilters sets the Filters field's value.
77494func (s *DescribeVpcEndpointServicePermissionsInput) SetFilters(v []*Filter) *DescribeVpcEndpointServicePermissionsInput {
77495	s.Filters = v
77496	return s
77497}
77498
77499// SetMaxResults sets the MaxResults field's value.
77500func (s *DescribeVpcEndpointServicePermissionsInput) SetMaxResults(v int64) *DescribeVpcEndpointServicePermissionsInput {
77501	s.MaxResults = &v
77502	return s
77503}
77504
77505// SetNextToken sets the NextToken field's value.
77506func (s *DescribeVpcEndpointServicePermissionsInput) SetNextToken(v string) *DescribeVpcEndpointServicePermissionsInput {
77507	s.NextToken = &v
77508	return s
77509}
77510
77511// SetServiceId sets the ServiceId field's value.
77512func (s *DescribeVpcEndpointServicePermissionsInput) SetServiceId(v string) *DescribeVpcEndpointServicePermissionsInput {
77513	s.ServiceId = &v
77514	return s
77515}
77516
77517type DescribeVpcEndpointServicePermissionsOutput struct {
77518	_ struct{} `type:"structure"`
77519
77520	// Information about one or more allowed principals.
77521	AllowedPrincipals []*AllowedPrincipal `locationName:"allowedPrincipals" locationNameList:"item" type:"list"`
77522
77523	// The token to use to retrieve the next page of results. This value is null
77524	// when there are no more results to return.
77525	NextToken *string `locationName:"nextToken" type:"string"`
77526}
77527
77528// String returns the string representation
77529func (s DescribeVpcEndpointServicePermissionsOutput) String() string {
77530	return awsutil.Prettify(s)
77531}
77532
77533// GoString returns the string representation
77534func (s DescribeVpcEndpointServicePermissionsOutput) GoString() string {
77535	return s.String()
77536}
77537
77538// SetAllowedPrincipals sets the AllowedPrincipals field's value.
77539func (s *DescribeVpcEndpointServicePermissionsOutput) SetAllowedPrincipals(v []*AllowedPrincipal) *DescribeVpcEndpointServicePermissionsOutput {
77540	s.AllowedPrincipals = v
77541	return s
77542}
77543
77544// SetNextToken sets the NextToken field's value.
77545func (s *DescribeVpcEndpointServicePermissionsOutput) SetNextToken(v string) *DescribeVpcEndpointServicePermissionsOutput {
77546	s.NextToken = &v
77547	return s
77548}
77549
77550// Contains the parameters for DescribeVpcEndpointServices.
77551type DescribeVpcEndpointServicesInput struct {
77552	_ struct{} `type:"structure"`
77553
77554	// Checks whether you have the required permissions for the action, without
77555	// actually making the request, and provides an error response. If you have
77556	// the required permissions, the error response is DryRunOperation. Otherwise,
77557	// it is UnauthorizedOperation.
77558	DryRun *bool `type:"boolean"`
77559
77560	// One or more filters.
77561	//
77562	//    * service-name - The name of the service.
77563	//
77564	//    * service-type - The type of service (Interface | Gateway).
77565	//
77566	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
77567	//    Use the tag key in the filter name and the tag value as the filter value.
77568	//    For example, to find all resources that have a tag with the key Owner
77569	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
77570	//    the filter value.
77571	//
77572	//    * tag-key - The key of a tag assigned to the resource. Use this filter
77573	//    to find all resources assigned a tag with a specific key, regardless of
77574	//    the tag value.
77575	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
77576
77577	// The maximum number of items to return for this request. The request returns
77578	// a token that you can specify in a subsequent call to get the next set of
77579	// results.
77580	//
77581	// Constraint: If the value is greater than 1,000, we return only 1,000 items.
77582	MaxResults *int64 `type:"integer"`
77583
77584	// The token for the next set of items to return. (You received this token from
77585	// a prior call.)
77586	NextToken *string `type:"string"`
77587
77588	// One or more service names.
77589	ServiceNames []*string `locationName:"ServiceName" locationNameList:"item" type:"list"`
77590}
77591
77592// String returns the string representation
77593func (s DescribeVpcEndpointServicesInput) String() string {
77594	return awsutil.Prettify(s)
77595}
77596
77597// GoString returns the string representation
77598func (s DescribeVpcEndpointServicesInput) GoString() string {
77599	return s.String()
77600}
77601
77602// SetDryRun sets the DryRun field's value.
77603func (s *DescribeVpcEndpointServicesInput) SetDryRun(v bool) *DescribeVpcEndpointServicesInput {
77604	s.DryRun = &v
77605	return s
77606}
77607
77608// SetFilters sets the Filters field's value.
77609func (s *DescribeVpcEndpointServicesInput) SetFilters(v []*Filter) *DescribeVpcEndpointServicesInput {
77610	s.Filters = v
77611	return s
77612}
77613
77614// SetMaxResults sets the MaxResults field's value.
77615func (s *DescribeVpcEndpointServicesInput) SetMaxResults(v int64) *DescribeVpcEndpointServicesInput {
77616	s.MaxResults = &v
77617	return s
77618}
77619
77620// SetNextToken sets the NextToken field's value.
77621func (s *DescribeVpcEndpointServicesInput) SetNextToken(v string) *DescribeVpcEndpointServicesInput {
77622	s.NextToken = &v
77623	return s
77624}
77625
77626// SetServiceNames sets the ServiceNames field's value.
77627func (s *DescribeVpcEndpointServicesInput) SetServiceNames(v []*string) *DescribeVpcEndpointServicesInput {
77628	s.ServiceNames = v
77629	return s
77630}
77631
77632// Contains the output of DescribeVpcEndpointServices.
77633type DescribeVpcEndpointServicesOutput struct {
77634	_ struct{} `type:"structure"`
77635
77636	// The token to use when requesting the next set of items. If there are no additional
77637	// items to return, the string is empty.
77638	NextToken *string `locationName:"nextToken" type:"string"`
77639
77640	// Information about the service.
77641	ServiceDetails []*ServiceDetail `locationName:"serviceDetailSet" locationNameList:"item" type:"list"`
77642
77643	// A list of supported services.
77644	ServiceNames []*string `locationName:"serviceNameSet" locationNameList:"item" type:"list"`
77645}
77646
77647// String returns the string representation
77648func (s DescribeVpcEndpointServicesOutput) String() string {
77649	return awsutil.Prettify(s)
77650}
77651
77652// GoString returns the string representation
77653func (s DescribeVpcEndpointServicesOutput) GoString() string {
77654	return s.String()
77655}
77656
77657// SetNextToken sets the NextToken field's value.
77658func (s *DescribeVpcEndpointServicesOutput) SetNextToken(v string) *DescribeVpcEndpointServicesOutput {
77659	s.NextToken = &v
77660	return s
77661}
77662
77663// SetServiceDetails sets the ServiceDetails field's value.
77664func (s *DescribeVpcEndpointServicesOutput) SetServiceDetails(v []*ServiceDetail) *DescribeVpcEndpointServicesOutput {
77665	s.ServiceDetails = v
77666	return s
77667}
77668
77669// SetServiceNames sets the ServiceNames field's value.
77670func (s *DescribeVpcEndpointServicesOutput) SetServiceNames(v []*string) *DescribeVpcEndpointServicesOutput {
77671	s.ServiceNames = v
77672	return s
77673}
77674
77675// Contains the parameters for DescribeVpcEndpoints.
77676type DescribeVpcEndpointsInput struct {
77677	_ struct{} `type:"structure"`
77678
77679	// Checks whether you have the required permissions for the action, without
77680	// actually making the request, and provides an error response. If you have
77681	// the required permissions, the error response is DryRunOperation. Otherwise,
77682	// it is UnauthorizedOperation.
77683	DryRun *bool `type:"boolean"`
77684
77685	// One or more filters.
77686	//
77687	//    * service-name - The name of the service.
77688	//
77689	//    * vpc-id - The ID of the VPC in which the endpoint resides.
77690	//
77691	//    * vpc-endpoint-id - The ID of the endpoint.
77692	//
77693	//    * vpc-endpoint-state - The state of the endpoint (pendingAcceptance |
77694	//    pending | available | deleting | deleted | rejected | failed).
77695	//
77696	//    * vpc-endpoint-type - The type of VPC endpoint (Interface | Gateway |
77697	//    GatewayLoadBalancer).
77698	//
77699	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
77700	//    Use the tag key in the filter name and the tag value as the filter value.
77701	//    For example, to find all resources that have a tag with the key Owner
77702	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
77703	//    the filter value.
77704	//
77705	//    * tag-key - The key of a tag assigned to the resource. Use this filter
77706	//    to find all resources assigned a tag with a specific key, regardless of
77707	//    the tag value.
77708	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
77709
77710	// The maximum number of items to return for this request. The request returns
77711	// a token that you can specify in a subsequent call to get the next set of
77712	// results.
77713	//
77714	// Constraint: If the value is greater than 1,000, we return only 1,000 items.
77715	MaxResults *int64 `type:"integer"`
77716
77717	// The token for the next set of items to return. (You received this token from
77718	// a prior call.)
77719	NextToken *string `type:"string"`
77720
77721	// One or more endpoint IDs.
77722	VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list"`
77723}
77724
77725// String returns the string representation
77726func (s DescribeVpcEndpointsInput) String() string {
77727	return awsutil.Prettify(s)
77728}
77729
77730// GoString returns the string representation
77731func (s DescribeVpcEndpointsInput) GoString() string {
77732	return s.String()
77733}
77734
77735// SetDryRun sets the DryRun field's value.
77736func (s *DescribeVpcEndpointsInput) SetDryRun(v bool) *DescribeVpcEndpointsInput {
77737	s.DryRun = &v
77738	return s
77739}
77740
77741// SetFilters sets the Filters field's value.
77742func (s *DescribeVpcEndpointsInput) SetFilters(v []*Filter) *DescribeVpcEndpointsInput {
77743	s.Filters = v
77744	return s
77745}
77746
77747// SetMaxResults sets the MaxResults field's value.
77748func (s *DescribeVpcEndpointsInput) SetMaxResults(v int64) *DescribeVpcEndpointsInput {
77749	s.MaxResults = &v
77750	return s
77751}
77752
77753// SetNextToken sets the NextToken field's value.
77754func (s *DescribeVpcEndpointsInput) SetNextToken(v string) *DescribeVpcEndpointsInput {
77755	s.NextToken = &v
77756	return s
77757}
77758
77759// SetVpcEndpointIds sets the VpcEndpointIds field's value.
77760func (s *DescribeVpcEndpointsInput) SetVpcEndpointIds(v []*string) *DescribeVpcEndpointsInput {
77761	s.VpcEndpointIds = v
77762	return s
77763}
77764
77765// Contains the output of DescribeVpcEndpoints.
77766type DescribeVpcEndpointsOutput struct {
77767	_ struct{} `type:"structure"`
77768
77769	// The token to use when requesting the next set of items. If there are no additional
77770	// items to return, the string is empty.
77771	NextToken *string `locationName:"nextToken" type:"string"`
77772
77773	// Information about the endpoints.
77774	VpcEndpoints []*VpcEndpoint `locationName:"vpcEndpointSet" locationNameList:"item" type:"list"`
77775}
77776
77777// String returns the string representation
77778func (s DescribeVpcEndpointsOutput) String() string {
77779	return awsutil.Prettify(s)
77780}
77781
77782// GoString returns the string representation
77783func (s DescribeVpcEndpointsOutput) GoString() string {
77784	return s.String()
77785}
77786
77787// SetNextToken sets the NextToken field's value.
77788func (s *DescribeVpcEndpointsOutput) SetNextToken(v string) *DescribeVpcEndpointsOutput {
77789	s.NextToken = &v
77790	return s
77791}
77792
77793// SetVpcEndpoints sets the VpcEndpoints field's value.
77794func (s *DescribeVpcEndpointsOutput) SetVpcEndpoints(v []*VpcEndpoint) *DescribeVpcEndpointsOutput {
77795	s.VpcEndpoints = v
77796	return s
77797}
77798
77799type DescribeVpcPeeringConnectionsInput struct {
77800	_ struct{} `type:"structure"`
77801
77802	// Checks whether you have the required permissions for the action, without
77803	// actually making the request, and provides an error response. If you have
77804	// the required permissions, the error response is DryRunOperation. Otherwise,
77805	// it is UnauthorizedOperation.
77806	DryRun *bool `locationName:"dryRun" type:"boolean"`
77807
77808	// One or more filters.
77809	//
77810	//    * accepter-vpc-info.cidr-block - The IPv4 CIDR block of the accepter VPC.
77811	//
77812	//    * accepter-vpc-info.owner-id - The AWS account ID of the owner of the
77813	//    accepter VPC.
77814	//
77815	//    * accepter-vpc-info.vpc-id - The ID of the accepter VPC.
77816	//
77817	//    * expiration-time - The expiration date and time for the VPC peering connection.
77818	//
77819	//    * requester-vpc-info.cidr-block - The IPv4 CIDR block of the requester's
77820	//    VPC.
77821	//
77822	//    * requester-vpc-info.owner-id - The AWS account ID of the owner of the
77823	//    requester VPC.
77824	//
77825	//    * requester-vpc-info.vpc-id - The ID of the requester VPC.
77826	//
77827	//    * status-code - The status of the VPC peering connection (pending-acceptance
77828	//    | failed | expired | provisioning | active | deleting | deleted | rejected).
77829	//
77830	//    * status-message - A message that provides more information about the
77831	//    status of the VPC peering connection, if applicable.
77832	//
77833	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
77834	//    Use the tag key in the filter name and the tag value as the filter value.
77835	//    For example, to find all resources that have a tag with the key Owner
77836	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
77837	//    the filter value.
77838	//
77839	//    * tag-key - The key of a tag assigned to the resource. Use this filter
77840	//    to find all resources assigned a tag with a specific key, regardless of
77841	//    the tag value.
77842	//
77843	//    * vpc-peering-connection-id - The ID of the VPC peering connection.
77844	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
77845
77846	// The maximum number of results to return with a single call. To retrieve the
77847	// remaining results, make another call with the returned nextToken value.
77848	MaxResults *int64 `min:"5" type:"integer"`
77849
77850	// The token for the next page of results.
77851	NextToken *string `type:"string"`
77852
77853	// One or more VPC peering connection IDs.
77854	//
77855	// Default: Describes all your VPC peering connections.
77856	VpcPeeringConnectionIds []*string `locationName:"VpcPeeringConnectionId" locationNameList:"item" type:"list"`
77857}
77858
77859// String returns the string representation
77860func (s DescribeVpcPeeringConnectionsInput) String() string {
77861	return awsutil.Prettify(s)
77862}
77863
77864// GoString returns the string representation
77865func (s DescribeVpcPeeringConnectionsInput) GoString() string {
77866	return s.String()
77867}
77868
77869// Validate inspects the fields of the type to determine if they are valid.
77870func (s *DescribeVpcPeeringConnectionsInput) Validate() error {
77871	invalidParams := request.ErrInvalidParams{Context: "DescribeVpcPeeringConnectionsInput"}
77872	if s.MaxResults != nil && *s.MaxResults < 5 {
77873		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
77874	}
77875
77876	if invalidParams.Len() > 0 {
77877		return invalidParams
77878	}
77879	return nil
77880}
77881
77882// SetDryRun sets the DryRun field's value.
77883func (s *DescribeVpcPeeringConnectionsInput) SetDryRun(v bool) *DescribeVpcPeeringConnectionsInput {
77884	s.DryRun = &v
77885	return s
77886}
77887
77888// SetFilters sets the Filters field's value.
77889func (s *DescribeVpcPeeringConnectionsInput) SetFilters(v []*Filter) *DescribeVpcPeeringConnectionsInput {
77890	s.Filters = v
77891	return s
77892}
77893
77894// SetMaxResults sets the MaxResults field's value.
77895func (s *DescribeVpcPeeringConnectionsInput) SetMaxResults(v int64) *DescribeVpcPeeringConnectionsInput {
77896	s.MaxResults = &v
77897	return s
77898}
77899
77900// SetNextToken sets the NextToken field's value.
77901func (s *DescribeVpcPeeringConnectionsInput) SetNextToken(v string) *DescribeVpcPeeringConnectionsInput {
77902	s.NextToken = &v
77903	return s
77904}
77905
77906// SetVpcPeeringConnectionIds sets the VpcPeeringConnectionIds field's value.
77907func (s *DescribeVpcPeeringConnectionsInput) SetVpcPeeringConnectionIds(v []*string) *DescribeVpcPeeringConnectionsInput {
77908	s.VpcPeeringConnectionIds = v
77909	return s
77910}
77911
77912type DescribeVpcPeeringConnectionsOutput struct {
77913	_ struct{} `type:"structure"`
77914
77915	// The token to use to retrieve the next page of results. This value is null
77916	// when there are no more results to return.
77917	NextToken *string `locationName:"nextToken" type:"string"`
77918
77919	// Information about the VPC peering connections.
77920	VpcPeeringConnections []*VpcPeeringConnection `locationName:"vpcPeeringConnectionSet" locationNameList:"item" type:"list"`
77921}
77922
77923// String returns the string representation
77924func (s DescribeVpcPeeringConnectionsOutput) String() string {
77925	return awsutil.Prettify(s)
77926}
77927
77928// GoString returns the string representation
77929func (s DescribeVpcPeeringConnectionsOutput) GoString() string {
77930	return s.String()
77931}
77932
77933// SetNextToken sets the NextToken field's value.
77934func (s *DescribeVpcPeeringConnectionsOutput) SetNextToken(v string) *DescribeVpcPeeringConnectionsOutput {
77935	s.NextToken = &v
77936	return s
77937}
77938
77939// SetVpcPeeringConnections sets the VpcPeeringConnections field's value.
77940func (s *DescribeVpcPeeringConnectionsOutput) SetVpcPeeringConnections(v []*VpcPeeringConnection) *DescribeVpcPeeringConnectionsOutput {
77941	s.VpcPeeringConnections = v
77942	return s
77943}
77944
77945type DescribeVpcsInput struct {
77946	_ struct{} `type:"structure"`
77947
77948	// Checks whether you have the required permissions for the action, without
77949	// actually making the request, and provides an error response. If you have
77950	// the required permissions, the error response is DryRunOperation. Otherwise,
77951	// it is UnauthorizedOperation.
77952	DryRun *bool `locationName:"dryRun" type:"boolean"`
77953
77954	// One or more filters.
77955	//
77956	//    * cidr - The primary IPv4 CIDR block of the VPC. The CIDR block you specify
77957	//    must exactly match the VPC's CIDR block for information to be returned
77958	//    for the VPC. Must contain the slash followed by one or two digits (for
77959	//    example, /28).
77960	//
77961	//    * cidr-block-association.cidr-block - An IPv4 CIDR block associated with
77962	//    the VPC.
77963	//
77964	//    * cidr-block-association.association-id - The association ID for an IPv4
77965	//    CIDR block associated with the VPC.
77966	//
77967	//    * cidr-block-association.state - The state of an IPv4 CIDR block associated
77968	//    with the VPC.
77969	//
77970	//    * dhcp-options-id - The ID of a set of DHCP options.
77971	//
77972	//    * ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR block associated
77973	//    with the VPC.
77974	//
77975	//    * ipv6-cidr-block-association.ipv6-pool - The ID of the IPv6 address pool
77976	//    from which the IPv6 CIDR block is allocated.
77977	//
77978	//    * ipv6-cidr-block-association.association-id - The association ID for
77979	//    an IPv6 CIDR block associated with the VPC.
77980	//
77981	//    * ipv6-cidr-block-association.state - The state of an IPv6 CIDR block
77982	//    associated with the VPC.
77983	//
77984	//    * isDefault - Indicates whether the VPC is the default VPC.
77985	//
77986	//    * owner-id - The ID of the AWS account that owns the VPC.
77987	//
77988	//    * state - The state of the VPC (pending | available).
77989	//
77990	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
77991	//    Use the tag key in the filter name and the tag value as the filter value.
77992	//    For example, to find all resources that have a tag with the key Owner
77993	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
77994	//    the filter value.
77995	//
77996	//    * tag-key - The key of a tag assigned to the resource. Use this filter
77997	//    to find all resources assigned a tag with a specific key, regardless of
77998	//    the tag value.
77999	//
78000	//    * vpc-id - The ID of the VPC.
78001	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
78002
78003	// The maximum number of results to return with a single call. To retrieve the
78004	// remaining results, make another call with the returned nextToken value.
78005	MaxResults *int64 `min:"5" type:"integer"`
78006
78007	// The token for the next page of results.
78008	NextToken *string `type:"string"`
78009
78010	// One or more VPC IDs.
78011	//
78012	// Default: Describes all your VPCs.
78013	VpcIds []*string `locationName:"VpcId" locationNameList:"VpcId" type:"list"`
78014}
78015
78016// String returns the string representation
78017func (s DescribeVpcsInput) String() string {
78018	return awsutil.Prettify(s)
78019}
78020
78021// GoString returns the string representation
78022func (s DescribeVpcsInput) GoString() string {
78023	return s.String()
78024}
78025
78026// Validate inspects the fields of the type to determine if they are valid.
78027func (s *DescribeVpcsInput) Validate() error {
78028	invalidParams := request.ErrInvalidParams{Context: "DescribeVpcsInput"}
78029	if s.MaxResults != nil && *s.MaxResults < 5 {
78030		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
78031	}
78032
78033	if invalidParams.Len() > 0 {
78034		return invalidParams
78035	}
78036	return nil
78037}
78038
78039// SetDryRun sets the DryRun field's value.
78040func (s *DescribeVpcsInput) SetDryRun(v bool) *DescribeVpcsInput {
78041	s.DryRun = &v
78042	return s
78043}
78044
78045// SetFilters sets the Filters field's value.
78046func (s *DescribeVpcsInput) SetFilters(v []*Filter) *DescribeVpcsInput {
78047	s.Filters = v
78048	return s
78049}
78050
78051// SetMaxResults sets the MaxResults field's value.
78052func (s *DescribeVpcsInput) SetMaxResults(v int64) *DescribeVpcsInput {
78053	s.MaxResults = &v
78054	return s
78055}
78056
78057// SetNextToken sets the NextToken field's value.
78058func (s *DescribeVpcsInput) SetNextToken(v string) *DescribeVpcsInput {
78059	s.NextToken = &v
78060	return s
78061}
78062
78063// SetVpcIds sets the VpcIds field's value.
78064func (s *DescribeVpcsInput) SetVpcIds(v []*string) *DescribeVpcsInput {
78065	s.VpcIds = v
78066	return s
78067}
78068
78069type DescribeVpcsOutput struct {
78070	_ struct{} `type:"structure"`
78071
78072	// The token to use to retrieve the next page of results. This value is null
78073	// when there are no more results to return.
78074	NextToken *string `locationName:"nextToken" type:"string"`
78075
78076	// Information about one or more VPCs.
78077	Vpcs []*Vpc `locationName:"vpcSet" locationNameList:"item" type:"list"`
78078}
78079
78080// String returns the string representation
78081func (s DescribeVpcsOutput) String() string {
78082	return awsutil.Prettify(s)
78083}
78084
78085// GoString returns the string representation
78086func (s DescribeVpcsOutput) GoString() string {
78087	return s.String()
78088}
78089
78090// SetNextToken sets the NextToken field's value.
78091func (s *DescribeVpcsOutput) SetNextToken(v string) *DescribeVpcsOutput {
78092	s.NextToken = &v
78093	return s
78094}
78095
78096// SetVpcs sets the Vpcs field's value.
78097func (s *DescribeVpcsOutput) SetVpcs(v []*Vpc) *DescribeVpcsOutput {
78098	s.Vpcs = v
78099	return s
78100}
78101
78102// Contains the parameters for DescribeVpnConnections.
78103type DescribeVpnConnectionsInput struct {
78104	_ struct{} `type:"structure"`
78105
78106	// Checks whether you have the required permissions for the action, without
78107	// actually making the request, and provides an error response. If you have
78108	// the required permissions, the error response is DryRunOperation. Otherwise,
78109	// it is UnauthorizedOperation.
78110	DryRun *bool `locationName:"dryRun" type:"boolean"`
78111
78112	// One or more filters.
78113	//
78114	//    * customer-gateway-configuration - The configuration information for the
78115	//    customer gateway.
78116	//
78117	//    * customer-gateway-id - The ID of a customer gateway associated with the
78118	//    VPN connection.
78119	//
78120	//    * state - The state of the VPN connection (pending | available | deleting
78121	//    | deleted).
78122	//
78123	//    * option.static-routes-only - Indicates whether the connection has static
78124	//    routes only. Used for devices that do not support Border Gateway Protocol
78125	//    (BGP).
78126	//
78127	//    * route.destination-cidr-block - The destination CIDR block. This corresponds
78128	//    to the subnet used in a customer data center.
78129	//
78130	//    * bgp-asn - The BGP Autonomous System Number (ASN) associated with a BGP
78131	//    device.
78132	//
78133	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
78134	//    Use the tag key in the filter name and the tag value as the filter value.
78135	//    For example, to find all resources that have a tag with the key Owner
78136	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
78137	//    the filter value.
78138	//
78139	//    * tag-key - The key of a tag assigned to the resource. Use this filter
78140	//    to find all resources assigned a tag with a specific key, regardless of
78141	//    the tag value.
78142	//
78143	//    * type - The type of VPN connection. Currently the only supported type
78144	//    is ipsec.1.
78145	//
78146	//    * vpn-connection-id - The ID of the VPN connection.
78147	//
78148	//    * vpn-gateway-id - The ID of a virtual private gateway associated with
78149	//    the VPN connection.
78150	//
78151	//    * transit-gateway-id - The ID of a transit gateway associated with the
78152	//    VPN connection.
78153	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
78154
78155	// One or more VPN connection IDs.
78156	//
78157	// Default: Describes your VPN connections.
78158	VpnConnectionIds []*string `locationName:"VpnConnectionId" locationNameList:"VpnConnectionId" type:"list"`
78159}
78160
78161// String returns the string representation
78162func (s DescribeVpnConnectionsInput) String() string {
78163	return awsutil.Prettify(s)
78164}
78165
78166// GoString returns the string representation
78167func (s DescribeVpnConnectionsInput) GoString() string {
78168	return s.String()
78169}
78170
78171// SetDryRun sets the DryRun field's value.
78172func (s *DescribeVpnConnectionsInput) SetDryRun(v bool) *DescribeVpnConnectionsInput {
78173	s.DryRun = &v
78174	return s
78175}
78176
78177// SetFilters sets the Filters field's value.
78178func (s *DescribeVpnConnectionsInput) SetFilters(v []*Filter) *DescribeVpnConnectionsInput {
78179	s.Filters = v
78180	return s
78181}
78182
78183// SetVpnConnectionIds sets the VpnConnectionIds field's value.
78184func (s *DescribeVpnConnectionsInput) SetVpnConnectionIds(v []*string) *DescribeVpnConnectionsInput {
78185	s.VpnConnectionIds = v
78186	return s
78187}
78188
78189// Contains the output of DescribeVpnConnections.
78190type DescribeVpnConnectionsOutput struct {
78191	_ struct{} `type:"structure"`
78192
78193	// Information about one or more VPN connections.
78194	VpnConnections []*VpnConnection `locationName:"vpnConnectionSet" locationNameList:"item" type:"list"`
78195}
78196
78197// String returns the string representation
78198func (s DescribeVpnConnectionsOutput) String() string {
78199	return awsutil.Prettify(s)
78200}
78201
78202// GoString returns the string representation
78203func (s DescribeVpnConnectionsOutput) GoString() string {
78204	return s.String()
78205}
78206
78207// SetVpnConnections sets the VpnConnections field's value.
78208func (s *DescribeVpnConnectionsOutput) SetVpnConnections(v []*VpnConnection) *DescribeVpnConnectionsOutput {
78209	s.VpnConnections = v
78210	return s
78211}
78212
78213// Contains the parameters for DescribeVpnGateways.
78214type DescribeVpnGatewaysInput struct {
78215	_ struct{} `type:"structure"`
78216
78217	// Checks whether you have the required permissions for the action, without
78218	// actually making the request, and provides an error response. If you have
78219	// the required permissions, the error response is DryRunOperation. Otherwise,
78220	// it is UnauthorizedOperation.
78221	DryRun *bool `locationName:"dryRun" type:"boolean"`
78222
78223	// One or more filters.
78224	//
78225	//    * amazon-side-asn - The Autonomous System Number (ASN) for the Amazon
78226	//    side of the gateway.
78227	//
78228	//    * attachment.state - The current state of the attachment between the gateway
78229	//    and the VPC (attaching | attached | detaching | detached).
78230	//
78231	//    * attachment.vpc-id - The ID of an attached VPC.
78232	//
78233	//    * availability-zone - The Availability Zone for the virtual private gateway
78234	//    (if applicable).
78235	//
78236	//    * state - The state of the virtual private gateway (pending | available
78237	//    | deleting | deleted).
78238	//
78239	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
78240	//    Use the tag key in the filter name and the tag value as the filter value.
78241	//    For example, to find all resources that have a tag with the key Owner
78242	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
78243	//    the filter value.
78244	//
78245	//    * tag-key - The key of a tag assigned to the resource. Use this filter
78246	//    to find all resources assigned a tag with a specific key, regardless of
78247	//    the tag value.
78248	//
78249	//    * type - The type of virtual private gateway. Currently the only supported
78250	//    type is ipsec.1.
78251	//
78252	//    * vpn-gateway-id - The ID of the virtual private gateway.
78253	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
78254
78255	// One or more virtual private gateway IDs.
78256	//
78257	// Default: Describes all your virtual private gateways.
78258	VpnGatewayIds []*string `locationName:"VpnGatewayId" locationNameList:"VpnGatewayId" type:"list"`
78259}
78260
78261// String returns the string representation
78262func (s DescribeVpnGatewaysInput) String() string {
78263	return awsutil.Prettify(s)
78264}
78265
78266// GoString returns the string representation
78267func (s DescribeVpnGatewaysInput) GoString() string {
78268	return s.String()
78269}
78270
78271// SetDryRun sets the DryRun field's value.
78272func (s *DescribeVpnGatewaysInput) SetDryRun(v bool) *DescribeVpnGatewaysInput {
78273	s.DryRun = &v
78274	return s
78275}
78276
78277// SetFilters sets the Filters field's value.
78278func (s *DescribeVpnGatewaysInput) SetFilters(v []*Filter) *DescribeVpnGatewaysInput {
78279	s.Filters = v
78280	return s
78281}
78282
78283// SetVpnGatewayIds sets the VpnGatewayIds field's value.
78284func (s *DescribeVpnGatewaysInput) SetVpnGatewayIds(v []*string) *DescribeVpnGatewaysInput {
78285	s.VpnGatewayIds = v
78286	return s
78287}
78288
78289// Contains the output of DescribeVpnGateways.
78290type DescribeVpnGatewaysOutput struct {
78291	_ struct{} `type:"structure"`
78292
78293	// Information about one or more virtual private gateways.
78294	VpnGateways []*VpnGateway `locationName:"vpnGatewaySet" locationNameList:"item" type:"list"`
78295}
78296
78297// String returns the string representation
78298func (s DescribeVpnGatewaysOutput) String() string {
78299	return awsutil.Prettify(s)
78300}
78301
78302// GoString returns the string representation
78303func (s DescribeVpnGatewaysOutput) GoString() string {
78304	return s.String()
78305}
78306
78307// SetVpnGateways sets the VpnGateways field's value.
78308func (s *DescribeVpnGatewaysOutput) SetVpnGateways(v []*VpnGateway) *DescribeVpnGatewaysOutput {
78309	s.VpnGateways = v
78310	return s
78311}
78312
78313type DetachClassicLinkVpcInput struct {
78314	_ struct{} `type:"structure"`
78315
78316	// Checks whether you have the required permissions for the action, without
78317	// actually making the request, and provides an error response. If you have
78318	// the required permissions, the error response is DryRunOperation. Otherwise,
78319	// it is UnauthorizedOperation.
78320	DryRun *bool `locationName:"dryRun" type:"boolean"`
78321
78322	// The ID of the instance to unlink from the VPC.
78323	//
78324	// InstanceId is a required field
78325	InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
78326
78327	// The ID of the VPC to which the instance is linked.
78328	//
78329	// VpcId is a required field
78330	VpcId *string `locationName:"vpcId" type:"string" required:"true"`
78331}
78332
78333// String returns the string representation
78334func (s DetachClassicLinkVpcInput) String() string {
78335	return awsutil.Prettify(s)
78336}
78337
78338// GoString returns the string representation
78339func (s DetachClassicLinkVpcInput) GoString() string {
78340	return s.String()
78341}
78342
78343// Validate inspects the fields of the type to determine if they are valid.
78344func (s *DetachClassicLinkVpcInput) Validate() error {
78345	invalidParams := request.ErrInvalidParams{Context: "DetachClassicLinkVpcInput"}
78346	if s.InstanceId == nil {
78347		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
78348	}
78349	if s.VpcId == nil {
78350		invalidParams.Add(request.NewErrParamRequired("VpcId"))
78351	}
78352
78353	if invalidParams.Len() > 0 {
78354		return invalidParams
78355	}
78356	return nil
78357}
78358
78359// SetDryRun sets the DryRun field's value.
78360func (s *DetachClassicLinkVpcInput) SetDryRun(v bool) *DetachClassicLinkVpcInput {
78361	s.DryRun = &v
78362	return s
78363}
78364
78365// SetInstanceId sets the InstanceId field's value.
78366func (s *DetachClassicLinkVpcInput) SetInstanceId(v string) *DetachClassicLinkVpcInput {
78367	s.InstanceId = &v
78368	return s
78369}
78370
78371// SetVpcId sets the VpcId field's value.
78372func (s *DetachClassicLinkVpcInput) SetVpcId(v string) *DetachClassicLinkVpcInput {
78373	s.VpcId = &v
78374	return s
78375}
78376
78377type DetachClassicLinkVpcOutput struct {
78378	_ struct{} `type:"structure"`
78379
78380	// Returns true if the request succeeds; otherwise, it returns an error.
78381	Return *bool `locationName:"return" type:"boolean"`
78382}
78383
78384// String returns the string representation
78385func (s DetachClassicLinkVpcOutput) String() string {
78386	return awsutil.Prettify(s)
78387}
78388
78389// GoString returns the string representation
78390func (s DetachClassicLinkVpcOutput) GoString() string {
78391	return s.String()
78392}
78393
78394// SetReturn sets the Return field's value.
78395func (s *DetachClassicLinkVpcOutput) SetReturn(v bool) *DetachClassicLinkVpcOutput {
78396	s.Return = &v
78397	return s
78398}
78399
78400type DetachInternetGatewayInput struct {
78401	_ struct{} `type:"structure"`
78402
78403	// Checks whether you have the required permissions for the action, without
78404	// actually making the request, and provides an error response. If you have
78405	// the required permissions, the error response is DryRunOperation. Otherwise,
78406	// it is UnauthorizedOperation.
78407	DryRun *bool `locationName:"dryRun" type:"boolean"`
78408
78409	// The ID of the internet gateway.
78410	//
78411	// InternetGatewayId is a required field
78412	InternetGatewayId *string `locationName:"internetGatewayId" type:"string" required:"true"`
78413
78414	// The ID of the VPC.
78415	//
78416	// VpcId is a required field
78417	VpcId *string `locationName:"vpcId" type:"string" required:"true"`
78418}
78419
78420// String returns the string representation
78421func (s DetachInternetGatewayInput) String() string {
78422	return awsutil.Prettify(s)
78423}
78424
78425// GoString returns the string representation
78426func (s DetachInternetGatewayInput) GoString() string {
78427	return s.String()
78428}
78429
78430// Validate inspects the fields of the type to determine if they are valid.
78431func (s *DetachInternetGatewayInput) Validate() error {
78432	invalidParams := request.ErrInvalidParams{Context: "DetachInternetGatewayInput"}
78433	if s.InternetGatewayId == nil {
78434		invalidParams.Add(request.NewErrParamRequired("InternetGatewayId"))
78435	}
78436	if s.VpcId == nil {
78437		invalidParams.Add(request.NewErrParamRequired("VpcId"))
78438	}
78439
78440	if invalidParams.Len() > 0 {
78441		return invalidParams
78442	}
78443	return nil
78444}
78445
78446// SetDryRun sets the DryRun field's value.
78447func (s *DetachInternetGatewayInput) SetDryRun(v bool) *DetachInternetGatewayInput {
78448	s.DryRun = &v
78449	return s
78450}
78451
78452// SetInternetGatewayId sets the InternetGatewayId field's value.
78453func (s *DetachInternetGatewayInput) SetInternetGatewayId(v string) *DetachInternetGatewayInput {
78454	s.InternetGatewayId = &v
78455	return s
78456}
78457
78458// SetVpcId sets the VpcId field's value.
78459func (s *DetachInternetGatewayInput) SetVpcId(v string) *DetachInternetGatewayInput {
78460	s.VpcId = &v
78461	return s
78462}
78463
78464type DetachInternetGatewayOutput struct {
78465	_ struct{} `type:"structure"`
78466}
78467
78468// String returns the string representation
78469func (s DetachInternetGatewayOutput) String() string {
78470	return awsutil.Prettify(s)
78471}
78472
78473// GoString returns the string representation
78474func (s DetachInternetGatewayOutput) GoString() string {
78475	return s.String()
78476}
78477
78478// Contains the parameters for DetachNetworkInterface.
78479type DetachNetworkInterfaceInput struct {
78480	_ struct{} `type:"structure"`
78481
78482	// The ID of the attachment.
78483	//
78484	// AttachmentId is a required field
78485	AttachmentId *string `locationName:"attachmentId" type:"string" required:"true"`
78486
78487	// Checks whether you have the required permissions for the action, without
78488	// actually making the request, and provides an error response. If you have
78489	// the required permissions, the error response is DryRunOperation. Otherwise,
78490	// it is UnauthorizedOperation.
78491	DryRun *bool `locationName:"dryRun" type:"boolean"`
78492
78493	// Specifies whether to force a detachment.
78494	//
78495	//    * Use the Force parameter only as a last resort to detach a network interface
78496	//    from a failed instance.
78497	//
78498	//    * If you use the Force parameter to detach a network interface, you might
78499	//    not be able to attach a different network interface to the same index
78500	//    on the instance without first stopping and starting the instance.
78501	//
78502	//    * If you force the detachment of a network interface, the instance metadata
78503	//    (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)
78504	//    might not get updated. This means that the attributes associated with
78505	//    the detached network interface might still be visible. The instance metadata
78506	//    will get updated when you stop and start the instance.
78507	Force *bool `locationName:"force" type:"boolean"`
78508}
78509
78510// String returns the string representation
78511func (s DetachNetworkInterfaceInput) String() string {
78512	return awsutil.Prettify(s)
78513}
78514
78515// GoString returns the string representation
78516func (s DetachNetworkInterfaceInput) GoString() string {
78517	return s.String()
78518}
78519
78520// Validate inspects the fields of the type to determine if they are valid.
78521func (s *DetachNetworkInterfaceInput) Validate() error {
78522	invalidParams := request.ErrInvalidParams{Context: "DetachNetworkInterfaceInput"}
78523	if s.AttachmentId == nil {
78524		invalidParams.Add(request.NewErrParamRequired("AttachmentId"))
78525	}
78526
78527	if invalidParams.Len() > 0 {
78528		return invalidParams
78529	}
78530	return nil
78531}
78532
78533// SetAttachmentId sets the AttachmentId field's value.
78534func (s *DetachNetworkInterfaceInput) SetAttachmentId(v string) *DetachNetworkInterfaceInput {
78535	s.AttachmentId = &v
78536	return s
78537}
78538
78539// SetDryRun sets the DryRun field's value.
78540func (s *DetachNetworkInterfaceInput) SetDryRun(v bool) *DetachNetworkInterfaceInput {
78541	s.DryRun = &v
78542	return s
78543}
78544
78545// SetForce sets the Force field's value.
78546func (s *DetachNetworkInterfaceInput) SetForce(v bool) *DetachNetworkInterfaceInput {
78547	s.Force = &v
78548	return s
78549}
78550
78551type DetachNetworkInterfaceOutput struct {
78552	_ struct{} `type:"structure"`
78553}
78554
78555// String returns the string representation
78556func (s DetachNetworkInterfaceOutput) String() string {
78557	return awsutil.Prettify(s)
78558}
78559
78560// GoString returns the string representation
78561func (s DetachNetworkInterfaceOutput) GoString() string {
78562	return s.String()
78563}
78564
78565type DetachVolumeInput struct {
78566	_ struct{} `type:"structure"`
78567
78568	// The device name.
78569	Device *string `type:"string"`
78570
78571	// Checks whether you have the required permissions for the action, without
78572	// actually making the request, and provides an error response. If you have
78573	// the required permissions, the error response is DryRunOperation. Otherwise,
78574	// it is UnauthorizedOperation.
78575	DryRun *bool `locationName:"dryRun" type:"boolean"`
78576
78577	// Forces detachment if the previous detachment attempt did not occur cleanly
78578	// (for example, logging into an instance, unmounting the volume, and detaching
78579	// normally). This option can lead to data loss or a corrupted file system.
78580	// Use this option only as a last resort to detach a volume from a failed instance.
78581	// The instance won't have an opportunity to flush file system caches or file
78582	// system metadata. If you use this option, you must perform file system check
78583	// and repair procedures.
78584	Force *bool `type:"boolean"`
78585
78586	// The ID of the instance. If you are detaching a Multi-Attach enabled volume,
78587	// you must specify an instance ID.
78588	InstanceId *string `type:"string"`
78589
78590	// The ID of the volume.
78591	//
78592	// VolumeId is a required field
78593	VolumeId *string `type:"string" required:"true"`
78594}
78595
78596// String returns the string representation
78597func (s DetachVolumeInput) String() string {
78598	return awsutil.Prettify(s)
78599}
78600
78601// GoString returns the string representation
78602func (s DetachVolumeInput) GoString() string {
78603	return s.String()
78604}
78605
78606// Validate inspects the fields of the type to determine if they are valid.
78607func (s *DetachVolumeInput) Validate() error {
78608	invalidParams := request.ErrInvalidParams{Context: "DetachVolumeInput"}
78609	if s.VolumeId == nil {
78610		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
78611	}
78612
78613	if invalidParams.Len() > 0 {
78614		return invalidParams
78615	}
78616	return nil
78617}
78618
78619// SetDevice sets the Device field's value.
78620func (s *DetachVolumeInput) SetDevice(v string) *DetachVolumeInput {
78621	s.Device = &v
78622	return s
78623}
78624
78625// SetDryRun sets the DryRun field's value.
78626func (s *DetachVolumeInput) SetDryRun(v bool) *DetachVolumeInput {
78627	s.DryRun = &v
78628	return s
78629}
78630
78631// SetForce sets the Force field's value.
78632func (s *DetachVolumeInput) SetForce(v bool) *DetachVolumeInput {
78633	s.Force = &v
78634	return s
78635}
78636
78637// SetInstanceId sets the InstanceId field's value.
78638func (s *DetachVolumeInput) SetInstanceId(v string) *DetachVolumeInput {
78639	s.InstanceId = &v
78640	return s
78641}
78642
78643// SetVolumeId sets the VolumeId field's value.
78644func (s *DetachVolumeInput) SetVolumeId(v string) *DetachVolumeInput {
78645	s.VolumeId = &v
78646	return s
78647}
78648
78649// Contains the parameters for DetachVpnGateway.
78650type DetachVpnGatewayInput struct {
78651	_ struct{} `type:"structure"`
78652
78653	// Checks whether you have the required permissions for the action, without
78654	// actually making the request, and provides an error response. If you have
78655	// the required permissions, the error response is DryRunOperation. Otherwise,
78656	// it is UnauthorizedOperation.
78657	DryRun *bool `locationName:"dryRun" type:"boolean"`
78658
78659	// The ID of the VPC.
78660	//
78661	// VpcId is a required field
78662	VpcId *string `type:"string" required:"true"`
78663
78664	// The ID of the virtual private gateway.
78665	//
78666	// VpnGatewayId is a required field
78667	VpnGatewayId *string `type:"string" required:"true"`
78668}
78669
78670// String returns the string representation
78671func (s DetachVpnGatewayInput) String() string {
78672	return awsutil.Prettify(s)
78673}
78674
78675// GoString returns the string representation
78676func (s DetachVpnGatewayInput) GoString() string {
78677	return s.String()
78678}
78679
78680// Validate inspects the fields of the type to determine if they are valid.
78681func (s *DetachVpnGatewayInput) Validate() error {
78682	invalidParams := request.ErrInvalidParams{Context: "DetachVpnGatewayInput"}
78683	if s.VpcId == nil {
78684		invalidParams.Add(request.NewErrParamRequired("VpcId"))
78685	}
78686	if s.VpnGatewayId == nil {
78687		invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
78688	}
78689
78690	if invalidParams.Len() > 0 {
78691		return invalidParams
78692	}
78693	return nil
78694}
78695
78696// SetDryRun sets the DryRun field's value.
78697func (s *DetachVpnGatewayInput) SetDryRun(v bool) *DetachVpnGatewayInput {
78698	s.DryRun = &v
78699	return s
78700}
78701
78702// SetVpcId sets the VpcId field's value.
78703func (s *DetachVpnGatewayInput) SetVpcId(v string) *DetachVpnGatewayInput {
78704	s.VpcId = &v
78705	return s
78706}
78707
78708// SetVpnGatewayId sets the VpnGatewayId field's value.
78709func (s *DetachVpnGatewayInput) SetVpnGatewayId(v string) *DetachVpnGatewayInput {
78710	s.VpnGatewayId = &v
78711	return s
78712}
78713
78714type DetachVpnGatewayOutput struct {
78715	_ struct{} `type:"structure"`
78716}
78717
78718// String returns the string representation
78719func (s DetachVpnGatewayOutput) String() string {
78720	return awsutil.Prettify(s)
78721}
78722
78723// GoString returns the string representation
78724func (s DetachVpnGatewayOutput) GoString() string {
78725	return s.String()
78726}
78727
78728// Describes a DHCP configuration option.
78729type DhcpConfiguration struct {
78730	_ struct{} `type:"structure"`
78731
78732	// The name of a DHCP option.
78733	Key *string `locationName:"key" type:"string"`
78734
78735	// One or more values for the DHCP option.
78736	Values []*AttributeValue `locationName:"valueSet" locationNameList:"item" type:"list"`
78737}
78738
78739// String returns the string representation
78740func (s DhcpConfiguration) String() string {
78741	return awsutil.Prettify(s)
78742}
78743
78744// GoString returns the string representation
78745func (s DhcpConfiguration) GoString() string {
78746	return s.String()
78747}
78748
78749// SetKey sets the Key field's value.
78750func (s *DhcpConfiguration) SetKey(v string) *DhcpConfiguration {
78751	s.Key = &v
78752	return s
78753}
78754
78755// SetValues sets the Values field's value.
78756func (s *DhcpConfiguration) SetValues(v []*AttributeValue) *DhcpConfiguration {
78757	s.Values = v
78758	return s
78759}
78760
78761// Describes a set of DHCP options.
78762type DhcpOptions struct {
78763	_ struct{} `type:"structure"`
78764
78765	// One or more DHCP options in the set.
78766	DhcpConfigurations []*DhcpConfiguration `locationName:"dhcpConfigurationSet" locationNameList:"item" type:"list"`
78767
78768	// The ID of the set of DHCP options.
78769	DhcpOptionsId *string `locationName:"dhcpOptionsId" type:"string"`
78770
78771	// The ID of the AWS account that owns the DHCP options set.
78772	OwnerId *string `locationName:"ownerId" type:"string"`
78773
78774	// Any tags assigned to the DHCP options set.
78775	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
78776}
78777
78778// String returns the string representation
78779func (s DhcpOptions) String() string {
78780	return awsutil.Prettify(s)
78781}
78782
78783// GoString returns the string representation
78784func (s DhcpOptions) GoString() string {
78785	return s.String()
78786}
78787
78788// SetDhcpConfigurations sets the DhcpConfigurations field's value.
78789func (s *DhcpOptions) SetDhcpConfigurations(v []*DhcpConfiguration) *DhcpOptions {
78790	s.DhcpConfigurations = v
78791	return s
78792}
78793
78794// SetDhcpOptionsId sets the DhcpOptionsId field's value.
78795func (s *DhcpOptions) SetDhcpOptionsId(v string) *DhcpOptions {
78796	s.DhcpOptionsId = &v
78797	return s
78798}
78799
78800// SetOwnerId sets the OwnerId field's value.
78801func (s *DhcpOptions) SetOwnerId(v string) *DhcpOptions {
78802	s.OwnerId = &v
78803	return s
78804}
78805
78806// SetTags sets the Tags field's value.
78807func (s *DhcpOptions) SetTags(v []*Tag) *DhcpOptions {
78808	s.Tags = v
78809	return s
78810}
78811
78812// Describes an Active Directory.
78813type DirectoryServiceAuthentication struct {
78814	_ struct{} `type:"structure"`
78815
78816	// The ID of the Active Directory used for authentication.
78817	DirectoryId *string `locationName:"directoryId" type:"string"`
78818}
78819
78820// String returns the string representation
78821func (s DirectoryServiceAuthentication) String() string {
78822	return awsutil.Prettify(s)
78823}
78824
78825// GoString returns the string representation
78826func (s DirectoryServiceAuthentication) GoString() string {
78827	return s.String()
78828}
78829
78830// SetDirectoryId sets the DirectoryId field's value.
78831func (s *DirectoryServiceAuthentication) SetDirectoryId(v string) *DirectoryServiceAuthentication {
78832	s.DirectoryId = &v
78833	return s
78834}
78835
78836// Describes the Active Directory to be used for client authentication.
78837type DirectoryServiceAuthenticationRequest struct {
78838	_ struct{} `type:"structure"`
78839
78840	// The ID of the Active Directory to be used for authentication.
78841	DirectoryId *string `type:"string"`
78842}
78843
78844// String returns the string representation
78845func (s DirectoryServiceAuthenticationRequest) String() string {
78846	return awsutil.Prettify(s)
78847}
78848
78849// GoString returns the string representation
78850func (s DirectoryServiceAuthenticationRequest) GoString() string {
78851	return s.String()
78852}
78853
78854// SetDirectoryId sets the DirectoryId field's value.
78855func (s *DirectoryServiceAuthenticationRequest) SetDirectoryId(v string) *DirectoryServiceAuthenticationRequest {
78856	s.DirectoryId = &v
78857	return s
78858}
78859
78860type DisableEbsEncryptionByDefaultInput struct {
78861	_ struct{} `type:"structure"`
78862
78863	// Checks whether you have the required permissions for the action, without
78864	// actually making the request, and provides an error response. If you have
78865	// the required permissions, the error response is DryRunOperation. Otherwise,
78866	// it is UnauthorizedOperation.
78867	DryRun *bool `type:"boolean"`
78868}
78869
78870// String returns the string representation
78871func (s DisableEbsEncryptionByDefaultInput) String() string {
78872	return awsutil.Prettify(s)
78873}
78874
78875// GoString returns the string representation
78876func (s DisableEbsEncryptionByDefaultInput) GoString() string {
78877	return s.String()
78878}
78879
78880// SetDryRun sets the DryRun field's value.
78881func (s *DisableEbsEncryptionByDefaultInput) SetDryRun(v bool) *DisableEbsEncryptionByDefaultInput {
78882	s.DryRun = &v
78883	return s
78884}
78885
78886type DisableEbsEncryptionByDefaultOutput struct {
78887	_ struct{} `type:"structure"`
78888
78889	// The updated status of encryption by default.
78890	EbsEncryptionByDefault *bool `locationName:"ebsEncryptionByDefault" type:"boolean"`
78891}
78892
78893// String returns the string representation
78894func (s DisableEbsEncryptionByDefaultOutput) String() string {
78895	return awsutil.Prettify(s)
78896}
78897
78898// GoString returns the string representation
78899func (s DisableEbsEncryptionByDefaultOutput) GoString() string {
78900	return s.String()
78901}
78902
78903// SetEbsEncryptionByDefault sets the EbsEncryptionByDefault field's value.
78904func (s *DisableEbsEncryptionByDefaultOutput) SetEbsEncryptionByDefault(v bool) *DisableEbsEncryptionByDefaultOutput {
78905	s.EbsEncryptionByDefault = &v
78906	return s
78907}
78908
78909// Contains information about the errors that occurred when disabling fast snapshot
78910// restores.
78911type DisableFastSnapshotRestoreErrorItem struct {
78912	_ struct{} `type:"structure"`
78913
78914	// The errors.
78915	FastSnapshotRestoreStateErrors []*DisableFastSnapshotRestoreStateErrorItem `locationName:"fastSnapshotRestoreStateErrorSet" locationNameList:"item" type:"list"`
78916
78917	// The ID of the snapshot.
78918	SnapshotId *string `locationName:"snapshotId" type:"string"`
78919}
78920
78921// String returns the string representation
78922func (s DisableFastSnapshotRestoreErrorItem) String() string {
78923	return awsutil.Prettify(s)
78924}
78925
78926// GoString returns the string representation
78927func (s DisableFastSnapshotRestoreErrorItem) GoString() string {
78928	return s.String()
78929}
78930
78931// SetFastSnapshotRestoreStateErrors sets the FastSnapshotRestoreStateErrors field's value.
78932func (s *DisableFastSnapshotRestoreErrorItem) SetFastSnapshotRestoreStateErrors(v []*DisableFastSnapshotRestoreStateErrorItem) *DisableFastSnapshotRestoreErrorItem {
78933	s.FastSnapshotRestoreStateErrors = v
78934	return s
78935}
78936
78937// SetSnapshotId sets the SnapshotId field's value.
78938func (s *DisableFastSnapshotRestoreErrorItem) SetSnapshotId(v string) *DisableFastSnapshotRestoreErrorItem {
78939	s.SnapshotId = &v
78940	return s
78941}
78942
78943// Describes an error that occurred when disabling fast snapshot restores.
78944type DisableFastSnapshotRestoreStateError struct {
78945	_ struct{} `type:"structure"`
78946
78947	// The error code.
78948	Code *string `locationName:"code" type:"string"`
78949
78950	// The error message.
78951	Message *string `locationName:"message" type:"string"`
78952}
78953
78954// String returns the string representation
78955func (s DisableFastSnapshotRestoreStateError) String() string {
78956	return awsutil.Prettify(s)
78957}
78958
78959// GoString returns the string representation
78960func (s DisableFastSnapshotRestoreStateError) GoString() string {
78961	return s.String()
78962}
78963
78964// SetCode sets the Code field's value.
78965func (s *DisableFastSnapshotRestoreStateError) SetCode(v string) *DisableFastSnapshotRestoreStateError {
78966	s.Code = &v
78967	return s
78968}
78969
78970// SetMessage sets the Message field's value.
78971func (s *DisableFastSnapshotRestoreStateError) SetMessage(v string) *DisableFastSnapshotRestoreStateError {
78972	s.Message = &v
78973	return s
78974}
78975
78976// Contains information about an error that occurred when disabling fast snapshot
78977// restores.
78978type DisableFastSnapshotRestoreStateErrorItem struct {
78979	_ struct{} `type:"structure"`
78980
78981	// The Availability Zone.
78982	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
78983
78984	// The error.
78985	Error *DisableFastSnapshotRestoreStateError `locationName:"error" type:"structure"`
78986}
78987
78988// String returns the string representation
78989func (s DisableFastSnapshotRestoreStateErrorItem) String() string {
78990	return awsutil.Prettify(s)
78991}
78992
78993// GoString returns the string representation
78994func (s DisableFastSnapshotRestoreStateErrorItem) GoString() string {
78995	return s.String()
78996}
78997
78998// SetAvailabilityZone sets the AvailabilityZone field's value.
78999func (s *DisableFastSnapshotRestoreStateErrorItem) SetAvailabilityZone(v string) *DisableFastSnapshotRestoreStateErrorItem {
79000	s.AvailabilityZone = &v
79001	return s
79002}
79003
79004// SetError sets the Error field's value.
79005func (s *DisableFastSnapshotRestoreStateErrorItem) SetError(v *DisableFastSnapshotRestoreStateError) *DisableFastSnapshotRestoreStateErrorItem {
79006	s.Error = v
79007	return s
79008}
79009
79010// Describes fast snapshot restores that were successfully disabled.
79011type DisableFastSnapshotRestoreSuccessItem struct {
79012	_ struct{} `type:"structure"`
79013
79014	// The Availability Zone.
79015	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
79016
79017	// The time at which fast snapshot restores entered the disabled state.
79018	DisabledTime *time.Time `locationName:"disabledTime" type:"timestamp"`
79019
79020	// The time at which fast snapshot restores entered the disabling state.
79021	DisablingTime *time.Time `locationName:"disablingTime" type:"timestamp"`
79022
79023	// The time at which fast snapshot restores entered the enabled state.
79024	EnabledTime *time.Time `locationName:"enabledTime" type:"timestamp"`
79025
79026	// The time at which fast snapshot restores entered the enabling state.
79027	EnablingTime *time.Time `locationName:"enablingTime" type:"timestamp"`
79028
79029	// The time at which fast snapshot restores entered the optimizing state.
79030	OptimizingTime *time.Time `locationName:"optimizingTime" type:"timestamp"`
79031
79032	// The AWS owner alias that enabled fast snapshot restores on the snapshot.
79033	// This is intended for future use.
79034	OwnerAlias *string `locationName:"ownerAlias" type:"string"`
79035
79036	// The ID of the AWS account that enabled fast snapshot restores on the snapshot.
79037	OwnerId *string `locationName:"ownerId" type:"string"`
79038
79039	// The ID of the snapshot.
79040	SnapshotId *string `locationName:"snapshotId" type:"string"`
79041
79042	// The state of fast snapshot restores for the snapshot.
79043	State *string `locationName:"state" type:"string" enum:"FastSnapshotRestoreStateCode"`
79044
79045	// The reason for the state transition. The possible values are as follows:
79046	//
79047	//    * Client.UserInitiated - The state successfully transitioned to enabling
79048	//    or disabling.
79049	//
79050	//    * Client.UserInitiated - Lifecycle state transition - The state successfully
79051	//    transitioned to optimizing, enabled, or disabled.
79052	StateTransitionReason *string `locationName:"stateTransitionReason" type:"string"`
79053}
79054
79055// String returns the string representation
79056func (s DisableFastSnapshotRestoreSuccessItem) String() string {
79057	return awsutil.Prettify(s)
79058}
79059
79060// GoString returns the string representation
79061func (s DisableFastSnapshotRestoreSuccessItem) GoString() string {
79062	return s.String()
79063}
79064
79065// SetAvailabilityZone sets the AvailabilityZone field's value.
79066func (s *DisableFastSnapshotRestoreSuccessItem) SetAvailabilityZone(v string) *DisableFastSnapshotRestoreSuccessItem {
79067	s.AvailabilityZone = &v
79068	return s
79069}
79070
79071// SetDisabledTime sets the DisabledTime field's value.
79072func (s *DisableFastSnapshotRestoreSuccessItem) SetDisabledTime(v time.Time) *DisableFastSnapshotRestoreSuccessItem {
79073	s.DisabledTime = &v
79074	return s
79075}
79076
79077// SetDisablingTime sets the DisablingTime field's value.
79078func (s *DisableFastSnapshotRestoreSuccessItem) SetDisablingTime(v time.Time) *DisableFastSnapshotRestoreSuccessItem {
79079	s.DisablingTime = &v
79080	return s
79081}
79082
79083// SetEnabledTime sets the EnabledTime field's value.
79084func (s *DisableFastSnapshotRestoreSuccessItem) SetEnabledTime(v time.Time) *DisableFastSnapshotRestoreSuccessItem {
79085	s.EnabledTime = &v
79086	return s
79087}
79088
79089// SetEnablingTime sets the EnablingTime field's value.
79090func (s *DisableFastSnapshotRestoreSuccessItem) SetEnablingTime(v time.Time) *DisableFastSnapshotRestoreSuccessItem {
79091	s.EnablingTime = &v
79092	return s
79093}
79094
79095// SetOptimizingTime sets the OptimizingTime field's value.
79096func (s *DisableFastSnapshotRestoreSuccessItem) SetOptimizingTime(v time.Time) *DisableFastSnapshotRestoreSuccessItem {
79097	s.OptimizingTime = &v
79098	return s
79099}
79100
79101// SetOwnerAlias sets the OwnerAlias field's value.
79102func (s *DisableFastSnapshotRestoreSuccessItem) SetOwnerAlias(v string) *DisableFastSnapshotRestoreSuccessItem {
79103	s.OwnerAlias = &v
79104	return s
79105}
79106
79107// SetOwnerId sets the OwnerId field's value.
79108func (s *DisableFastSnapshotRestoreSuccessItem) SetOwnerId(v string) *DisableFastSnapshotRestoreSuccessItem {
79109	s.OwnerId = &v
79110	return s
79111}
79112
79113// SetSnapshotId sets the SnapshotId field's value.
79114func (s *DisableFastSnapshotRestoreSuccessItem) SetSnapshotId(v string) *DisableFastSnapshotRestoreSuccessItem {
79115	s.SnapshotId = &v
79116	return s
79117}
79118
79119// SetState sets the State field's value.
79120func (s *DisableFastSnapshotRestoreSuccessItem) SetState(v string) *DisableFastSnapshotRestoreSuccessItem {
79121	s.State = &v
79122	return s
79123}
79124
79125// SetStateTransitionReason sets the StateTransitionReason field's value.
79126func (s *DisableFastSnapshotRestoreSuccessItem) SetStateTransitionReason(v string) *DisableFastSnapshotRestoreSuccessItem {
79127	s.StateTransitionReason = &v
79128	return s
79129}
79130
79131type DisableFastSnapshotRestoresInput struct {
79132	_ struct{} `type:"structure"`
79133
79134	// One or more Availability Zones. For example, us-east-2a.
79135	//
79136	// AvailabilityZones is a required field
79137	AvailabilityZones []*string `locationName:"AvailabilityZone" locationNameList:"AvailabilityZone" type:"list" required:"true"`
79138
79139	// Checks whether you have the required permissions for the action, without
79140	// actually making the request, and provides an error response. If you have
79141	// the required permissions, the error response is DryRunOperation. Otherwise,
79142	// it is UnauthorizedOperation.
79143	DryRun *bool `type:"boolean"`
79144
79145	// The IDs of one or more snapshots. For example, snap-1234567890abcdef0.
79146	//
79147	// SourceSnapshotIds is a required field
79148	SourceSnapshotIds []*string `locationName:"SourceSnapshotId" locationNameList:"SnapshotId" type:"list" required:"true"`
79149}
79150
79151// String returns the string representation
79152func (s DisableFastSnapshotRestoresInput) String() string {
79153	return awsutil.Prettify(s)
79154}
79155
79156// GoString returns the string representation
79157func (s DisableFastSnapshotRestoresInput) GoString() string {
79158	return s.String()
79159}
79160
79161// Validate inspects the fields of the type to determine if they are valid.
79162func (s *DisableFastSnapshotRestoresInput) Validate() error {
79163	invalidParams := request.ErrInvalidParams{Context: "DisableFastSnapshotRestoresInput"}
79164	if s.AvailabilityZones == nil {
79165		invalidParams.Add(request.NewErrParamRequired("AvailabilityZones"))
79166	}
79167	if s.SourceSnapshotIds == nil {
79168		invalidParams.Add(request.NewErrParamRequired("SourceSnapshotIds"))
79169	}
79170
79171	if invalidParams.Len() > 0 {
79172		return invalidParams
79173	}
79174	return nil
79175}
79176
79177// SetAvailabilityZones sets the AvailabilityZones field's value.
79178func (s *DisableFastSnapshotRestoresInput) SetAvailabilityZones(v []*string) *DisableFastSnapshotRestoresInput {
79179	s.AvailabilityZones = v
79180	return s
79181}
79182
79183// SetDryRun sets the DryRun field's value.
79184func (s *DisableFastSnapshotRestoresInput) SetDryRun(v bool) *DisableFastSnapshotRestoresInput {
79185	s.DryRun = &v
79186	return s
79187}
79188
79189// SetSourceSnapshotIds sets the SourceSnapshotIds field's value.
79190func (s *DisableFastSnapshotRestoresInput) SetSourceSnapshotIds(v []*string) *DisableFastSnapshotRestoresInput {
79191	s.SourceSnapshotIds = v
79192	return s
79193}
79194
79195type DisableFastSnapshotRestoresOutput struct {
79196	_ struct{} `type:"structure"`
79197
79198	// Information about the snapshots for which fast snapshot restores were successfully
79199	// disabled.
79200	Successful []*DisableFastSnapshotRestoreSuccessItem `locationName:"successful" locationNameList:"item" type:"list"`
79201
79202	// Information about the snapshots for which fast snapshot restores could not
79203	// be disabled.
79204	Unsuccessful []*DisableFastSnapshotRestoreErrorItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
79205}
79206
79207// String returns the string representation
79208func (s DisableFastSnapshotRestoresOutput) String() string {
79209	return awsutil.Prettify(s)
79210}
79211
79212// GoString returns the string representation
79213func (s DisableFastSnapshotRestoresOutput) GoString() string {
79214	return s.String()
79215}
79216
79217// SetSuccessful sets the Successful field's value.
79218func (s *DisableFastSnapshotRestoresOutput) SetSuccessful(v []*DisableFastSnapshotRestoreSuccessItem) *DisableFastSnapshotRestoresOutput {
79219	s.Successful = v
79220	return s
79221}
79222
79223// SetUnsuccessful sets the Unsuccessful field's value.
79224func (s *DisableFastSnapshotRestoresOutput) SetUnsuccessful(v []*DisableFastSnapshotRestoreErrorItem) *DisableFastSnapshotRestoresOutput {
79225	s.Unsuccessful = v
79226	return s
79227}
79228
79229type DisableSerialConsoleAccessInput struct {
79230	_ struct{} `type:"structure"`
79231
79232	// Checks whether you have the required permissions for the action, without
79233	// actually making the request, and provides an error response. If you have
79234	// the required permissions, the error response is DryRunOperation. Otherwise,
79235	// it is UnauthorizedOperation.
79236	DryRun *bool `type:"boolean"`
79237}
79238
79239// String returns the string representation
79240func (s DisableSerialConsoleAccessInput) String() string {
79241	return awsutil.Prettify(s)
79242}
79243
79244// GoString returns the string representation
79245func (s DisableSerialConsoleAccessInput) GoString() string {
79246	return s.String()
79247}
79248
79249// SetDryRun sets the DryRun field's value.
79250func (s *DisableSerialConsoleAccessInput) SetDryRun(v bool) *DisableSerialConsoleAccessInput {
79251	s.DryRun = &v
79252	return s
79253}
79254
79255type DisableSerialConsoleAccessOutput struct {
79256	_ struct{} `type:"structure"`
79257
79258	// If true, access to the EC2 serial console of all instances is enabled for
79259	// your account. If false, access to the EC2 serial console of all instances
79260	// is disabled for your account.
79261	SerialConsoleAccessEnabled *bool `locationName:"serialConsoleAccessEnabled" type:"boolean"`
79262}
79263
79264// String returns the string representation
79265func (s DisableSerialConsoleAccessOutput) String() string {
79266	return awsutil.Prettify(s)
79267}
79268
79269// GoString returns the string representation
79270func (s DisableSerialConsoleAccessOutput) GoString() string {
79271	return s.String()
79272}
79273
79274// SetSerialConsoleAccessEnabled sets the SerialConsoleAccessEnabled field's value.
79275func (s *DisableSerialConsoleAccessOutput) SetSerialConsoleAccessEnabled(v bool) *DisableSerialConsoleAccessOutput {
79276	s.SerialConsoleAccessEnabled = &v
79277	return s
79278}
79279
79280type DisableTransitGatewayRouteTablePropagationInput struct {
79281	_ struct{} `type:"structure"`
79282
79283	// Checks whether you have the required permissions for the action, without
79284	// actually making the request, and provides an error response. If you have
79285	// the required permissions, the error response is DryRunOperation. Otherwise,
79286	// it is UnauthorizedOperation.
79287	DryRun *bool `type:"boolean"`
79288
79289	// The ID of the attachment.
79290	//
79291	// TransitGatewayAttachmentId is a required field
79292	TransitGatewayAttachmentId *string `type:"string" required:"true"`
79293
79294	// The ID of the propagation route table.
79295	//
79296	// TransitGatewayRouteTableId is a required field
79297	TransitGatewayRouteTableId *string `type:"string" required:"true"`
79298}
79299
79300// String returns the string representation
79301func (s DisableTransitGatewayRouteTablePropagationInput) String() string {
79302	return awsutil.Prettify(s)
79303}
79304
79305// GoString returns the string representation
79306func (s DisableTransitGatewayRouteTablePropagationInput) GoString() string {
79307	return s.String()
79308}
79309
79310// Validate inspects the fields of the type to determine if they are valid.
79311func (s *DisableTransitGatewayRouteTablePropagationInput) Validate() error {
79312	invalidParams := request.ErrInvalidParams{Context: "DisableTransitGatewayRouteTablePropagationInput"}
79313	if s.TransitGatewayAttachmentId == nil {
79314		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
79315	}
79316	if s.TransitGatewayRouteTableId == nil {
79317		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
79318	}
79319
79320	if invalidParams.Len() > 0 {
79321		return invalidParams
79322	}
79323	return nil
79324}
79325
79326// SetDryRun sets the DryRun field's value.
79327func (s *DisableTransitGatewayRouteTablePropagationInput) SetDryRun(v bool) *DisableTransitGatewayRouteTablePropagationInput {
79328	s.DryRun = &v
79329	return s
79330}
79331
79332// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
79333func (s *DisableTransitGatewayRouteTablePropagationInput) SetTransitGatewayAttachmentId(v string) *DisableTransitGatewayRouteTablePropagationInput {
79334	s.TransitGatewayAttachmentId = &v
79335	return s
79336}
79337
79338// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
79339func (s *DisableTransitGatewayRouteTablePropagationInput) SetTransitGatewayRouteTableId(v string) *DisableTransitGatewayRouteTablePropagationInput {
79340	s.TransitGatewayRouteTableId = &v
79341	return s
79342}
79343
79344type DisableTransitGatewayRouteTablePropagationOutput struct {
79345	_ struct{} `type:"structure"`
79346
79347	// Information about route propagation.
79348	Propagation *TransitGatewayPropagation `locationName:"propagation" type:"structure"`
79349}
79350
79351// String returns the string representation
79352func (s DisableTransitGatewayRouteTablePropagationOutput) String() string {
79353	return awsutil.Prettify(s)
79354}
79355
79356// GoString returns the string representation
79357func (s DisableTransitGatewayRouteTablePropagationOutput) GoString() string {
79358	return s.String()
79359}
79360
79361// SetPropagation sets the Propagation field's value.
79362func (s *DisableTransitGatewayRouteTablePropagationOutput) SetPropagation(v *TransitGatewayPropagation) *DisableTransitGatewayRouteTablePropagationOutput {
79363	s.Propagation = v
79364	return s
79365}
79366
79367// Contains the parameters for DisableVgwRoutePropagation.
79368type DisableVgwRoutePropagationInput struct {
79369	_ struct{} `type:"structure"`
79370
79371	// Checks whether you have the required permissions for the action, without
79372	// actually making the request, and provides an error response. If you have
79373	// the required permissions, the error response is DryRunOperation. Otherwise,
79374	// it is UnauthorizedOperation.
79375	DryRun *bool `type:"boolean"`
79376
79377	// The ID of the virtual private gateway.
79378	//
79379	// GatewayId is a required field
79380	GatewayId *string `type:"string" required:"true"`
79381
79382	// The ID of the route table.
79383	//
79384	// RouteTableId is a required field
79385	RouteTableId *string `type:"string" required:"true"`
79386}
79387
79388// String returns the string representation
79389func (s DisableVgwRoutePropagationInput) String() string {
79390	return awsutil.Prettify(s)
79391}
79392
79393// GoString returns the string representation
79394func (s DisableVgwRoutePropagationInput) GoString() string {
79395	return s.String()
79396}
79397
79398// Validate inspects the fields of the type to determine if they are valid.
79399func (s *DisableVgwRoutePropagationInput) Validate() error {
79400	invalidParams := request.ErrInvalidParams{Context: "DisableVgwRoutePropagationInput"}
79401	if s.GatewayId == nil {
79402		invalidParams.Add(request.NewErrParamRequired("GatewayId"))
79403	}
79404	if s.RouteTableId == nil {
79405		invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
79406	}
79407
79408	if invalidParams.Len() > 0 {
79409		return invalidParams
79410	}
79411	return nil
79412}
79413
79414// SetDryRun sets the DryRun field's value.
79415func (s *DisableVgwRoutePropagationInput) SetDryRun(v bool) *DisableVgwRoutePropagationInput {
79416	s.DryRun = &v
79417	return s
79418}
79419
79420// SetGatewayId sets the GatewayId field's value.
79421func (s *DisableVgwRoutePropagationInput) SetGatewayId(v string) *DisableVgwRoutePropagationInput {
79422	s.GatewayId = &v
79423	return s
79424}
79425
79426// SetRouteTableId sets the RouteTableId field's value.
79427func (s *DisableVgwRoutePropagationInput) SetRouteTableId(v string) *DisableVgwRoutePropagationInput {
79428	s.RouteTableId = &v
79429	return s
79430}
79431
79432type DisableVgwRoutePropagationOutput struct {
79433	_ struct{} `type:"structure"`
79434}
79435
79436// String returns the string representation
79437func (s DisableVgwRoutePropagationOutput) String() string {
79438	return awsutil.Prettify(s)
79439}
79440
79441// GoString returns the string representation
79442func (s DisableVgwRoutePropagationOutput) GoString() string {
79443	return s.String()
79444}
79445
79446type DisableVpcClassicLinkDnsSupportInput struct {
79447	_ struct{} `type:"structure"`
79448
79449	// The ID of the VPC.
79450	VpcId *string `type:"string"`
79451}
79452
79453// String returns the string representation
79454func (s DisableVpcClassicLinkDnsSupportInput) String() string {
79455	return awsutil.Prettify(s)
79456}
79457
79458// GoString returns the string representation
79459func (s DisableVpcClassicLinkDnsSupportInput) GoString() string {
79460	return s.String()
79461}
79462
79463// SetVpcId sets the VpcId field's value.
79464func (s *DisableVpcClassicLinkDnsSupportInput) SetVpcId(v string) *DisableVpcClassicLinkDnsSupportInput {
79465	s.VpcId = &v
79466	return s
79467}
79468
79469type DisableVpcClassicLinkDnsSupportOutput struct {
79470	_ struct{} `type:"structure"`
79471
79472	// Returns true if the request succeeds; otherwise, it returns an error.
79473	Return *bool `locationName:"return" type:"boolean"`
79474}
79475
79476// String returns the string representation
79477func (s DisableVpcClassicLinkDnsSupportOutput) String() string {
79478	return awsutil.Prettify(s)
79479}
79480
79481// GoString returns the string representation
79482func (s DisableVpcClassicLinkDnsSupportOutput) GoString() string {
79483	return s.String()
79484}
79485
79486// SetReturn sets the Return field's value.
79487func (s *DisableVpcClassicLinkDnsSupportOutput) SetReturn(v bool) *DisableVpcClassicLinkDnsSupportOutput {
79488	s.Return = &v
79489	return s
79490}
79491
79492type DisableVpcClassicLinkInput struct {
79493	_ struct{} `type:"structure"`
79494
79495	// Checks whether you have the required permissions for the action, without
79496	// actually making the request, and provides an error response. If you have
79497	// the required permissions, the error response is DryRunOperation. Otherwise,
79498	// it is UnauthorizedOperation.
79499	DryRun *bool `locationName:"dryRun" type:"boolean"`
79500
79501	// The ID of the VPC.
79502	//
79503	// VpcId is a required field
79504	VpcId *string `locationName:"vpcId" type:"string" required:"true"`
79505}
79506
79507// String returns the string representation
79508func (s DisableVpcClassicLinkInput) String() string {
79509	return awsutil.Prettify(s)
79510}
79511
79512// GoString returns the string representation
79513func (s DisableVpcClassicLinkInput) GoString() string {
79514	return s.String()
79515}
79516
79517// Validate inspects the fields of the type to determine if they are valid.
79518func (s *DisableVpcClassicLinkInput) Validate() error {
79519	invalidParams := request.ErrInvalidParams{Context: "DisableVpcClassicLinkInput"}
79520	if s.VpcId == nil {
79521		invalidParams.Add(request.NewErrParamRequired("VpcId"))
79522	}
79523
79524	if invalidParams.Len() > 0 {
79525		return invalidParams
79526	}
79527	return nil
79528}
79529
79530// SetDryRun sets the DryRun field's value.
79531func (s *DisableVpcClassicLinkInput) SetDryRun(v bool) *DisableVpcClassicLinkInput {
79532	s.DryRun = &v
79533	return s
79534}
79535
79536// SetVpcId sets the VpcId field's value.
79537func (s *DisableVpcClassicLinkInput) SetVpcId(v string) *DisableVpcClassicLinkInput {
79538	s.VpcId = &v
79539	return s
79540}
79541
79542type DisableVpcClassicLinkOutput struct {
79543	_ struct{} `type:"structure"`
79544
79545	// Returns true if the request succeeds; otherwise, it returns an error.
79546	Return *bool `locationName:"return" type:"boolean"`
79547}
79548
79549// String returns the string representation
79550func (s DisableVpcClassicLinkOutput) String() string {
79551	return awsutil.Prettify(s)
79552}
79553
79554// GoString returns the string representation
79555func (s DisableVpcClassicLinkOutput) GoString() string {
79556	return s.String()
79557}
79558
79559// SetReturn sets the Return field's value.
79560func (s *DisableVpcClassicLinkOutput) SetReturn(v bool) *DisableVpcClassicLinkOutput {
79561	s.Return = &v
79562	return s
79563}
79564
79565type DisassociateAddressInput struct {
79566	_ struct{} `type:"structure"`
79567
79568	// [EC2-VPC] The association ID. Required for EC2-VPC.
79569	AssociationId *string `type:"string"`
79570
79571	// Checks whether you have the required permissions for the action, without
79572	// actually making the request, and provides an error response. If you have
79573	// the required permissions, the error response is DryRunOperation. Otherwise,
79574	// it is UnauthorizedOperation.
79575	DryRun *bool `locationName:"dryRun" type:"boolean"`
79576
79577	// [EC2-Classic] The Elastic IP address. Required for EC2-Classic.
79578	PublicIp *string `type:"string"`
79579}
79580
79581// String returns the string representation
79582func (s DisassociateAddressInput) String() string {
79583	return awsutil.Prettify(s)
79584}
79585
79586// GoString returns the string representation
79587func (s DisassociateAddressInput) GoString() string {
79588	return s.String()
79589}
79590
79591// SetAssociationId sets the AssociationId field's value.
79592func (s *DisassociateAddressInput) SetAssociationId(v string) *DisassociateAddressInput {
79593	s.AssociationId = &v
79594	return s
79595}
79596
79597// SetDryRun sets the DryRun field's value.
79598func (s *DisassociateAddressInput) SetDryRun(v bool) *DisassociateAddressInput {
79599	s.DryRun = &v
79600	return s
79601}
79602
79603// SetPublicIp sets the PublicIp field's value.
79604func (s *DisassociateAddressInput) SetPublicIp(v string) *DisassociateAddressInput {
79605	s.PublicIp = &v
79606	return s
79607}
79608
79609type DisassociateAddressOutput struct {
79610	_ struct{} `type:"structure"`
79611}
79612
79613// String returns the string representation
79614func (s DisassociateAddressOutput) String() string {
79615	return awsutil.Prettify(s)
79616}
79617
79618// GoString returns the string representation
79619func (s DisassociateAddressOutput) GoString() string {
79620	return s.String()
79621}
79622
79623type DisassociateClientVpnTargetNetworkInput struct {
79624	_ struct{} `type:"structure"`
79625
79626	// The ID of the target network association.
79627	//
79628	// AssociationId is a required field
79629	AssociationId *string `type:"string" required:"true"`
79630
79631	// The ID of the Client VPN endpoint from which to disassociate the target network.
79632	//
79633	// ClientVpnEndpointId is a required field
79634	ClientVpnEndpointId *string `type:"string" required:"true"`
79635
79636	// Checks whether you have the required permissions for the action, without
79637	// actually making the request, and provides an error response. If you have
79638	// the required permissions, the error response is DryRunOperation. Otherwise,
79639	// it is UnauthorizedOperation.
79640	DryRun *bool `type:"boolean"`
79641}
79642
79643// String returns the string representation
79644func (s DisassociateClientVpnTargetNetworkInput) String() string {
79645	return awsutil.Prettify(s)
79646}
79647
79648// GoString returns the string representation
79649func (s DisassociateClientVpnTargetNetworkInput) GoString() string {
79650	return s.String()
79651}
79652
79653// Validate inspects the fields of the type to determine if they are valid.
79654func (s *DisassociateClientVpnTargetNetworkInput) Validate() error {
79655	invalidParams := request.ErrInvalidParams{Context: "DisassociateClientVpnTargetNetworkInput"}
79656	if s.AssociationId == nil {
79657		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
79658	}
79659	if s.ClientVpnEndpointId == nil {
79660		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
79661	}
79662
79663	if invalidParams.Len() > 0 {
79664		return invalidParams
79665	}
79666	return nil
79667}
79668
79669// SetAssociationId sets the AssociationId field's value.
79670func (s *DisassociateClientVpnTargetNetworkInput) SetAssociationId(v string) *DisassociateClientVpnTargetNetworkInput {
79671	s.AssociationId = &v
79672	return s
79673}
79674
79675// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
79676func (s *DisassociateClientVpnTargetNetworkInput) SetClientVpnEndpointId(v string) *DisassociateClientVpnTargetNetworkInput {
79677	s.ClientVpnEndpointId = &v
79678	return s
79679}
79680
79681// SetDryRun sets the DryRun field's value.
79682func (s *DisassociateClientVpnTargetNetworkInput) SetDryRun(v bool) *DisassociateClientVpnTargetNetworkInput {
79683	s.DryRun = &v
79684	return s
79685}
79686
79687type DisassociateClientVpnTargetNetworkOutput struct {
79688	_ struct{} `type:"structure"`
79689
79690	// The ID of the target network association.
79691	AssociationId *string `locationName:"associationId" type:"string"`
79692
79693	// The current state of the target network association.
79694	Status *AssociationStatus `locationName:"status" type:"structure"`
79695}
79696
79697// String returns the string representation
79698func (s DisassociateClientVpnTargetNetworkOutput) String() string {
79699	return awsutil.Prettify(s)
79700}
79701
79702// GoString returns the string representation
79703func (s DisassociateClientVpnTargetNetworkOutput) GoString() string {
79704	return s.String()
79705}
79706
79707// SetAssociationId sets the AssociationId field's value.
79708func (s *DisassociateClientVpnTargetNetworkOutput) SetAssociationId(v string) *DisassociateClientVpnTargetNetworkOutput {
79709	s.AssociationId = &v
79710	return s
79711}
79712
79713// SetStatus sets the Status field's value.
79714func (s *DisassociateClientVpnTargetNetworkOutput) SetStatus(v *AssociationStatus) *DisassociateClientVpnTargetNetworkOutput {
79715	s.Status = v
79716	return s
79717}
79718
79719type DisassociateEnclaveCertificateIamRoleInput struct {
79720	_ struct{} `type:"structure"`
79721
79722	// The ARN of the ACM certificate from which to disassociate the IAM role.
79723	CertificateArn *string `min:"1" type:"string"`
79724
79725	// Checks whether you have the required permissions for the action, without
79726	// actually making the request, and provides an error response. If you have
79727	// the required permissions, the error response is DryRunOperation. Otherwise,
79728	// it is UnauthorizedOperation.
79729	DryRun *bool `type:"boolean"`
79730
79731	// The ARN of the IAM role to disassociate.
79732	RoleArn *string `min:"1" type:"string"`
79733}
79734
79735// String returns the string representation
79736func (s DisassociateEnclaveCertificateIamRoleInput) String() string {
79737	return awsutil.Prettify(s)
79738}
79739
79740// GoString returns the string representation
79741func (s DisassociateEnclaveCertificateIamRoleInput) GoString() string {
79742	return s.String()
79743}
79744
79745// Validate inspects the fields of the type to determine if they are valid.
79746func (s *DisassociateEnclaveCertificateIamRoleInput) Validate() error {
79747	invalidParams := request.ErrInvalidParams{Context: "DisassociateEnclaveCertificateIamRoleInput"}
79748	if s.CertificateArn != nil && len(*s.CertificateArn) < 1 {
79749		invalidParams.Add(request.NewErrParamMinLen("CertificateArn", 1))
79750	}
79751	if s.RoleArn != nil && len(*s.RoleArn) < 1 {
79752		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
79753	}
79754
79755	if invalidParams.Len() > 0 {
79756		return invalidParams
79757	}
79758	return nil
79759}
79760
79761// SetCertificateArn sets the CertificateArn field's value.
79762func (s *DisassociateEnclaveCertificateIamRoleInput) SetCertificateArn(v string) *DisassociateEnclaveCertificateIamRoleInput {
79763	s.CertificateArn = &v
79764	return s
79765}
79766
79767// SetDryRun sets the DryRun field's value.
79768func (s *DisassociateEnclaveCertificateIamRoleInput) SetDryRun(v bool) *DisassociateEnclaveCertificateIamRoleInput {
79769	s.DryRun = &v
79770	return s
79771}
79772
79773// SetRoleArn sets the RoleArn field's value.
79774func (s *DisassociateEnclaveCertificateIamRoleInput) SetRoleArn(v string) *DisassociateEnclaveCertificateIamRoleInput {
79775	s.RoleArn = &v
79776	return s
79777}
79778
79779type DisassociateEnclaveCertificateIamRoleOutput struct {
79780	_ struct{} `type:"structure"`
79781
79782	// Returns true if the request succeeds; otherwise, it returns an error.
79783	Return *bool `locationName:"return" type:"boolean"`
79784}
79785
79786// String returns the string representation
79787func (s DisassociateEnclaveCertificateIamRoleOutput) String() string {
79788	return awsutil.Prettify(s)
79789}
79790
79791// GoString returns the string representation
79792func (s DisassociateEnclaveCertificateIamRoleOutput) GoString() string {
79793	return s.String()
79794}
79795
79796// SetReturn sets the Return field's value.
79797func (s *DisassociateEnclaveCertificateIamRoleOutput) SetReturn(v bool) *DisassociateEnclaveCertificateIamRoleOutput {
79798	s.Return = &v
79799	return s
79800}
79801
79802type DisassociateIamInstanceProfileInput struct {
79803	_ struct{} `type:"structure"`
79804
79805	// The ID of the IAM instance profile association.
79806	//
79807	// AssociationId is a required field
79808	AssociationId *string `type:"string" required:"true"`
79809}
79810
79811// String returns the string representation
79812func (s DisassociateIamInstanceProfileInput) String() string {
79813	return awsutil.Prettify(s)
79814}
79815
79816// GoString returns the string representation
79817func (s DisassociateIamInstanceProfileInput) GoString() string {
79818	return s.String()
79819}
79820
79821// Validate inspects the fields of the type to determine if they are valid.
79822func (s *DisassociateIamInstanceProfileInput) Validate() error {
79823	invalidParams := request.ErrInvalidParams{Context: "DisassociateIamInstanceProfileInput"}
79824	if s.AssociationId == nil {
79825		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
79826	}
79827
79828	if invalidParams.Len() > 0 {
79829		return invalidParams
79830	}
79831	return nil
79832}
79833
79834// SetAssociationId sets the AssociationId field's value.
79835func (s *DisassociateIamInstanceProfileInput) SetAssociationId(v string) *DisassociateIamInstanceProfileInput {
79836	s.AssociationId = &v
79837	return s
79838}
79839
79840type DisassociateIamInstanceProfileOutput struct {
79841	_ struct{} `type:"structure"`
79842
79843	// Information about the IAM instance profile association.
79844	IamInstanceProfileAssociation *IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociation" type:"structure"`
79845}
79846
79847// String returns the string representation
79848func (s DisassociateIamInstanceProfileOutput) String() string {
79849	return awsutil.Prettify(s)
79850}
79851
79852// GoString returns the string representation
79853func (s DisassociateIamInstanceProfileOutput) GoString() string {
79854	return s.String()
79855}
79856
79857// SetIamInstanceProfileAssociation sets the IamInstanceProfileAssociation field's value.
79858func (s *DisassociateIamInstanceProfileOutput) SetIamInstanceProfileAssociation(v *IamInstanceProfileAssociation) *DisassociateIamInstanceProfileOutput {
79859	s.IamInstanceProfileAssociation = v
79860	return s
79861}
79862
79863type DisassociateRouteTableInput struct {
79864	_ struct{} `type:"structure"`
79865
79866	// The association ID representing the current association between the route
79867	// table and subnet or gateway.
79868	//
79869	// AssociationId is a required field
79870	AssociationId *string `locationName:"associationId" type:"string" required:"true"`
79871
79872	// Checks whether you have the required permissions for the action, without
79873	// actually making the request, and provides an error response. If you have
79874	// the required permissions, the error response is DryRunOperation. Otherwise,
79875	// it is UnauthorizedOperation.
79876	DryRun *bool `locationName:"dryRun" type:"boolean"`
79877}
79878
79879// String returns the string representation
79880func (s DisassociateRouteTableInput) String() string {
79881	return awsutil.Prettify(s)
79882}
79883
79884// GoString returns the string representation
79885func (s DisassociateRouteTableInput) GoString() string {
79886	return s.String()
79887}
79888
79889// Validate inspects the fields of the type to determine if they are valid.
79890func (s *DisassociateRouteTableInput) Validate() error {
79891	invalidParams := request.ErrInvalidParams{Context: "DisassociateRouteTableInput"}
79892	if s.AssociationId == nil {
79893		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
79894	}
79895
79896	if invalidParams.Len() > 0 {
79897		return invalidParams
79898	}
79899	return nil
79900}
79901
79902// SetAssociationId sets the AssociationId field's value.
79903func (s *DisassociateRouteTableInput) SetAssociationId(v string) *DisassociateRouteTableInput {
79904	s.AssociationId = &v
79905	return s
79906}
79907
79908// SetDryRun sets the DryRun field's value.
79909func (s *DisassociateRouteTableInput) SetDryRun(v bool) *DisassociateRouteTableInput {
79910	s.DryRun = &v
79911	return s
79912}
79913
79914type DisassociateRouteTableOutput struct {
79915	_ struct{} `type:"structure"`
79916}
79917
79918// String returns the string representation
79919func (s DisassociateRouteTableOutput) String() string {
79920	return awsutil.Prettify(s)
79921}
79922
79923// GoString returns the string representation
79924func (s DisassociateRouteTableOutput) GoString() string {
79925	return s.String()
79926}
79927
79928type DisassociateSubnetCidrBlockInput struct {
79929	_ struct{} `type:"structure"`
79930
79931	// The association ID for the CIDR block.
79932	//
79933	// AssociationId is a required field
79934	AssociationId *string `locationName:"associationId" type:"string" required:"true"`
79935}
79936
79937// String returns the string representation
79938func (s DisassociateSubnetCidrBlockInput) String() string {
79939	return awsutil.Prettify(s)
79940}
79941
79942// GoString returns the string representation
79943func (s DisassociateSubnetCidrBlockInput) GoString() string {
79944	return s.String()
79945}
79946
79947// Validate inspects the fields of the type to determine if they are valid.
79948func (s *DisassociateSubnetCidrBlockInput) Validate() error {
79949	invalidParams := request.ErrInvalidParams{Context: "DisassociateSubnetCidrBlockInput"}
79950	if s.AssociationId == nil {
79951		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
79952	}
79953
79954	if invalidParams.Len() > 0 {
79955		return invalidParams
79956	}
79957	return nil
79958}
79959
79960// SetAssociationId sets the AssociationId field's value.
79961func (s *DisassociateSubnetCidrBlockInput) SetAssociationId(v string) *DisassociateSubnetCidrBlockInput {
79962	s.AssociationId = &v
79963	return s
79964}
79965
79966type DisassociateSubnetCidrBlockOutput struct {
79967	_ struct{} `type:"structure"`
79968
79969	// Information about the IPv6 CIDR block association.
79970	Ipv6CidrBlockAssociation *SubnetIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"`
79971
79972	// The ID of the subnet.
79973	SubnetId *string `locationName:"subnetId" type:"string"`
79974}
79975
79976// String returns the string representation
79977func (s DisassociateSubnetCidrBlockOutput) String() string {
79978	return awsutil.Prettify(s)
79979}
79980
79981// GoString returns the string representation
79982func (s DisassociateSubnetCidrBlockOutput) GoString() string {
79983	return s.String()
79984}
79985
79986// SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value.
79987func (s *DisassociateSubnetCidrBlockOutput) SetIpv6CidrBlockAssociation(v *SubnetIpv6CidrBlockAssociation) *DisassociateSubnetCidrBlockOutput {
79988	s.Ipv6CidrBlockAssociation = v
79989	return s
79990}
79991
79992// SetSubnetId sets the SubnetId field's value.
79993func (s *DisassociateSubnetCidrBlockOutput) SetSubnetId(v string) *DisassociateSubnetCidrBlockOutput {
79994	s.SubnetId = &v
79995	return s
79996}
79997
79998type DisassociateTransitGatewayMulticastDomainInput struct {
79999	_ struct{} `type:"structure"`
80000
80001	// Checks whether you have the required permissions for the action, without
80002	// actually making the request, and provides an error response. If you have
80003	// the required permissions, the error response is DryRunOperation. Otherwise,
80004	// it is UnauthorizedOperation.
80005	DryRun *bool `type:"boolean"`
80006
80007	// The IDs of the subnets;
80008	SubnetIds []*string `locationNameList:"item" type:"list"`
80009
80010	// The ID of the attachment.
80011	TransitGatewayAttachmentId *string `type:"string"`
80012
80013	// The ID of the transit gateway multicast domain.
80014	TransitGatewayMulticastDomainId *string `type:"string"`
80015}
80016
80017// String returns the string representation
80018func (s DisassociateTransitGatewayMulticastDomainInput) String() string {
80019	return awsutil.Prettify(s)
80020}
80021
80022// GoString returns the string representation
80023func (s DisassociateTransitGatewayMulticastDomainInput) GoString() string {
80024	return s.String()
80025}
80026
80027// SetDryRun sets the DryRun field's value.
80028func (s *DisassociateTransitGatewayMulticastDomainInput) SetDryRun(v bool) *DisassociateTransitGatewayMulticastDomainInput {
80029	s.DryRun = &v
80030	return s
80031}
80032
80033// SetSubnetIds sets the SubnetIds field's value.
80034func (s *DisassociateTransitGatewayMulticastDomainInput) SetSubnetIds(v []*string) *DisassociateTransitGatewayMulticastDomainInput {
80035	s.SubnetIds = v
80036	return s
80037}
80038
80039// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
80040func (s *DisassociateTransitGatewayMulticastDomainInput) SetTransitGatewayAttachmentId(v string) *DisassociateTransitGatewayMulticastDomainInput {
80041	s.TransitGatewayAttachmentId = &v
80042	return s
80043}
80044
80045// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
80046func (s *DisassociateTransitGatewayMulticastDomainInput) SetTransitGatewayMulticastDomainId(v string) *DisassociateTransitGatewayMulticastDomainInput {
80047	s.TransitGatewayMulticastDomainId = &v
80048	return s
80049}
80050
80051type DisassociateTransitGatewayMulticastDomainOutput struct {
80052	_ struct{} `type:"structure"`
80053
80054	// Information about the association.
80055	Associations *TransitGatewayMulticastDomainAssociations `locationName:"associations" type:"structure"`
80056}
80057
80058// String returns the string representation
80059func (s DisassociateTransitGatewayMulticastDomainOutput) String() string {
80060	return awsutil.Prettify(s)
80061}
80062
80063// GoString returns the string representation
80064func (s DisassociateTransitGatewayMulticastDomainOutput) GoString() string {
80065	return s.String()
80066}
80067
80068// SetAssociations sets the Associations field's value.
80069func (s *DisassociateTransitGatewayMulticastDomainOutput) SetAssociations(v *TransitGatewayMulticastDomainAssociations) *DisassociateTransitGatewayMulticastDomainOutput {
80070	s.Associations = v
80071	return s
80072}
80073
80074type DisassociateTransitGatewayRouteTableInput struct {
80075	_ struct{} `type:"structure"`
80076
80077	// Checks whether you have the required permissions for the action, without
80078	// actually making the request, and provides an error response. If you have
80079	// the required permissions, the error response is DryRunOperation. Otherwise,
80080	// it is UnauthorizedOperation.
80081	DryRun *bool `type:"boolean"`
80082
80083	// The ID of the attachment.
80084	//
80085	// TransitGatewayAttachmentId is a required field
80086	TransitGatewayAttachmentId *string `type:"string" required:"true"`
80087
80088	// The ID of the transit gateway route table.
80089	//
80090	// TransitGatewayRouteTableId is a required field
80091	TransitGatewayRouteTableId *string `type:"string" required:"true"`
80092}
80093
80094// String returns the string representation
80095func (s DisassociateTransitGatewayRouteTableInput) String() string {
80096	return awsutil.Prettify(s)
80097}
80098
80099// GoString returns the string representation
80100func (s DisassociateTransitGatewayRouteTableInput) GoString() string {
80101	return s.String()
80102}
80103
80104// Validate inspects the fields of the type to determine if they are valid.
80105func (s *DisassociateTransitGatewayRouteTableInput) Validate() error {
80106	invalidParams := request.ErrInvalidParams{Context: "DisassociateTransitGatewayRouteTableInput"}
80107	if s.TransitGatewayAttachmentId == nil {
80108		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
80109	}
80110	if s.TransitGatewayRouteTableId == nil {
80111		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
80112	}
80113
80114	if invalidParams.Len() > 0 {
80115		return invalidParams
80116	}
80117	return nil
80118}
80119
80120// SetDryRun sets the DryRun field's value.
80121func (s *DisassociateTransitGatewayRouteTableInput) SetDryRun(v bool) *DisassociateTransitGatewayRouteTableInput {
80122	s.DryRun = &v
80123	return s
80124}
80125
80126// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
80127func (s *DisassociateTransitGatewayRouteTableInput) SetTransitGatewayAttachmentId(v string) *DisassociateTransitGatewayRouteTableInput {
80128	s.TransitGatewayAttachmentId = &v
80129	return s
80130}
80131
80132// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
80133func (s *DisassociateTransitGatewayRouteTableInput) SetTransitGatewayRouteTableId(v string) *DisassociateTransitGatewayRouteTableInput {
80134	s.TransitGatewayRouteTableId = &v
80135	return s
80136}
80137
80138type DisassociateTransitGatewayRouteTableOutput struct {
80139	_ struct{} `type:"structure"`
80140
80141	// Information about the association.
80142	Association *TransitGatewayAssociation `locationName:"association" type:"structure"`
80143}
80144
80145// String returns the string representation
80146func (s DisassociateTransitGatewayRouteTableOutput) String() string {
80147	return awsutil.Prettify(s)
80148}
80149
80150// GoString returns the string representation
80151func (s DisassociateTransitGatewayRouteTableOutput) GoString() string {
80152	return s.String()
80153}
80154
80155// SetAssociation sets the Association field's value.
80156func (s *DisassociateTransitGatewayRouteTableOutput) SetAssociation(v *TransitGatewayAssociation) *DisassociateTransitGatewayRouteTableOutput {
80157	s.Association = v
80158	return s
80159}
80160
80161type DisassociateVpcCidrBlockInput struct {
80162	_ struct{} `type:"structure"`
80163
80164	// The association ID for the CIDR block.
80165	//
80166	// AssociationId is a required field
80167	AssociationId *string `locationName:"associationId" type:"string" required:"true"`
80168}
80169
80170// String returns the string representation
80171func (s DisassociateVpcCidrBlockInput) String() string {
80172	return awsutil.Prettify(s)
80173}
80174
80175// GoString returns the string representation
80176func (s DisassociateVpcCidrBlockInput) GoString() string {
80177	return s.String()
80178}
80179
80180// Validate inspects the fields of the type to determine if they are valid.
80181func (s *DisassociateVpcCidrBlockInput) Validate() error {
80182	invalidParams := request.ErrInvalidParams{Context: "DisassociateVpcCidrBlockInput"}
80183	if s.AssociationId == nil {
80184		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
80185	}
80186
80187	if invalidParams.Len() > 0 {
80188		return invalidParams
80189	}
80190	return nil
80191}
80192
80193// SetAssociationId sets the AssociationId field's value.
80194func (s *DisassociateVpcCidrBlockInput) SetAssociationId(v string) *DisassociateVpcCidrBlockInput {
80195	s.AssociationId = &v
80196	return s
80197}
80198
80199type DisassociateVpcCidrBlockOutput struct {
80200	_ struct{} `type:"structure"`
80201
80202	// Information about the IPv4 CIDR block association.
80203	CidrBlockAssociation *VpcCidrBlockAssociation `locationName:"cidrBlockAssociation" type:"structure"`
80204
80205	// Information about the IPv6 CIDR block association.
80206	Ipv6CidrBlockAssociation *VpcIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"`
80207
80208	// The ID of the VPC.
80209	VpcId *string `locationName:"vpcId" type:"string"`
80210}
80211
80212// String returns the string representation
80213func (s DisassociateVpcCidrBlockOutput) String() string {
80214	return awsutil.Prettify(s)
80215}
80216
80217// GoString returns the string representation
80218func (s DisassociateVpcCidrBlockOutput) GoString() string {
80219	return s.String()
80220}
80221
80222// SetCidrBlockAssociation sets the CidrBlockAssociation field's value.
80223func (s *DisassociateVpcCidrBlockOutput) SetCidrBlockAssociation(v *VpcCidrBlockAssociation) *DisassociateVpcCidrBlockOutput {
80224	s.CidrBlockAssociation = v
80225	return s
80226}
80227
80228// SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value.
80229func (s *DisassociateVpcCidrBlockOutput) SetIpv6CidrBlockAssociation(v *VpcIpv6CidrBlockAssociation) *DisassociateVpcCidrBlockOutput {
80230	s.Ipv6CidrBlockAssociation = v
80231	return s
80232}
80233
80234// SetVpcId sets the VpcId field's value.
80235func (s *DisassociateVpcCidrBlockOutput) SetVpcId(v string) *DisassociateVpcCidrBlockOutput {
80236	s.VpcId = &v
80237	return s
80238}
80239
80240// Describes a disk image.
80241type DiskImage struct {
80242	_ struct{} `type:"structure"`
80243
80244	// A description of the disk image.
80245	Description *string `type:"string"`
80246
80247	// Information about the disk image.
80248	Image *DiskImageDetail `type:"structure"`
80249
80250	// Information about the volume.
80251	Volume *VolumeDetail `type:"structure"`
80252}
80253
80254// String returns the string representation
80255func (s DiskImage) String() string {
80256	return awsutil.Prettify(s)
80257}
80258
80259// GoString returns the string representation
80260func (s DiskImage) GoString() string {
80261	return s.String()
80262}
80263
80264// Validate inspects the fields of the type to determine if they are valid.
80265func (s *DiskImage) Validate() error {
80266	invalidParams := request.ErrInvalidParams{Context: "DiskImage"}
80267	if s.Image != nil {
80268		if err := s.Image.Validate(); err != nil {
80269			invalidParams.AddNested("Image", err.(request.ErrInvalidParams))
80270		}
80271	}
80272	if s.Volume != nil {
80273		if err := s.Volume.Validate(); err != nil {
80274			invalidParams.AddNested("Volume", err.(request.ErrInvalidParams))
80275		}
80276	}
80277
80278	if invalidParams.Len() > 0 {
80279		return invalidParams
80280	}
80281	return nil
80282}
80283
80284// SetDescription sets the Description field's value.
80285func (s *DiskImage) SetDescription(v string) *DiskImage {
80286	s.Description = &v
80287	return s
80288}
80289
80290// SetImage sets the Image field's value.
80291func (s *DiskImage) SetImage(v *DiskImageDetail) *DiskImage {
80292	s.Image = v
80293	return s
80294}
80295
80296// SetVolume sets the Volume field's value.
80297func (s *DiskImage) SetVolume(v *VolumeDetail) *DiskImage {
80298	s.Volume = v
80299	return s
80300}
80301
80302// Describes a disk image.
80303type DiskImageDescription struct {
80304	_ struct{} `type:"structure"`
80305
80306	// The checksum computed for the disk image.
80307	Checksum *string `locationName:"checksum" type:"string"`
80308
80309	// The disk image format.
80310	Format *string `locationName:"format" type:"string" enum:"DiskImageFormat"`
80311
80312	// A presigned URL for the import manifest stored in Amazon S3. For information
80313	// about creating a presigned URL for an Amazon S3 object, read the "Query String
80314	// Request Authentication Alternative" section of the Authenticating REST Requests
80315	// (https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html)
80316	// topic in the Amazon Simple Storage Service Developer Guide.
80317	//
80318	// For information about the import manifest referenced by this API action,
80319	// see VM Import Manifest (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
80320	ImportManifestUrl *string `locationName:"importManifestUrl" type:"string"`
80321
80322	// The size of the disk image, in GiB.
80323	Size *int64 `locationName:"size" type:"long"`
80324}
80325
80326// String returns the string representation
80327func (s DiskImageDescription) String() string {
80328	return awsutil.Prettify(s)
80329}
80330
80331// GoString returns the string representation
80332func (s DiskImageDescription) GoString() string {
80333	return s.String()
80334}
80335
80336// SetChecksum sets the Checksum field's value.
80337func (s *DiskImageDescription) SetChecksum(v string) *DiskImageDescription {
80338	s.Checksum = &v
80339	return s
80340}
80341
80342// SetFormat sets the Format field's value.
80343func (s *DiskImageDescription) SetFormat(v string) *DiskImageDescription {
80344	s.Format = &v
80345	return s
80346}
80347
80348// SetImportManifestUrl sets the ImportManifestUrl field's value.
80349func (s *DiskImageDescription) SetImportManifestUrl(v string) *DiskImageDescription {
80350	s.ImportManifestUrl = &v
80351	return s
80352}
80353
80354// SetSize sets the Size field's value.
80355func (s *DiskImageDescription) SetSize(v int64) *DiskImageDescription {
80356	s.Size = &v
80357	return s
80358}
80359
80360// Describes a disk image.
80361type DiskImageDetail struct {
80362	_ struct{} `type:"structure"`
80363
80364	// The size of the disk image, in GiB.
80365	//
80366	// Bytes is a required field
80367	Bytes *int64 `locationName:"bytes" type:"long" required:"true"`
80368
80369	// The disk image format.
80370	//
80371	// Format is a required field
80372	Format *string `locationName:"format" type:"string" required:"true" enum:"DiskImageFormat"`
80373
80374	// A presigned URL for the import manifest stored in Amazon S3 and presented
80375	// here as an Amazon S3 presigned URL. For information about creating a presigned
80376	// URL for an Amazon S3 object, read the "Query String Request Authentication
80377	// Alternative" section of the Authenticating REST Requests (https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html)
80378	// topic in the Amazon Simple Storage Service Developer Guide.
80379	//
80380	// For information about the import manifest referenced by this API action,
80381	// see VM Import Manifest (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
80382	//
80383	// ImportManifestUrl is a required field
80384	ImportManifestUrl *string `locationName:"importManifestUrl" type:"string" required:"true"`
80385}
80386
80387// String returns the string representation
80388func (s DiskImageDetail) String() string {
80389	return awsutil.Prettify(s)
80390}
80391
80392// GoString returns the string representation
80393func (s DiskImageDetail) GoString() string {
80394	return s.String()
80395}
80396
80397// Validate inspects the fields of the type to determine if they are valid.
80398func (s *DiskImageDetail) Validate() error {
80399	invalidParams := request.ErrInvalidParams{Context: "DiskImageDetail"}
80400	if s.Bytes == nil {
80401		invalidParams.Add(request.NewErrParamRequired("Bytes"))
80402	}
80403	if s.Format == nil {
80404		invalidParams.Add(request.NewErrParamRequired("Format"))
80405	}
80406	if s.ImportManifestUrl == nil {
80407		invalidParams.Add(request.NewErrParamRequired("ImportManifestUrl"))
80408	}
80409
80410	if invalidParams.Len() > 0 {
80411		return invalidParams
80412	}
80413	return nil
80414}
80415
80416// SetBytes sets the Bytes field's value.
80417func (s *DiskImageDetail) SetBytes(v int64) *DiskImageDetail {
80418	s.Bytes = &v
80419	return s
80420}
80421
80422// SetFormat sets the Format field's value.
80423func (s *DiskImageDetail) SetFormat(v string) *DiskImageDetail {
80424	s.Format = &v
80425	return s
80426}
80427
80428// SetImportManifestUrl sets the ImportManifestUrl field's value.
80429func (s *DiskImageDetail) SetImportManifestUrl(v string) *DiskImageDetail {
80430	s.ImportManifestUrl = &v
80431	return s
80432}
80433
80434// Describes a disk image volume.
80435type DiskImageVolumeDescription struct {
80436	_ struct{} `type:"structure"`
80437
80438	// The volume identifier.
80439	Id *string `locationName:"id" type:"string"`
80440
80441	// The size of the volume, in GiB.
80442	Size *int64 `locationName:"size" type:"long"`
80443}
80444
80445// String returns the string representation
80446func (s DiskImageVolumeDescription) String() string {
80447	return awsutil.Prettify(s)
80448}
80449
80450// GoString returns the string representation
80451func (s DiskImageVolumeDescription) GoString() string {
80452	return s.String()
80453}
80454
80455// SetId sets the Id field's value.
80456func (s *DiskImageVolumeDescription) SetId(v string) *DiskImageVolumeDescription {
80457	s.Id = &v
80458	return s
80459}
80460
80461// SetSize sets the Size field's value.
80462func (s *DiskImageVolumeDescription) SetSize(v int64) *DiskImageVolumeDescription {
80463	s.Size = &v
80464	return s
80465}
80466
80467// Describes the disk.
80468type DiskInfo struct {
80469	_ struct{} `type:"structure"`
80470
80471	// The number of disks with this configuration.
80472	Count *int64 `locationName:"count" type:"integer"`
80473
80474	// The size of the disk in GB.
80475	SizeInGB *int64 `locationName:"sizeInGB" type:"long"`
80476
80477	// The type of disk.
80478	Type *string `locationName:"type" type:"string" enum:"DiskType"`
80479}
80480
80481// String returns the string representation
80482func (s DiskInfo) String() string {
80483	return awsutil.Prettify(s)
80484}
80485
80486// GoString returns the string representation
80487func (s DiskInfo) GoString() string {
80488	return s.String()
80489}
80490
80491// SetCount sets the Count field's value.
80492func (s *DiskInfo) SetCount(v int64) *DiskInfo {
80493	s.Count = &v
80494	return s
80495}
80496
80497// SetSizeInGB sets the SizeInGB field's value.
80498func (s *DiskInfo) SetSizeInGB(v int64) *DiskInfo {
80499	s.SizeInGB = &v
80500	return s
80501}
80502
80503// SetType sets the Type field's value.
80504func (s *DiskInfo) SetType(v string) *DiskInfo {
80505	s.Type = &v
80506	return s
80507}
80508
80509// Describes a DNS entry.
80510type DnsEntry struct {
80511	_ struct{} `type:"structure"`
80512
80513	// The DNS name.
80514	DnsName *string `locationName:"dnsName" type:"string"`
80515
80516	// The ID of the private hosted zone.
80517	HostedZoneId *string `locationName:"hostedZoneId" type:"string"`
80518}
80519
80520// String returns the string representation
80521func (s DnsEntry) String() string {
80522	return awsutil.Prettify(s)
80523}
80524
80525// GoString returns the string representation
80526func (s DnsEntry) GoString() string {
80527	return s.String()
80528}
80529
80530// SetDnsName sets the DnsName field's value.
80531func (s *DnsEntry) SetDnsName(v string) *DnsEntry {
80532	s.DnsName = &v
80533	return s
80534}
80535
80536// SetHostedZoneId sets the HostedZoneId field's value.
80537func (s *DnsEntry) SetHostedZoneId(v string) *DnsEntry {
80538	s.HostedZoneId = &v
80539	return s
80540}
80541
80542// Information about the DNS server to be used.
80543type DnsServersOptionsModifyStructure struct {
80544	_ struct{} `type:"structure"`
80545
80546	// The IPv4 address range, in CIDR notation, of the DNS servers to be used.
80547	// You can specify up to two DNS servers. Ensure that the DNS servers can be
80548	// reached by the clients. The specified values overwrite the existing values.
80549	CustomDnsServers []*string `locationNameList:"item" type:"list"`
80550
80551	// Indicates whether DNS servers should be used. Specify False to delete the
80552	// existing DNS servers.
80553	Enabled *bool `type:"boolean"`
80554}
80555
80556// String returns the string representation
80557func (s DnsServersOptionsModifyStructure) String() string {
80558	return awsutil.Prettify(s)
80559}
80560
80561// GoString returns the string representation
80562func (s DnsServersOptionsModifyStructure) GoString() string {
80563	return s.String()
80564}
80565
80566// SetCustomDnsServers sets the CustomDnsServers field's value.
80567func (s *DnsServersOptionsModifyStructure) SetCustomDnsServers(v []*string) *DnsServersOptionsModifyStructure {
80568	s.CustomDnsServers = v
80569	return s
80570}
80571
80572// SetEnabled sets the Enabled field's value.
80573func (s *DnsServersOptionsModifyStructure) SetEnabled(v bool) *DnsServersOptionsModifyStructure {
80574	s.Enabled = &v
80575	return s
80576}
80577
80578// Describes a block device for an EBS volume.
80579type EbsBlockDevice struct {
80580	_ struct{} `type:"structure"`
80581
80582	// Indicates whether the EBS volume is deleted on instance termination. For
80583	// more information, see Preserving Amazon EBS volumes on instance termination
80584	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#preserving-volumes-on-termination)
80585	// in the Amazon EC2 User Guide.
80586	DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
80587
80588	// Indicates whether the encryption state of an EBS volume is changed while
80589	// being restored from a backing snapshot. The effect of setting the encryption
80590	// state to true depends on the volume origin (new or from a snapshot), starting
80591	// encryption state, ownership, and whether encryption by default is enabled.
80592	// For more information, see Amazon EBS encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-parameters)
80593	// in the Amazon EC2 User Guide.
80594	//
80595	// In no case can you remove encryption from an encrypted volume.
80596	//
80597	// Encrypted volumes can only be attached to instances that support Amazon EBS
80598	// encryption. For more information, see Supported instance types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances).
80599	//
80600	// This parameter is not returned by .
80601	Encrypted *bool `locationName:"encrypted" type:"boolean"`
80602
80603	// The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes,
80604	// this represents the number of IOPS that are provisioned for the volume. For
80605	// gp2 volumes, this represents the baseline performance of the volume and the
80606	// rate at which the volume accumulates I/O credits for bursting.
80607	//
80608	// The following are the supported values for each volume type:
80609	//
80610	//    * gp3: 3,000-16,000 IOPS
80611	//
80612	//    * io1: 100-64,000 IOPS
80613	//
80614	//    * io2: 100-64,000 IOPS
80615	//
80616	// For io1 and io2 volumes, we guarantee 64,000 IOPS only for Instances built
80617	// on the Nitro System (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances).
80618	// Other instance families guarantee performance up to 32,000 IOPS.
80619	//
80620	// This parameter is required for io1 and io2 volumes. The default for gp3 volumes
80621	// is 3,000 IOPS. This parameter is not supported for gp2, st1, sc1, or standard
80622	// volumes.
80623	Iops *int64 `locationName:"iops" type:"integer"`
80624
80625	// Identifier (key ID, key alias, ID ARN, or alias ARN) for a customer managed
80626	// CMK under which the EBS volume is encrypted.
80627	//
80628	// This parameter is only supported on BlockDeviceMapping objects called by
80629	// RunInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html),
80630	// RequestSpotFleet (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotFleet.html),
80631	// and RequestSpotInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotInstances.html).
80632	KmsKeyId *string `type:"string"`
80633
80634	// The ARN of the Outpost on which the snapshot is stored.
80635	OutpostArn *string `locationName:"outpostArn" type:"string"`
80636
80637	// The ID of the snapshot.
80638	SnapshotId *string `locationName:"snapshotId" type:"string"`
80639
80640	// The throughput that the volume supports, in MiB/s.
80641	//
80642	// This parameter is valid only for gp3 volumes.
80643	//
80644	// Valid Range: Minimum value of 125. Maximum value of 1000.
80645	Throughput *int64 `locationName:"throughput" type:"integer"`
80646
80647	// The size of the volume, in GiBs. You must specify either a snapshot ID or
80648	// a volume size. If you specify a snapshot, the default is the snapshot size.
80649	// You can specify a volume size that is equal to or larger than the snapshot
80650	// size.
80651	//
80652	// The following are the supported volumes sizes for each volume type:
80653	//
80654	//    * gp2 and gp3:1-16,384
80655	//
80656	//    * io1 and io2: 4-16,384
80657	//
80658	//    * st1 and sc1: 125-16,384
80659	//
80660	//    * standard: 1-1,024
80661	VolumeSize *int64 `locationName:"volumeSize" type:"integer"`
80662
80663	// The volume type. For more information, see Amazon EBS volume types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
80664	// in the Amazon EC2 User Guide. If the volume type is io1 or io2, you must
80665	// specify the IOPS that the volume supports.
80666	VolumeType *string `locationName:"volumeType" type:"string" enum:"VolumeType"`
80667}
80668
80669// String returns the string representation
80670func (s EbsBlockDevice) String() string {
80671	return awsutil.Prettify(s)
80672}
80673
80674// GoString returns the string representation
80675func (s EbsBlockDevice) GoString() string {
80676	return s.String()
80677}
80678
80679// SetDeleteOnTermination sets the DeleteOnTermination field's value.
80680func (s *EbsBlockDevice) SetDeleteOnTermination(v bool) *EbsBlockDevice {
80681	s.DeleteOnTermination = &v
80682	return s
80683}
80684
80685// SetEncrypted sets the Encrypted field's value.
80686func (s *EbsBlockDevice) SetEncrypted(v bool) *EbsBlockDevice {
80687	s.Encrypted = &v
80688	return s
80689}
80690
80691// SetIops sets the Iops field's value.
80692func (s *EbsBlockDevice) SetIops(v int64) *EbsBlockDevice {
80693	s.Iops = &v
80694	return s
80695}
80696
80697// SetKmsKeyId sets the KmsKeyId field's value.
80698func (s *EbsBlockDevice) SetKmsKeyId(v string) *EbsBlockDevice {
80699	s.KmsKeyId = &v
80700	return s
80701}
80702
80703// SetOutpostArn sets the OutpostArn field's value.
80704func (s *EbsBlockDevice) SetOutpostArn(v string) *EbsBlockDevice {
80705	s.OutpostArn = &v
80706	return s
80707}
80708
80709// SetSnapshotId sets the SnapshotId field's value.
80710func (s *EbsBlockDevice) SetSnapshotId(v string) *EbsBlockDevice {
80711	s.SnapshotId = &v
80712	return s
80713}
80714
80715// SetThroughput sets the Throughput field's value.
80716func (s *EbsBlockDevice) SetThroughput(v int64) *EbsBlockDevice {
80717	s.Throughput = &v
80718	return s
80719}
80720
80721// SetVolumeSize sets the VolumeSize field's value.
80722func (s *EbsBlockDevice) SetVolumeSize(v int64) *EbsBlockDevice {
80723	s.VolumeSize = &v
80724	return s
80725}
80726
80727// SetVolumeType sets the VolumeType field's value.
80728func (s *EbsBlockDevice) SetVolumeType(v string) *EbsBlockDevice {
80729	s.VolumeType = &v
80730	return s
80731}
80732
80733// Describes the Amazon EBS features supported by the instance type.
80734type EbsInfo struct {
80735	_ struct{} `type:"structure"`
80736
80737	// Describes the optimized EBS performance for the instance type.
80738	EbsOptimizedInfo *EbsOptimizedInfo `locationName:"ebsOptimizedInfo" type:"structure"`
80739
80740	// Indicates whether the instance type is Amazon EBS-optimized. For more information,
80741	// see Amazon EBS-optimized instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html)
80742	// in Amazon EC2 User Guide.
80743	EbsOptimizedSupport *string `locationName:"ebsOptimizedSupport" type:"string" enum:"EbsOptimizedSupport"`
80744
80745	// Indicates whether Amazon EBS encryption is supported.
80746	EncryptionSupport *string `locationName:"encryptionSupport" type:"string" enum:"EbsEncryptionSupport"`
80747
80748	// Indicates whether non-volatile memory express (NVMe) is supported.
80749	NvmeSupport *string `locationName:"nvmeSupport" type:"string" enum:"EbsNvmeSupport"`
80750}
80751
80752// String returns the string representation
80753func (s EbsInfo) String() string {
80754	return awsutil.Prettify(s)
80755}
80756
80757// GoString returns the string representation
80758func (s EbsInfo) GoString() string {
80759	return s.String()
80760}
80761
80762// SetEbsOptimizedInfo sets the EbsOptimizedInfo field's value.
80763func (s *EbsInfo) SetEbsOptimizedInfo(v *EbsOptimizedInfo) *EbsInfo {
80764	s.EbsOptimizedInfo = v
80765	return s
80766}
80767
80768// SetEbsOptimizedSupport sets the EbsOptimizedSupport field's value.
80769func (s *EbsInfo) SetEbsOptimizedSupport(v string) *EbsInfo {
80770	s.EbsOptimizedSupport = &v
80771	return s
80772}
80773
80774// SetEncryptionSupport sets the EncryptionSupport field's value.
80775func (s *EbsInfo) SetEncryptionSupport(v string) *EbsInfo {
80776	s.EncryptionSupport = &v
80777	return s
80778}
80779
80780// SetNvmeSupport sets the NvmeSupport field's value.
80781func (s *EbsInfo) SetNvmeSupport(v string) *EbsInfo {
80782	s.NvmeSupport = &v
80783	return s
80784}
80785
80786// Describes a parameter used to set up an EBS volume in a block device mapping.
80787type EbsInstanceBlockDevice struct {
80788	_ struct{} `type:"structure"`
80789
80790	// The time stamp when the attachment initiated.
80791	AttachTime *time.Time `locationName:"attachTime" type:"timestamp"`
80792
80793	// Indicates whether the volume is deleted on instance termination.
80794	DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
80795
80796	// The attachment state.
80797	Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
80798
80799	// The ID of the EBS volume.
80800	VolumeId *string `locationName:"volumeId" type:"string"`
80801}
80802
80803// String returns the string representation
80804func (s EbsInstanceBlockDevice) String() string {
80805	return awsutil.Prettify(s)
80806}
80807
80808// GoString returns the string representation
80809func (s EbsInstanceBlockDevice) GoString() string {
80810	return s.String()
80811}
80812
80813// SetAttachTime sets the AttachTime field's value.
80814func (s *EbsInstanceBlockDevice) SetAttachTime(v time.Time) *EbsInstanceBlockDevice {
80815	s.AttachTime = &v
80816	return s
80817}
80818
80819// SetDeleteOnTermination sets the DeleteOnTermination field's value.
80820func (s *EbsInstanceBlockDevice) SetDeleteOnTermination(v bool) *EbsInstanceBlockDevice {
80821	s.DeleteOnTermination = &v
80822	return s
80823}
80824
80825// SetStatus sets the Status field's value.
80826func (s *EbsInstanceBlockDevice) SetStatus(v string) *EbsInstanceBlockDevice {
80827	s.Status = &v
80828	return s
80829}
80830
80831// SetVolumeId sets the VolumeId field's value.
80832func (s *EbsInstanceBlockDevice) SetVolumeId(v string) *EbsInstanceBlockDevice {
80833	s.VolumeId = &v
80834	return s
80835}
80836
80837// Describes information used to set up an EBS volume specified in a block device
80838// mapping.
80839type EbsInstanceBlockDeviceSpecification struct {
80840	_ struct{} `type:"structure"`
80841
80842	// Indicates whether the volume is deleted on instance termination.
80843	DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
80844
80845	// The ID of the EBS volume.
80846	VolumeId *string `locationName:"volumeId" type:"string"`
80847}
80848
80849// String returns the string representation
80850func (s EbsInstanceBlockDeviceSpecification) String() string {
80851	return awsutil.Prettify(s)
80852}
80853
80854// GoString returns the string representation
80855func (s EbsInstanceBlockDeviceSpecification) GoString() string {
80856	return s.String()
80857}
80858
80859// SetDeleteOnTermination sets the DeleteOnTermination field's value.
80860func (s *EbsInstanceBlockDeviceSpecification) SetDeleteOnTermination(v bool) *EbsInstanceBlockDeviceSpecification {
80861	s.DeleteOnTermination = &v
80862	return s
80863}
80864
80865// SetVolumeId sets the VolumeId field's value.
80866func (s *EbsInstanceBlockDeviceSpecification) SetVolumeId(v string) *EbsInstanceBlockDeviceSpecification {
80867	s.VolumeId = &v
80868	return s
80869}
80870
80871// Describes the optimized EBS performance for supported instance types.
80872type EbsOptimizedInfo struct {
80873	_ struct{} `type:"structure"`
80874
80875	// The baseline bandwidth performance for an EBS-optimized instance type, in
80876	// Mbps.
80877	BaselineBandwidthInMbps *int64 `locationName:"baselineBandwidthInMbps" type:"integer"`
80878
80879	// The baseline input/output storage operations per seconds for an EBS-optimized
80880	// instance type.
80881	BaselineIops *int64 `locationName:"baselineIops" type:"integer"`
80882
80883	// The baseline throughput performance for an EBS-optimized instance type, in
80884	// MB/s.
80885	BaselineThroughputInMBps *float64 `locationName:"baselineThroughputInMBps" type:"double"`
80886
80887	// The maximum bandwidth performance for an EBS-optimized instance type, in
80888	// Mbps.
80889	MaximumBandwidthInMbps *int64 `locationName:"maximumBandwidthInMbps" type:"integer"`
80890
80891	// The maximum input/output storage operations per second for an EBS-optimized
80892	// instance type.
80893	MaximumIops *int64 `locationName:"maximumIops" type:"integer"`
80894
80895	// The maximum throughput performance for an EBS-optimized instance type, in
80896	// MB/s.
80897	MaximumThroughputInMBps *float64 `locationName:"maximumThroughputInMBps" type:"double"`
80898}
80899
80900// String returns the string representation
80901func (s EbsOptimizedInfo) String() string {
80902	return awsutil.Prettify(s)
80903}
80904
80905// GoString returns the string representation
80906func (s EbsOptimizedInfo) GoString() string {
80907	return s.String()
80908}
80909
80910// SetBaselineBandwidthInMbps sets the BaselineBandwidthInMbps field's value.
80911func (s *EbsOptimizedInfo) SetBaselineBandwidthInMbps(v int64) *EbsOptimizedInfo {
80912	s.BaselineBandwidthInMbps = &v
80913	return s
80914}
80915
80916// SetBaselineIops sets the BaselineIops field's value.
80917func (s *EbsOptimizedInfo) SetBaselineIops(v int64) *EbsOptimizedInfo {
80918	s.BaselineIops = &v
80919	return s
80920}
80921
80922// SetBaselineThroughputInMBps sets the BaselineThroughputInMBps field's value.
80923func (s *EbsOptimizedInfo) SetBaselineThroughputInMBps(v float64) *EbsOptimizedInfo {
80924	s.BaselineThroughputInMBps = &v
80925	return s
80926}
80927
80928// SetMaximumBandwidthInMbps sets the MaximumBandwidthInMbps field's value.
80929func (s *EbsOptimizedInfo) SetMaximumBandwidthInMbps(v int64) *EbsOptimizedInfo {
80930	s.MaximumBandwidthInMbps = &v
80931	return s
80932}
80933
80934// SetMaximumIops sets the MaximumIops field's value.
80935func (s *EbsOptimizedInfo) SetMaximumIops(v int64) *EbsOptimizedInfo {
80936	s.MaximumIops = &v
80937	return s
80938}
80939
80940// SetMaximumThroughputInMBps sets the MaximumThroughputInMBps field's value.
80941func (s *EbsOptimizedInfo) SetMaximumThroughputInMBps(v float64) *EbsOptimizedInfo {
80942	s.MaximumThroughputInMBps = &v
80943	return s
80944}
80945
80946// Describes the Elastic Fabric Adapters for the instance type.
80947type EfaInfo struct {
80948	_ struct{} `type:"structure"`
80949
80950	// The maximum number of Elastic Fabric Adapters for the instance type.
80951	MaximumEfaInterfaces *int64 `locationName:"maximumEfaInterfaces" type:"integer"`
80952}
80953
80954// String returns the string representation
80955func (s EfaInfo) String() string {
80956	return awsutil.Prettify(s)
80957}
80958
80959// GoString returns the string representation
80960func (s EfaInfo) GoString() string {
80961	return s.String()
80962}
80963
80964// SetMaximumEfaInterfaces sets the MaximumEfaInterfaces field's value.
80965func (s *EfaInfo) SetMaximumEfaInterfaces(v int64) *EfaInfo {
80966	s.MaximumEfaInterfaces = &v
80967	return s
80968}
80969
80970// Describes an egress-only internet gateway.
80971type EgressOnlyInternetGateway struct {
80972	_ struct{} `type:"structure"`
80973
80974	// Information about the attachment of the egress-only internet gateway.
80975	Attachments []*InternetGatewayAttachment `locationName:"attachmentSet" locationNameList:"item" type:"list"`
80976
80977	// The ID of the egress-only internet gateway.
80978	EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
80979
80980	// The tags assigned to the egress-only internet gateway.
80981	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
80982}
80983
80984// String returns the string representation
80985func (s EgressOnlyInternetGateway) String() string {
80986	return awsutil.Prettify(s)
80987}
80988
80989// GoString returns the string representation
80990func (s EgressOnlyInternetGateway) GoString() string {
80991	return s.String()
80992}
80993
80994// SetAttachments sets the Attachments field's value.
80995func (s *EgressOnlyInternetGateway) SetAttachments(v []*InternetGatewayAttachment) *EgressOnlyInternetGateway {
80996	s.Attachments = v
80997	return s
80998}
80999
81000// SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
81001func (s *EgressOnlyInternetGateway) SetEgressOnlyInternetGatewayId(v string) *EgressOnlyInternetGateway {
81002	s.EgressOnlyInternetGatewayId = &v
81003	return s
81004}
81005
81006// SetTags sets the Tags field's value.
81007func (s *EgressOnlyInternetGateway) SetTags(v []*Tag) *EgressOnlyInternetGateway {
81008	s.Tags = v
81009	return s
81010}
81011
81012// Describes the association between an instance and an Elastic Graphics accelerator.
81013type ElasticGpuAssociation struct {
81014	_ struct{} `type:"structure"`
81015
81016	// The ID of the association.
81017	ElasticGpuAssociationId *string `locationName:"elasticGpuAssociationId" type:"string"`
81018
81019	// The state of the association between the instance and the Elastic Graphics
81020	// accelerator.
81021	ElasticGpuAssociationState *string `locationName:"elasticGpuAssociationState" type:"string"`
81022
81023	// The time the Elastic Graphics accelerator was associated with the instance.
81024	ElasticGpuAssociationTime *string `locationName:"elasticGpuAssociationTime" type:"string"`
81025
81026	// The ID of the Elastic Graphics accelerator.
81027	ElasticGpuId *string `locationName:"elasticGpuId" type:"string"`
81028}
81029
81030// String returns the string representation
81031func (s ElasticGpuAssociation) String() string {
81032	return awsutil.Prettify(s)
81033}
81034
81035// GoString returns the string representation
81036func (s ElasticGpuAssociation) GoString() string {
81037	return s.String()
81038}
81039
81040// SetElasticGpuAssociationId sets the ElasticGpuAssociationId field's value.
81041func (s *ElasticGpuAssociation) SetElasticGpuAssociationId(v string) *ElasticGpuAssociation {
81042	s.ElasticGpuAssociationId = &v
81043	return s
81044}
81045
81046// SetElasticGpuAssociationState sets the ElasticGpuAssociationState field's value.
81047func (s *ElasticGpuAssociation) SetElasticGpuAssociationState(v string) *ElasticGpuAssociation {
81048	s.ElasticGpuAssociationState = &v
81049	return s
81050}
81051
81052// SetElasticGpuAssociationTime sets the ElasticGpuAssociationTime field's value.
81053func (s *ElasticGpuAssociation) SetElasticGpuAssociationTime(v string) *ElasticGpuAssociation {
81054	s.ElasticGpuAssociationTime = &v
81055	return s
81056}
81057
81058// SetElasticGpuId sets the ElasticGpuId field's value.
81059func (s *ElasticGpuAssociation) SetElasticGpuId(v string) *ElasticGpuAssociation {
81060	s.ElasticGpuId = &v
81061	return s
81062}
81063
81064// Describes the status of an Elastic Graphics accelerator.
81065type ElasticGpuHealth struct {
81066	_ struct{} `type:"structure"`
81067
81068	// The health status.
81069	Status *string `locationName:"status" type:"string" enum:"ElasticGpuStatus"`
81070}
81071
81072// String returns the string representation
81073func (s ElasticGpuHealth) String() string {
81074	return awsutil.Prettify(s)
81075}
81076
81077// GoString returns the string representation
81078func (s ElasticGpuHealth) GoString() string {
81079	return s.String()
81080}
81081
81082// SetStatus sets the Status field's value.
81083func (s *ElasticGpuHealth) SetStatus(v string) *ElasticGpuHealth {
81084	s.Status = &v
81085	return s
81086}
81087
81088// A specification for an Elastic Graphics accelerator.
81089type ElasticGpuSpecification struct {
81090	_ struct{} `type:"structure"`
81091
81092	// The type of Elastic Graphics accelerator. For more information about the
81093	// values to specify for Type, see Elastic Graphics Basics (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-graphics.html#elastic-graphics-basics),
81094	// specifically the Elastic Graphics accelerator column, in the Amazon Elastic
81095	// Compute Cloud User Guide for Windows Instances.
81096	//
81097	// Type is a required field
81098	Type *string `type:"string" required:"true"`
81099}
81100
81101// String returns the string representation
81102func (s ElasticGpuSpecification) String() string {
81103	return awsutil.Prettify(s)
81104}
81105
81106// GoString returns the string representation
81107func (s ElasticGpuSpecification) GoString() string {
81108	return s.String()
81109}
81110
81111// Validate inspects the fields of the type to determine if they are valid.
81112func (s *ElasticGpuSpecification) Validate() error {
81113	invalidParams := request.ErrInvalidParams{Context: "ElasticGpuSpecification"}
81114	if s.Type == nil {
81115		invalidParams.Add(request.NewErrParamRequired("Type"))
81116	}
81117
81118	if invalidParams.Len() > 0 {
81119		return invalidParams
81120	}
81121	return nil
81122}
81123
81124// SetType sets the Type field's value.
81125func (s *ElasticGpuSpecification) SetType(v string) *ElasticGpuSpecification {
81126	s.Type = &v
81127	return s
81128}
81129
81130// Describes an elastic GPU.
81131type ElasticGpuSpecificationResponse struct {
81132	_ struct{} `type:"structure"`
81133
81134	// The elastic GPU type.
81135	Type *string `locationName:"type" type:"string"`
81136}
81137
81138// String returns the string representation
81139func (s ElasticGpuSpecificationResponse) String() string {
81140	return awsutil.Prettify(s)
81141}
81142
81143// GoString returns the string representation
81144func (s ElasticGpuSpecificationResponse) GoString() string {
81145	return s.String()
81146}
81147
81148// SetType sets the Type field's value.
81149func (s *ElasticGpuSpecificationResponse) SetType(v string) *ElasticGpuSpecificationResponse {
81150	s.Type = &v
81151	return s
81152}
81153
81154// Describes an Elastic Graphics accelerator.
81155type ElasticGpus struct {
81156	_ struct{} `type:"structure"`
81157
81158	// The Availability Zone in the which the Elastic Graphics accelerator resides.
81159	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
81160
81161	// The status of the Elastic Graphics accelerator.
81162	ElasticGpuHealth *ElasticGpuHealth `locationName:"elasticGpuHealth" type:"structure"`
81163
81164	// The ID of the Elastic Graphics accelerator.
81165	ElasticGpuId *string `locationName:"elasticGpuId" type:"string"`
81166
81167	// The state of the Elastic Graphics accelerator.
81168	ElasticGpuState *string `locationName:"elasticGpuState" type:"string" enum:"ElasticGpuState"`
81169
81170	// The type of Elastic Graphics accelerator.
81171	ElasticGpuType *string `locationName:"elasticGpuType" type:"string"`
81172
81173	// The ID of the instance to which the Elastic Graphics accelerator is attached.
81174	InstanceId *string `locationName:"instanceId" type:"string"`
81175
81176	// The tags assigned to the Elastic Graphics accelerator.
81177	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
81178}
81179
81180// String returns the string representation
81181func (s ElasticGpus) String() string {
81182	return awsutil.Prettify(s)
81183}
81184
81185// GoString returns the string representation
81186func (s ElasticGpus) GoString() string {
81187	return s.String()
81188}
81189
81190// SetAvailabilityZone sets the AvailabilityZone field's value.
81191func (s *ElasticGpus) SetAvailabilityZone(v string) *ElasticGpus {
81192	s.AvailabilityZone = &v
81193	return s
81194}
81195
81196// SetElasticGpuHealth sets the ElasticGpuHealth field's value.
81197func (s *ElasticGpus) SetElasticGpuHealth(v *ElasticGpuHealth) *ElasticGpus {
81198	s.ElasticGpuHealth = v
81199	return s
81200}
81201
81202// SetElasticGpuId sets the ElasticGpuId field's value.
81203func (s *ElasticGpus) SetElasticGpuId(v string) *ElasticGpus {
81204	s.ElasticGpuId = &v
81205	return s
81206}
81207
81208// SetElasticGpuState sets the ElasticGpuState field's value.
81209func (s *ElasticGpus) SetElasticGpuState(v string) *ElasticGpus {
81210	s.ElasticGpuState = &v
81211	return s
81212}
81213
81214// SetElasticGpuType sets the ElasticGpuType field's value.
81215func (s *ElasticGpus) SetElasticGpuType(v string) *ElasticGpus {
81216	s.ElasticGpuType = &v
81217	return s
81218}
81219
81220// SetInstanceId sets the InstanceId field's value.
81221func (s *ElasticGpus) SetInstanceId(v string) *ElasticGpus {
81222	s.InstanceId = &v
81223	return s
81224}
81225
81226// SetTags sets the Tags field's value.
81227func (s *ElasticGpus) SetTags(v []*Tag) *ElasticGpus {
81228	s.Tags = v
81229	return s
81230}
81231
81232// Describes an elastic inference accelerator.
81233type ElasticInferenceAccelerator struct {
81234	_ struct{} `type:"structure"`
81235
81236	// The number of elastic inference accelerators to attach to the instance.
81237	//
81238	// Default: 1
81239	Count *int64 `min:"1" type:"integer"`
81240
81241	// The type of elastic inference accelerator. The possible values are eia1.medium,
81242	// eia1.large, eia1.xlarge, eia2.medium, eia2.large, and eia2.xlarge.
81243	//
81244	// Type is a required field
81245	Type *string `type:"string" required:"true"`
81246}
81247
81248// String returns the string representation
81249func (s ElasticInferenceAccelerator) String() string {
81250	return awsutil.Prettify(s)
81251}
81252
81253// GoString returns the string representation
81254func (s ElasticInferenceAccelerator) GoString() string {
81255	return s.String()
81256}
81257
81258// Validate inspects the fields of the type to determine if they are valid.
81259func (s *ElasticInferenceAccelerator) Validate() error {
81260	invalidParams := request.ErrInvalidParams{Context: "ElasticInferenceAccelerator"}
81261	if s.Count != nil && *s.Count < 1 {
81262		invalidParams.Add(request.NewErrParamMinValue("Count", 1))
81263	}
81264	if s.Type == nil {
81265		invalidParams.Add(request.NewErrParamRequired("Type"))
81266	}
81267
81268	if invalidParams.Len() > 0 {
81269		return invalidParams
81270	}
81271	return nil
81272}
81273
81274// SetCount sets the Count field's value.
81275func (s *ElasticInferenceAccelerator) SetCount(v int64) *ElasticInferenceAccelerator {
81276	s.Count = &v
81277	return s
81278}
81279
81280// SetType sets the Type field's value.
81281func (s *ElasticInferenceAccelerator) SetType(v string) *ElasticInferenceAccelerator {
81282	s.Type = &v
81283	return s
81284}
81285
81286// Describes the association between an instance and an elastic inference accelerator.
81287type ElasticInferenceAcceleratorAssociation struct {
81288	_ struct{} `type:"structure"`
81289
81290	// The Amazon Resource Name (ARN) of the elastic inference accelerator.
81291	ElasticInferenceAcceleratorArn *string `locationName:"elasticInferenceAcceleratorArn" type:"string"`
81292
81293	// The ID of the association.
81294	ElasticInferenceAcceleratorAssociationId *string `locationName:"elasticInferenceAcceleratorAssociationId" type:"string"`
81295
81296	// The state of the elastic inference accelerator.
81297	ElasticInferenceAcceleratorAssociationState *string `locationName:"elasticInferenceAcceleratorAssociationState" type:"string"`
81298
81299	// The time at which the elastic inference accelerator is associated with an
81300	// instance.
81301	ElasticInferenceAcceleratorAssociationTime *time.Time `locationName:"elasticInferenceAcceleratorAssociationTime" type:"timestamp"`
81302}
81303
81304// String returns the string representation
81305func (s ElasticInferenceAcceleratorAssociation) String() string {
81306	return awsutil.Prettify(s)
81307}
81308
81309// GoString returns the string representation
81310func (s ElasticInferenceAcceleratorAssociation) GoString() string {
81311	return s.String()
81312}
81313
81314// SetElasticInferenceAcceleratorArn sets the ElasticInferenceAcceleratorArn field's value.
81315func (s *ElasticInferenceAcceleratorAssociation) SetElasticInferenceAcceleratorArn(v string) *ElasticInferenceAcceleratorAssociation {
81316	s.ElasticInferenceAcceleratorArn = &v
81317	return s
81318}
81319
81320// SetElasticInferenceAcceleratorAssociationId sets the ElasticInferenceAcceleratorAssociationId field's value.
81321func (s *ElasticInferenceAcceleratorAssociation) SetElasticInferenceAcceleratorAssociationId(v string) *ElasticInferenceAcceleratorAssociation {
81322	s.ElasticInferenceAcceleratorAssociationId = &v
81323	return s
81324}
81325
81326// SetElasticInferenceAcceleratorAssociationState sets the ElasticInferenceAcceleratorAssociationState field's value.
81327func (s *ElasticInferenceAcceleratorAssociation) SetElasticInferenceAcceleratorAssociationState(v string) *ElasticInferenceAcceleratorAssociation {
81328	s.ElasticInferenceAcceleratorAssociationState = &v
81329	return s
81330}
81331
81332// SetElasticInferenceAcceleratorAssociationTime sets the ElasticInferenceAcceleratorAssociationTime field's value.
81333func (s *ElasticInferenceAcceleratorAssociation) SetElasticInferenceAcceleratorAssociationTime(v time.Time) *ElasticInferenceAcceleratorAssociation {
81334	s.ElasticInferenceAcceleratorAssociationTime = &v
81335	return s
81336}
81337
81338type EnableEbsEncryptionByDefaultInput struct {
81339	_ struct{} `type:"structure"`
81340
81341	// Checks whether you have the required permissions for the action, without
81342	// actually making the request, and provides an error response. If you have
81343	// the required permissions, the error response is DryRunOperation. Otherwise,
81344	// it is UnauthorizedOperation.
81345	DryRun *bool `type:"boolean"`
81346}
81347
81348// String returns the string representation
81349func (s EnableEbsEncryptionByDefaultInput) String() string {
81350	return awsutil.Prettify(s)
81351}
81352
81353// GoString returns the string representation
81354func (s EnableEbsEncryptionByDefaultInput) GoString() string {
81355	return s.String()
81356}
81357
81358// SetDryRun sets the DryRun field's value.
81359func (s *EnableEbsEncryptionByDefaultInput) SetDryRun(v bool) *EnableEbsEncryptionByDefaultInput {
81360	s.DryRun = &v
81361	return s
81362}
81363
81364type EnableEbsEncryptionByDefaultOutput struct {
81365	_ struct{} `type:"structure"`
81366
81367	// The updated status of encryption by default.
81368	EbsEncryptionByDefault *bool `locationName:"ebsEncryptionByDefault" type:"boolean"`
81369}
81370
81371// String returns the string representation
81372func (s EnableEbsEncryptionByDefaultOutput) String() string {
81373	return awsutil.Prettify(s)
81374}
81375
81376// GoString returns the string representation
81377func (s EnableEbsEncryptionByDefaultOutput) GoString() string {
81378	return s.String()
81379}
81380
81381// SetEbsEncryptionByDefault sets the EbsEncryptionByDefault field's value.
81382func (s *EnableEbsEncryptionByDefaultOutput) SetEbsEncryptionByDefault(v bool) *EnableEbsEncryptionByDefaultOutput {
81383	s.EbsEncryptionByDefault = &v
81384	return s
81385}
81386
81387// Contains information about the errors that occurred when enabling fast snapshot
81388// restores.
81389type EnableFastSnapshotRestoreErrorItem struct {
81390	_ struct{} `type:"structure"`
81391
81392	// The errors.
81393	FastSnapshotRestoreStateErrors []*EnableFastSnapshotRestoreStateErrorItem `locationName:"fastSnapshotRestoreStateErrorSet" locationNameList:"item" type:"list"`
81394
81395	// The ID of the snapshot.
81396	SnapshotId *string `locationName:"snapshotId" type:"string"`
81397}
81398
81399// String returns the string representation
81400func (s EnableFastSnapshotRestoreErrorItem) String() string {
81401	return awsutil.Prettify(s)
81402}
81403
81404// GoString returns the string representation
81405func (s EnableFastSnapshotRestoreErrorItem) GoString() string {
81406	return s.String()
81407}
81408
81409// SetFastSnapshotRestoreStateErrors sets the FastSnapshotRestoreStateErrors field's value.
81410func (s *EnableFastSnapshotRestoreErrorItem) SetFastSnapshotRestoreStateErrors(v []*EnableFastSnapshotRestoreStateErrorItem) *EnableFastSnapshotRestoreErrorItem {
81411	s.FastSnapshotRestoreStateErrors = v
81412	return s
81413}
81414
81415// SetSnapshotId sets the SnapshotId field's value.
81416func (s *EnableFastSnapshotRestoreErrorItem) SetSnapshotId(v string) *EnableFastSnapshotRestoreErrorItem {
81417	s.SnapshotId = &v
81418	return s
81419}
81420
81421// Describes an error that occurred when enabling fast snapshot restores.
81422type EnableFastSnapshotRestoreStateError struct {
81423	_ struct{} `type:"structure"`
81424
81425	// The error code.
81426	Code *string `locationName:"code" type:"string"`
81427
81428	// The error message.
81429	Message *string `locationName:"message" type:"string"`
81430}
81431
81432// String returns the string representation
81433func (s EnableFastSnapshotRestoreStateError) String() string {
81434	return awsutil.Prettify(s)
81435}
81436
81437// GoString returns the string representation
81438func (s EnableFastSnapshotRestoreStateError) GoString() string {
81439	return s.String()
81440}
81441
81442// SetCode sets the Code field's value.
81443func (s *EnableFastSnapshotRestoreStateError) SetCode(v string) *EnableFastSnapshotRestoreStateError {
81444	s.Code = &v
81445	return s
81446}
81447
81448// SetMessage sets the Message field's value.
81449func (s *EnableFastSnapshotRestoreStateError) SetMessage(v string) *EnableFastSnapshotRestoreStateError {
81450	s.Message = &v
81451	return s
81452}
81453
81454// Contains information about an error that occurred when enabling fast snapshot
81455// restores.
81456type EnableFastSnapshotRestoreStateErrorItem struct {
81457	_ struct{} `type:"structure"`
81458
81459	// The Availability Zone.
81460	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
81461
81462	// The error.
81463	Error *EnableFastSnapshotRestoreStateError `locationName:"error" type:"structure"`
81464}
81465
81466// String returns the string representation
81467func (s EnableFastSnapshotRestoreStateErrorItem) String() string {
81468	return awsutil.Prettify(s)
81469}
81470
81471// GoString returns the string representation
81472func (s EnableFastSnapshotRestoreStateErrorItem) GoString() string {
81473	return s.String()
81474}
81475
81476// SetAvailabilityZone sets the AvailabilityZone field's value.
81477func (s *EnableFastSnapshotRestoreStateErrorItem) SetAvailabilityZone(v string) *EnableFastSnapshotRestoreStateErrorItem {
81478	s.AvailabilityZone = &v
81479	return s
81480}
81481
81482// SetError sets the Error field's value.
81483func (s *EnableFastSnapshotRestoreStateErrorItem) SetError(v *EnableFastSnapshotRestoreStateError) *EnableFastSnapshotRestoreStateErrorItem {
81484	s.Error = v
81485	return s
81486}
81487
81488// Describes fast snapshot restores that were successfully enabled.
81489type EnableFastSnapshotRestoreSuccessItem struct {
81490	_ struct{} `type:"structure"`
81491
81492	// The Availability Zone.
81493	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
81494
81495	// The time at which fast snapshot restores entered the disabled state.
81496	DisabledTime *time.Time `locationName:"disabledTime" type:"timestamp"`
81497
81498	// The time at which fast snapshot restores entered the disabling state.
81499	DisablingTime *time.Time `locationName:"disablingTime" type:"timestamp"`
81500
81501	// The time at which fast snapshot restores entered the enabled state.
81502	EnabledTime *time.Time `locationName:"enabledTime" type:"timestamp"`
81503
81504	// The time at which fast snapshot restores entered the enabling state.
81505	EnablingTime *time.Time `locationName:"enablingTime" type:"timestamp"`
81506
81507	// The time at which fast snapshot restores entered the optimizing state.
81508	OptimizingTime *time.Time `locationName:"optimizingTime" type:"timestamp"`
81509
81510	// The AWS owner alias that enabled fast snapshot restores on the snapshot.
81511	// This is intended for future use.
81512	OwnerAlias *string `locationName:"ownerAlias" type:"string"`
81513
81514	// The ID of the AWS account that enabled fast snapshot restores on the snapshot.
81515	OwnerId *string `locationName:"ownerId" type:"string"`
81516
81517	// The ID of the snapshot.
81518	SnapshotId *string `locationName:"snapshotId" type:"string"`
81519
81520	// The state of fast snapshot restores.
81521	State *string `locationName:"state" type:"string" enum:"FastSnapshotRestoreStateCode"`
81522
81523	// The reason for the state transition. The possible values are as follows:
81524	//
81525	//    * Client.UserInitiated - The state successfully transitioned to enabling
81526	//    or disabling.
81527	//
81528	//    * Client.UserInitiated - Lifecycle state transition - The state successfully
81529	//    transitioned to optimizing, enabled, or disabled.
81530	StateTransitionReason *string `locationName:"stateTransitionReason" type:"string"`
81531}
81532
81533// String returns the string representation
81534func (s EnableFastSnapshotRestoreSuccessItem) String() string {
81535	return awsutil.Prettify(s)
81536}
81537
81538// GoString returns the string representation
81539func (s EnableFastSnapshotRestoreSuccessItem) GoString() string {
81540	return s.String()
81541}
81542
81543// SetAvailabilityZone sets the AvailabilityZone field's value.
81544func (s *EnableFastSnapshotRestoreSuccessItem) SetAvailabilityZone(v string) *EnableFastSnapshotRestoreSuccessItem {
81545	s.AvailabilityZone = &v
81546	return s
81547}
81548
81549// SetDisabledTime sets the DisabledTime field's value.
81550func (s *EnableFastSnapshotRestoreSuccessItem) SetDisabledTime(v time.Time) *EnableFastSnapshotRestoreSuccessItem {
81551	s.DisabledTime = &v
81552	return s
81553}
81554
81555// SetDisablingTime sets the DisablingTime field's value.
81556func (s *EnableFastSnapshotRestoreSuccessItem) SetDisablingTime(v time.Time) *EnableFastSnapshotRestoreSuccessItem {
81557	s.DisablingTime = &v
81558	return s
81559}
81560
81561// SetEnabledTime sets the EnabledTime field's value.
81562func (s *EnableFastSnapshotRestoreSuccessItem) SetEnabledTime(v time.Time) *EnableFastSnapshotRestoreSuccessItem {
81563	s.EnabledTime = &v
81564	return s
81565}
81566
81567// SetEnablingTime sets the EnablingTime field's value.
81568func (s *EnableFastSnapshotRestoreSuccessItem) SetEnablingTime(v time.Time) *EnableFastSnapshotRestoreSuccessItem {
81569	s.EnablingTime = &v
81570	return s
81571}
81572
81573// SetOptimizingTime sets the OptimizingTime field's value.
81574func (s *EnableFastSnapshotRestoreSuccessItem) SetOptimizingTime(v time.Time) *EnableFastSnapshotRestoreSuccessItem {
81575	s.OptimizingTime = &v
81576	return s
81577}
81578
81579// SetOwnerAlias sets the OwnerAlias field's value.
81580func (s *EnableFastSnapshotRestoreSuccessItem) SetOwnerAlias(v string) *EnableFastSnapshotRestoreSuccessItem {
81581	s.OwnerAlias = &v
81582	return s
81583}
81584
81585// SetOwnerId sets the OwnerId field's value.
81586func (s *EnableFastSnapshotRestoreSuccessItem) SetOwnerId(v string) *EnableFastSnapshotRestoreSuccessItem {
81587	s.OwnerId = &v
81588	return s
81589}
81590
81591// SetSnapshotId sets the SnapshotId field's value.
81592func (s *EnableFastSnapshotRestoreSuccessItem) SetSnapshotId(v string) *EnableFastSnapshotRestoreSuccessItem {
81593	s.SnapshotId = &v
81594	return s
81595}
81596
81597// SetState sets the State field's value.
81598func (s *EnableFastSnapshotRestoreSuccessItem) SetState(v string) *EnableFastSnapshotRestoreSuccessItem {
81599	s.State = &v
81600	return s
81601}
81602
81603// SetStateTransitionReason sets the StateTransitionReason field's value.
81604func (s *EnableFastSnapshotRestoreSuccessItem) SetStateTransitionReason(v string) *EnableFastSnapshotRestoreSuccessItem {
81605	s.StateTransitionReason = &v
81606	return s
81607}
81608
81609type EnableFastSnapshotRestoresInput struct {
81610	_ struct{} `type:"structure"`
81611
81612	// One or more Availability Zones. For example, us-east-2a.
81613	//
81614	// AvailabilityZones is a required field
81615	AvailabilityZones []*string `locationName:"AvailabilityZone" locationNameList:"AvailabilityZone" type:"list" required:"true"`
81616
81617	// Checks whether you have the required permissions for the action, without
81618	// actually making the request, and provides an error response. If you have
81619	// the required permissions, the error response is DryRunOperation. Otherwise,
81620	// it is UnauthorizedOperation.
81621	DryRun *bool `type:"boolean"`
81622
81623	// The IDs of one or more snapshots. For example, snap-1234567890abcdef0. You
81624	// can specify a snapshot that was shared with you from another AWS account.
81625	//
81626	// SourceSnapshotIds is a required field
81627	SourceSnapshotIds []*string `locationName:"SourceSnapshotId" locationNameList:"SnapshotId" type:"list" required:"true"`
81628}
81629
81630// String returns the string representation
81631func (s EnableFastSnapshotRestoresInput) String() string {
81632	return awsutil.Prettify(s)
81633}
81634
81635// GoString returns the string representation
81636func (s EnableFastSnapshotRestoresInput) GoString() string {
81637	return s.String()
81638}
81639
81640// Validate inspects the fields of the type to determine if they are valid.
81641func (s *EnableFastSnapshotRestoresInput) Validate() error {
81642	invalidParams := request.ErrInvalidParams{Context: "EnableFastSnapshotRestoresInput"}
81643	if s.AvailabilityZones == nil {
81644		invalidParams.Add(request.NewErrParamRequired("AvailabilityZones"))
81645	}
81646	if s.SourceSnapshotIds == nil {
81647		invalidParams.Add(request.NewErrParamRequired("SourceSnapshotIds"))
81648	}
81649
81650	if invalidParams.Len() > 0 {
81651		return invalidParams
81652	}
81653	return nil
81654}
81655
81656// SetAvailabilityZones sets the AvailabilityZones field's value.
81657func (s *EnableFastSnapshotRestoresInput) SetAvailabilityZones(v []*string) *EnableFastSnapshotRestoresInput {
81658	s.AvailabilityZones = v
81659	return s
81660}
81661
81662// SetDryRun sets the DryRun field's value.
81663func (s *EnableFastSnapshotRestoresInput) SetDryRun(v bool) *EnableFastSnapshotRestoresInput {
81664	s.DryRun = &v
81665	return s
81666}
81667
81668// SetSourceSnapshotIds sets the SourceSnapshotIds field's value.
81669func (s *EnableFastSnapshotRestoresInput) SetSourceSnapshotIds(v []*string) *EnableFastSnapshotRestoresInput {
81670	s.SourceSnapshotIds = v
81671	return s
81672}
81673
81674type EnableFastSnapshotRestoresOutput struct {
81675	_ struct{} `type:"structure"`
81676
81677	// Information about the snapshots for which fast snapshot restores were successfully
81678	// enabled.
81679	Successful []*EnableFastSnapshotRestoreSuccessItem `locationName:"successful" locationNameList:"item" type:"list"`
81680
81681	// Information about the snapshots for which fast snapshot restores could not
81682	// be enabled.
81683	Unsuccessful []*EnableFastSnapshotRestoreErrorItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
81684}
81685
81686// String returns the string representation
81687func (s EnableFastSnapshotRestoresOutput) String() string {
81688	return awsutil.Prettify(s)
81689}
81690
81691// GoString returns the string representation
81692func (s EnableFastSnapshotRestoresOutput) GoString() string {
81693	return s.String()
81694}
81695
81696// SetSuccessful sets the Successful field's value.
81697func (s *EnableFastSnapshotRestoresOutput) SetSuccessful(v []*EnableFastSnapshotRestoreSuccessItem) *EnableFastSnapshotRestoresOutput {
81698	s.Successful = v
81699	return s
81700}
81701
81702// SetUnsuccessful sets the Unsuccessful field's value.
81703func (s *EnableFastSnapshotRestoresOutput) SetUnsuccessful(v []*EnableFastSnapshotRestoreErrorItem) *EnableFastSnapshotRestoresOutput {
81704	s.Unsuccessful = v
81705	return s
81706}
81707
81708type EnableSerialConsoleAccessInput struct {
81709	_ struct{} `type:"structure"`
81710
81711	// Checks whether you have the required permissions for the action, without
81712	// actually making the request, and provides an error response. If you have
81713	// the required permissions, the error response is DryRunOperation. Otherwise,
81714	// it is UnauthorizedOperation.
81715	DryRun *bool `type:"boolean"`
81716}
81717
81718// String returns the string representation
81719func (s EnableSerialConsoleAccessInput) String() string {
81720	return awsutil.Prettify(s)
81721}
81722
81723// GoString returns the string representation
81724func (s EnableSerialConsoleAccessInput) GoString() string {
81725	return s.String()
81726}
81727
81728// SetDryRun sets the DryRun field's value.
81729func (s *EnableSerialConsoleAccessInput) SetDryRun(v bool) *EnableSerialConsoleAccessInput {
81730	s.DryRun = &v
81731	return s
81732}
81733
81734type EnableSerialConsoleAccessOutput struct {
81735	_ struct{} `type:"structure"`
81736
81737	// If true, access to the EC2 serial console of all instances is enabled for
81738	// your account. If false, access to the EC2 serial console of all instances
81739	// is disabled for your account.
81740	SerialConsoleAccessEnabled *bool `locationName:"serialConsoleAccessEnabled" type:"boolean"`
81741}
81742
81743// String returns the string representation
81744func (s EnableSerialConsoleAccessOutput) String() string {
81745	return awsutil.Prettify(s)
81746}
81747
81748// GoString returns the string representation
81749func (s EnableSerialConsoleAccessOutput) GoString() string {
81750	return s.String()
81751}
81752
81753// SetSerialConsoleAccessEnabled sets the SerialConsoleAccessEnabled field's value.
81754func (s *EnableSerialConsoleAccessOutput) SetSerialConsoleAccessEnabled(v bool) *EnableSerialConsoleAccessOutput {
81755	s.SerialConsoleAccessEnabled = &v
81756	return s
81757}
81758
81759type EnableTransitGatewayRouteTablePropagationInput struct {
81760	_ struct{} `type:"structure"`
81761
81762	// Checks whether you have the required permissions for the action, without
81763	// actually making the request, and provides an error response. If you have
81764	// the required permissions, the error response is DryRunOperation. Otherwise,
81765	// it is UnauthorizedOperation.
81766	DryRun *bool `type:"boolean"`
81767
81768	// The ID of the attachment.
81769	//
81770	// TransitGatewayAttachmentId is a required field
81771	TransitGatewayAttachmentId *string `type:"string" required:"true"`
81772
81773	// The ID of the propagation route table.
81774	//
81775	// TransitGatewayRouteTableId is a required field
81776	TransitGatewayRouteTableId *string `type:"string" required:"true"`
81777}
81778
81779// String returns the string representation
81780func (s EnableTransitGatewayRouteTablePropagationInput) String() string {
81781	return awsutil.Prettify(s)
81782}
81783
81784// GoString returns the string representation
81785func (s EnableTransitGatewayRouteTablePropagationInput) GoString() string {
81786	return s.String()
81787}
81788
81789// Validate inspects the fields of the type to determine if they are valid.
81790func (s *EnableTransitGatewayRouteTablePropagationInput) Validate() error {
81791	invalidParams := request.ErrInvalidParams{Context: "EnableTransitGatewayRouteTablePropagationInput"}
81792	if s.TransitGatewayAttachmentId == nil {
81793		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
81794	}
81795	if s.TransitGatewayRouteTableId == nil {
81796		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
81797	}
81798
81799	if invalidParams.Len() > 0 {
81800		return invalidParams
81801	}
81802	return nil
81803}
81804
81805// SetDryRun sets the DryRun field's value.
81806func (s *EnableTransitGatewayRouteTablePropagationInput) SetDryRun(v bool) *EnableTransitGatewayRouteTablePropagationInput {
81807	s.DryRun = &v
81808	return s
81809}
81810
81811// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
81812func (s *EnableTransitGatewayRouteTablePropagationInput) SetTransitGatewayAttachmentId(v string) *EnableTransitGatewayRouteTablePropagationInput {
81813	s.TransitGatewayAttachmentId = &v
81814	return s
81815}
81816
81817// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
81818func (s *EnableTransitGatewayRouteTablePropagationInput) SetTransitGatewayRouteTableId(v string) *EnableTransitGatewayRouteTablePropagationInput {
81819	s.TransitGatewayRouteTableId = &v
81820	return s
81821}
81822
81823type EnableTransitGatewayRouteTablePropagationOutput struct {
81824	_ struct{} `type:"structure"`
81825
81826	// Information about route propagation.
81827	Propagation *TransitGatewayPropagation `locationName:"propagation" type:"structure"`
81828}
81829
81830// String returns the string representation
81831func (s EnableTransitGatewayRouteTablePropagationOutput) String() string {
81832	return awsutil.Prettify(s)
81833}
81834
81835// GoString returns the string representation
81836func (s EnableTransitGatewayRouteTablePropagationOutput) GoString() string {
81837	return s.String()
81838}
81839
81840// SetPropagation sets the Propagation field's value.
81841func (s *EnableTransitGatewayRouteTablePropagationOutput) SetPropagation(v *TransitGatewayPropagation) *EnableTransitGatewayRouteTablePropagationOutput {
81842	s.Propagation = v
81843	return s
81844}
81845
81846// Contains the parameters for EnableVgwRoutePropagation.
81847type EnableVgwRoutePropagationInput struct {
81848	_ struct{} `type:"structure"`
81849
81850	// Checks whether you have the required permissions for the action, without
81851	// actually making the request, and provides an error response. If you have
81852	// the required permissions, the error response is DryRunOperation. Otherwise,
81853	// it is UnauthorizedOperation.
81854	DryRun *bool `type:"boolean"`
81855
81856	// The ID of the virtual private gateway that is attached to a VPC. The virtual
81857	// private gateway must be attached to the same VPC that the routing tables
81858	// are associated with.
81859	//
81860	// GatewayId is a required field
81861	GatewayId *string `type:"string" required:"true"`
81862
81863	// The ID of the route table. The routing table must be associated with the
81864	// same VPC that the virtual private gateway is attached to.
81865	//
81866	// RouteTableId is a required field
81867	RouteTableId *string `type:"string" required:"true"`
81868}
81869
81870// String returns the string representation
81871func (s EnableVgwRoutePropagationInput) String() string {
81872	return awsutil.Prettify(s)
81873}
81874
81875// GoString returns the string representation
81876func (s EnableVgwRoutePropagationInput) GoString() string {
81877	return s.String()
81878}
81879
81880// Validate inspects the fields of the type to determine if they are valid.
81881func (s *EnableVgwRoutePropagationInput) Validate() error {
81882	invalidParams := request.ErrInvalidParams{Context: "EnableVgwRoutePropagationInput"}
81883	if s.GatewayId == nil {
81884		invalidParams.Add(request.NewErrParamRequired("GatewayId"))
81885	}
81886	if s.RouteTableId == nil {
81887		invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
81888	}
81889
81890	if invalidParams.Len() > 0 {
81891		return invalidParams
81892	}
81893	return nil
81894}
81895
81896// SetDryRun sets the DryRun field's value.
81897func (s *EnableVgwRoutePropagationInput) SetDryRun(v bool) *EnableVgwRoutePropagationInput {
81898	s.DryRun = &v
81899	return s
81900}
81901
81902// SetGatewayId sets the GatewayId field's value.
81903func (s *EnableVgwRoutePropagationInput) SetGatewayId(v string) *EnableVgwRoutePropagationInput {
81904	s.GatewayId = &v
81905	return s
81906}
81907
81908// SetRouteTableId sets the RouteTableId field's value.
81909func (s *EnableVgwRoutePropagationInput) SetRouteTableId(v string) *EnableVgwRoutePropagationInput {
81910	s.RouteTableId = &v
81911	return s
81912}
81913
81914type EnableVgwRoutePropagationOutput struct {
81915	_ struct{} `type:"structure"`
81916}
81917
81918// String returns the string representation
81919func (s EnableVgwRoutePropagationOutput) String() string {
81920	return awsutil.Prettify(s)
81921}
81922
81923// GoString returns the string representation
81924func (s EnableVgwRoutePropagationOutput) GoString() string {
81925	return s.String()
81926}
81927
81928type EnableVolumeIOInput struct {
81929	_ struct{} `type:"structure"`
81930
81931	// Checks whether you have the required permissions for the action, without
81932	// actually making the request, and provides an error response. If you have
81933	// the required permissions, the error response is DryRunOperation. Otherwise,
81934	// it is UnauthorizedOperation.
81935	DryRun *bool `locationName:"dryRun" type:"boolean"`
81936
81937	// The ID of the volume.
81938	//
81939	// VolumeId is a required field
81940	VolumeId *string `locationName:"volumeId" type:"string" required:"true"`
81941}
81942
81943// String returns the string representation
81944func (s EnableVolumeIOInput) String() string {
81945	return awsutil.Prettify(s)
81946}
81947
81948// GoString returns the string representation
81949func (s EnableVolumeIOInput) GoString() string {
81950	return s.String()
81951}
81952
81953// Validate inspects the fields of the type to determine if they are valid.
81954func (s *EnableVolumeIOInput) Validate() error {
81955	invalidParams := request.ErrInvalidParams{Context: "EnableVolumeIOInput"}
81956	if s.VolumeId == nil {
81957		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
81958	}
81959
81960	if invalidParams.Len() > 0 {
81961		return invalidParams
81962	}
81963	return nil
81964}
81965
81966// SetDryRun sets the DryRun field's value.
81967func (s *EnableVolumeIOInput) SetDryRun(v bool) *EnableVolumeIOInput {
81968	s.DryRun = &v
81969	return s
81970}
81971
81972// SetVolumeId sets the VolumeId field's value.
81973func (s *EnableVolumeIOInput) SetVolumeId(v string) *EnableVolumeIOInput {
81974	s.VolumeId = &v
81975	return s
81976}
81977
81978type EnableVolumeIOOutput struct {
81979	_ struct{} `type:"structure"`
81980}
81981
81982// String returns the string representation
81983func (s EnableVolumeIOOutput) String() string {
81984	return awsutil.Prettify(s)
81985}
81986
81987// GoString returns the string representation
81988func (s EnableVolumeIOOutput) GoString() string {
81989	return s.String()
81990}
81991
81992type EnableVpcClassicLinkDnsSupportInput struct {
81993	_ struct{} `type:"structure"`
81994
81995	// The ID of the VPC.
81996	VpcId *string `type:"string"`
81997}
81998
81999// String returns the string representation
82000func (s EnableVpcClassicLinkDnsSupportInput) String() string {
82001	return awsutil.Prettify(s)
82002}
82003
82004// GoString returns the string representation
82005func (s EnableVpcClassicLinkDnsSupportInput) GoString() string {
82006	return s.String()
82007}
82008
82009// SetVpcId sets the VpcId field's value.
82010func (s *EnableVpcClassicLinkDnsSupportInput) SetVpcId(v string) *EnableVpcClassicLinkDnsSupportInput {
82011	s.VpcId = &v
82012	return s
82013}
82014
82015type EnableVpcClassicLinkDnsSupportOutput struct {
82016	_ struct{} `type:"structure"`
82017
82018	// Returns true if the request succeeds; otherwise, it returns an error.
82019	Return *bool `locationName:"return" type:"boolean"`
82020}
82021
82022// String returns the string representation
82023func (s EnableVpcClassicLinkDnsSupportOutput) String() string {
82024	return awsutil.Prettify(s)
82025}
82026
82027// GoString returns the string representation
82028func (s EnableVpcClassicLinkDnsSupportOutput) GoString() string {
82029	return s.String()
82030}
82031
82032// SetReturn sets the Return field's value.
82033func (s *EnableVpcClassicLinkDnsSupportOutput) SetReturn(v bool) *EnableVpcClassicLinkDnsSupportOutput {
82034	s.Return = &v
82035	return s
82036}
82037
82038type EnableVpcClassicLinkInput struct {
82039	_ struct{} `type:"structure"`
82040
82041	// Checks whether you have the required permissions for the action, without
82042	// actually making the request, and provides an error response. If you have
82043	// the required permissions, the error response is DryRunOperation. Otherwise,
82044	// it is UnauthorizedOperation.
82045	DryRun *bool `locationName:"dryRun" type:"boolean"`
82046
82047	// The ID of the VPC.
82048	//
82049	// VpcId is a required field
82050	VpcId *string `locationName:"vpcId" type:"string" required:"true"`
82051}
82052
82053// String returns the string representation
82054func (s EnableVpcClassicLinkInput) String() string {
82055	return awsutil.Prettify(s)
82056}
82057
82058// GoString returns the string representation
82059func (s EnableVpcClassicLinkInput) GoString() string {
82060	return s.String()
82061}
82062
82063// Validate inspects the fields of the type to determine if they are valid.
82064func (s *EnableVpcClassicLinkInput) Validate() error {
82065	invalidParams := request.ErrInvalidParams{Context: "EnableVpcClassicLinkInput"}
82066	if s.VpcId == nil {
82067		invalidParams.Add(request.NewErrParamRequired("VpcId"))
82068	}
82069
82070	if invalidParams.Len() > 0 {
82071		return invalidParams
82072	}
82073	return nil
82074}
82075
82076// SetDryRun sets the DryRun field's value.
82077func (s *EnableVpcClassicLinkInput) SetDryRun(v bool) *EnableVpcClassicLinkInput {
82078	s.DryRun = &v
82079	return s
82080}
82081
82082// SetVpcId sets the VpcId field's value.
82083func (s *EnableVpcClassicLinkInput) SetVpcId(v string) *EnableVpcClassicLinkInput {
82084	s.VpcId = &v
82085	return s
82086}
82087
82088type EnableVpcClassicLinkOutput struct {
82089	_ struct{} `type:"structure"`
82090
82091	// Returns true if the request succeeds; otherwise, it returns an error.
82092	Return *bool `locationName:"return" type:"boolean"`
82093}
82094
82095// String returns the string representation
82096func (s EnableVpcClassicLinkOutput) String() string {
82097	return awsutil.Prettify(s)
82098}
82099
82100// GoString returns the string representation
82101func (s EnableVpcClassicLinkOutput) GoString() string {
82102	return s.String()
82103}
82104
82105// SetReturn sets the Return field's value.
82106func (s *EnableVpcClassicLinkOutput) SetReturn(v bool) *EnableVpcClassicLinkOutput {
82107	s.Return = &v
82108	return s
82109}
82110
82111// Indicates whether the instance is enabled for AWS Nitro Enclaves.
82112type EnclaveOptions struct {
82113	_ struct{} `type:"structure"`
82114
82115	// If this parameter is set to true, the instance is enabled for AWS Nitro Enclaves;
82116	// otherwise, it is not enabled for AWS Nitro Enclaves.
82117	Enabled *bool `locationName:"enabled" type:"boolean"`
82118}
82119
82120// String returns the string representation
82121func (s EnclaveOptions) String() string {
82122	return awsutil.Prettify(s)
82123}
82124
82125// GoString returns the string representation
82126func (s EnclaveOptions) GoString() string {
82127	return s.String()
82128}
82129
82130// SetEnabled sets the Enabled field's value.
82131func (s *EnclaveOptions) SetEnabled(v bool) *EnclaveOptions {
82132	s.Enabled = &v
82133	return s
82134}
82135
82136// Indicates whether the instance is enabled for AWS Nitro Enclaves. For more
82137// information, see What is AWS Nitro Enclaves? (https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html)
82138// in the AWS Nitro Enclaves User Guide.
82139type EnclaveOptionsRequest struct {
82140	_ struct{} `type:"structure"`
82141
82142	// To enable the instance for AWS Nitro Enclaves, set this parameter to true.
82143	Enabled *bool `type:"boolean"`
82144}
82145
82146// String returns the string representation
82147func (s EnclaveOptionsRequest) String() string {
82148	return awsutil.Prettify(s)
82149}
82150
82151// GoString returns the string representation
82152func (s EnclaveOptionsRequest) GoString() string {
82153	return s.String()
82154}
82155
82156// SetEnabled sets the Enabled field's value.
82157func (s *EnclaveOptionsRequest) SetEnabled(v bool) *EnclaveOptionsRequest {
82158	s.Enabled = &v
82159	return s
82160}
82161
82162// Describes an EC2 Fleet or Spot Fleet event.
82163type EventInformation struct {
82164	_ struct{} `type:"structure"`
82165
82166	// The description of the event.
82167	EventDescription *string `locationName:"eventDescription" type:"string"`
82168
82169	// The event.
82170	//
82171	// The following are the error events:
82172	//
82173	//    * iamFleetRoleInvalid - The EC2 Fleet or Spot Fleet did not have the required
82174	//    permissions either to launch or terminate an instance.
82175	//
82176	//    * spotFleetRequestConfigurationInvalid - The configuration is not valid.
82177	//    For more information, see the description of the event.
82178	//
82179	//    * spotInstanceCountLimitExceeded - You've reached the limit on the number
82180	//    of Spot Instances that you can launch.
82181	//
82182	// The following are the fleetRequestChange events:
82183	//
82184	//    * active - The EC2 Fleet or Spot Fleet request has been validated and
82185	//    Amazon EC2 is attempting to maintain the target number of running Spot
82186	//    Instances.
82187	//
82188	//    * cancelled - The EC2 Fleet or Spot Fleet request is canceled and has
82189	//    no running Spot Instances. The EC2 Fleet or Spot Fleet will be deleted
82190	//    two days after its instances were terminated.
82191	//
82192	//    * cancelled_running - The EC2 Fleet or Spot Fleet request is canceled
82193	//    and does not launch additional Spot Instances. Existing Spot Instances
82194	//    continue to run until they are interrupted or terminated.
82195	//
82196	//    * cancelled_terminating - The EC2 Fleet or Spot Fleet request is canceled
82197	//    and its Spot Instances are terminating.
82198	//
82199	//    * expired - The EC2 Fleet or Spot Fleet request has expired. A subsequent
82200	//    event indicates that the instances were terminated, if the request was
82201	//    created with TerminateInstancesWithExpiration set.
82202	//
82203	//    * modify_in_progress - A request to modify the EC2 Fleet or Spot Fleet
82204	//    request was accepted and is in progress.
82205	//
82206	//    * modify_successful - The EC2 Fleet or Spot Fleet request was modified.
82207	//
82208	//    * price_update - The price for a launch configuration was adjusted because
82209	//    it was too high. This change is permanent.
82210	//
82211	//    * submitted - The EC2 Fleet or Spot Fleet request is being evaluated and
82212	//    Amazon EC2 is preparing to launch the target number of Spot Instances.
82213	//
82214	// The following are the instanceChange events:
82215	//
82216	//    * launched - A request was fulfilled and a new instance was launched.
82217	//
82218	//    * terminated - An instance was terminated by the user.
82219	//
82220	// The following are the Information events:
82221	//
82222	//    * launchSpecTemporarilyBlacklisted - The configuration is not valid and
82223	//    several attempts to launch instances have failed. For more information,
82224	//    see the description of the event.
82225	//
82226	//    * launchSpecUnusable - The price in a launch specification is not valid
82227	//    because it is below the Spot price or the Spot price is above the On-Demand
82228	//    price.
82229	//
82230	//    * fleetProgressHalted - The price in every launch specification is not
82231	//    valid. A launch specification might become valid if the Spot price changes.
82232	EventSubType *string `locationName:"eventSubType" type:"string"`
82233
82234	// The ID of the instance. This information is available only for instanceChange
82235	// events.
82236	InstanceId *string `locationName:"instanceId" type:"string"`
82237}
82238
82239// String returns the string representation
82240func (s EventInformation) String() string {
82241	return awsutil.Prettify(s)
82242}
82243
82244// GoString returns the string representation
82245func (s EventInformation) GoString() string {
82246	return s.String()
82247}
82248
82249// SetEventDescription sets the EventDescription field's value.
82250func (s *EventInformation) SetEventDescription(v string) *EventInformation {
82251	s.EventDescription = &v
82252	return s
82253}
82254
82255// SetEventSubType sets the EventSubType field's value.
82256func (s *EventInformation) SetEventSubType(v string) *EventInformation {
82257	s.EventSubType = &v
82258	return s
82259}
82260
82261// SetInstanceId sets the InstanceId field's value.
82262func (s *EventInformation) SetInstanceId(v string) *EventInformation {
82263	s.InstanceId = &v
82264	return s
82265}
82266
82267// Describes an explanation code for an unreachable path. For more information,
82268// see Reachability Analyzer explanation codes (https://docs.aws.amazon.com/vpc/latest/reachability/explanation-codes.html).
82269type Explanation struct {
82270	_ struct{} `type:"structure"`
82271
82272	// The network ACL.
82273	Acl *AnalysisComponent `locationName:"acl" type:"structure"`
82274
82275	// The network ACL rule.
82276	AclRule *AnalysisAclRule `locationName:"aclRule" type:"structure"`
82277
82278	// The IPv4 address, in CIDR notation.
82279	Address *string `locationName:"address" type:"string"`
82280
82281	// The IPv4 addresses, in CIDR notation.
82282	Addresses []*string `locationName:"addressSet" locationNameList:"item" type:"list"`
82283
82284	// The resource to which the component is attached.
82285	AttachedTo *AnalysisComponent `locationName:"attachedTo" type:"structure"`
82286
82287	// The Availability Zones.
82288	AvailabilityZones []*string `locationName:"availabilityZoneSet" locationNameList:"item" type:"list"`
82289
82290	// The CIDR ranges.
82291	Cidrs []*string `locationName:"cidrSet" locationNameList:"item" type:"list"`
82292
82293	// The listener for a Classic Load Balancer.
82294	ClassicLoadBalancerListener *AnalysisLoadBalancerListener `locationName:"classicLoadBalancerListener" type:"structure"`
82295
82296	// The component.
82297	Component *AnalysisComponent `locationName:"component" type:"structure"`
82298
82299	// The customer gateway.
82300	CustomerGateway *AnalysisComponent `locationName:"customerGateway" type:"structure"`
82301
82302	// The destination.
82303	Destination *AnalysisComponent `locationName:"destination" type:"structure"`
82304
82305	// The destination VPC.
82306	DestinationVpc *AnalysisComponent `locationName:"destinationVpc" type:"structure"`
82307
82308	// The direction. The following are possible values:
82309	//
82310	//    * egress
82311	//
82312	//    * ingress
82313	Direction *string `locationName:"direction" type:"string"`
82314
82315	// The load balancer listener.
82316	ElasticLoadBalancerListener *AnalysisComponent `locationName:"elasticLoadBalancerListener" type:"structure"`
82317
82318	// The explanation code.
82319	ExplanationCode *string `locationName:"explanationCode" type:"string"`
82320
82321	// The route table.
82322	IngressRouteTable *AnalysisComponent `locationName:"ingressRouteTable" type:"structure"`
82323
82324	// The internet gateway.
82325	InternetGateway *AnalysisComponent `locationName:"internetGateway" type:"structure"`
82326
82327	// The Amazon Resource Name (ARN) of the load balancer.
82328	LoadBalancerArn *string `locationName:"loadBalancerArn" min:"1" type:"string"`
82329
82330	// The listener port of the load balancer.
82331	LoadBalancerListenerPort *int64 `locationName:"loadBalancerListenerPort" min:"1" type:"integer"`
82332
82333	// The target.
82334	LoadBalancerTarget *AnalysisLoadBalancerTarget `locationName:"loadBalancerTarget" type:"structure"`
82335
82336	// The target group.
82337	LoadBalancerTargetGroup *AnalysisComponent `locationName:"loadBalancerTargetGroup" type:"structure"`
82338
82339	// The target groups.
82340	LoadBalancerTargetGroups []*AnalysisComponent `locationName:"loadBalancerTargetGroupSet" locationNameList:"item" type:"list"`
82341
82342	// The target port.
82343	LoadBalancerTargetPort *int64 `locationName:"loadBalancerTargetPort" min:"1" type:"integer"`
82344
82345	// The missing component.
82346	MissingComponent *string `locationName:"missingComponent" type:"string"`
82347
82348	// The NAT gateway.
82349	NatGateway *AnalysisComponent `locationName:"natGateway" type:"structure"`
82350
82351	// The network interface.
82352	NetworkInterface *AnalysisComponent `locationName:"networkInterface" type:"structure"`
82353
82354	// The packet field.
82355	PacketField *string `locationName:"packetField" type:"string"`
82356
82357	// The port.
82358	Port *int64 `locationName:"port" min:"1" type:"integer"`
82359
82360	// The port ranges.
82361	PortRanges []*PortRange `locationName:"portRangeSet" locationNameList:"item" type:"list"`
82362
82363	// The prefix list.
82364	PrefixList *AnalysisComponent `locationName:"prefixList" type:"structure"`
82365
82366	// The protocols.
82367	Protocols []*string `locationName:"protocolSet" locationNameList:"item" type:"list"`
82368
82369	// The route table.
82370	RouteTable *AnalysisComponent `locationName:"routeTable" type:"structure"`
82371
82372	// The route table route.
82373	RouteTableRoute *AnalysisRouteTableRoute `locationName:"routeTableRoute" type:"structure"`
82374
82375	// The security group.
82376	SecurityGroup *AnalysisComponent `locationName:"securityGroup" type:"structure"`
82377
82378	// The security group rule.
82379	SecurityGroupRule *AnalysisSecurityGroupRule `locationName:"securityGroupRule" type:"structure"`
82380
82381	// The security groups.
82382	SecurityGroups []*AnalysisComponent `locationName:"securityGroupSet" locationNameList:"item" type:"list"`
82383
82384	// The source VPC.
82385	SourceVpc *AnalysisComponent `locationName:"sourceVpc" type:"structure"`
82386
82387	// The state.
82388	State *string `locationName:"state" type:"string"`
82389
82390	// The subnet.
82391	Subnet *AnalysisComponent `locationName:"subnet" type:"structure"`
82392
82393	// The route table for the subnet.
82394	SubnetRouteTable *AnalysisComponent `locationName:"subnetRouteTable" type:"structure"`
82395
82396	// The component VPC.
82397	Vpc *AnalysisComponent `locationName:"vpc" type:"structure"`
82398
82399	// The VPC endpoint.
82400	VpcEndpoint *AnalysisComponent `locationName:"vpcEndpoint" type:"structure"`
82401
82402	// The VPC peering connection.
82403	VpcPeeringConnection *AnalysisComponent `locationName:"vpcPeeringConnection" type:"structure"`
82404
82405	// The VPN connection.
82406	VpnConnection *AnalysisComponent `locationName:"vpnConnection" type:"structure"`
82407
82408	// The VPN gateway.
82409	VpnGateway *AnalysisComponent `locationName:"vpnGateway" type:"structure"`
82410}
82411
82412// String returns the string representation
82413func (s Explanation) String() string {
82414	return awsutil.Prettify(s)
82415}
82416
82417// GoString returns the string representation
82418func (s Explanation) GoString() string {
82419	return s.String()
82420}
82421
82422// SetAcl sets the Acl field's value.
82423func (s *Explanation) SetAcl(v *AnalysisComponent) *Explanation {
82424	s.Acl = v
82425	return s
82426}
82427
82428// SetAclRule sets the AclRule field's value.
82429func (s *Explanation) SetAclRule(v *AnalysisAclRule) *Explanation {
82430	s.AclRule = v
82431	return s
82432}
82433
82434// SetAddress sets the Address field's value.
82435func (s *Explanation) SetAddress(v string) *Explanation {
82436	s.Address = &v
82437	return s
82438}
82439
82440// SetAddresses sets the Addresses field's value.
82441func (s *Explanation) SetAddresses(v []*string) *Explanation {
82442	s.Addresses = v
82443	return s
82444}
82445
82446// SetAttachedTo sets the AttachedTo field's value.
82447func (s *Explanation) SetAttachedTo(v *AnalysisComponent) *Explanation {
82448	s.AttachedTo = v
82449	return s
82450}
82451
82452// SetAvailabilityZones sets the AvailabilityZones field's value.
82453func (s *Explanation) SetAvailabilityZones(v []*string) *Explanation {
82454	s.AvailabilityZones = v
82455	return s
82456}
82457
82458// SetCidrs sets the Cidrs field's value.
82459func (s *Explanation) SetCidrs(v []*string) *Explanation {
82460	s.Cidrs = v
82461	return s
82462}
82463
82464// SetClassicLoadBalancerListener sets the ClassicLoadBalancerListener field's value.
82465func (s *Explanation) SetClassicLoadBalancerListener(v *AnalysisLoadBalancerListener) *Explanation {
82466	s.ClassicLoadBalancerListener = v
82467	return s
82468}
82469
82470// SetComponent sets the Component field's value.
82471func (s *Explanation) SetComponent(v *AnalysisComponent) *Explanation {
82472	s.Component = v
82473	return s
82474}
82475
82476// SetCustomerGateway sets the CustomerGateway field's value.
82477func (s *Explanation) SetCustomerGateway(v *AnalysisComponent) *Explanation {
82478	s.CustomerGateway = v
82479	return s
82480}
82481
82482// SetDestination sets the Destination field's value.
82483func (s *Explanation) SetDestination(v *AnalysisComponent) *Explanation {
82484	s.Destination = v
82485	return s
82486}
82487
82488// SetDestinationVpc sets the DestinationVpc field's value.
82489func (s *Explanation) SetDestinationVpc(v *AnalysisComponent) *Explanation {
82490	s.DestinationVpc = v
82491	return s
82492}
82493
82494// SetDirection sets the Direction field's value.
82495func (s *Explanation) SetDirection(v string) *Explanation {
82496	s.Direction = &v
82497	return s
82498}
82499
82500// SetElasticLoadBalancerListener sets the ElasticLoadBalancerListener field's value.
82501func (s *Explanation) SetElasticLoadBalancerListener(v *AnalysisComponent) *Explanation {
82502	s.ElasticLoadBalancerListener = v
82503	return s
82504}
82505
82506// SetExplanationCode sets the ExplanationCode field's value.
82507func (s *Explanation) SetExplanationCode(v string) *Explanation {
82508	s.ExplanationCode = &v
82509	return s
82510}
82511
82512// SetIngressRouteTable sets the IngressRouteTable field's value.
82513func (s *Explanation) SetIngressRouteTable(v *AnalysisComponent) *Explanation {
82514	s.IngressRouteTable = v
82515	return s
82516}
82517
82518// SetInternetGateway sets the InternetGateway field's value.
82519func (s *Explanation) SetInternetGateway(v *AnalysisComponent) *Explanation {
82520	s.InternetGateway = v
82521	return s
82522}
82523
82524// SetLoadBalancerArn sets the LoadBalancerArn field's value.
82525func (s *Explanation) SetLoadBalancerArn(v string) *Explanation {
82526	s.LoadBalancerArn = &v
82527	return s
82528}
82529
82530// SetLoadBalancerListenerPort sets the LoadBalancerListenerPort field's value.
82531func (s *Explanation) SetLoadBalancerListenerPort(v int64) *Explanation {
82532	s.LoadBalancerListenerPort = &v
82533	return s
82534}
82535
82536// SetLoadBalancerTarget sets the LoadBalancerTarget field's value.
82537func (s *Explanation) SetLoadBalancerTarget(v *AnalysisLoadBalancerTarget) *Explanation {
82538	s.LoadBalancerTarget = v
82539	return s
82540}
82541
82542// SetLoadBalancerTargetGroup sets the LoadBalancerTargetGroup field's value.
82543func (s *Explanation) SetLoadBalancerTargetGroup(v *AnalysisComponent) *Explanation {
82544	s.LoadBalancerTargetGroup = v
82545	return s
82546}
82547
82548// SetLoadBalancerTargetGroups sets the LoadBalancerTargetGroups field's value.
82549func (s *Explanation) SetLoadBalancerTargetGroups(v []*AnalysisComponent) *Explanation {
82550	s.LoadBalancerTargetGroups = v
82551	return s
82552}
82553
82554// SetLoadBalancerTargetPort sets the LoadBalancerTargetPort field's value.
82555func (s *Explanation) SetLoadBalancerTargetPort(v int64) *Explanation {
82556	s.LoadBalancerTargetPort = &v
82557	return s
82558}
82559
82560// SetMissingComponent sets the MissingComponent field's value.
82561func (s *Explanation) SetMissingComponent(v string) *Explanation {
82562	s.MissingComponent = &v
82563	return s
82564}
82565
82566// SetNatGateway sets the NatGateway field's value.
82567func (s *Explanation) SetNatGateway(v *AnalysisComponent) *Explanation {
82568	s.NatGateway = v
82569	return s
82570}
82571
82572// SetNetworkInterface sets the NetworkInterface field's value.
82573func (s *Explanation) SetNetworkInterface(v *AnalysisComponent) *Explanation {
82574	s.NetworkInterface = v
82575	return s
82576}
82577
82578// SetPacketField sets the PacketField field's value.
82579func (s *Explanation) SetPacketField(v string) *Explanation {
82580	s.PacketField = &v
82581	return s
82582}
82583
82584// SetPort sets the Port field's value.
82585func (s *Explanation) SetPort(v int64) *Explanation {
82586	s.Port = &v
82587	return s
82588}
82589
82590// SetPortRanges sets the PortRanges field's value.
82591func (s *Explanation) SetPortRanges(v []*PortRange) *Explanation {
82592	s.PortRanges = v
82593	return s
82594}
82595
82596// SetPrefixList sets the PrefixList field's value.
82597func (s *Explanation) SetPrefixList(v *AnalysisComponent) *Explanation {
82598	s.PrefixList = v
82599	return s
82600}
82601
82602// SetProtocols sets the Protocols field's value.
82603func (s *Explanation) SetProtocols(v []*string) *Explanation {
82604	s.Protocols = v
82605	return s
82606}
82607
82608// SetRouteTable sets the RouteTable field's value.
82609func (s *Explanation) SetRouteTable(v *AnalysisComponent) *Explanation {
82610	s.RouteTable = v
82611	return s
82612}
82613
82614// SetRouteTableRoute sets the RouteTableRoute field's value.
82615func (s *Explanation) SetRouteTableRoute(v *AnalysisRouteTableRoute) *Explanation {
82616	s.RouteTableRoute = v
82617	return s
82618}
82619
82620// SetSecurityGroup sets the SecurityGroup field's value.
82621func (s *Explanation) SetSecurityGroup(v *AnalysisComponent) *Explanation {
82622	s.SecurityGroup = v
82623	return s
82624}
82625
82626// SetSecurityGroupRule sets the SecurityGroupRule field's value.
82627func (s *Explanation) SetSecurityGroupRule(v *AnalysisSecurityGroupRule) *Explanation {
82628	s.SecurityGroupRule = v
82629	return s
82630}
82631
82632// SetSecurityGroups sets the SecurityGroups field's value.
82633func (s *Explanation) SetSecurityGroups(v []*AnalysisComponent) *Explanation {
82634	s.SecurityGroups = v
82635	return s
82636}
82637
82638// SetSourceVpc sets the SourceVpc field's value.
82639func (s *Explanation) SetSourceVpc(v *AnalysisComponent) *Explanation {
82640	s.SourceVpc = v
82641	return s
82642}
82643
82644// SetState sets the State field's value.
82645func (s *Explanation) SetState(v string) *Explanation {
82646	s.State = &v
82647	return s
82648}
82649
82650// SetSubnet sets the Subnet field's value.
82651func (s *Explanation) SetSubnet(v *AnalysisComponent) *Explanation {
82652	s.Subnet = v
82653	return s
82654}
82655
82656// SetSubnetRouteTable sets the SubnetRouteTable field's value.
82657func (s *Explanation) SetSubnetRouteTable(v *AnalysisComponent) *Explanation {
82658	s.SubnetRouteTable = v
82659	return s
82660}
82661
82662// SetVpc sets the Vpc field's value.
82663func (s *Explanation) SetVpc(v *AnalysisComponent) *Explanation {
82664	s.Vpc = v
82665	return s
82666}
82667
82668// SetVpcEndpoint sets the VpcEndpoint field's value.
82669func (s *Explanation) SetVpcEndpoint(v *AnalysisComponent) *Explanation {
82670	s.VpcEndpoint = v
82671	return s
82672}
82673
82674// SetVpcPeeringConnection sets the VpcPeeringConnection field's value.
82675func (s *Explanation) SetVpcPeeringConnection(v *AnalysisComponent) *Explanation {
82676	s.VpcPeeringConnection = v
82677	return s
82678}
82679
82680// SetVpnConnection sets the VpnConnection field's value.
82681func (s *Explanation) SetVpnConnection(v *AnalysisComponent) *Explanation {
82682	s.VpnConnection = v
82683	return s
82684}
82685
82686// SetVpnGateway sets the VpnGateway field's value.
82687func (s *Explanation) SetVpnGateway(v *AnalysisComponent) *Explanation {
82688	s.VpnGateway = v
82689	return s
82690}
82691
82692type ExportClientVpnClientCertificateRevocationListInput struct {
82693	_ struct{} `type:"structure"`
82694
82695	// The ID of the Client VPN endpoint.
82696	//
82697	// ClientVpnEndpointId is a required field
82698	ClientVpnEndpointId *string `type:"string" required:"true"`
82699
82700	// Checks whether you have the required permissions for the action, without
82701	// actually making the request, and provides an error response. If you have
82702	// the required permissions, the error response is DryRunOperation. Otherwise,
82703	// it is UnauthorizedOperation.
82704	DryRun *bool `type:"boolean"`
82705}
82706
82707// String returns the string representation
82708func (s ExportClientVpnClientCertificateRevocationListInput) String() string {
82709	return awsutil.Prettify(s)
82710}
82711
82712// GoString returns the string representation
82713func (s ExportClientVpnClientCertificateRevocationListInput) GoString() string {
82714	return s.String()
82715}
82716
82717// Validate inspects the fields of the type to determine if they are valid.
82718func (s *ExportClientVpnClientCertificateRevocationListInput) Validate() error {
82719	invalidParams := request.ErrInvalidParams{Context: "ExportClientVpnClientCertificateRevocationListInput"}
82720	if s.ClientVpnEndpointId == nil {
82721		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
82722	}
82723
82724	if invalidParams.Len() > 0 {
82725		return invalidParams
82726	}
82727	return nil
82728}
82729
82730// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
82731func (s *ExportClientVpnClientCertificateRevocationListInput) SetClientVpnEndpointId(v string) *ExportClientVpnClientCertificateRevocationListInput {
82732	s.ClientVpnEndpointId = &v
82733	return s
82734}
82735
82736// SetDryRun sets the DryRun field's value.
82737func (s *ExportClientVpnClientCertificateRevocationListInput) SetDryRun(v bool) *ExportClientVpnClientCertificateRevocationListInput {
82738	s.DryRun = &v
82739	return s
82740}
82741
82742type ExportClientVpnClientCertificateRevocationListOutput struct {
82743	_ struct{} `type:"structure"`
82744
82745	// Information about the client certificate revocation list.
82746	CertificateRevocationList *string `locationName:"certificateRevocationList" type:"string"`
82747
82748	// The current state of the client certificate revocation list.
82749	Status *ClientCertificateRevocationListStatus `locationName:"status" type:"structure"`
82750}
82751
82752// String returns the string representation
82753func (s ExportClientVpnClientCertificateRevocationListOutput) String() string {
82754	return awsutil.Prettify(s)
82755}
82756
82757// GoString returns the string representation
82758func (s ExportClientVpnClientCertificateRevocationListOutput) GoString() string {
82759	return s.String()
82760}
82761
82762// SetCertificateRevocationList sets the CertificateRevocationList field's value.
82763func (s *ExportClientVpnClientCertificateRevocationListOutput) SetCertificateRevocationList(v string) *ExportClientVpnClientCertificateRevocationListOutput {
82764	s.CertificateRevocationList = &v
82765	return s
82766}
82767
82768// SetStatus sets the Status field's value.
82769func (s *ExportClientVpnClientCertificateRevocationListOutput) SetStatus(v *ClientCertificateRevocationListStatus) *ExportClientVpnClientCertificateRevocationListOutput {
82770	s.Status = v
82771	return s
82772}
82773
82774type ExportClientVpnClientConfigurationInput struct {
82775	_ struct{} `type:"structure"`
82776
82777	// The ID of the Client VPN endpoint.
82778	//
82779	// ClientVpnEndpointId is a required field
82780	ClientVpnEndpointId *string `type:"string" required:"true"`
82781
82782	// Checks whether you have the required permissions for the action, without
82783	// actually making the request, and provides an error response. If you have
82784	// the required permissions, the error response is DryRunOperation. Otherwise,
82785	// it is UnauthorizedOperation.
82786	DryRun *bool `type:"boolean"`
82787}
82788
82789// String returns the string representation
82790func (s ExportClientVpnClientConfigurationInput) String() string {
82791	return awsutil.Prettify(s)
82792}
82793
82794// GoString returns the string representation
82795func (s ExportClientVpnClientConfigurationInput) GoString() string {
82796	return s.String()
82797}
82798
82799// Validate inspects the fields of the type to determine if they are valid.
82800func (s *ExportClientVpnClientConfigurationInput) Validate() error {
82801	invalidParams := request.ErrInvalidParams{Context: "ExportClientVpnClientConfigurationInput"}
82802	if s.ClientVpnEndpointId == nil {
82803		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
82804	}
82805
82806	if invalidParams.Len() > 0 {
82807		return invalidParams
82808	}
82809	return nil
82810}
82811
82812// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
82813func (s *ExportClientVpnClientConfigurationInput) SetClientVpnEndpointId(v string) *ExportClientVpnClientConfigurationInput {
82814	s.ClientVpnEndpointId = &v
82815	return s
82816}
82817
82818// SetDryRun sets the DryRun field's value.
82819func (s *ExportClientVpnClientConfigurationInput) SetDryRun(v bool) *ExportClientVpnClientConfigurationInput {
82820	s.DryRun = &v
82821	return s
82822}
82823
82824type ExportClientVpnClientConfigurationOutput struct {
82825	_ struct{} `type:"structure"`
82826
82827	// The contents of the Client VPN endpoint configuration file.
82828	ClientConfiguration *string `locationName:"clientConfiguration" type:"string"`
82829}
82830
82831// String returns the string representation
82832func (s ExportClientVpnClientConfigurationOutput) String() string {
82833	return awsutil.Prettify(s)
82834}
82835
82836// GoString returns the string representation
82837func (s ExportClientVpnClientConfigurationOutput) GoString() string {
82838	return s.String()
82839}
82840
82841// SetClientConfiguration sets the ClientConfiguration field's value.
82842func (s *ExportClientVpnClientConfigurationOutput) SetClientConfiguration(v string) *ExportClientVpnClientConfigurationOutput {
82843	s.ClientConfiguration = &v
82844	return s
82845}
82846
82847type ExportImageInput struct {
82848	_ struct{} `type:"structure"`
82849
82850	// Token to enable idempotency for export image requests.
82851	ClientToken *string `type:"string" idempotencyToken:"true"`
82852
82853	// A description of the image being exported. The maximum length is 255 characters.
82854	Description *string `type:"string"`
82855
82856	// The disk image format.
82857	//
82858	// DiskImageFormat is a required field
82859	DiskImageFormat *string `type:"string" required:"true" enum:"DiskImageFormat"`
82860
82861	// Checks whether you have the required permissions for the action, without
82862	// actually making the request, and provides an error response. If you have
82863	// the required permissions, the error response is DryRunOperation. Otherwise,
82864	// it is UnauthorizedOperation.
82865	DryRun *bool `type:"boolean"`
82866
82867	// The ID of the image.
82868	//
82869	// ImageId is a required field
82870	ImageId *string `type:"string" required:"true"`
82871
82872	// The name of the role that grants VM Import/Export permission to export images
82873	// to your Amazon S3 bucket. If this parameter is not specified, the default
82874	// role is named 'vmimport'.
82875	RoleName *string `type:"string"`
82876
82877	// Information about the destination Amazon S3 bucket. The bucket must exist
82878	// and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.
82879	//
82880	// S3ExportLocation is a required field
82881	S3ExportLocation *ExportTaskS3LocationRequest `type:"structure" required:"true"`
82882
82883	// The tags to apply to the export image task during creation.
82884	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
82885}
82886
82887// String returns the string representation
82888func (s ExportImageInput) String() string {
82889	return awsutil.Prettify(s)
82890}
82891
82892// GoString returns the string representation
82893func (s ExportImageInput) GoString() string {
82894	return s.String()
82895}
82896
82897// Validate inspects the fields of the type to determine if they are valid.
82898func (s *ExportImageInput) Validate() error {
82899	invalidParams := request.ErrInvalidParams{Context: "ExportImageInput"}
82900	if s.DiskImageFormat == nil {
82901		invalidParams.Add(request.NewErrParamRequired("DiskImageFormat"))
82902	}
82903	if s.ImageId == nil {
82904		invalidParams.Add(request.NewErrParamRequired("ImageId"))
82905	}
82906	if s.S3ExportLocation == nil {
82907		invalidParams.Add(request.NewErrParamRequired("S3ExportLocation"))
82908	}
82909	if s.S3ExportLocation != nil {
82910		if err := s.S3ExportLocation.Validate(); err != nil {
82911			invalidParams.AddNested("S3ExportLocation", err.(request.ErrInvalidParams))
82912		}
82913	}
82914
82915	if invalidParams.Len() > 0 {
82916		return invalidParams
82917	}
82918	return nil
82919}
82920
82921// SetClientToken sets the ClientToken field's value.
82922func (s *ExportImageInput) SetClientToken(v string) *ExportImageInput {
82923	s.ClientToken = &v
82924	return s
82925}
82926
82927// SetDescription sets the Description field's value.
82928func (s *ExportImageInput) SetDescription(v string) *ExportImageInput {
82929	s.Description = &v
82930	return s
82931}
82932
82933// SetDiskImageFormat sets the DiskImageFormat field's value.
82934func (s *ExportImageInput) SetDiskImageFormat(v string) *ExportImageInput {
82935	s.DiskImageFormat = &v
82936	return s
82937}
82938
82939// SetDryRun sets the DryRun field's value.
82940func (s *ExportImageInput) SetDryRun(v bool) *ExportImageInput {
82941	s.DryRun = &v
82942	return s
82943}
82944
82945// SetImageId sets the ImageId field's value.
82946func (s *ExportImageInput) SetImageId(v string) *ExportImageInput {
82947	s.ImageId = &v
82948	return s
82949}
82950
82951// SetRoleName sets the RoleName field's value.
82952func (s *ExportImageInput) SetRoleName(v string) *ExportImageInput {
82953	s.RoleName = &v
82954	return s
82955}
82956
82957// SetS3ExportLocation sets the S3ExportLocation field's value.
82958func (s *ExportImageInput) SetS3ExportLocation(v *ExportTaskS3LocationRequest) *ExportImageInput {
82959	s.S3ExportLocation = v
82960	return s
82961}
82962
82963// SetTagSpecifications sets the TagSpecifications field's value.
82964func (s *ExportImageInput) SetTagSpecifications(v []*TagSpecification) *ExportImageInput {
82965	s.TagSpecifications = v
82966	return s
82967}
82968
82969type ExportImageOutput struct {
82970	_ struct{} `type:"structure"`
82971
82972	// A description of the image being exported.
82973	Description *string `locationName:"description" type:"string"`
82974
82975	// The disk image format for the exported image.
82976	DiskImageFormat *string `locationName:"diskImageFormat" type:"string" enum:"DiskImageFormat"`
82977
82978	// The ID of the export image task.
82979	ExportImageTaskId *string `locationName:"exportImageTaskId" type:"string"`
82980
82981	// The ID of the image.
82982	ImageId *string `locationName:"imageId" type:"string"`
82983
82984	// The percent complete of the export image task.
82985	Progress *string `locationName:"progress" type:"string"`
82986
82987	// The name of the role that grants VM Import/Export permission to export images
82988	// to your Amazon S3 bucket.
82989	RoleName *string `locationName:"roleName" type:"string"`
82990
82991	// Information about the destination Amazon S3 bucket.
82992	S3ExportLocation *ExportTaskS3Location `locationName:"s3ExportLocation" type:"structure"`
82993
82994	// The status of the export image task. The possible values are active, completed,
82995	// deleting, and deleted.
82996	Status *string `locationName:"status" type:"string"`
82997
82998	// The status message for the export image task.
82999	StatusMessage *string `locationName:"statusMessage" type:"string"`
83000
83001	// Any tags assigned to the export image task.
83002	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
83003}
83004
83005// String returns the string representation
83006func (s ExportImageOutput) String() string {
83007	return awsutil.Prettify(s)
83008}
83009
83010// GoString returns the string representation
83011func (s ExportImageOutput) GoString() string {
83012	return s.String()
83013}
83014
83015// SetDescription sets the Description field's value.
83016func (s *ExportImageOutput) SetDescription(v string) *ExportImageOutput {
83017	s.Description = &v
83018	return s
83019}
83020
83021// SetDiskImageFormat sets the DiskImageFormat field's value.
83022func (s *ExportImageOutput) SetDiskImageFormat(v string) *ExportImageOutput {
83023	s.DiskImageFormat = &v
83024	return s
83025}
83026
83027// SetExportImageTaskId sets the ExportImageTaskId field's value.
83028func (s *ExportImageOutput) SetExportImageTaskId(v string) *ExportImageOutput {
83029	s.ExportImageTaskId = &v
83030	return s
83031}
83032
83033// SetImageId sets the ImageId field's value.
83034func (s *ExportImageOutput) SetImageId(v string) *ExportImageOutput {
83035	s.ImageId = &v
83036	return s
83037}
83038
83039// SetProgress sets the Progress field's value.
83040func (s *ExportImageOutput) SetProgress(v string) *ExportImageOutput {
83041	s.Progress = &v
83042	return s
83043}
83044
83045// SetRoleName sets the RoleName field's value.
83046func (s *ExportImageOutput) SetRoleName(v string) *ExportImageOutput {
83047	s.RoleName = &v
83048	return s
83049}
83050
83051// SetS3ExportLocation sets the S3ExportLocation field's value.
83052func (s *ExportImageOutput) SetS3ExportLocation(v *ExportTaskS3Location) *ExportImageOutput {
83053	s.S3ExportLocation = v
83054	return s
83055}
83056
83057// SetStatus sets the Status field's value.
83058func (s *ExportImageOutput) SetStatus(v string) *ExportImageOutput {
83059	s.Status = &v
83060	return s
83061}
83062
83063// SetStatusMessage sets the StatusMessage field's value.
83064func (s *ExportImageOutput) SetStatusMessage(v string) *ExportImageOutput {
83065	s.StatusMessage = &v
83066	return s
83067}
83068
83069// SetTags sets the Tags field's value.
83070func (s *ExportImageOutput) SetTags(v []*Tag) *ExportImageOutput {
83071	s.Tags = v
83072	return s
83073}
83074
83075// Describes an export image task.
83076type ExportImageTask struct {
83077	_ struct{} `type:"structure"`
83078
83079	// A description of the image being exported.
83080	Description *string `locationName:"description" type:"string"`
83081
83082	// The ID of the export image task.
83083	ExportImageTaskId *string `locationName:"exportImageTaskId" type:"string"`
83084
83085	// The ID of the image.
83086	ImageId *string `locationName:"imageId" type:"string"`
83087
83088	// The percent complete of the export image task.
83089	Progress *string `locationName:"progress" type:"string"`
83090
83091	// Information about the destination Amazon S3 bucket.
83092	S3ExportLocation *ExportTaskS3Location `locationName:"s3ExportLocation" type:"structure"`
83093
83094	// The status of the export image task. The possible values are active, completed,
83095	// deleting, and deleted.
83096	Status *string `locationName:"status" type:"string"`
83097
83098	// The status message for the export image task.
83099	StatusMessage *string `locationName:"statusMessage" type:"string"`
83100
83101	// Any tags assigned to the export image task.
83102	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
83103}
83104
83105// String returns the string representation
83106func (s ExportImageTask) String() string {
83107	return awsutil.Prettify(s)
83108}
83109
83110// GoString returns the string representation
83111func (s ExportImageTask) GoString() string {
83112	return s.String()
83113}
83114
83115// SetDescription sets the Description field's value.
83116func (s *ExportImageTask) SetDescription(v string) *ExportImageTask {
83117	s.Description = &v
83118	return s
83119}
83120
83121// SetExportImageTaskId sets the ExportImageTaskId field's value.
83122func (s *ExportImageTask) SetExportImageTaskId(v string) *ExportImageTask {
83123	s.ExportImageTaskId = &v
83124	return s
83125}
83126
83127// SetImageId sets the ImageId field's value.
83128func (s *ExportImageTask) SetImageId(v string) *ExportImageTask {
83129	s.ImageId = &v
83130	return s
83131}
83132
83133// SetProgress sets the Progress field's value.
83134func (s *ExportImageTask) SetProgress(v string) *ExportImageTask {
83135	s.Progress = &v
83136	return s
83137}
83138
83139// SetS3ExportLocation sets the S3ExportLocation field's value.
83140func (s *ExportImageTask) SetS3ExportLocation(v *ExportTaskS3Location) *ExportImageTask {
83141	s.S3ExportLocation = v
83142	return s
83143}
83144
83145// SetStatus sets the Status field's value.
83146func (s *ExportImageTask) SetStatus(v string) *ExportImageTask {
83147	s.Status = &v
83148	return s
83149}
83150
83151// SetStatusMessage sets the StatusMessage field's value.
83152func (s *ExportImageTask) SetStatusMessage(v string) *ExportImageTask {
83153	s.StatusMessage = &v
83154	return s
83155}
83156
83157// SetTags sets the Tags field's value.
83158func (s *ExportImageTask) SetTags(v []*Tag) *ExportImageTask {
83159	s.Tags = v
83160	return s
83161}
83162
83163// Describes an export instance task.
83164type ExportTask struct {
83165	_ struct{} `type:"structure"`
83166
83167	// A description of the resource being exported.
83168	Description *string `locationName:"description" type:"string"`
83169
83170	// The ID of the export task.
83171	ExportTaskId *string `locationName:"exportTaskId" type:"string"`
83172
83173	// Information about the export task.
83174	ExportToS3Task *ExportToS3Task `locationName:"exportToS3" type:"structure"`
83175
83176	// Information about the instance to export.
83177	InstanceExportDetails *InstanceExportDetails `locationName:"instanceExport" type:"structure"`
83178
83179	// The state of the export task.
83180	State *string `locationName:"state" type:"string" enum:"ExportTaskState"`
83181
83182	// The status message related to the export task.
83183	StatusMessage *string `locationName:"statusMessage" type:"string"`
83184
83185	// The tags for the export task.
83186	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
83187}
83188
83189// String returns the string representation
83190func (s ExportTask) String() string {
83191	return awsutil.Prettify(s)
83192}
83193
83194// GoString returns the string representation
83195func (s ExportTask) GoString() string {
83196	return s.String()
83197}
83198
83199// SetDescription sets the Description field's value.
83200func (s *ExportTask) SetDescription(v string) *ExportTask {
83201	s.Description = &v
83202	return s
83203}
83204
83205// SetExportTaskId sets the ExportTaskId field's value.
83206func (s *ExportTask) SetExportTaskId(v string) *ExportTask {
83207	s.ExportTaskId = &v
83208	return s
83209}
83210
83211// SetExportToS3Task sets the ExportToS3Task field's value.
83212func (s *ExportTask) SetExportToS3Task(v *ExportToS3Task) *ExportTask {
83213	s.ExportToS3Task = v
83214	return s
83215}
83216
83217// SetInstanceExportDetails sets the InstanceExportDetails field's value.
83218func (s *ExportTask) SetInstanceExportDetails(v *InstanceExportDetails) *ExportTask {
83219	s.InstanceExportDetails = v
83220	return s
83221}
83222
83223// SetState sets the State field's value.
83224func (s *ExportTask) SetState(v string) *ExportTask {
83225	s.State = &v
83226	return s
83227}
83228
83229// SetStatusMessage sets the StatusMessage field's value.
83230func (s *ExportTask) SetStatusMessage(v string) *ExportTask {
83231	s.StatusMessage = &v
83232	return s
83233}
83234
83235// SetTags sets the Tags field's value.
83236func (s *ExportTask) SetTags(v []*Tag) *ExportTask {
83237	s.Tags = v
83238	return s
83239}
83240
83241// Describes the destination for an export image task.
83242type ExportTaskS3Location struct {
83243	_ struct{} `type:"structure"`
83244
83245	// The destination Amazon S3 bucket.
83246	S3Bucket *string `locationName:"s3Bucket" type:"string"`
83247
83248	// The prefix (logical hierarchy) in the bucket.
83249	S3Prefix *string `locationName:"s3Prefix" type:"string"`
83250}
83251
83252// String returns the string representation
83253func (s ExportTaskS3Location) String() string {
83254	return awsutil.Prettify(s)
83255}
83256
83257// GoString returns the string representation
83258func (s ExportTaskS3Location) GoString() string {
83259	return s.String()
83260}
83261
83262// SetS3Bucket sets the S3Bucket field's value.
83263func (s *ExportTaskS3Location) SetS3Bucket(v string) *ExportTaskS3Location {
83264	s.S3Bucket = &v
83265	return s
83266}
83267
83268// SetS3Prefix sets the S3Prefix field's value.
83269func (s *ExportTaskS3Location) SetS3Prefix(v string) *ExportTaskS3Location {
83270	s.S3Prefix = &v
83271	return s
83272}
83273
83274// Describes the destination for an export image task.
83275type ExportTaskS3LocationRequest struct {
83276	_ struct{} `type:"structure"`
83277
83278	// The destination Amazon S3 bucket.
83279	//
83280	// S3Bucket is a required field
83281	S3Bucket *string `type:"string" required:"true"`
83282
83283	// The prefix (logical hierarchy) in the bucket.
83284	S3Prefix *string `type:"string"`
83285}
83286
83287// String returns the string representation
83288func (s ExportTaskS3LocationRequest) String() string {
83289	return awsutil.Prettify(s)
83290}
83291
83292// GoString returns the string representation
83293func (s ExportTaskS3LocationRequest) GoString() string {
83294	return s.String()
83295}
83296
83297// Validate inspects the fields of the type to determine if they are valid.
83298func (s *ExportTaskS3LocationRequest) Validate() error {
83299	invalidParams := request.ErrInvalidParams{Context: "ExportTaskS3LocationRequest"}
83300	if s.S3Bucket == nil {
83301		invalidParams.Add(request.NewErrParamRequired("S3Bucket"))
83302	}
83303
83304	if invalidParams.Len() > 0 {
83305		return invalidParams
83306	}
83307	return nil
83308}
83309
83310// SetS3Bucket sets the S3Bucket field's value.
83311func (s *ExportTaskS3LocationRequest) SetS3Bucket(v string) *ExportTaskS3LocationRequest {
83312	s.S3Bucket = &v
83313	return s
83314}
83315
83316// SetS3Prefix sets the S3Prefix field's value.
83317func (s *ExportTaskS3LocationRequest) SetS3Prefix(v string) *ExportTaskS3LocationRequest {
83318	s.S3Prefix = &v
83319	return s
83320}
83321
83322// Describes the format and location for the export task.
83323type ExportToS3Task struct {
83324	_ struct{} `type:"structure"`
83325
83326	// The container format used to combine disk images with metadata (such as OVF).
83327	// If absent, only the disk image is exported.
83328	ContainerFormat *string `locationName:"containerFormat" type:"string" enum:"ContainerFormat"`
83329
83330	// The format for the exported image.
83331	DiskImageFormat *string `locationName:"diskImageFormat" type:"string" enum:"DiskImageFormat"`
83332
83333	// The Amazon S3 bucket for the destination image. The destination bucket must
83334	// exist and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.
83335	S3Bucket *string `locationName:"s3Bucket" type:"string"`
83336
83337	// The encryption key for your S3 bucket.
83338	S3Key *string `locationName:"s3Key" type:"string"`
83339}
83340
83341// String returns the string representation
83342func (s ExportToS3Task) String() string {
83343	return awsutil.Prettify(s)
83344}
83345
83346// GoString returns the string representation
83347func (s ExportToS3Task) GoString() string {
83348	return s.String()
83349}
83350
83351// SetContainerFormat sets the ContainerFormat field's value.
83352func (s *ExportToS3Task) SetContainerFormat(v string) *ExportToS3Task {
83353	s.ContainerFormat = &v
83354	return s
83355}
83356
83357// SetDiskImageFormat sets the DiskImageFormat field's value.
83358func (s *ExportToS3Task) SetDiskImageFormat(v string) *ExportToS3Task {
83359	s.DiskImageFormat = &v
83360	return s
83361}
83362
83363// SetS3Bucket sets the S3Bucket field's value.
83364func (s *ExportToS3Task) SetS3Bucket(v string) *ExportToS3Task {
83365	s.S3Bucket = &v
83366	return s
83367}
83368
83369// SetS3Key sets the S3Key field's value.
83370func (s *ExportToS3Task) SetS3Key(v string) *ExportToS3Task {
83371	s.S3Key = &v
83372	return s
83373}
83374
83375// Describes an export instance task.
83376type ExportToS3TaskSpecification struct {
83377	_ struct{} `type:"structure"`
83378
83379	// The container format used to combine disk images with metadata (such as OVF).
83380	// If absent, only the disk image is exported.
83381	ContainerFormat *string `locationName:"containerFormat" type:"string" enum:"ContainerFormat"`
83382
83383	// The format for the exported image.
83384	DiskImageFormat *string `locationName:"diskImageFormat" type:"string" enum:"DiskImageFormat"`
83385
83386	// The Amazon S3 bucket for the destination image. The destination bucket must
83387	// exist and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.
83388	S3Bucket *string `locationName:"s3Bucket" type:"string"`
83389
83390	// The image is written to a single object in the Amazon S3 bucket at the S3
83391	// key s3prefix + exportTaskId + '.' + diskImageFormat.
83392	S3Prefix *string `locationName:"s3Prefix" type:"string"`
83393}
83394
83395// String returns the string representation
83396func (s ExportToS3TaskSpecification) String() string {
83397	return awsutil.Prettify(s)
83398}
83399
83400// GoString returns the string representation
83401func (s ExportToS3TaskSpecification) GoString() string {
83402	return s.String()
83403}
83404
83405// SetContainerFormat sets the ContainerFormat field's value.
83406func (s *ExportToS3TaskSpecification) SetContainerFormat(v string) *ExportToS3TaskSpecification {
83407	s.ContainerFormat = &v
83408	return s
83409}
83410
83411// SetDiskImageFormat sets the DiskImageFormat field's value.
83412func (s *ExportToS3TaskSpecification) SetDiskImageFormat(v string) *ExportToS3TaskSpecification {
83413	s.DiskImageFormat = &v
83414	return s
83415}
83416
83417// SetS3Bucket sets the S3Bucket field's value.
83418func (s *ExportToS3TaskSpecification) SetS3Bucket(v string) *ExportToS3TaskSpecification {
83419	s.S3Bucket = &v
83420	return s
83421}
83422
83423// SetS3Prefix sets the S3Prefix field's value.
83424func (s *ExportToS3TaskSpecification) SetS3Prefix(v string) *ExportToS3TaskSpecification {
83425	s.S3Prefix = &v
83426	return s
83427}
83428
83429type ExportTransitGatewayRoutesInput struct {
83430	_ struct{} `type:"structure"`
83431
83432	// Checks whether you have the required permissions for the action, without
83433	// actually making the request, and provides an error response. If you have
83434	// the required permissions, the error response is DryRunOperation. Otherwise,
83435	// it is UnauthorizedOperation.
83436	DryRun *bool `type:"boolean"`
83437
83438	// One or more filters. The possible values are:
83439	//
83440	//    * attachment.transit-gateway-attachment-id - The id of the transit gateway
83441	//    attachment.
83442	//
83443	//    * attachment.resource-id - The resource id of the transit gateway attachment.
83444	//
83445	//    * route-search.exact-match - The exact match of the specified filter.
83446	//
83447	//    * route-search.longest-prefix-match - The longest prefix that matches
83448	//    the route.
83449	//
83450	//    * route-search.subnet-of-match - The routes with a subnet that match the
83451	//    specified CIDR filter.
83452	//
83453	//    * route-search.supernet-of-match - The routes with a CIDR that encompass
83454	//    the CIDR filter. For example, if you have 10.0.1.0/29 and 10.0.1.0/31
83455	//    routes in your route table and you specify supernet-of-match as 10.0.1.0/30,
83456	//    then the result returns 10.0.1.0/29.
83457	//
83458	//    * state - The state of the route (active | blackhole).
83459	//
83460	//    * transit-gateway-route-destination-cidr-block - The CIDR range.
83461	//
83462	//    * type - The type of route (propagated | static).
83463	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
83464
83465	// The name of the S3 bucket.
83466	//
83467	// S3Bucket is a required field
83468	S3Bucket *string `type:"string" required:"true"`
83469
83470	// The ID of the route table.
83471	//
83472	// TransitGatewayRouteTableId is a required field
83473	TransitGatewayRouteTableId *string `type:"string" required:"true"`
83474}
83475
83476// String returns the string representation
83477func (s ExportTransitGatewayRoutesInput) String() string {
83478	return awsutil.Prettify(s)
83479}
83480
83481// GoString returns the string representation
83482func (s ExportTransitGatewayRoutesInput) GoString() string {
83483	return s.String()
83484}
83485
83486// Validate inspects the fields of the type to determine if they are valid.
83487func (s *ExportTransitGatewayRoutesInput) Validate() error {
83488	invalidParams := request.ErrInvalidParams{Context: "ExportTransitGatewayRoutesInput"}
83489	if s.S3Bucket == nil {
83490		invalidParams.Add(request.NewErrParamRequired("S3Bucket"))
83491	}
83492	if s.TransitGatewayRouteTableId == nil {
83493		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
83494	}
83495
83496	if invalidParams.Len() > 0 {
83497		return invalidParams
83498	}
83499	return nil
83500}
83501
83502// SetDryRun sets the DryRun field's value.
83503func (s *ExportTransitGatewayRoutesInput) SetDryRun(v bool) *ExportTransitGatewayRoutesInput {
83504	s.DryRun = &v
83505	return s
83506}
83507
83508// SetFilters sets the Filters field's value.
83509func (s *ExportTransitGatewayRoutesInput) SetFilters(v []*Filter) *ExportTransitGatewayRoutesInput {
83510	s.Filters = v
83511	return s
83512}
83513
83514// SetS3Bucket sets the S3Bucket field's value.
83515func (s *ExportTransitGatewayRoutesInput) SetS3Bucket(v string) *ExportTransitGatewayRoutesInput {
83516	s.S3Bucket = &v
83517	return s
83518}
83519
83520// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
83521func (s *ExportTransitGatewayRoutesInput) SetTransitGatewayRouteTableId(v string) *ExportTransitGatewayRoutesInput {
83522	s.TransitGatewayRouteTableId = &v
83523	return s
83524}
83525
83526type ExportTransitGatewayRoutesOutput struct {
83527	_ struct{} `type:"structure"`
83528
83529	// The URL of the exported file in Amazon S3. For example, s3://bucket_name/VPCTransitGateway/TransitGatewayRouteTables/file_name.
83530	S3Location *string `locationName:"s3Location" type:"string"`
83531}
83532
83533// String returns the string representation
83534func (s ExportTransitGatewayRoutesOutput) String() string {
83535	return awsutil.Prettify(s)
83536}
83537
83538// GoString returns the string representation
83539func (s ExportTransitGatewayRoutesOutput) GoString() string {
83540	return s.String()
83541}
83542
83543// SetS3Location sets the S3Location field's value.
83544func (s *ExportTransitGatewayRoutesOutput) SetS3Location(v string) *ExportTransitGatewayRoutesOutput {
83545	s.S3Location = &v
83546	return s
83547}
83548
83549// Describes a Reserved Instance whose queued purchase was not deleted.
83550type FailedQueuedPurchaseDeletion struct {
83551	_ struct{} `type:"structure"`
83552
83553	// The error.
83554	Error *DeleteQueuedReservedInstancesError `locationName:"error" type:"structure"`
83555
83556	// The ID of the Reserved Instance.
83557	ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
83558}
83559
83560// String returns the string representation
83561func (s FailedQueuedPurchaseDeletion) String() string {
83562	return awsutil.Prettify(s)
83563}
83564
83565// GoString returns the string representation
83566func (s FailedQueuedPurchaseDeletion) GoString() string {
83567	return s.String()
83568}
83569
83570// SetError sets the Error field's value.
83571func (s *FailedQueuedPurchaseDeletion) SetError(v *DeleteQueuedReservedInstancesError) *FailedQueuedPurchaseDeletion {
83572	s.Error = v
83573	return s
83574}
83575
83576// SetReservedInstancesId sets the ReservedInstancesId field's value.
83577func (s *FailedQueuedPurchaseDeletion) SetReservedInstancesId(v string) *FailedQueuedPurchaseDeletion {
83578	s.ReservedInstancesId = &v
83579	return s
83580}
83581
83582// Describes the IAM SAML identity providers used for federated authentication.
83583type FederatedAuthentication struct {
83584	_ struct{} `type:"structure"`
83585
83586	// The Amazon Resource Name (ARN) of the IAM SAML identity provider.
83587	SamlProviderArn *string `locationName:"samlProviderArn" type:"string"`
83588
83589	// The Amazon Resource Name (ARN) of the IAM SAML identity provider for the
83590	// self-service portal.
83591	SelfServiceSamlProviderArn *string `locationName:"selfServiceSamlProviderArn" type:"string"`
83592}
83593
83594// String returns the string representation
83595func (s FederatedAuthentication) String() string {
83596	return awsutil.Prettify(s)
83597}
83598
83599// GoString returns the string representation
83600func (s FederatedAuthentication) GoString() string {
83601	return s.String()
83602}
83603
83604// SetSamlProviderArn sets the SamlProviderArn field's value.
83605func (s *FederatedAuthentication) SetSamlProviderArn(v string) *FederatedAuthentication {
83606	s.SamlProviderArn = &v
83607	return s
83608}
83609
83610// SetSelfServiceSamlProviderArn sets the SelfServiceSamlProviderArn field's value.
83611func (s *FederatedAuthentication) SetSelfServiceSamlProviderArn(v string) *FederatedAuthentication {
83612	s.SelfServiceSamlProviderArn = &v
83613	return s
83614}
83615
83616// The IAM SAML identity provider used for federated authentication.
83617type FederatedAuthenticationRequest struct {
83618	_ struct{} `type:"structure"`
83619
83620	// The Amazon Resource Name (ARN) of the IAM SAML identity provider.
83621	SAMLProviderArn *string `type:"string"`
83622
83623	// The Amazon Resource Name (ARN) of the IAM SAML identity provider for the
83624	// self-service portal.
83625	SelfServiceSAMLProviderArn *string `type:"string"`
83626}
83627
83628// String returns the string representation
83629func (s FederatedAuthenticationRequest) String() string {
83630	return awsutil.Prettify(s)
83631}
83632
83633// GoString returns the string representation
83634func (s FederatedAuthenticationRequest) GoString() string {
83635	return s.String()
83636}
83637
83638// SetSAMLProviderArn sets the SAMLProviderArn field's value.
83639func (s *FederatedAuthenticationRequest) SetSAMLProviderArn(v string) *FederatedAuthenticationRequest {
83640	s.SAMLProviderArn = &v
83641	return s
83642}
83643
83644// SetSelfServiceSAMLProviderArn sets the SelfServiceSAMLProviderArn field's value.
83645func (s *FederatedAuthenticationRequest) SetSelfServiceSAMLProviderArn(v string) *FederatedAuthenticationRequest {
83646	s.SelfServiceSAMLProviderArn = &v
83647	return s
83648}
83649
83650// A filter name and value pair that is used to return a more specific list
83651// of results from a describe operation. Filters can be used to match a set
83652// of resources by specific criteria, such as tags, attributes, or IDs.
83653type Filter struct {
83654	_ struct{} `type:"structure"`
83655
83656	// The name of the filter. Filter names are case-sensitive.
83657	Name *string `type:"string"`
83658
83659	// The filter values. Filter values are case-sensitive.
83660	Values []*string `locationName:"Value" locationNameList:"item" type:"list"`
83661}
83662
83663// String returns the string representation
83664func (s Filter) String() string {
83665	return awsutil.Prettify(s)
83666}
83667
83668// GoString returns the string representation
83669func (s Filter) GoString() string {
83670	return s.String()
83671}
83672
83673// SetName sets the Name field's value.
83674func (s *Filter) SetName(v string) *Filter {
83675	s.Name = &v
83676	return s
83677}
83678
83679// SetValues sets the Values field's value.
83680func (s *Filter) SetValues(v []*string) *Filter {
83681	s.Values = v
83682	return s
83683}
83684
83685// Describes an EC2 Fleet.
83686type FleetData struct {
83687	_ struct{} `type:"structure"`
83688
83689	// The progress of the EC2 Fleet. If there is an error, the status is error.
83690	// After all requests are placed, the status is pending_fulfillment. If the
83691	// size of the EC2 Fleet is equal to or greater than its target capacity, the
83692	// status is fulfilled. If the size of the EC2 Fleet is decreased, the status
83693	// is pending_termination while instances are terminating.
83694	ActivityStatus *string `locationName:"activityStatus" type:"string" enum:"FleetActivityStatus"`
83695
83696	// Unique, case-sensitive identifier that you provide to ensure the idempotency
83697	// of the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
83698	//
83699	// Constraints: Maximum 64 ASCII characters
83700	ClientToken *string `locationName:"clientToken" type:"string"`
83701
83702	// The creation date and time of the EC2 Fleet.
83703	CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
83704
83705	// Information about the instances that could not be launched by the fleet.
83706	// Valid only when Type is set to instant.
83707	Errors []*DescribeFleetError `locationName:"errorSet" locationNameList:"item" type:"list"`
83708
83709	// Indicates whether running instances should be terminated if the target capacity
83710	// of the EC2 Fleet is decreased below the current size of the EC2 Fleet.
83711	ExcessCapacityTerminationPolicy *string `locationName:"excessCapacityTerminationPolicy" type:"string" enum:"FleetExcessCapacityTerminationPolicy"`
83712
83713	// The ID of the EC2 Fleet.
83714	FleetId *string `locationName:"fleetId" type:"string"`
83715
83716	// The state of the EC2 Fleet.
83717	FleetState *string `locationName:"fleetState" type:"string" enum:"FleetStateCode"`
83718
83719	// The number of units fulfilled by this request compared to the set target
83720	// capacity.
83721	FulfilledCapacity *float64 `locationName:"fulfilledCapacity" type:"double"`
83722
83723	// The number of units fulfilled by this request compared to the set target
83724	// On-Demand capacity.
83725	FulfilledOnDemandCapacity *float64 `locationName:"fulfilledOnDemandCapacity" type:"double"`
83726
83727	// Information about the instances that were launched by the fleet. Valid only
83728	// when Type is set to instant.
83729	Instances []*DescribeFleetsInstances `locationName:"fleetInstanceSet" locationNameList:"item" type:"list"`
83730
83731	// The launch template and overrides.
83732	LaunchTemplateConfigs []*FleetLaunchTemplateConfig `locationName:"launchTemplateConfigs" locationNameList:"item" type:"list"`
83733
83734	// The allocation strategy of On-Demand Instances in an EC2 Fleet.
83735	OnDemandOptions *OnDemandOptions `locationName:"onDemandOptions" type:"structure"`
83736
83737	// Indicates whether EC2 Fleet should replace unhealthy Spot Instances. Supported
83738	// only for fleets of type maintain. For more information, see EC2 Fleet health
83739	// checks (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/manage-ec2-fleet.html#ec2-fleet-health-checks)
83740	// in the Amazon EC2 User Guide.
83741	ReplaceUnhealthyInstances *bool `locationName:"replaceUnhealthyInstances" type:"boolean"`
83742
83743	// The configuration of Spot Instances in an EC2 Fleet.
83744	SpotOptions *SpotOptions `locationName:"spotOptions" type:"structure"`
83745
83746	// The tags for an EC2 Fleet resource.
83747	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
83748
83749	// The number of units to request. You can choose to set the target capacity
83750	// in terms of instances or a performance characteristic that is important to
83751	// your application workload, such as vCPUs, memory, or I/O. If the request
83752	// type is maintain, you can specify a target capacity of 0 and add capacity
83753	// later.
83754	TargetCapacitySpecification *TargetCapacitySpecification `locationName:"targetCapacitySpecification" type:"structure"`
83755
83756	// Indicates whether running instances should be terminated when the EC2 Fleet
83757	// expires.
83758	TerminateInstancesWithExpiration *bool `locationName:"terminateInstancesWithExpiration" type:"boolean"`
83759
83760	// The type of request. Indicates whether the EC2 Fleet only requests the target
83761	// capacity, or also attempts to maintain it. If you request a certain target
83762	// capacity, EC2 Fleet only places the required requests; it does not attempt
83763	// to replenish instances if capacity is diminished, and it does not submit
83764	// requests in alternative capacity pools if capacity is unavailable. To maintain
83765	// a certain target capacity, EC2 Fleet places the required requests to meet
83766	// this target capacity. It also automatically replenishes any interrupted Spot
83767	// Instances. Default: maintain.
83768	Type *string `locationName:"type" type:"string" enum:"FleetType"`
83769
83770	// The start date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
83771	// The default is to start fulfilling the request immediately.
83772	ValidFrom *time.Time `locationName:"validFrom" type:"timestamp"`
83773
83774	// The end date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
83775	// At this point, no new instance requests are placed or able to fulfill the
83776	// request. The default end date is 7 days from the current date.
83777	ValidUntil *time.Time `locationName:"validUntil" type:"timestamp"`
83778}
83779
83780// String returns the string representation
83781func (s FleetData) String() string {
83782	return awsutil.Prettify(s)
83783}
83784
83785// GoString returns the string representation
83786func (s FleetData) GoString() string {
83787	return s.String()
83788}
83789
83790// SetActivityStatus sets the ActivityStatus field's value.
83791func (s *FleetData) SetActivityStatus(v string) *FleetData {
83792	s.ActivityStatus = &v
83793	return s
83794}
83795
83796// SetClientToken sets the ClientToken field's value.
83797func (s *FleetData) SetClientToken(v string) *FleetData {
83798	s.ClientToken = &v
83799	return s
83800}
83801
83802// SetCreateTime sets the CreateTime field's value.
83803func (s *FleetData) SetCreateTime(v time.Time) *FleetData {
83804	s.CreateTime = &v
83805	return s
83806}
83807
83808// SetErrors sets the Errors field's value.
83809func (s *FleetData) SetErrors(v []*DescribeFleetError) *FleetData {
83810	s.Errors = v
83811	return s
83812}
83813
83814// SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
83815func (s *FleetData) SetExcessCapacityTerminationPolicy(v string) *FleetData {
83816	s.ExcessCapacityTerminationPolicy = &v
83817	return s
83818}
83819
83820// SetFleetId sets the FleetId field's value.
83821func (s *FleetData) SetFleetId(v string) *FleetData {
83822	s.FleetId = &v
83823	return s
83824}
83825
83826// SetFleetState sets the FleetState field's value.
83827func (s *FleetData) SetFleetState(v string) *FleetData {
83828	s.FleetState = &v
83829	return s
83830}
83831
83832// SetFulfilledCapacity sets the FulfilledCapacity field's value.
83833func (s *FleetData) SetFulfilledCapacity(v float64) *FleetData {
83834	s.FulfilledCapacity = &v
83835	return s
83836}
83837
83838// SetFulfilledOnDemandCapacity sets the FulfilledOnDemandCapacity field's value.
83839func (s *FleetData) SetFulfilledOnDemandCapacity(v float64) *FleetData {
83840	s.FulfilledOnDemandCapacity = &v
83841	return s
83842}
83843
83844// SetInstances sets the Instances field's value.
83845func (s *FleetData) SetInstances(v []*DescribeFleetsInstances) *FleetData {
83846	s.Instances = v
83847	return s
83848}
83849
83850// SetLaunchTemplateConfigs sets the LaunchTemplateConfigs field's value.
83851func (s *FleetData) SetLaunchTemplateConfigs(v []*FleetLaunchTemplateConfig) *FleetData {
83852	s.LaunchTemplateConfigs = v
83853	return s
83854}
83855
83856// SetOnDemandOptions sets the OnDemandOptions field's value.
83857func (s *FleetData) SetOnDemandOptions(v *OnDemandOptions) *FleetData {
83858	s.OnDemandOptions = v
83859	return s
83860}
83861
83862// SetReplaceUnhealthyInstances sets the ReplaceUnhealthyInstances field's value.
83863func (s *FleetData) SetReplaceUnhealthyInstances(v bool) *FleetData {
83864	s.ReplaceUnhealthyInstances = &v
83865	return s
83866}
83867
83868// SetSpotOptions sets the SpotOptions field's value.
83869func (s *FleetData) SetSpotOptions(v *SpotOptions) *FleetData {
83870	s.SpotOptions = v
83871	return s
83872}
83873
83874// SetTags sets the Tags field's value.
83875func (s *FleetData) SetTags(v []*Tag) *FleetData {
83876	s.Tags = v
83877	return s
83878}
83879
83880// SetTargetCapacitySpecification sets the TargetCapacitySpecification field's value.
83881func (s *FleetData) SetTargetCapacitySpecification(v *TargetCapacitySpecification) *FleetData {
83882	s.TargetCapacitySpecification = v
83883	return s
83884}
83885
83886// SetTerminateInstancesWithExpiration sets the TerminateInstancesWithExpiration field's value.
83887func (s *FleetData) SetTerminateInstancesWithExpiration(v bool) *FleetData {
83888	s.TerminateInstancesWithExpiration = &v
83889	return s
83890}
83891
83892// SetType sets the Type field's value.
83893func (s *FleetData) SetType(v string) *FleetData {
83894	s.Type = &v
83895	return s
83896}
83897
83898// SetValidFrom sets the ValidFrom field's value.
83899func (s *FleetData) SetValidFrom(v time.Time) *FleetData {
83900	s.ValidFrom = &v
83901	return s
83902}
83903
83904// SetValidUntil sets the ValidUntil field's value.
83905func (s *FleetData) SetValidUntil(v time.Time) *FleetData {
83906	s.ValidUntil = &v
83907	return s
83908}
83909
83910// Describes a launch template and overrides.
83911type FleetLaunchTemplateConfig struct {
83912	_ struct{} `type:"structure"`
83913
83914	// The launch template.
83915	LaunchTemplateSpecification *FleetLaunchTemplateSpecification `locationName:"launchTemplateSpecification" type:"structure"`
83916
83917	// Any parameters that you specify override the same parameters in the launch
83918	// template.
83919	Overrides []*FleetLaunchTemplateOverrides `locationName:"overrides" locationNameList:"item" type:"list"`
83920}
83921
83922// String returns the string representation
83923func (s FleetLaunchTemplateConfig) String() string {
83924	return awsutil.Prettify(s)
83925}
83926
83927// GoString returns the string representation
83928func (s FleetLaunchTemplateConfig) GoString() string {
83929	return s.String()
83930}
83931
83932// SetLaunchTemplateSpecification sets the LaunchTemplateSpecification field's value.
83933func (s *FleetLaunchTemplateConfig) SetLaunchTemplateSpecification(v *FleetLaunchTemplateSpecification) *FleetLaunchTemplateConfig {
83934	s.LaunchTemplateSpecification = v
83935	return s
83936}
83937
83938// SetOverrides sets the Overrides field's value.
83939func (s *FleetLaunchTemplateConfig) SetOverrides(v []*FleetLaunchTemplateOverrides) *FleetLaunchTemplateConfig {
83940	s.Overrides = v
83941	return s
83942}
83943
83944// Describes a launch template and overrides.
83945type FleetLaunchTemplateConfigRequest struct {
83946	_ struct{} `type:"structure"`
83947
83948	// The launch template to use. You must specify either the launch template ID
83949	// or launch template name in the request.
83950	LaunchTemplateSpecification *FleetLaunchTemplateSpecificationRequest `type:"structure"`
83951
83952	// Any parameters that you specify override the same parameters in the launch
83953	// template.
83954	//
83955	// For fleets of type request and maintain, a maximum of 300 items is allowed
83956	// across all launch templates.
83957	Overrides []*FleetLaunchTemplateOverridesRequest `locationNameList:"item" type:"list"`
83958}
83959
83960// String returns the string representation
83961func (s FleetLaunchTemplateConfigRequest) String() string {
83962	return awsutil.Prettify(s)
83963}
83964
83965// GoString returns the string representation
83966func (s FleetLaunchTemplateConfigRequest) GoString() string {
83967	return s.String()
83968}
83969
83970// Validate inspects the fields of the type to determine if they are valid.
83971func (s *FleetLaunchTemplateConfigRequest) Validate() error {
83972	invalidParams := request.ErrInvalidParams{Context: "FleetLaunchTemplateConfigRequest"}
83973	if s.LaunchTemplateSpecification != nil {
83974		if err := s.LaunchTemplateSpecification.Validate(); err != nil {
83975			invalidParams.AddNested("LaunchTemplateSpecification", err.(request.ErrInvalidParams))
83976		}
83977	}
83978
83979	if invalidParams.Len() > 0 {
83980		return invalidParams
83981	}
83982	return nil
83983}
83984
83985// SetLaunchTemplateSpecification sets the LaunchTemplateSpecification field's value.
83986func (s *FleetLaunchTemplateConfigRequest) SetLaunchTemplateSpecification(v *FleetLaunchTemplateSpecificationRequest) *FleetLaunchTemplateConfigRequest {
83987	s.LaunchTemplateSpecification = v
83988	return s
83989}
83990
83991// SetOverrides sets the Overrides field's value.
83992func (s *FleetLaunchTemplateConfigRequest) SetOverrides(v []*FleetLaunchTemplateOverridesRequest) *FleetLaunchTemplateConfigRequest {
83993	s.Overrides = v
83994	return s
83995}
83996
83997// Describes overrides for a launch template.
83998type FleetLaunchTemplateOverrides struct {
83999	_ struct{} `type:"structure"`
84000
84001	// The Availability Zone in which to launch the instances.
84002	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
84003
84004	// The instance type.
84005	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
84006
84007	// The maximum price per unit hour that you are willing to pay for a Spot Instance.
84008	MaxPrice *string `locationName:"maxPrice" type:"string"`
84009
84010	// The location where the instance launched, if applicable.
84011	Placement *PlacementResponse `locationName:"placement" type:"structure"`
84012
84013	// The priority for the launch template override. The highest priority is launched
84014	// first.
84015	//
84016	// If the On-Demand AllocationStrategy is set to prioritized, EC2 Fleet uses
84017	// priority to determine which launch template override to use first in fulfilling
84018	// On-Demand capacity.
84019	//
84020	// If the Spot AllocationStrategy is set to capacity-optimized-prioritized,
84021	// EC2 Fleet uses priority on a best-effort basis to determine which launch
84022	// template override to use in fulfilling Spot capacity, but optimizes for capacity
84023	// first.
84024	//
84025	// Valid values are whole numbers starting at 0. The lower the number, the higher
84026	// the priority. If no number is set, the override has the lowest priority.
84027	// You can set the same priority for different launch template overrides.
84028	Priority *float64 `locationName:"priority" type:"double"`
84029
84030	// The ID of the subnet in which to launch the instances.
84031	SubnetId *string `locationName:"subnetId" type:"string"`
84032
84033	// The number of units provided by the specified instance type.
84034	WeightedCapacity *float64 `locationName:"weightedCapacity" type:"double"`
84035}
84036
84037// String returns the string representation
84038func (s FleetLaunchTemplateOverrides) String() string {
84039	return awsutil.Prettify(s)
84040}
84041
84042// GoString returns the string representation
84043func (s FleetLaunchTemplateOverrides) GoString() string {
84044	return s.String()
84045}
84046
84047// SetAvailabilityZone sets the AvailabilityZone field's value.
84048func (s *FleetLaunchTemplateOverrides) SetAvailabilityZone(v string) *FleetLaunchTemplateOverrides {
84049	s.AvailabilityZone = &v
84050	return s
84051}
84052
84053// SetInstanceType sets the InstanceType field's value.
84054func (s *FleetLaunchTemplateOverrides) SetInstanceType(v string) *FleetLaunchTemplateOverrides {
84055	s.InstanceType = &v
84056	return s
84057}
84058
84059// SetMaxPrice sets the MaxPrice field's value.
84060func (s *FleetLaunchTemplateOverrides) SetMaxPrice(v string) *FleetLaunchTemplateOverrides {
84061	s.MaxPrice = &v
84062	return s
84063}
84064
84065// SetPlacement sets the Placement field's value.
84066func (s *FleetLaunchTemplateOverrides) SetPlacement(v *PlacementResponse) *FleetLaunchTemplateOverrides {
84067	s.Placement = v
84068	return s
84069}
84070
84071// SetPriority sets the Priority field's value.
84072func (s *FleetLaunchTemplateOverrides) SetPriority(v float64) *FleetLaunchTemplateOverrides {
84073	s.Priority = &v
84074	return s
84075}
84076
84077// SetSubnetId sets the SubnetId field's value.
84078func (s *FleetLaunchTemplateOverrides) SetSubnetId(v string) *FleetLaunchTemplateOverrides {
84079	s.SubnetId = &v
84080	return s
84081}
84082
84083// SetWeightedCapacity sets the WeightedCapacity field's value.
84084func (s *FleetLaunchTemplateOverrides) SetWeightedCapacity(v float64) *FleetLaunchTemplateOverrides {
84085	s.WeightedCapacity = &v
84086	return s
84087}
84088
84089// Describes overrides for a launch template.
84090type FleetLaunchTemplateOverridesRequest struct {
84091	_ struct{} `type:"structure"`
84092
84093	// The Availability Zone in which to launch the instances.
84094	AvailabilityZone *string `type:"string"`
84095
84096	// The instance type.
84097	InstanceType *string `type:"string" enum:"InstanceType"`
84098
84099	// The maximum price per unit hour that you are willing to pay for a Spot Instance.
84100	MaxPrice *string `type:"string"`
84101
84102	// The location where the instance launched, if applicable.
84103	Placement *Placement `type:"structure"`
84104
84105	// The priority for the launch template override. The highest priority is launched
84106	// first.
84107	//
84108	// If the On-Demand AllocationStrategy is set to prioritized, EC2 Fleet uses
84109	// priority to determine which launch template override to use first in fulfilling
84110	// On-Demand capacity.
84111	//
84112	// If the Spot AllocationStrategy is set to capacity-optimized-prioritized,
84113	// EC2 Fleet uses priority on a best-effort basis to determine which launch
84114	// template override to use in fulfilling Spot capacity, but optimizes for capacity
84115	// first.
84116	//
84117	// Valid values are whole numbers starting at 0. The lower the number, the higher
84118	// the priority. If no number is set, the launch template override has the lowest
84119	// priority. You can set the same priority for different launch template overrides.
84120	Priority *float64 `type:"double"`
84121
84122	// The IDs of the subnets in which to launch the instances. Separate multiple
84123	// subnet IDs using commas (for example, subnet-1234abcdeexample1, subnet-0987cdef6example2).
84124	// A request of type instant can have only one subnet ID.
84125	SubnetId *string `type:"string"`
84126
84127	// The number of units provided by the specified instance type.
84128	WeightedCapacity *float64 `type:"double"`
84129}
84130
84131// String returns the string representation
84132func (s FleetLaunchTemplateOverridesRequest) String() string {
84133	return awsutil.Prettify(s)
84134}
84135
84136// GoString returns the string representation
84137func (s FleetLaunchTemplateOverridesRequest) GoString() string {
84138	return s.String()
84139}
84140
84141// SetAvailabilityZone sets the AvailabilityZone field's value.
84142func (s *FleetLaunchTemplateOverridesRequest) SetAvailabilityZone(v string) *FleetLaunchTemplateOverridesRequest {
84143	s.AvailabilityZone = &v
84144	return s
84145}
84146
84147// SetInstanceType sets the InstanceType field's value.
84148func (s *FleetLaunchTemplateOverridesRequest) SetInstanceType(v string) *FleetLaunchTemplateOverridesRequest {
84149	s.InstanceType = &v
84150	return s
84151}
84152
84153// SetMaxPrice sets the MaxPrice field's value.
84154func (s *FleetLaunchTemplateOverridesRequest) SetMaxPrice(v string) *FleetLaunchTemplateOverridesRequest {
84155	s.MaxPrice = &v
84156	return s
84157}
84158
84159// SetPlacement sets the Placement field's value.
84160func (s *FleetLaunchTemplateOverridesRequest) SetPlacement(v *Placement) *FleetLaunchTemplateOverridesRequest {
84161	s.Placement = v
84162	return s
84163}
84164
84165// SetPriority sets the Priority field's value.
84166func (s *FleetLaunchTemplateOverridesRequest) SetPriority(v float64) *FleetLaunchTemplateOverridesRequest {
84167	s.Priority = &v
84168	return s
84169}
84170
84171// SetSubnetId sets the SubnetId field's value.
84172func (s *FleetLaunchTemplateOverridesRequest) SetSubnetId(v string) *FleetLaunchTemplateOverridesRequest {
84173	s.SubnetId = &v
84174	return s
84175}
84176
84177// SetWeightedCapacity sets the WeightedCapacity field's value.
84178func (s *FleetLaunchTemplateOverridesRequest) SetWeightedCapacity(v float64) *FleetLaunchTemplateOverridesRequest {
84179	s.WeightedCapacity = &v
84180	return s
84181}
84182
84183// Describes the Amazon EC2 launch template and the launch template version
84184// that can be used by a Spot Fleet request to configure Amazon EC2 instances.
84185// For information about launch templates, see Launching an instance from a
84186// launch template (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html)
84187// in the Amazon EC2 User Guide for Linux Instances.
84188type FleetLaunchTemplateSpecification struct {
84189	_ struct{} `type:"structure"`
84190
84191	// The ID of the launch template. If you specify the template ID, you can't
84192	// specify the template name.
84193	LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"`
84194
84195	// The name of the launch template. If you specify the template name, you can't
84196	// specify the template ID.
84197	LaunchTemplateName *string `locationName:"launchTemplateName" min:"3" type:"string"`
84198
84199	// The launch template version number, $Latest, or $Default. You must specify
84200	// a value, otherwise the request fails.
84201	//
84202	// If the value is $Latest, Amazon EC2 uses the latest version of the launch
84203	// template.
84204	//
84205	// If the value is $Default, Amazon EC2 uses the default version of the launch
84206	// template.
84207	Version *string `locationName:"version" type:"string"`
84208}
84209
84210// String returns the string representation
84211func (s FleetLaunchTemplateSpecification) String() string {
84212	return awsutil.Prettify(s)
84213}
84214
84215// GoString returns the string representation
84216func (s FleetLaunchTemplateSpecification) GoString() string {
84217	return s.String()
84218}
84219
84220// Validate inspects the fields of the type to determine if they are valid.
84221func (s *FleetLaunchTemplateSpecification) Validate() error {
84222	invalidParams := request.ErrInvalidParams{Context: "FleetLaunchTemplateSpecification"}
84223	if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
84224		invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
84225	}
84226
84227	if invalidParams.Len() > 0 {
84228		return invalidParams
84229	}
84230	return nil
84231}
84232
84233// SetLaunchTemplateId sets the LaunchTemplateId field's value.
84234func (s *FleetLaunchTemplateSpecification) SetLaunchTemplateId(v string) *FleetLaunchTemplateSpecification {
84235	s.LaunchTemplateId = &v
84236	return s
84237}
84238
84239// SetLaunchTemplateName sets the LaunchTemplateName field's value.
84240func (s *FleetLaunchTemplateSpecification) SetLaunchTemplateName(v string) *FleetLaunchTemplateSpecification {
84241	s.LaunchTemplateName = &v
84242	return s
84243}
84244
84245// SetVersion sets the Version field's value.
84246func (s *FleetLaunchTemplateSpecification) SetVersion(v string) *FleetLaunchTemplateSpecification {
84247	s.Version = &v
84248	return s
84249}
84250
84251// Describes the Amazon EC2 launch template and the launch template version
84252// that can be used by an EC2 Fleet to configure Amazon EC2 instances. For information
84253// about launch templates, see Launching an instance from a launch template
84254// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html)
84255// in the Amazon EC2 User Guide.
84256type FleetLaunchTemplateSpecificationRequest struct {
84257	_ struct{} `type:"structure"`
84258
84259	// The ID of the launch template. If you specify the template ID, you can't
84260	// specify the template name.
84261	LaunchTemplateId *string `type:"string"`
84262
84263	// The name of the launch template. If you specify the template name, you can't
84264	// specify the template ID.
84265	LaunchTemplateName *string `min:"3" type:"string"`
84266
84267	// The launch template version number, $Latest, or $Default. You must specify
84268	// a value, otherwise the request fails.
84269	//
84270	// If the value is $Latest, Amazon EC2 uses the latest version of the launch
84271	// template.
84272	//
84273	// If the value is $Default, Amazon EC2 uses the default version of the launch
84274	// template.
84275	Version *string `type:"string"`
84276}
84277
84278// String returns the string representation
84279func (s FleetLaunchTemplateSpecificationRequest) String() string {
84280	return awsutil.Prettify(s)
84281}
84282
84283// GoString returns the string representation
84284func (s FleetLaunchTemplateSpecificationRequest) GoString() string {
84285	return s.String()
84286}
84287
84288// Validate inspects the fields of the type to determine if they are valid.
84289func (s *FleetLaunchTemplateSpecificationRequest) Validate() error {
84290	invalidParams := request.ErrInvalidParams{Context: "FleetLaunchTemplateSpecificationRequest"}
84291	if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
84292		invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
84293	}
84294
84295	if invalidParams.Len() > 0 {
84296		return invalidParams
84297	}
84298	return nil
84299}
84300
84301// SetLaunchTemplateId sets the LaunchTemplateId field's value.
84302func (s *FleetLaunchTemplateSpecificationRequest) SetLaunchTemplateId(v string) *FleetLaunchTemplateSpecificationRequest {
84303	s.LaunchTemplateId = &v
84304	return s
84305}
84306
84307// SetLaunchTemplateName sets the LaunchTemplateName field's value.
84308func (s *FleetLaunchTemplateSpecificationRequest) SetLaunchTemplateName(v string) *FleetLaunchTemplateSpecificationRequest {
84309	s.LaunchTemplateName = &v
84310	return s
84311}
84312
84313// SetVersion sets the Version field's value.
84314func (s *FleetLaunchTemplateSpecificationRequest) SetVersion(v string) *FleetLaunchTemplateSpecificationRequest {
84315	s.Version = &v
84316	return s
84317}
84318
84319// The strategy to use when Amazon EC2 emits a signal that your Spot Instance
84320// is at an elevated risk of being interrupted.
84321type FleetSpotCapacityRebalance struct {
84322	_ struct{} `type:"structure"`
84323
84324	// To allow EC2 Fleet to launch a replacement Spot Instance when an instance
84325	// rebalance notification is emitted for an existing Spot Instance in the fleet,
84326	// specify launch. Only available for fleets of type maintain.
84327	//
84328	// When a replacement instance is launched, the instance marked for rebalance
84329	// is not automatically terminated. You can terminate it, or you can leave it
84330	// running. You are charged for both instances while they are running.
84331	ReplacementStrategy *string `locationName:"replacementStrategy" type:"string" enum:"FleetReplacementStrategy"`
84332}
84333
84334// String returns the string representation
84335func (s FleetSpotCapacityRebalance) String() string {
84336	return awsutil.Prettify(s)
84337}
84338
84339// GoString returns the string representation
84340func (s FleetSpotCapacityRebalance) GoString() string {
84341	return s.String()
84342}
84343
84344// SetReplacementStrategy sets the ReplacementStrategy field's value.
84345func (s *FleetSpotCapacityRebalance) SetReplacementStrategy(v string) *FleetSpotCapacityRebalance {
84346	s.ReplacementStrategy = &v
84347	return s
84348}
84349
84350// The Spot Instance replacement strategy to use when Amazon EC2 emits a signal
84351// that your Spot Instance is at an elevated risk of being interrupted. For
84352// more information, see Capacity rebalancing (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-configuration-strategies.html#ec2-fleet-capacity-rebalance)
84353// in the Amazon EC2 User Guide.
84354type FleetSpotCapacityRebalanceRequest struct {
84355	_ struct{} `type:"structure"`
84356
84357	// The replacement strategy to use. Only available for fleets of type maintain.
84358	//
84359	// To allow EC2 Fleet to launch a replacement Spot Instance when an instance
84360	// rebalance notification is emitted for an existing Spot Instance in the fleet,
84361	// specify launch. You must specify a value, otherwise you get an error.
84362	//
84363	// When a replacement instance is launched, the instance marked for rebalance
84364	// is not automatically terminated. You can terminate it, or you can leave it
84365	// running. You are charged for all instances while they are running.
84366	ReplacementStrategy *string `type:"string" enum:"FleetReplacementStrategy"`
84367}
84368
84369// String returns the string representation
84370func (s FleetSpotCapacityRebalanceRequest) String() string {
84371	return awsutil.Prettify(s)
84372}
84373
84374// GoString returns the string representation
84375func (s FleetSpotCapacityRebalanceRequest) GoString() string {
84376	return s.String()
84377}
84378
84379// SetReplacementStrategy sets the ReplacementStrategy field's value.
84380func (s *FleetSpotCapacityRebalanceRequest) SetReplacementStrategy(v string) *FleetSpotCapacityRebalanceRequest {
84381	s.ReplacementStrategy = &v
84382	return s
84383}
84384
84385// The strategies for managing your Spot Instances that are at an elevated risk
84386// of being interrupted.
84387type FleetSpotMaintenanceStrategies struct {
84388	_ struct{} `type:"structure"`
84389
84390	// The strategy to use when Amazon EC2 emits a signal that your Spot Instance
84391	// is at an elevated risk of being interrupted.
84392	CapacityRebalance *FleetSpotCapacityRebalance `locationName:"capacityRebalance" type:"structure"`
84393}
84394
84395// String returns the string representation
84396func (s FleetSpotMaintenanceStrategies) String() string {
84397	return awsutil.Prettify(s)
84398}
84399
84400// GoString returns the string representation
84401func (s FleetSpotMaintenanceStrategies) GoString() string {
84402	return s.String()
84403}
84404
84405// SetCapacityRebalance sets the CapacityRebalance field's value.
84406func (s *FleetSpotMaintenanceStrategies) SetCapacityRebalance(v *FleetSpotCapacityRebalance) *FleetSpotMaintenanceStrategies {
84407	s.CapacityRebalance = v
84408	return s
84409}
84410
84411// The strategies for managing your Spot Instances that are at an elevated risk
84412// of being interrupted.
84413type FleetSpotMaintenanceStrategiesRequest struct {
84414	_ struct{} `type:"structure"`
84415
84416	// The strategy to use when Amazon EC2 emits a signal that your Spot Instance
84417	// is at an elevated risk of being interrupted.
84418	CapacityRebalance *FleetSpotCapacityRebalanceRequest `type:"structure"`
84419}
84420
84421// String returns the string representation
84422func (s FleetSpotMaintenanceStrategiesRequest) String() string {
84423	return awsutil.Prettify(s)
84424}
84425
84426// GoString returns the string representation
84427func (s FleetSpotMaintenanceStrategiesRequest) GoString() string {
84428	return s.String()
84429}
84430
84431// SetCapacityRebalance sets the CapacityRebalance field's value.
84432func (s *FleetSpotMaintenanceStrategiesRequest) SetCapacityRebalance(v *FleetSpotCapacityRebalanceRequest) *FleetSpotMaintenanceStrategiesRequest {
84433	s.CapacityRebalance = v
84434	return s
84435}
84436
84437// Describes a flow log.
84438type FlowLog struct {
84439	_ struct{} `type:"structure"`
84440
84441	// The date and time the flow log was created.
84442	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
84443
84444	// Information about the error that occurred. Rate limited indicates that CloudWatch
84445	// Logs throttling has been applied for one or more network interfaces, or that
84446	// you've reached the limit on the number of log groups that you can create.
84447	// Access error indicates that the IAM role associated with the flow log does
84448	// not have sufficient permissions to publish to CloudWatch Logs. Unknown error
84449	// indicates an internal error.
84450	DeliverLogsErrorMessage *string `locationName:"deliverLogsErrorMessage" type:"string"`
84451
84452	// The ARN of the IAM role that posts logs to CloudWatch Logs.
84453	DeliverLogsPermissionArn *string `locationName:"deliverLogsPermissionArn" type:"string"`
84454
84455	// The status of the logs delivery (SUCCESS | FAILED).
84456	DeliverLogsStatus *string `locationName:"deliverLogsStatus" type:"string"`
84457
84458	// The flow log ID.
84459	FlowLogId *string `locationName:"flowLogId" type:"string"`
84460
84461	// The status of the flow log (ACTIVE).
84462	FlowLogStatus *string `locationName:"flowLogStatus" type:"string"`
84463
84464	// Specifies the destination to which the flow log data is published. Flow log
84465	// data can be published to an CloudWatch Logs log group or an Amazon S3 bucket.
84466	// If the flow log publishes to CloudWatch Logs, this element indicates the
84467	// Amazon Resource Name (ARN) of the CloudWatch Logs log group to which the
84468	// data is published. If the flow log publishes to Amazon S3, this element indicates
84469	// the ARN of the Amazon S3 bucket to which the data is published.
84470	LogDestination *string `locationName:"logDestination" type:"string"`
84471
84472	// Specifies the type of destination to which the flow log data is published.
84473	// Flow log data can be published to CloudWatch Logs or Amazon S3.
84474	LogDestinationType *string `locationName:"logDestinationType" type:"string" enum:"LogDestinationType"`
84475
84476	// The format of the flow log record.
84477	LogFormat *string `locationName:"logFormat" type:"string"`
84478
84479	// The name of the flow log group.
84480	LogGroupName *string `locationName:"logGroupName" type:"string"`
84481
84482	// The maximum interval of time, in seconds, during which a flow of packets
84483	// is captured and aggregated into a flow log record.
84484	//
84485	// When a network interface is attached to a Nitro-based instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances),
84486	// the aggregation interval is always 60 seconds (1 minute) or less, regardless
84487	// of the specified value.
84488	//
84489	// Valid Values: 60 | 600
84490	MaxAggregationInterval *int64 `locationName:"maxAggregationInterval" type:"integer"`
84491
84492	// The ID of the resource on which the flow log was created.
84493	ResourceId *string `locationName:"resourceId" type:"string"`
84494
84495	// The tags for the flow log.
84496	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
84497
84498	// The type of traffic captured for the flow log.
84499	TrafficType *string `locationName:"trafficType" type:"string" enum:"TrafficType"`
84500}
84501
84502// String returns the string representation
84503func (s FlowLog) String() string {
84504	return awsutil.Prettify(s)
84505}
84506
84507// GoString returns the string representation
84508func (s FlowLog) GoString() string {
84509	return s.String()
84510}
84511
84512// SetCreationTime sets the CreationTime field's value.
84513func (s *FlowLog) SetCreationTime(v time.Time) *FlowLog {
84514	s.CreationTime = &v
84515	return s
84516}
84517
84518// SetDeliverLogsErrorMessage sets the DeliverLogsErrorMessage field's value.
84519func (s *FlowLog) SetDeliverLogsErrorMessage(v string) *FlowLog {
84520	s.DeliverLogsErrorMessage = &v
84521	return s
84522}
84523
84524// SetDeliverLogsPermissionArn sets the DeliverLogsPermissionArn field's value.
84525func (s *FlowLog) SetDeliverLogsPermissionArn(v string) *FlowLog {
84526	s.DeliverLogsPermissionArn = &v
84527	return s
84528}
84529
84530// SetDeliverLogsStatus sets the DeliverLogsStatus field's value.
84531func (s *FlowLog) SetDeliverLogsStatus(v string) *FlowLog {
84532	s.DeliverLogsStatus = &v
84533	return s
84534}
84535
84536// SetFlowLogId sets the FlowLogId field's value.
84537func (s *FlowLog) SetFlowLogId(v string) *FlowLog {
84538	s.FlowLogId = &v
84539	return s
84540}
84541
84542// SetFlowLogStatus sets the FlowLogStatus field's value.
84543func (s *FlowLog) SetFlowLogStatus(v string) *FlowLog {
84544	s.FlowLogStatus = &v
84545	return s
84546}
84547
84548// SetLogDestination sets the LogDestination field's value.
84549func (s *FlowLog) SetLogDestination(v string) *FlowLog {
84550	s.LogDestination = &v
84551	return s
84552}
84553
84554// SetLogDestinationType sets the LogDestinationType field's value.
84555func (s *FlowLog) SetLogDestinationType(v string) *FlowLog {
84556	s.LogDestinationType = &v
84557	return s
84558}
84559
84560// SetLogFormat sets the LogFormat field's value.
84561func (s *FlowLog) SetLogFormat(v string) *FlowLog {
84562	s.LogFormat = &v
84563	return s
84564}
84565
84566// SetLogGroupName sets the LogGroupName field's value.
84567func (s *FlowLog) SetLogGroupName(v string) *FlowLog {
84568	s.LogGroupName = &v
84569	return s
84570}
84571
84572// SetMaxAggregationInterval sets the MaxAggregationInterval field's value.
84573func (s *FlowLog) SetMaxAggregationInterval(v int64) *FlowLog {
84574	s.MaxAggregationInterval = &v
84575	return s
84576}
84577
84578// SetResourceId sets the ResourceId field's value.
84579func (s *FlowLog) SetResourceId(v string) *FlowLog {
84580	s.ResourceId = &v
84581	return s
84582}
84583
84584// SetTags sets the Tags field's value.
84585func (s *FlowLog) SetTags(v []*Tag) *FlowLog {
84586	s.Tags = v
84587	return s
84588}
84589
84590// SetTrafficType sets the TrafficType field's value.
84591func (s *FlowLog) SetTrafficType(v string) *FlowLog {
84592	s.TrafficType = &v
84593	return s
84594}
84595
84596// Describes the FPGA accelerator for the instance type.
84597type FpgaDeviceInfo struct {
84598	_ struct{} `type:"structure"`
84599
84600	// The count of FPGA accelerators for the instance type.
84601	Count *int64 `locationName:"count" type:"integer"`
84602
84603	// The manufacturer of the FPGA accelerator.
84604	Manufacturer *string `locationName:"manufacturer" type:"string"`
84605
84606	// Describes the memory for the FPGA accelerator for the instance type.
84607	MemoryInfo *FpgaDeviceMemoryInfo `locationName:"memoryInfo" type:"structure"`
84608
84609	// The name of the FPGA accelerator.
84610	Name *string `locationName:"name" type:"string"`
84611}
84612
84613// String returns the string representation
84614func (s FpgaDeviceInfo) String() string {
84615	return awsutil.Prettify(s)
84616}
84617
84618// GoString returns the string representation
84619func (s FpgaDeviceInfo) GoString() string {
84620	return s.String()
84621}
84622
84623// SetCount sets the Count field's value.
84624func (s *FpgaDeviceInfo) SetCount(v int64) *FpgaDeviceInfo {
84625	s.Count = &v
84626	return s
84627}
84628
84629// SetManufacturer sets the Manufacturer field's value.
84630func (s *FpgaDeviceInfo) SetManufacturer(v string) *FpgaDeviceInfo {
84631	s.Manufacturer = &v
84632	return s
84633}
84634
84635// SetMemoryInfo sets the MemoryInfo field's value.
84636func (s *FpgaDeviceInfo) SetMemoryInfo(v *FpgaDeviceMemoryInfo) *FpgaDeviceInfo {
84637	s.MemoryInfo = v
84638	return s
84639}
84640
84641// SetName sets the Name field's value.
84642func (s *FpgaDeviceInfo) SetName(v string) *FpgaDeviceInfo {
84643	s.Name = &v
84644	return s
84645}
84646
84647// Describes the memory for the FPGA accelerator for the instance type.
84648type FpgaDeviceMemoryInfo struct {
84649	_ struct{} `type:"structure"`
84650
84651	// The size of the memory available to the FPGA accelerator, in MiB.
84652	SizeInMiB *int64 `locationName:"sizeInMiB" type:"integer"`
84653}
84654
84655// String returns the string representation
84656func (s FpgaDeviceMemoryInfo) String() string {
84657	return awsutil.Prettify(s)
84658}
84659
84660// GoString returns the string representation
84661func (s FpgaDeviceMemoryInfo) GoString() string {
84662	return s.String()
84663}
84664
84665// SetSizeInMiB sets the SizeInMiB field's value.
84666func (s *FpgaDeviceMemoryInfo) SetSizeInMiB(v int64) *FpgaDeviceMemoryInfo {
84667	s.SizeInMiB = &v
84668	return s
84669}
84670
84671// Describes an Amazon FPGA image (AFI).
84672type FpgaImage struct {
84673	_ struct{} `type:"structure"`
84674
84675	// The date and time the AFI was created.
84676	CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
84677
84678	// Indicates whether data retention support is enabled for the AFI.
84679	DataRetentionSupport *bool `locationName:"dataRetentionSupport" type:"boolean"`
84680
84681	// The description of the AFI.
84682	Description *string `locationName:"description" type:"string"`
84683
84684	// The global FPGA image identifier (AGFI ID).
84685	FpgaImageGlobalId *string `locationName:"fpgaImageGlobalId" type:"string"`
84686
84687	// The FPGA image identifier (AFI ID).
84688	FpgaImageId *string `locationName:"fpgaImageId" type:"string"`
84689
84690	// The name of the AFI.
84691	Name *string `locationName:"name" type:"string"`
84692
84693	// The alias of the AFI owner. Possible values include self, amazon, and aws-marketplace.
84694	OwnerAlias *string `locationName:"ownerAlias" type:"string"`
84695
84696	// The AWS account ID of the AFI owner.
84697	OwnerId *string `locationName:"ownerId" type:"string"`
84698
84699	// Information about the PCI bus.
84700	PciId *PciId `locationName:"pciId" type:"structure"`
84701
84702	// The product codes for the AFI.
84703	ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
84704
84705	// Indicates whether the AFI is public.
84706	Public *bool `locationName:"public" type:"boolean"`
84707
84708	// The version of the AWS Shell that was used to create the bitstream.
84709	ShellVersion *string `locationName:"shellVersion" type:"string"`
84710
84711	// Information about the state of the AFI.
84712	State *FpgaImageState `locationName:"state" type:"structure"`
84713
84714	// Any tags assigned to the AFI.
84715	Tags []*Tag `locationName:"tags" locationNameList:"item" type:"list"`
84716
84717	// The time of the most recent update to the AFI.
84718	UpdateTime *time.Time `locationName:"updateTime" type:"timestamp"`
84719}
84720
84721// String returns the string representation
84722func (s FpgaImage) String() string {
84723	return awsutil.Prettify(s)
84724}
84725
84726// GoString returns the string representation
84727func (s FpgaImage) GoString() string {
84728	return s.String()
84729}
84730
84731// SetCreateTime sets the CreateTime field's value.
84732func (s *FpgaImage) SetCreateTime(v time.Time) *FpgaImage {
84733	s.CreateTime = &v
84734	return s
84735}
84736
84737// SetDataRetentionSupport sets the DataRetentionSupport field's value.
84738func (s *FpgaImage) SetDataRetentionSupport(v bool) *FpgaImage {
84739	s.DataRetentionSupport = &v
84740	return s
84741}
84742
84743// SetDescription sets the Description field's value.
84744func (s *FpgaImage) SetDescription(v string) *FpgaImage {
84745	s.Description = &v
84746	return s
84747}
84748
84749// SetFpgaImageGlobalId sets the FpgaImageGlobalId field's value.
84750func (s *FpgaImage) SetFpgaImageGlobalId(v string) *FpgaImage {
84751	s.FpgaImageGlobalId = &v
84752	return s
84753}
84754
84755// SetFpgaImageId sets the FpgaImageId field's value.
84756func (s *FpgaImage) SetFpgaImageId(v string) *FpgaImage {
84757	s.FpgaImageId = &v
84758	return s
84759}
84760
84761// SetName sets the Name field's value.
84762func (s *FpgaImage) SetName(v string) *FpgaImage {
84763	s.Name = &v
84764	return s
84765}
84766
84767// SetOwnerAlias sets the OwnerAlias field's value.
84768func (s *FpgaImage) SetOwnerAlias(v string) *FpgaImage {
84769	s.OwnerAlias = &v
84770	return s
84771}
84772
84773// SetOwnerId sets the OwnerId field's value.
84774func (s *FpgaImage) SetOwnerId(v string) *FpgaImage {
84775	s.OwnerId = &v
84776	return s
84777}
84778
84779// SetPciId sets the PciId field's value.
84780func (s *FpgaImage) SetPciId(v *PciId) *FpgaImage {
84781	s.PciId = v
84782	return s
84783}
84784
84785// SetProductCodes sets the ProductCodes field's value.
84786func (s *FpgaImage) SetProductCodes(v []*ProductCode) *FpgaImage {
84787	s.ProductCodes = v
84788	return s
84789}
84790
84791// SetPublic sets the Public field's value.
84792func (s *FpgaImage) SetPublic(v bool) *FpgaImage {
84793	s.Public = &v
84794	return s
84795}
84796
84797// SetShellVersion sets the ShellVersion field's value.
84798func (s *FpgaImage) SetShellVersion(v string) *FpgaImage {
84799	s.ShellVersion = &v
84800	return s
84801}
84802
84803// SetState sets the State field's value.
84804func (s *FpgaImage) SetState(v *FpgaImageState) *FpgaImage {
84805	s.State = v
84806	return s
84807}
84808
84809// SetTags sets the Tags field's value.
84810func (s *FpgaImage) SetTags(v []*Tag) *FpgaImage {
84811	s.Tags = v
84812	return s
84813}
84814
84815// SetUpdateTime sets the UpdateTime field's value.
84816func (s *FpgaImage) SetUpdateTime(v time.Time) *FpgaImage {
84817	s.UpdateTime = &v
84818	return s
84819}
84820
84821// Describes an Amazon FPGA image (AFI) attribute.
84822type FpgaImageAttribute struct {
84823	_ struct{} `type:"structure"`
84824
84825	// The description of the AFI.
84826	Description *string `locationName:"description" type:"string"`
84827
84828	// The ID of the AFI.
84829	FpgaImageId *string `locationName:"fpgaImageId" type:"string"`
84830
84831	// The load permissions.
84832	LoadPermissions []*LoadPermission `locationName:"loadPermissions" locationNameList:"item" type:"list"`
84833
84834	// The name of the AFI.
84835	Name *string `locationName:"name" type:"string"`
84836
84837	// The product codes.
84838	ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
84839}
84840
84841// String returns the string representation
84842func (s FpgaImageAttribute) String() string {
84843	return awsutil.Prettify(s)
84844}
84845
84846// GoString returns the string representation
84847func (s FpgaImageAttribute) GoString() string {
84848	return s.String()
84849}
84850
84851// SetDescription sets the Description field's value.
84852func (s *FpgaImageAttribute) SetDescription(v string) *FpgaImageAttribute {
84853	s.Description = &v
84854	return s
84855}
84856
84857// SetFpgaImageId sets the FpgaImageId field's value.
84858func (s *FpgaImageAttribute) SetFpgaImageId(v string) *FpgaImageAttribute {
84859	s.FpgaImageId = &v
84860	return s
84861}
84862
84863// SetLoadPermissions sets the LoadPermissions field's value.
84864func (s *FpgaImageAttribute) SetLoadPermissions(v []*LoadPermission) *FpgaImageAttribute {
84865	s.LoadPermissions = v
84866	return s
84867}
84868
84869// SetName sets the Name field's value.
84870func (s *FpgaImageAttribute) SetName(v string) *FpgaImageAttribute {
84871	s.Name = &v
84872	return s
84873}
84874
84875// SetProductCodes sets the ProductCodes field's value.
84876func (s *FpgaImageAttribute) SetProductCodes(v []*ProductCode) *FpgaImageAttribute {
84877	s.ProductCodes = v
84878	return s
84879}
84880
84881// Describes the state of the bitstream generation process for an Amazon FPGA
84882// image (AFI).
84883type FpgaImageState struct {
84884	_ struct{} `type:"structure"`
84885
84886	// The state. The following are the possible values:
84887	//
84888	//    * pending - AFI bitstream generation is in progress.
84889	//
84890	//    * available - The AFI is available for use.
84891	//
84892	//    * failed - AFI bitstream generation failed.
84893	//
84894	//    * unavailable - The AFI is no longer available for use.
84895	Code *string `locationName:"code" type:"string" enum:"FpgaImageStateCode"`
84896
84897	// If the state is failed, this is the error message.
84898	Message *string `locationName:"message" type:"string"`
84899}
84900
84901// String returns the string representation
84902func (s FpgaImageState) String() string {
84903	return awsutil.Prettify(s)
84904}
84905
84906// GoString returns the string representation
84907func (s FpgaImageState) GoString() string {
84908	return s.String()
84909}
84910
84911// SetCode sets the Code field's value.
84912func (s *FpgaImageState) SetCode(v string) *FpgaImageState {
84913	s.Code = &v
84914	return s
84915}
84916
84917// SetMessage sets the Message field's value.
84918func (s *FpgaImageState) SetMessage(v string) *FpgaImageState {
84919	s.Message = &v
84920	return s
84921}
84922
84923// Describes the FPGAs for the instance type.
84924type FpgaInfo struct {
84925	_ struct{} `type:"structure"`
84926
84927	// Describes the FPGAs for the instance type.
84928	Fpgas []*FpgaDeviceInfo `locationName:"fpgas" locationNameList:"item" type:"list"`
84929
84930	// The total memory of all FPGA accelerators for the instance type.
84931	TotalFpgaMemoryInMiB *int64 `locationName:"totalFpgaMemoryInMiB" type:"integer"`
84932}
84933
84934// String returns the string representation
84935func (s FpgaInfo) String() string {
84936	return awsutil.Prettify(s)
84937}
84938
84939// GoString returns the string representation
84940func (s FpgaInfo) GoString() string {
84941	return s.String()
84942}
84943
84944// SetFpgas sets the Fpgas field's value.
84945func (s *FpgaInfo) SetFpgas(v []*FpgaDeviceInfo) *FpgaInfo {
84946	s.Fpgas = v
84947	return s
84948}
84949
84950// SetTotalFpgaMemoryInMiB sets the TotalFpgaMemoryInMiB field's value.
84951func (s *FpgaInfo) SetTotalFpgaMemoryInMiB(v int64) *FpgaInfo {
84952	s.TotalFpgaMemoryInMiB = &v
84953	return s
84954}
84955
84956type GetAssociatedEnclaveCertificateIamRolesInput struct {
84957	_ struct{} `type:"structure"`
84958
84959	// The ARN of the ACM certificate for which to view the associated IAM roles,
84960	// encryption keys, and Amazon S3 object information.
84961	CertificateArn *string `min:"1" type:"string"`
84962
84963	// Checks whether you have the required permissions for the action, without
84964	// actually making the request, and provides an error response. If you have
84965	// the required permissions, the error response is DryRunOperation. Otherwise,
84966	// it is UnauthorizedOperation.
84967	DryRun *bool `type:"boolean"`
84968}
84969
84970// String returns the string representation
84971func (s GetAssociatedEnclaveCertificateIamRolesInput) String() string {
84972	return awsutil.Prettify(s)
84973}
84974
84975// GoString returns the string representation
84976func (s GetAssociatedEnclaveCertificateIamRolesInput) GoString() string {
84977	return s.String()
84978}
84979
84980// Validate inspects the fields of the type to determine if they are valid.
84981func (s *GetAssociatedEnclaveCertificateIamRolesInput) Validate() error {
84982	invalidParams := request.ErrInvalidParams{Context: "GetAssociatedEnclaveCertificateIamRolesInput"}
84983	if s.CertificateArn != nil && len(*s.CertificateArn) < 1 {
84984		invalidParams.Add(request.NewErrParamMinLen("CertificateArn", 1))
84985	}
84986
84987	if invalidParams.Len() > 0 {
84988		return invalidParams
84989	}
84990	return nil
84991}
84992
84993// SetCertificateArn sets the CertificateArn field's value.
84994func (s *GetAssociatedEnclaveCertificateIamRolesInput) SetCertificateArn(v string) *GetAssociatedEnclaveCertificateIamRolesInput {
84995	s.CertificateArn = &v
84996	return s
84997}
84998
84999// SetDryRun sets the DryRun field's value.
85000func (s *GetAssociatedEnclaveCertificateIamRolesInput) SetDryRun(v bool) *GetAssociatedEnclaveCertificateIamRolesInput {
85001	s.DryRun = &v
85002	return s
85003}
85004
85005type GetAssociatedEnclaveCertificateIamRolesOutput struct {
85006	_ struct{} `type:"structure"`
85007
85008	// Information about the associated IAM roles.
85009	AssociatedRoles []*AssociatedRole `locationName:"associatedRoleSet" locationNameList:"item" type:"list"`
85010}
85011
85012// String returns the string representation
85013func (s GetAssociatedEnclaveCertificateIamRolesOutput) String() string {
85014	return awsutil.Prettify(s)
85015}
85016
85017// GoString returns the string representation
85018func (s GetAssociatedEnclaveCertificateIamRolesOutput) GoString() string {
85019	return s.String()
85020}
85021
85022// SetAssociatedRoles sets the AssociatedRoles field's value.
85023func (s *GetAssociatedEnclaveCertificateIamRolesOutput) SetAssociatedRoles(v []*AssociatedRole) *GetAssociatedEnclaveCertificateIamRolesOutput {
85024	s.AssociatedRoles = v
85025	return s
85026}
85027
85028type GetAssociatedIpv6PoolCidrsInput struct {
85029	_ struct{} `type:"structure"`
85030
85031	// Checks whether you have the required permissions for the action, without
85032	// actually making the request, and provides an error response. If you have
85033	// the required permissions, the error response is DryRunOperation. Otherwise,
85034	// it is UnauthorizedOperation.
85035	DryRun *bool `type:"boolean"`
85036
85037	// The maximum number of results to return with a single call. To retrieve the
85038	// remaining results, make another call with the returned nextToken value.
85039	MaxResults *int64 `min:"1" type:"integer"`
85040
85041	// The token for the next page of results.
85042	NextToken *string `type:"string"`
85043
85044	// The ID of the IPv6 address pool.
85045	//
85046	// PoolId is a required field
85047	PoolId *string `type:"string" required:"true"`
85048}
85049
85050// String returns the string representation
85051func (s GetAssociatedIpv6PoolCidrsInput) String() string {
85052	return awsutil.Prettify(s)
85053}
85054
85055// GoString returns the string representation
85056func (s GetAssociatedIpv6PoolCidrsInput) GoString() string {
85057	return s.String()
85058}
85059
85060// Validate inspects the fields of the type to determine if they are valid.
85061func (s *GetAssociatedIpv6PoolCidrsInput) Validate() error {
85062	invalidParams := request.ErrInvalidParams{Context: "GetAssociatedIpv6PoolCidrsInput"}
85063	if s.MaxResults != nil && *s.MaxResults < 1 {
85064		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
85065	}
85066	if s.PoolId == nil {
85067		invalidParams.Add(request.NewErrParamRequired("PoolId"))
85068	}
85069
85070	if invalidParams.Len() > 0 {
85071		return invalidParams
85072	}
85073	return nil
85074}
85075
85076// SetDryRun sets the DryRun field's value.
85077func (s *GetAssociatedIpv6PoolCidrsInput) SetDryRun(v bool) *GetAssociatedIpv6PoolCidrsInput {
85078	s.DryRun = &v
85079	return s
85080}
85081
85082// SetMaxResults sets the MaxResults field's value.
85083func (s *GetAssociatedIpv6PoolCidrsInput) SetMaxResults(v int64) *GetAssociatedIpv6PoolCidrsInput {
85084	s.MaxResults = &v
85085	return s
85086}
85087
85088// SetNextToken sets the NextToken field's value.
85089func (s *GetAssociatedIpv6PoolCidrsInput) SetNextToken(v string) *GetAssociatedIpv6PoolCidrsInput {
85090	s.NextToken = &v
85091	return s
85092}
85093
85094// SetPoolId sets the PoolId field's value.
85095func (s *GetAssociatedIpv6PoolCidrsInput) SetPoolId(v string) *GetAssociatedIpv6PoolCidrsInput {
85096	s.PoolId = &v
85097	return s
85098}
85099
85100type GetAssociatedIpv6PoolCidrsOutput struct {
85101	_ struct{} `type:"structure"`
85102
85103	// Information about the IPv6 CIDR block associations.
85104	Ipv6CidrAssociations []*Ipv6CidrAssociation `locationName:"ipv6CidrAssociationSet" locationNameList:"item" type:"list"`
85105
85106	// The token to use to retrieve the next page of results. This value is null
85107	// when there are no more results to return.
85108	NextToken *string `locationName:"nextToken" type:"string"`
85109}
85110
85111// String returns the string representation
85112func (s GetAssociatedIpv6PoolCidrsOutput) String() string {
85113	return awsutil.Prettify(s)
85114}
85115
85116// GoString returns the string representation
85117func (s GetAssociatedIpv6PoolCidrsOutput) GoString() string {
85118	return s.String()
85119}
85120
85121// SetIpv6CidrAssociations sets the Ipv6CidrAssociations field's value.
85122func (s *GetAssociatedIpv6PoolCidrsOutput) SetIpv6CidrAssociations(v []*Ipv6CidrAssociation) *GetAssociatedIpv6PoolCidrsOutput {
85123	s.Ipv6CidrAssociations = v
85124	return s
85125}
85126
85127// SetNextToken sets the NextToken field's value.
85128func (s *GetAssociatedIpv6PoolCidrsOutput) SetNextToken(v string) *GetAssociatedIpv6PoolCidrsOutput {
85129	s.NextToken = &v
85130	return s
85131}
85132
85133type GetCapacityReservationUsageInput struct {
85134	_ struct{} `type:"structure"`
85135
85136	// The ID of the Capacity Reservation.
85137	//
85138	// CapacityReservationId is a required field
85139	CapacityReservationId *string `type:"string" required:"true"`
85140
85141	// Checks whether you have the required permissions for the action, without
85142	// actually making the request, and provides an error response. If you have
85143	// the required permissions, the error response is DryRunOperation. Otherwise,
85144	// it is UnauthorizedOperation.
85145	DryRun *bool `type:"boolean"`
85146
85147	// The maximum number of results to return for the request in a single page.
85148	// The remaining results can be seen by sending another request with the returned
85149	// nextToken value. This value can be between 5 and 500. If maxResults is given
85150	// a larger value than 500, you receive an error.
85151	//
85152	// Valid range: Minimum value of 1. Maximum value of 1000.
85153	MaxResults *int64 `min:"1" type:"integer"`
85154
85155	// The token to use to retrieve the next page of results.
85156	NextToken *string `type:"string"`
85157}
85158
85159// String returns the string representation
85160func (s GetCapacityReservationUsageInput) String() string {
85161	return awsutil.Prettify(s)
85162}
85163
85164// GoString returns the string representation
85165func (s GetCapacityReservationUsageInput) GoString() string {
85166	return s.String()
85167}
85168
85169// Validate inspects the fields of the type to determine if they are valid.
85170func (s *GetCapacityReservationUsageInput) Validate() error {
85171	invalidParams := request.ErrInvalidParams{Context: "GetCapacityReservationUsageInput"}
85172	if s.CapacityReservationId == nil {
85173		invalidParams.Add(request.NewErrParamRequired("CapacityReservationId"))
85174	}
85175	if s.MaxResults != nil && *s.MaxResults < 1 {
85176		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
85177	}
85178
85179	if invalidParams.Len() > 0 {
85180		return invalidParams
85181	}
85182	return nil
85183}
85184
85185// SetCapacityReservationId sets the CapacityReservationId field's value.
85186func (s *GetCapacityReservationUsageInput) SetCapacityReservationId(v string) *GetCapacityReservationUsageInput {
85187	s.CapacityReservationId = &v
85188	return s
85189}
85190
85191// SetDryRun sets the DryRun field's value.
85192func (s *GetCapacityReservationUsageInput) SetDryRun(v bool) *GetCapacityReservationUsageInput {
85193	s.DryRun = &v
85194	return s
85195}
85196
85197// SetMaxResults sets the MaxResults field's value.
85198func (s *GetCapacityReservationUsageInput) SetMaxResults(v int64) *GetCapacityReservationUsageInput {
85199	s.MaxResults = &v
85200	return s
85201}
85202
85203// SetNextToken sets the NextToken field's value.
85204func (s *GetCapacityReservationUsageInput) SetNextToken(v string) *GetCapacityReservationUsageInput {
85205	s.NextToken = &v
85206	return s
85207}
85208
85209type GetCapacityReservationUsageOutput struct {
85210	_ struct{} `type:"structure"`
85211
85212	// The remaining capacity. Indicates the number of instances that can be launched
85213	// in the Capacity Reservation.
85214	AvailableInstanceCount *int64 `locationName:"availableInstanceCount" type:"integer"`
85215
85216	// The ID of the Capacity Reservation.
85217	CapacityReservationId *string `locationName:"capacityReservationId" type:"string"`
85218
85219	// The type of instance for which the Capacity Reservation reserves capacity.
85220	InstanceType *string `locationName:"instanceType" type:"string"`
85221
85222	// Information about the Capacity Reservation usage.
85223	InstanceUsages []*InstanceUsage `locationName:"instanceUsageSet" locationNameList:"item" type:"list"`
85224
85225	// The token to use to retrieve the next page of results. This value is null
85226	// when there are no more results to return.
85227	NextToken *string `locationName:"nextToken" type:"string"`
85228
85229	// The current state of the Capacity Reservation. A Capacity Reservation can
85230	// be in one of the following states:
85231	//
85232	//    * active - The Capacity Reservation is active and the capacity is available
85233	//    for your use.
85234	//
85235	//    * expired - The Capacity Reservation expired automatically at the date
85236	//    and time specified in your request. The reserved capacity is no longer
85237	//    available for your use.
85238	//
85239	//    * cancelled - The Capacity Reservation was cancelled. The reserved capacity
85240	//    is no longer available for your use.
85241	//
85242	//    * pending - The Capacity Reservation request was successful but the capacity
85243	//    provisioning is still pending.
85244	//
85245	//    * failed - The Capacity Reservation request has failed. A request might
85246	//    fail due to invalid request parameters, capacity constraints, or instance
85247	//    limit constraints. Failed requests are retained for 60 minutes.
85248	State *string `locationName:"state" type:"string" enum:"CapacityReservationState"`
85249
85250	// The number of instances for which the Capacity Reservation reserves capacity.
85251	TotalInstanceCount *int64 `locationName:"totalInstanceCount" type:"integer"`
85252}
85253
85254// String returns the string representation
85255func (s GetCapacityReservationUsageOutput) String() string {
85256	return awsutil.Prettify(s)
85257}
85258
85259// GoString returns the string representation
85260func (s GetCapacityReservationUsageOutput) GoString() string {
85261	return s.String()
85262}
85263
85264// SetAvailableInstanceCount sets the AvailableInstanceCount field's value.
85265func (s *GetCapacityReservationUsageOutput) SetAvailableInstanceCount(v int64) *GetCapacityReservationUsageOutput {
85266	s.AvailableInstanceCount = &v
85267	return s
85268}
85269
85270// SetCapacityReservationId sets the CapacityReservationId field's value.
85271func (s *GetCapacityReservationUsageOutput) SetCapacityReservationId(v string) *GetCapacityReservationUsageOutput {
85272	s.CapacityReservationId = &v
85273	return s
85274}
85275
85276// SetInstanceType sets the InstanceType field's value.
85277func (s *GetCapacityReservationUsageOutput) SetInstanceType(v string) *GetCapacityReservationUsageOutput {
85278	s.InstanceType = &v
85279	return s
85280}
85281
85282// SetInstanceUsages sets the InstanceUsages field's value.
85283func (s *GetCapacityReservationUsageOutput) SetInstanceUsages(v []*InstanceUsage) *GetCapacityReservationUsageOutput {
85284	s.InstanceUsages = v
85285	return s
85286}
85287
85288// SetNextToken sets the NextToken field's value.
85289func (s *GetCapacityReservationUsageOutput) SetNextToken(v string) *GetCapacityReservationUsageOutput {
85290	s.NextToken = &v
85291	return s
85292}
85293
85294// SetState sets the State field's value.
85295func (s *GetCapacityReservationUsageOutput) SetState(v string) *GetCapacityReservationUsageOutput {
85296	s.State = &v
85297	return s
85298}
85299
85300// SetTotalInstanceCount sets the TotalInstanceCount field's value.
85301func (s *GetCapacityReservationUsageOutput) SetTotalInstanceCount(v int64) *GetCapacityReservationUsageOutput {
85302	s.TotalInstanceCount = &v
85303	return s
85304}
85305
85306type GetCoipPoolUsageInput struct {
85307	_ struct{} `type:"structure"`
85308
85309	// Checks whether you have the required permissions for the action, without
85310	// actually making the request, and provides an error response. If you have
85311	// the required permissions, the error response is DryRunOperation. Otherwise,
85312	// it is UnauthorizedOperation.
85313	DryRun *bool `type:"boolean"`
85314
85315	// The filters. The following are the possible values:
85316	//
85317	//    * coip-address-usage.allocation-id
85318	//
85319	//    * coip-address-usage.aws-account-id
85320	//
85321	//    * coip-address-usage.aws-service
85322	//
85323	//    * coip-address-usage.co-ip
85324	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
85325
85326	// The maximum number of results to return with a single call. To retrieve the
85327	// remaining results, make another call with the returned nextToken value.
85328	MaxResults *int64 `min:"5" type:"integer"`
85329
85330	// The token for the next page of results.
85331	NextToken *string `type:"string"`
85332
85333	// The ID of the address pool.
85334	//
85335	// PoolId is a required field
85336	PoolId *string `type:"string" required:"true"`
85337}
85338
85339// String returns the string representation
85340func (s GetCoipPoolUsageInput) String() string {
85341	return awsutil.Prettify(s)
85342}
85343
85344// GoString returns the string representation
85345func (s GetCoipPoolUsageInput) GoString() string {
85346	return s.String()
85347}
85348
85349// Validate inspects the fields of the type to determine if they are valid.
85350func (s *GetCoipPoolUsageInput) Validate() error {
85351	invalidParams := request.ErrInvalidParams{Context: "GetCoipPoolUsageInput"}
85352	if s.MaxResults != nil && *s.MaxResults < 5 {
85353		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
85354	}
85355	if s.PoolId == nil {
85356		invalidParams.Add(request.NewErrParamRequired("PoolId"))
85357	}
85358
85359	if invalidParams.Len() > 0 {
85360		return invalidParams
85361	}
85362	return nil
85363}
85364
85365// SetDryRun sets the DryRun field's value.
85366func (s *GetCoipPoolUsageInput) SetDryRun(v bool) *GetCoipPoolUsageInput {
85367	s.DryRun = &v
85368	return s
85369}
85370
85371// SetFilters sets the Filters field's value.
85372func (s *GetCoipPoolUsageInput) SetFilters(v []*Filter) *GetCoipPoolUsageInput {
85373	s.Filters = v
85374	return s
85375}
85376
85377// SetMaxResults sets the MaxResults field's value.
85378func (s *GetCoipPoolUsageInput) SetMaxResults(v int64) *GetCoipPoolUsageInput {
85379	s.MaxResults = &v
85380	return s
85381}
85382
85383// SetNextToken sets the NextToken field's value.
85384func (s *GetCoipPoolUsageInput) SetNextToken(v string) *GetCoipPoolUsageInput {
85385	s.NextToken = &v
85386	return s
85387}
85388
85389// SetPoolId sets the PoolId field's value.
85390func (s *GetCoipPoolUsageInput) SetPoolId(v string) *GetCoipPoolUsageInput {
85391	s.PoolId = &v
85392	return s
85393}
85394
85395type GetCoipPoolUsageOutput struct {
85396	_ struct{} `type:"structure"`
85397
85398	// Information about the address usage.
85399	CoipAddressUsages []*CoipAddressUsage `locationName:"coipAddressUsageSet" locationNameList:"item" type:"list"`
85400
85401	// The ID of the customer-owned address pool.
85402	CoipPoolId *string `locationName:"coipPoolId" type:"string"`
85403
85404	// The ID of the local gateway route table.
85405	LocalGatewayRouteTableId *string `locationName:"localGatewayRouteTableId" type:"string"`
85406}
85407
85408// String returns the string representation
85409func (s GetCoipPoolUsageOutput) String() string {
85410	return awsutil.Prettify(s)
85411}
85412
85413// GoString returns the string representation
85414func (s GetCoipPoolUsageOutput) GoString() string {
85415	return s.String()
85416}
85417
85418// SetCoipAddressUsages sets the CoipAddressUsages field's value.
85419func (s *GetCoipPoolUsageOutput) SetCoipAddressUsages(v []*CoipAddressUsage) *GetCoipPoolUsageOutput {
85420	s.CoipAddressUsages = v
85421	return s
85422}
85423
85424// SetCoipPoolId sets the CoipPoolId field's value.
85425func (s *GetCoipPoolUsageOutput) SetCoipPoolId(v string) *GetCoipPoolUsageOutput {
85426	s.CoipPoolId = &v
85427	return s
85428}
85429
85430// SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
85431func (s *GetCoipPoolUsageOutput) SetLocalGatewayRouteTableId(v string) *GetCoipPoolUsageOutput {
85432	s.LocalGatewayRouteTableId = &v
85433	return s
85434}
85435
85436type GetConsoleOutputInput struct {
85437	_ struct{} `type:"structure"`
85438
85439	// Checks whether you have the required permissions for the action, without
85440	// actually making the request, and provides an error response. If you have
85441	// the required permissions, the error response is DryRunOperation. Otherwise,
85442	// it is UnauthorizedOperation.
85443	DryRun *bool `locationName:"dryRun" type:"boolean"`
85444
85445	// The ID of the instance.
85446	//
85447	// InstanceId is a required field
85448	InstanceId *string `type:"string" required:"true"`
85449
85450	// When enabled, retrieves the latest console output for the instance.
85451	//
85452	// Default: disabled (false)
85453	Latest *bool `type:"boolean"`
85454}
85455
85456// String returns the string representation
85457func (s GetConsoleOutputInput) String() string {
85458	return awsutil.Prettify(s)
85459}
85460
85461// GoString returns the string representation
85462func (s GetConsoleOutputInput) GoString() string {
85463	return s.String()
85464}
85465
85466// Validate inspects the fields of the type to determine if they are valid.
85467func (s *GetConsoleOutputInput) Validate() error {
85468	invalidParams := request.ErrInvalidParams{Context: "GetConsoleOutputInput"}
85469	if s.InstanceId == nil {
85470		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
85471	}
85472
85473	if invalidParams.Len() > 0 {
85474		return invalidParams
85475	}
85476	return nil
85477}
85478
85479// SetDryRun sets the DryRun field's value.
85480func (s *GetConsoleOutputInput) SetDryRun(v bool) *GetConsoleOutputInput {
85481	s.DryRun = &v
85482	return s
85483}
85484
85485// SetInstanceId sets the InstanceId field's value.
85486func (s *GetConsoleOutputInput) SetInstanceId(v string) *GetConsoleOutputInput {
85487	s.InstanceId = &v
85488	return s
85489}
85490
85491// SetLatest sets the Latest field's value.
85492func (s *GetConsoleOutputInput) SetLatest(v bool) *GetConsoleOutputInput {
85493	s.Latest = &v
85494	return s
85495}
85496
85497type GetConsoleOutputOutput struct {
85498	_ struct{} `type:"structure"`
85499
85500	// The ID of the instance.
85501	InstanceId *string `locationName:"instanceId" type:"string"`
85502
85503	// The console output, base64-encoded. If you are using a command line tool,
85504	// the tool decodes the output for you.
85505	Output *string `locationName:"output" type:"string"`
85506
85507	// The time at which the output was last updated.
85508	Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
85509}
85510
85511// String returns the string representation
85512func (s GetConsoleOutputOutput) String() string {
85513	return awsutil.Prettify(s)
85514}
85515
85516// GoString returns the string representation
85517func (s GetConsoleOutputOutput) GoString() string {
85518	return s.String()
85519}
85520
85521// SetInstanceId sets the InstanceId field's value.
85522func (s *GetConsoleOutputOutput) SetInstanceId(v string) *GetConsoleOutputOutput {
85523	s.InstanceId = &v
85524	return s
85525}
85526
85527// SetOutput sets the Output field's value.
85528func (s *GetConsoleOutputOutput) SetOutput(v string) *GetConsoleOutputOutput {
85529	s.Output = &v
85530	return s
85531}
85532
85533// SetTimestamp sets the Timestamp field's value.
85534func (s *GetConsoleOutputOutput) SetTimestamp(v time.Time) *GetConsoleOutputOutput {
85535	s.Timestamp = &v
85536	return s
85537}
85538
85539type GetConsoleScreenshotInput struct {
85540	_ struct{} `type:"structure"`
85541
85542	// Checks whether you have the required permissions for the action, without
85543	// actually making the request, and provides an error response. If you have
85544	// the required permissions, the error response is DryRunOperation. Otherwise,
85545	// it is UnauthorizedOperation.
85546	DryRun *bool `type:"boolean"`
85547
85548	// The ID of the instance.
85549	//
85550	// InstanceId is a required field
85551	InstanceId *string `type:"string" required:"true"`
85552
85553	// When set to true, acts as keystroke input and wakes up an instance that's
85554	// in standby or "sleep" mode.
85555	WakeUp *bool `type:"boolean"`
85556}
85557
85558// String returns the string representation
85559func (s GetConsoleScreenshotInput) String() string {
85560	return awsutil.Prettify(s)
85561}
85562
85563// GoString returns the string representation
85564func (s GetConsoleScreenshotInput) GoString() string {
85565	return s.String()
85566}
85567
85568// Validate inspects the fields of the type to determine if they are valid.
85569func (s *GetConsoleScreenshotInput) Validate() error {
85570	invalidParams := request.ErrInvalidParams{Context: "GetConsoleScreenshotInput"}
85571	if s.InstanceId == nil {
85572		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
85573	}
85574
85575	if invalidParams.Len() > 0 {
85576		return invalidParams
85577	}
85578	return nil
85579}
85580
85581// SetDryRun sets the DryRun field's value.
85582func (s *GetConsoleScreenshotInput) SetDryRun(v bool) *GetConsoleScreenshotInput {
85583	s.DryRun = &v
85584	return s
85585}
85586
85587// SetInstanceId sets the InstanceId field's value.
85588func (s *GetConsoleScreenshotInput) SetInstanceId(v string) *GetConsoleScreenshotInput {
85589	s.InstanceId = &v
85590	return s
85591}
85592
85593// SetWakeUp sets the WakeUp field's value.
85594func (s *GetConsoleScreenshotInput) SetWakeUp(v bool) *GetConsoleScreenshotInput {
85595	s.WakeUp = &v
85596	return s
85597}
85598
85599type GetConsoleScreenshotOutput struct {
85600	_ struct{} `type:"structure"`
85601
85602	// The data that comprises the image.
85603	ImageData *string `locationName:"imageData" type:"string"`
85604
85605	// The ID of the instance.
85606	InstanceId *string `locationName:"instanceId" type:"string"`
85607}
85608
85609// String returns the string representation
85610func (s GetConsoleScreenshotOutput) String() string {
85611	return awsutil.Prettify(s)
85612}
85613
85614// GoString returns the string representation
85615func (s GetConsoleScreenshotOutput) GoString() string {
85616	return s.String()
85617}
85618
85619// SetImageData sets the ImageData field's value.
85620func (s *GetConsoleScreenshotOutput) SetImageData(v string) *GetConsoleScreenshotOutput {
85621	s.ImageData = &v
85622	return s
85623}
85624
85625// SetInstanceId sets the InstanceId field's value.
85626func (s *GetConsoleScreenshotOutput) SetInstanceId(v string) *GetConsoleScreenshotOutput {
85627	s.InstanceId = &v
85628	return s
85629}
85630
85631type GetDefaultCreditSpecificationInput struct {
85632	_ struct{} `type:"structure"`
85633
85634	// Checks whether you have the required permissions for the action, without
85635	// actually making the request, and provides an error response. If you have
85636	// the required permissions, the error response is DryRunOperation. Otherwise,
85637	// it is UnauthorizedOperation.
85638	DryRun *bool `type:"boolean"`
85639
85640	// The instance family.
85641	//
85642	// InstanceFamily is a required field
85643	InstanceFamily *string `type:"string" required:"true" enum:"UnlimitedSupportedInstanceFamily"`
85644}
85645
85646// String returns the string representation
85647func (s GetDefaultCreditSpecificationInput) String() string {
85648	return awsutil.Prettify(s)
85649}
85650
85651// GoString returns the string representation
85652func (s GetDefaultCreditSpecificationInput) GoString() string {
85653	return s.String()
85654}
85655
85656// Validate inspects the fields of the type to determine if they are valid.
85657func (s *GetDefaultCreditSpecificationInput) Validate() error {
85658	invalidParams := request.ErrInvalidParams{Context: "GetDefaultCreditSpecificationInput"}
85659	if s.InstanceFamily == nil {
85660		invalidParams.Add(request.NewErrParamRequired("InstanceFamily"))
85661	}
85662
85663	if invalidParams.Len() > 0 {
85664		return invalidParams
85665	}
85666	return nil
85667}
85668
85669// SetDryRun sets the DryRun field's value.
85670func (s *GetDefaultCreditSpecificationInput) SetDryRun(v bool) *GetDefaultCreditSpecificationInput {
85671	s.DryRun = &v
85672	return s
85673}
85674
85675// SetInstanceFamily sets the InstanceFamily field's value.
85676func (s *GetDefaultCreditSpecificationInput) SetInstanceFamily(v string) *GetDefaultCreditSpecificationInput {
85677	s.InstanceFamily = &v
85678	return s
85679}
85680
85681type GetDefaultCreditSpecificationOutput struct {
85682	_ struct{} `type:"structure"`
85683
85684	// The default credit option for CPU usage of the instance family.
85685	InstanceFamilyCreditSpecification *InstanceFamilyCreditSpecification `locationName:"instanceFamilyCreditSpecification" type:"structure"`
85686}
85687
85688// String returns the string representation
85689func (s GetDefaultCreditSpecificationOutput) String() string {
85690	return awsutil.Prettify(s)
85691}
85692
85693// GoString returns the string representation
85694func (s GetDefaultCreditSpecificationOutput) GoString() string {
85695	return s.String()
85696}
85697
85698// SetInstanceFamilyCreditSpecification sets the InstanceFamilyCreditSpecification field's value.
85699func (s *GetDefaultCreditSpecificationOutput) SetInstanceFamilyCreditSpecification(v *InstanceFamilyCreditSpecification) *GetDefaultCreditSpecificationOutput {
85700	s.InstanceFamilyCreditSpecification = v
85701	return s
85702}
85703
85704type GetEbsDefaultKmsKeyIdInput struct {
85705	_ struct{} `type:"structure"`
85706
85707	// Checks whether you have the required permissions for the action, without
85708	// actually making the request, and provides an error response. If you have
85709	// the required permissions, the error response is DryRunOperation. Otherwise,
85710	// it is UnauthorizedOperation.
85711	DryRun *bool `type:"boolean"`
85712}
85713
85714// String returns the string representation
85715func (s GetEbsDefaultKmsKeyIdInput) String() string {
85716	return awsutil.Prettify(s)
85717}
85718
85719// GoString returns the string representation
85720func (s GetEbsDefaultKmsKeyIdInput) GoString() string {
85721	return s.String()
85722}
85723
85724// SetDryRun sets the DryRun field's value.
85725func (s *GetEbsDefaultKmsKeyIdInput) SetDryRun(v bool) *GetEbsDefaultKmsKeyIdInput {
85726	s.DryRun = &v
85727	return s
85728}
85729
85730type GetEbsDefaultKmsKeyIdOutput struct {
85731	_ struct{} `type:"structure"`
85732
85733	// The Amazon Resource Name (ARN) of the default CMK for encryption by default.
85734	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
85735}
85736
85737// String returns the string representation
85738func (s GetEbsDefaultKmsKeyIdOutput) String() string {
85739	return awsutil.Prettify(s)
85740}
85741
85742// GoString returns the string representation
85743func (s GetEbsDefaultKmsKeyIdOutput) GoString() string {
85744	return s.String()
85745}
85746
85747// SetKmsKeyId sets the KmsKeyId field's value.
85748func (s *GetEbsDefaultKmsKeyIdOutput) SetKmsKeyId(v string) *GetEbsDefaultKmsKeyIdOutput {
85749	s.KmsKeyId = &v
85750	return s
85751}
85752
85753type GetEbsEncryptionByDefaultInput struct {
85754	_ struct{} `type:"structure"`
85755
85756	// Checks whether you have the required permissions for the action, without
85757	// actually making the request, and provides an error response. If you have
85758	// the required permissions, the error response is DryRunOperation. Otherwise,
85759	// it is UnauthorizedOperation.
85760	DryRun *bool `type:"boolean"`
85761}
85762
85763// String returns the string representation
85764func (s GetEbsEncryptionByDefaultInput) String() string {
85765	return awsutil.Prettify(s)
85766}
85767
85768// GoString returns the string representation
85769func (s GetEbsEncryptionByDefaultInput) GoString() string {
85770	return s.String()
85771}
85772
85773// SetDryRun sets the DryRun field's value.
85774func (s *GetEbsEncryptionByDefaultInput) SetDryRun(v bool) *GetEbsEncryptionByDefaultInput {
85775	s.DryRun = &v
85776	return s
85777}
85778
85779type GetEbsEncryptionByDefaultOutput struct {
85780	_ struct{} `type:"structure"`
85781
85782	// Indicates whether encryption by default is enabled.
85783	EbsEncryptionByDefault *bool `locationName:"ebsEncryptionByDefault" type:"boolean"`
85784}
85785
85786// String returns the string representation
85787func (s GetEbsEncryptionByDefaultOutput) String() string {
85788	return awsutil.Prettify(s)
85789}
85790
85791// GoString returns the string representation
85792func (s GetEbsEncryptionByDefaultOutput) GoString() string {
85793	return s.String()
85794}
85795
85796// SetEbsEncryptionByDefault sets the EbsEncryptionByDefault field's value.
85797func (s *GetEbsEncryptionByDefaultOutput) SetEbsEncryptionByDefault(v bool) *GetEbsEncryptionByDefaultOutput {
85798	s.EbsEncryptionByDefault = &v
85799	return s
85800}
85801
85802type GetFlowLogsIntegrationTemplateInput struct {
85803	_ struct{} `type:"structure"`
85804
85805	// To store the CloudFormation template in Amazon S3, specify the location in
85806	// Amazon S3.
85807	//
85808	// ConfigDeliveryS3DestinationArn is a required field
85809	ConfigDeliveryS3DestinationArn *string `type:"string" required:"true"`
85810
85811	// Checks whether you have the required permissions for the action, without
85812	// actually making the request, and provides an error response. If you have
85813	// the required permissions, the error response is DryRunOperation. Otherwise,
85814	// it is UnauthorizedOperation.
85815	DryRun *bool `type:"boolean"`
85816
85817	// The ID of the flow log.
85818	//
85819	// FlowLogId is a required field
85820	FlowLogId *string `type:"string" required:"true"`
85821
85822	// Information about the service integration.
85823	//
85824	// IntegrateServices is a required field
85825	IntegrateServices *IntegrateServices `locationName:"IntegrateService" type:"structure" required:"true"`
85826}
85827
85828// String returns the string representation
85829func (s GetFlowLogsIntegrationTemplateInput) String() string {
85830	return awsutil.Prettify(s)
85831}
85832
85833// GoString returns the string representation
85834func (s GetFlowLogsIntegrationTemplateInput) GoString() string {
85835	return s.String()
85836}
85837
85838// Validate inspects the fields of the type to determine if they are valid.
85839func (s *GetFlowLogsIntegrationTemplateInput) Validate() error {
85840	invalidParams := request.ErrInvalidParams{Context: "GetFlowLogsIntegrationTemplateInput"}
85841	if s.ConfigDeliveryS3DestinationArn == nil {
85842		invalidParams.Add(request.NewErrParamRequired("ConfigDeliveryS3DestinationArn"))
85843	}
85844	if s.FlowLogId == nil {
85845		invalidParams.Add(request.NewErrParamRequired("FlowLogId"))
85846	}
85847	if s.IntegrateServices == nil {
85848		invalidParams.Add(request.NewErrParamRequired("IntegrateServices"))
85849	}
85850	if s.IntegrateServices != nil {
85851		if err := s.IntegrateServices.Validate(); err != nil {
85852			invalidParams.AddNested("IntegrateServices", err.(request.ErrInvalidParams))
85853		}
85854	}
85855
85856	if invalidParams.Len() > 0 {
85857		return invalidParams
85858	}
85859	return nil
85860}
85861
85862// SetConfigDeliveryS3DestinationArn sets the ConfigDeliveryS3DestinationArn field's value.
85863func (s *GetFlowLogsIntegrationTemplateInput) SetConfigDeliveryS3DestinationArn(v string) *GetFlowLogsIntegrationTemplateInput {
85864	s.ConfigDeliveryS3DestinationArn = &v
85865	return s
85866}
85867
85868// SetDryRun sets the DryRun field's value.
85869func (s *GetFlowLogsIntegrationTemplateInput) SetDryRun(v bool) *GetFlowLogsIntegrationTemplateInput {
85870	s.DryRun = &v
85871	return s
85872}
85873
85874// SetFlowLogId sets the FlowLogId field's value.
85875func (s *GetFlowLogsIntegrationTemplateInput) SetFlowLogId(v string) *GetFlowLogsIntegrationTemplateInput {
85876	s.FlowLogId = &v
85877	return s
85878}
85879
85880// SetIntegrateServices sets the IntegrateServices field's value.
85881func (s *GetFlowLogsIntegrationTemplateInput) SetIntegrateServices(v *IntegrateServices) *GetFlowLogsIntegrationTemplateInput {
85882	s.IntegrateServices = v
85883	return s
85884}
85885
85886type GetFlowLogsIntegrationTemplateOutput struct {
85887	_ struct{} `type:"structure"`
85888
85889	// The generated CloudFormation template.
85890	Result *string `locationName:"result" type:"string"`
85891}
85892
85893// String returns the string representation
85894func (s GetFlowLogsIntegrationTemplateOutput) String() string {
85895	return awsutil.Prettify(s)
85896}
85897
85898// GoString returns the string representation
85899func (s GetFlowLogsIntegrationTemplateOutput) GoString() string {
85900	return s.String()
85901}
85902
85903// SetResult sets the Result field's value.
85904func (s *GetFlowLogsIntegrationTemplateOutput) SetResult(v string) *GetFlowLogsIntegrationTemplateOutput {
85905	s.Result = &v
85906	return s
85907}
85908
85909type GetGroupsForCapacityReservationInput struct {
85910	_ struct{} `type:"structure"`
85911
85912	// The ID of the Capacity Reservation.
85913	//
85914	// CapacityReservationId is a required field
85915	CapacityReservationId *string `type:"string" required:"true"`
85916
85917	// Checks whether you have the required permissions for the action, without
85918	// actually making the request, and provides an error response. If you have
85919	// the required permissions, the error response is DryRunOperation. Otherwise,
85920	// it is UnauthorizedOperation.
85921	DryRun *bool `type:"boolean"`
85922
85923	// The maximum number of results to return for the request in a single page.
85924	// The remaining results can be seen by sending another request with the returned
85925	// nextToken value. This value can be between 5 and 500. If maxResults is given
85926	// a larger value than 500, you receive an error.
85927	MaxResults *int64 `min:"1" type:"integer"`
85928
85929	// The token to use to retrieve the next page of results.
85930	NextToken *string `type:"string"`
85931}
85932
85933// String returns the string representation
85934func (s GetGroupsForCapacityReservationInput) String() string {
85935	return awsutil.Prettify(s)
85936}
85937
85938// GoString returns the string representation
85939func (s GetGroupsForCapacityReservationInput) GoString() string {
85940	return s.String()
85941}
85942
85943// Validate inspects the fields of the type to determine if they are valid.
85944func (s *GetGroupsForCapacityReservationInput) Validate() error {
85945	invalidParams := request.ErrInvalidParams{Context: "GetGroupsForCapacityReservationInput"}
85946	if s.CapacityReservationId == nil {
85947		invalidParams.Add(request.NewErrParamRequired("CapacityReservationId"))
85948	}
85949	if s.MaxResults != nil && *s.MaxResults < 1 {
85950		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
85951	}
85952
85953	if invalidParams.Len() > 0 {
85954		return invalidParams
85955	}
85956	return nil
85957}
85958
85959// SetCapacityReservationId sets the CapacityReservationId field's value.
85960func (s *GetGroupsForCapacityReservationInput) SetCapacityReservationId(v string) *GetGroupsForCapacityReservationInput {
85961	s.CapacityReservationId = &v
85962	return s
85963}
85964
85965// SetDryRun sets the DryRun field's value.
85966func (s *GetGroupsForCapacityReservationInput) SetDryRun(v bool) *GetGroupsForCapacityReservationInput {
85967	s.DryRun = &v
85968	return s
85969}
85970
85971// SetMaxResults sets the MaxResults field's value.
85972func (s *GetGroupsForCapacityReservationInput) SetMaxResults(v int64) *GetGroupsForCapacityReservationInput {
85973	s.MaxResults = &v
85974	return s
85975}
85976
85977// SetNextToken sets the NextToken field's value.
85978func (s *GetGroupsForCapacityReservationInput) SetNextToken(v string) *GetGroupsForCapacityReservationInput {
85979	s.NextToken = &v
85980	return s
85981}
85982
85983type GetGroupsForCapacityReservationOutput struct {
85984	_ struct{} `type:"structure"`
85985
85986	// Information about the resource groups to which the Capacity Reservation has
85987	// been added.
85988	CapacityReservationGroups []*CapacityReservationGroup `locationName:"capacityReservationGroupSet" locationNameList:"item" type:"list"`
85989
85990	// The token to use to retrieve the next page of results. This value is null
85991	// when there are no more results to return.
85992	NextToken *string `locationName:"nextToken" type:"string"`
85993}
85994
85995// String returns the string representation
85996func (s GetGroupsForCapacityReservationOutput) String() string {
85997	return awsutil.Prettify(s)
85998}
85999
86000// GoString returns the string representation
86001func (s GetGroupsForCapacityReservationOutput) GoString() string {
86002	return s.String()
86003}
86004
86005// SetCapacityReservationGroups sets the CapacityReservationGroups field's value.
86006func (s *GetGroupsForCapacityReservationOutput) SetCapacityReservationGroups(v []*CapacityReservationGroup) *GetGroupsForCapacityReservationOutput {
86007	s.CapacityReservationGroups = v
86008	return s
86009}
86010
86011// SetNextToken sets the NextToken field's value.
86012func (s *GetGroupsForCapacityReservationOutput) SetNextToken(v string) *GetGroupsForCapacityReservationOutput {
86013	s.NextToken = &v
86014	return s
86015}
86016
86017type GetHostReservationPurchasePreviewInput struct {
86018	_ struct{} `type:"structure"`
86019
86020	// The IDs of the Dedicated Hosts with which the reservation is associated.
86021	//
86022	// HostIdSet is a required field
86023	HostIdSet []*string `locationNameList:"item" type:"list" required:"true"`
86024
86025	// The offering ID of the reservation.
86026	//
86027	// OfferingId is a required field
86028	OfferingId *string `type:"string" required:"true"`
86029}
86030
86031// String returns the string representation
86032func (s GetHostReservationPurchasePreviewInput) String() string {
86033	return awsutil.Prettify(s)
86034}
86035
86036// GoString returns the string representation
86037func (s GetHostReservationPurchasePreviewInput) GoString() string {
86038	return s.String()
86039}
86040
86041// Validate inspects the fields of the type to determine if they are valid.
86042func (s *GetHostReservationPurchasePreviewInput) Validate() error {
86043	invalidParams := request.ErrInvalidParams{Context: "GetHostReservationPurchasePreviewInput"}
86044	if s.HostIdSet == nil {
86045		invalidParams.Add(request.NewErrParamRequired("HostIdSet"))
86046	}
86047	if s.OfferingId == nil {
86048		invalidParams.Add(request.NewErrParamRequired("OfferingId"))
86049	}
86050
86051	if invalidParams.Len() > 0 {
86052		return invalidParams
86053	}
86054	return nil
86055}
86056
86057// SetHostIdSet sets the HostIdSet field's value.
86058func (s *GetHostReservationPurchasePreviewInput) SetHostIdSet(v []*string) *GetHostReservationPurchasePreviewInput {
86059	s.HostIdSet = v
86060	return s
86061}
86062
86063// SetOfferingId sets the OfferingId field's value.
86064func (s *GetHostReservationPurchasePreviewInput) SetOfferingId(v string) *GetHostReservationPurchasePreviewInput {
86065	s.OfferingId = &v
86066	return s
86067}
86068
86069type GetHostReservationPurchasePreviewOutput struct {
86070	_ struct{} `type:"structure"`
86071
86072	// The currency in which the totalUpfrontPrice and totalHourlyPrice amounts
86073	// are specified. At this time, the only supported currency is USD.
86074	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
86075
86076	// The purchase information of the Dedicated Host reservation and the Dedicated
86077	// Hosts associated with it.
86078	Purchase []*Purchase `locationName:"purchase" locationNameList:"item" type:"list"`
86079
86080	// The potential total hourly price of the reservation per hour.
86081	TotalHourlyPrice *string `locationName:"totalHourlyPrice" type:"string"`
86082
86083	// The potential total upfront price. This is billed immediately.
86084	TotalUpfrontPrice *string `locationName:"totalUpfrontPrice" type:"string"`
86085}
86086
86087// String returns the string representation
86088func (s GetHostReservationPurchasePreviewOutput) String() string {
86089	return awsutil.Prettify(s)
86090}
86091
86092// GoString returns the string representation
86093func (s GetHostReservationPurchasePreviewOutput) GoString() string {
86094	return s.String()
86095}
86096
86097// SetCurrencyCode sets the CurrencyCode field's value.
86098func (s *GetHostReservationPurchasePreviewOutput) SetCurrencyCode(v string) *GetHostReservationPurchasePreviewOutput {
86099	s.CurrencyCode = &v
86100	return s
86101}
86102
86103// SetPurchase sets the Purchase field's value.
86104func (s *GetHostReservationPurchasePreviewOutput) SetPurchase(v []*Purchase) *GetHostReservationPurchasePreviewOutput {
86105	s.Purchase = v
86106	return s
86107}
86108
86109// SetTotalHourlyPrice sets the TotalHourlyPrice field's value.
86110func (s *GetHostReservationPurchasePreviewOutput) SetTotalHourlyPrice(v string) *GetHostReservationPurchasePreviewOutput {
86111	s.TotalHourlyPrice = &v
86112	return s
86113}
86114
86115// SetTotalUpfrontPrice sets the TotalUpfrontPrice field's value.
86116func (s *GetHostReservationPurchasePreviewOutput) SetTotalUpfrontPrice(v string) *GetHostReservationPurchasePreviewOutput {
86117	s.TotalUpfrontPrice = &v
86118	return s
86119}
86120
86121type GetLaunchTemplateDataInput struct {
86122	_ struct{} `type:"structure"`
86123
86124	// Checks whether you have the required permissions for the action, without
86125	// actually making the request, and provides an error response. If you have
86126	// the required permissions, the error response is DryRunOperation. Otherwise,
86127	// it is UnauthorizedOperation.
86128	DryRun *bool `type:"boolean"`
86129
86130	// The ID of the instance.
86131	//
86132	// InstanceId is a required field
86133	InstanceId *string `type:"string" required:"true"`
86134}
86135
86136// String returns the string representation
86137func (s GetLaunchTemplateDataInput) String() string {
86138	return awsutil.Prettify(s)
86139}
86140
86141// GoString returns the string representation
86142func (s GetLaunchTemplateDataInput) GoString() string {
86143	return s.String()
86144}
86145
86146// Validate inspects the fields of the type to determine if they are valid.
86147func (s *GetLaunchTemplateDataInput) Validate() error {
86148	invalidParams := request.ErrInvalidParams{Context: "GetLaunchTemplateDataInput"}
86149	if s.InstanceId == nil {
86150		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
86151	}
86152
86153	if invalidParams.Len() > 0 {
86154		return invalidParams
86155	}
86156	return nil
86157}
86158
86159// SetDryRun sets the DryRun field's value.
86160func (s *GetLaunchTemplateDataInput) SetDryRun(v bool) *GetLaunchTemplateDataInput {
86161	s.DryRun = &v
86162	return s
86163}
86164
86165// SetInstanceId sets the InstanceId field's value.
86166func (s *GetLaunchTemplateDataInput) SetInstanceId(v string) *GetLaunchTemplateDataInput {
86167	s.InstanceId = &v
86168	return s
86169}
86170
86171type GetLaunchTemplateDataOutput struct {
86172	_ struct{} `type:"structure"`
86173
86174	// The instance data.
86175	LaunchTemplateData *ResponseLaunchTemplateData `locationName:"launchTemplateData" type:"structure"`
86176}
86177
86178// String returns the string representation
86179func (s GetLaunchTemplateDataOutput) String() string {
86180	return awsutil.Prettify(s)
86181}
86182
86183// GoString returns the string representation
86184func (s GetLaunchTemplateDataOutput) GoString() string {
86185	return s.String()
86186}
86187
86188// SetLaunchTemplateData sets the LaunchTemplateData field's value.
86189func (s *GetLaunchTemplateDataOutput) SetLaunchTemplateData(v *ResponseLaunchTemplateData) *GetLaunchTemplateDataOutput {
86190	s.LaunchTemplateData = v
86191	return s
86192}
86193
86194type GetManagedPrefixListAssociationsInput struct {
86195	_ struct{} `type:"structure"`
86196
86197	// Checks whether you have the required permissions for the action, without
86198	// actually making the request, and provides an error response. If you have
86199	// the required permissions, the error response is DryRunOperation. Otherwise,
86200	// it is UnauthorizedOperation.
86201	DryRun *bool `type:"boolean"`
86202
86203	// The maximum number of results to return with a single call. To retrieve the
86204	// remaining results, make another call with the returned nextToken value.
86205	MaxResults *int64 `min:"5" type:"integer"`
86206
86207	// The token for the next page of results.
86208	NextToken *string `type:"string"`
86209
86210	// The ID of the prefix list.
86211	//
86212	// PrefixListId is a required field
86213	PrefixListId *string `type:"string" required:"true"`
86214}
86215
86216// String returns the string representation
86217func (s GetManagedPrefixListAssociationsInput) String() string {
86218	return awsutil.Prettify(s)
86219}
86220
86221// GoString returns the string representation
86222func (s GetManagedPrefixListAssociationsInput) GoString() string {
86223	return s.String()
86224}
86225
86226// Validate inspects the fields of the type to determine if they are valid.
86227func (s *GetManagedPrefixListAssociationsInput) Validate() error {
86228	invalidParams := request.ErrInvalidParams{Context: "GetManagedPrefixListAssociationsInput"}
86229	if s.MaxResults != nil && *s.MaxResults < 5 {
86230		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
86231	}
86232	if s.PrefixListId == nil {
86233		invalidParams.Add(request.NewErrParamRequired("PrefixListId"))
86234	}
86235
86236	if invalidParams.Len() > 0 {
86237		return invalidParams
86238	}
86239	return nil
86240}
86241
86242// SetDryRun sets the DryRun field's value.
86243func (s *GetManagedPrefixListAssociationsInput) SetDryRun(v bool) *GetManagedPrefixListAssociationsInput {
86244	s.DryRun = &v
86245	return s
86246}
86247
86248// SetMaxResults sets the MaxResults field's value.
86249func (s *GetManagedPrefixListAssociationsInput) SetMaxResults(v int64) *GetManagedPrefixListAssociationsInput {
86250	s.MaxResults = &v
86251	return s
86252}
86253
86254// SetNextToken sets the NextToken field's value.
86255func (s *GetManagedPrefixListAssociationsInput) SetNextToken(v string) *GetManagedPrefixListAssociationsInput {
86256	s.NextToken = &v
86257	return s
86258}
86259
86260// SetPrefixListId sets the PrefixListId field's value.
86261func (s *GetManagedPrefixListAssociationsInput) SetPrefixListId(v string) *GetManagedPrefixListAssociationsInput {
86262	s.PrefixListId = &v
86263	return s
86264}
86265
86266type GetManagedPrefixListAssociationsOutput struct {
86267	_ struct{} `type:"structure"`
86268
86269	// The token to use to retrieve the next page of results. This value is null
86270	// when there are no more results to return.
86271	NextToken *string `locationName:"nextToken" type:"string"`
86272
86273	// Information about the associations.
86274	PrefixListAssociations []*PrefixListAssociation `locationName:"prefixListAssociationSet" locationNameList:"item" type:"list"`
86275}
86276
86277// String returns the string representation
86278func (s GetManagedPrefixListAssociationsOutput) String() string {
86279	return awsutil.Prettify(s)
86280}
86281
86282// GoString returns the string representation
86283func (s GetManagedPrefixListAssociationsOutput) GoString() string {
86284	return s.String()
86285}
86286
86287// SetNextToken sets the NextToken field's value.
86288func (s *GetManagedPrefixListAssociationsOutput) SetNextToken(v string) *GetManagedPrefixListAssociationsOutput {
86289	s.NextToken = &v
86290	return s
86291}
86292
86293// SetPrefixListAssociations sets the PrefixListAssociations field's value.
86294func (s *GetManagedPrefixListAssociationsOutput) SetPrefixListAssociations(v []*PrefixListAssociation) *GetManagedPrefixListAssociationsOutput {
86295	s.PrefixListAssociations = v
86296	return s
86297}
86298
86299type GetManagedPrefixListEntriesInput struct {
86300	_ struct{} `type:"structure"`
86301
86302	// Checks whether you have the required permissions for the action, without
86303	// actually making the request, and provides an error response. If you have
86304	// the required permissions, the error response is DryRunOperation. Otherwise,
86305	// it is UnauthorizedOperation.
86306	DryRun *bool `type:"boolean"`
86307
86308	// The maximum number of results to return with a single call. To retrieve the
86309	// remaining results, make another call with the returned nextToken value.
86310	MaxResults *int64 `min:"1" type:"integer"`
86311
86312	// The token for the next page of results.
86313	NextToken *string `type:"string"`
86314
86315	// The ID of the prefix list.
86316	//
86317	// PrefixListId is a required field
86318	PrefixListId *string `type:"string" required:"true"`
86319
86320	// The version of the prefix list for which to return the entries. The default
86321	// is the current version.
86322	TargetVersion *int64 `type:"long"`
86323}
86324
86325// String returns the string representation
86326func (s GetManagedPrefixListEntriesInput) String() string {
86327	return awsutil.Prettify(s)
86328}
86329
86330// GoString returns the string representation
86331func (s GetManagedPrefixListEntriesInput) GoString() string {
86332	return s.String()
86333}
86334
86335// Validate inspects the fields of the type to determine if they are valid.
86336func (s *GetManagedPrefixListEntriesInput) Validate() error {
86337	invalidParams := request.ErrInvalidParams{Context: "GetManagedPrefixListEntriesInput"}
86338	if s.MaxResults != nil && *s.MaxResults < 1 {
86339		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
86340	}
86341	if s.PrefixListId == nil {
86342		invalidParams.Add(request.NewErrParamRequired("PrefixListId"))
86343	}
86344
86345	if invalidParams.Len() > 0 {
86346		return invalidParams
86347	}
86348	return nil
86349}
86350
86351// SetDryRun sets the DryRun field's value.
86352func (s *GetManagedPrefixListEntriesInput) SetDryRun(v bool) *GetManagedPrefixListEntriesInput {
86353	s.DryRun = &v
86354	return s
86355}
86356
86357// SetMaxResults sets the MaxResults field's value.
86358func (s *GetManagedPrefixListEntriesInput) SetMaxResults(v int64) *GetManagedPrefixListEntriesInput {
86359	s.MaxResults = &v
86360	return s
86361}
86362
86363// SetNextToken sets the NextToken field's value.
86364func (s *GetManagedPrefixListEntriesInput) SetNextToken(v string) *GetManagedPrefixListEntriesInput {
86365	s.NextToken = &v
86366	return s
86367}
86368
86369// SetPrefixListId sets the PrefixListId field's value.
86370func (s *GetManagedPrefixListEntriesInput) SetPrefixListId(v string) *GetManagedPrefixListEntriesInput {
86371	s.PrefixListId = &v
86372	return s
86373}
86374
86375// SetTargetVersion sets the TargetVersion field's value.
86376func (s *GetManagedPrefixListEntriesInput) SetTargetVersion(v int64) *GetManagedPrefixListEntriesInput {
86377	s.TargetVersion = &v
86378	return s
86379}
86380
86381type GetManagedPrefixListEntriesOutput struct {
86382	_ struct{} `type:"structure"`
86383
86384	// Information about the prefix list entries.
86385	Entries []*PrefixListEntry `locationName:"entrySet" locationNameList:"item" type:"list"`
86386
86387	// The token to use to retrieve the next page of results. This value is null
86388	// when there are no more results to return.
86389	NextToken *string `locationName:"nextToken" type:"string"`
86390}
86391
86392// String returns the string representation
86393func (s GetManagedPrefixListEntriesOutput) String() string {
86394	return awsutil.Prettify(s)
86395}
86396
86397// GoString returns the string representation
86398func (s GetManagedPrefixListEntriesOutput) GoString() string {
86399	return s.String()
86400}
86401
86402// SetEntries sets the Entries field's value.
86403func (s *GetManagedPrefixListEntriesOutput) SetEntries(v []*PrefixListEntry) *GetManagedPrefixListEntriesOutput {
86404	s.Entries = v
86405	return s
86406}
86407
86408// SetNextToken sets the NextToken field's value.
86409func (s *GetManagedPrefixListEntriesOutput) SetNextToken(v string) *GetManagedPrefixListEntriesOutput {
86410	s.NextToken = &v
86411	return s
86412}
86413
86414type GetPasswordDataInput struct {
86415	_ struct{} `type:"structure"`
86416
86417	// Checks whether you have the required permissions for the action, without
86418	// actually making the request, and provides an error response. If you have
86419	// the required permissions, the error response is DryRunOperation. Otherwise,
86420	// it is UnauthorizedOperation.
86421	DryRun *bool `locationName:"dryRun" type:"boolean"`
86422
86423	// The ID of the Windows instance.
86424	//
86425	// InstanceId is a required field
86426	InstanceId *string `type:"string" required:"true"`
86427}
86428
86429// String returns the string representation
86430func (s GetPasswordDataInput) String() string {
86431	return awsutil.Prettify(s)
86432}
86433
86434// GoString returns the string representation
86435func (s GetPasswordDataInput) GoString() string {
86436	return s.String()
86437}
86438
86439// Validate inspects the fields of the type to determine if they are valid.
86440func (s *GetPasswordDataInput) Validate() error {
86441	invalidParams := request.ErrInvalidParams{Context: "GetPasswordDataInput"}
86442	if s.InstanceId == nil {
86443		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
86444	}
86445
86446	if invalidParams.Len() > 0 {
86447		return invalidParams
86448	}
86449	return nil
86450}
86451
86452// SetDryRun sets the DryRun field's value.
86453func (s *GetPasswordDataInput) SetDryRun(v bool) *GetPasswordDataInput {
86454	s.DryRun = &v
86455	return s
86456}
86457
86458// SetInstanceId sets the InstanceId field's value.
86459func (s *GetPasswordDataInput) SetInstanceId(v string) *GetPasswordDataInput {
86460	s.InstanceId = &v
86461	return s
86462}
86463
86464type GetPasswordDataOutput struct {
86465	_ struct{} `type:"structure"`
86466
86467	// The ID of the Windows instance.
86468	InstanceId *string `locationName:"instanceId" type:"string"`
86469
86470	// The password of the instance. Returns an empty string if the password is
86471	// not available.
86472	PasswordData *string `locationName:"passwordData" type:"string"`
86473
86474	// The time the data was last updated.
86475	Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
86476}
86477
86478// String returns the string representation
86479func (s GetPasswordDataOutput) String() string {
86480	return awsutil.Prettify(s)
86481}
86482
86483// GoString returns the string representation
86484func (s GetPasswordDataOutput) GoString() string {
86485	return s.String()
86486}
86487
86488// SetInstanceId sets the InstanceId field's value.
86489func (s *GetPasswordDataOutput) SetInstanceId(v string) *GetPasswordDataOutput {
86490	s.InstanceId = &v
86491	return s
86492}
86493
86494// SetPasswordData sets the PasswordData field's value.
86495func (s *GetPasswordDataOutput) SetPasswordData(v string) *GetPasswordDataOutput {
86496	s.PasswordData = &v
86497	return s
86498}
86499
86500// SetTimestamp sets the Timestamp field's value.
86501func (s *GetPasswordDataOutput) SetTimestamp(v time.Time) *GetPasswordDataOutput {
86502	s.Timestamp = &v
86503	return s
86504}
86505
86506// Contains the parameters for GetReservedInstanceExchangeQuote.
86507type GetReservedInstancesExchangeQuoteInput struct {
86508	_ struct{} `type:"structure"`
86509
86510	// Checks whether you have the required permissions for the action, without
86511	// actually making the request, and provides an error response. If you have
86512	// the required permissions, the error response is DryRunOperation. Otherwise,
86513	// it is UnauthorizedOperation.
86514	DryRun *bool `type:"boolean"`
86515
86516	// The IDs of the Convertible Reserved Instances to exchange.
86517	//
86518	// ReservedInstanceIds is a required field
86519	ReservedInstanceIds []*string `locationName:"ReservedInstanceId" locationNameList:"ReservedInstanceId" type:"list" required:"true"`
86520
86521	// The configuration of the target Convertible Reserved Instance to exchange
86522	// for your current Convertible Reserved Instances.
86523	TargetConfigurations []*TargetConfigurationRequest `locationName:"TargetConfiguration" locationNameList:"TargetConfigurationRequest" type:"list"`
86524}
86525
86526// String returns the string representation
86527func (s GetReservedInstancesExchangeQuoteInput) String() string {
86528	return awsutil.Prettify(s)
86529}
86530
86531// GoString returns the string representation
86532func (s GetReservedInstancesExchangeQuoteInput) GoString() string {
86533	return s.String()
86534}
86535
86536// Validate inspects the fields of the type to determine if they are valid.
86537func (s *GetReservedInstancesExchangeQuoteInput) Validate() error {
86538	invalidParams := request.ErrInvalidParams{Context: "GetReservedInstancesExchangeQuoteInput"}
86539	if s.ReservedInstanceIds == nil {
86540		invalidParams.Add(request.NewErrParamRequired("ReservedInstanceIds"))
86541	}
86542	if s.TargetConfigurations != nil {
86543		for i, v := range s.TargetConfigurations {
86544			if v == nil {
86545				continue
86546			}
86547			if err := v.Validate(); err != nil {
86548				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetConfigurations", i), err.(request.ErrInvalidParams))
86549			}
86550		}
86551	}
86552
86553	if invalidParams.Len() > 0 {
86554		return invalidParams
86555	}
86556	return nil
86557}
86558
86559// SetDryRun sets the DryRun field's value.
86560func (s *GetReservedInstancesExchangeQuoteInput) SetDryRun(v bool) *GetReservedInstancesExchangeQuoteInput {
86561	s.DryRun = &v
86562	return s
86563}
86564
86565// SetReservedInstanceIds sets the ReservedInstanceIds field's value.
86566func (s *GetReservedInstancesExchangeQuoteInput) SetReservedInstanceIds(v []*string) *GetReservedInstancesExchangeQuoteInput {
86567	s.ReservedInstanceIds = v
86568	return s
86569}
86570
86571// SetTargetConfigurations sets the TargetConfigurations field's value.
86572func (s *GetReservedInstancesExchangeQuoteInput) SetTargetConfigurations(v []*TargetConfigurationRequest) *GetReservedInstancesExchangeQuoteInput {
86573	s.TargetConfigurations = v
86574	return s
86575}
86576
86577// Contains the output of GetReservedInstancesExchangeQuote.
86578type GetReservedInstancesExchangeQuoteOutput struct {
86579	_ struct{} `type:"structure"`
86580
86581	// The currency of the transaction.
86582	CurrencyCode *string `locationName:"currencyCode" type:"string"`
86583
86584	// If true, the exchange is valid. If false, the exchange cannot be completed.
86585	IsValidExchange *bool `locationName:"isValidExchange" type:"boolean"`
86586
86587	// The new end date of the reservation term.
86588	OutputReservedInstancesWillExpireAt *time.Time `locationName:"outputReservedInstancesWillExpireAt" type:"timestamp"`
86589
86590	// The total true upfront charge for the exchange.
86591	PaymentDue *string `locationName:"paymentDue" type:"string"`
86592
86593	// The cost associated with the Reserved Instance.
86594	ReservedInstanceValueRollup *ReservationValue `locationName:"reservedInstanceValueRollup" type:"structure"`
86595
86596	// The configuration of your Convertible Reserved Instances.
86597	ReservedInstanceValueSet []*ReservedInstanceReservationValue `locationName:"reservedInstanceValueSet" locationNameList:"item" type:"list"`
86598
86599	// The cost associated with the Reserved Instance.
86600	TargetConfigurationValueRollup *ReservationValue `locationName:"targetConfigurationValueRollup" type:"structure"`
86601
86602	// The values of the target Convertible Reserved Instances.
86603	TargetConfigurationValueSet []*TargetReservationValue `locationName:"targetConfigurationValueSet" locationNameList:"item" type:"list"`
86604
86605	// Describes the reason why the exchange cannot be completed.
86606	ValidationFailureReason *string `locationName:"validationFailureReason" type:"string"`
86607}
86608
86609// String returns the string representation
86610func (s GetReservedInstancesExchangeQuoteOutput) String() string {
86611	return awsutil.Prettify(s)
86612}
86613
86614// GoString returns the string representation
86615func (s GetReservedInstancesExchangeQuoteOutput) GoString() string {
86616	return s.String()
86617}
86618
86619// SetCurrencyCode sets the CurrencyCode field's value.
86620func (s *GetReservedInstancesExchangeQuoteOutput) SetCurrencyCode(v string) *GetReservedInstancesExchangeQuoteOutput {
86621	s.CurrencyCode = &v
86622	return s
86623}
86624
86625// SetIsValidExchange sets the IsValidExchange field's value.
86626func (s *GetReservedInstancesExchangeQuoteOutput) SetIsValidExchange(v bool) *GetReservedInstancesExchangeQuoteOutput {
86627	s.IsValidExchange = &v
86628	return s
86629}
86630
86631// SetOutputReservedInstancesWillExpireAt sets the OutputReservedInstancesWillExpireAt field's value.
86632func (s *GetReservedInstancesExchangeQuoteOutput) SetOutputReservedInstancesWillExpireAt(v time.Time) *GetReservedInstancesExchangeQuoteOutput {
86633	s.OutputReservedInstancesWillExpireAt = &v
86634	return s
86635}
86636
86637// SetPaymentDue sets the PaymentDue field's value.
86638func (s *GetReservedInstancesExchangeQuoteOutput) SetPaymentDue(v string) *GetReservedInstancesExchangeQuoteOutput {
86639	s.PaymentDue = &v
86640	return s
86641}
86642
86643// SetReservedInstanceValueRollup sets the ReservedInstanceValueRollup field's value.
86644func (s *GetReservedInstancesExchangeQuoteOutput) SetReservedInstanceValueRollup(v *ReservationValue) *GetReservedInstancesExchangeQuoteOutput {
86645	s.ReservedInstanceValueRollup = v
86646	return s
86647}
86648
86649// SetReservedInstanceValueSet sets the ReservedInstanceValueSet field's value.
86650func (s *GetReservedInstancesExchangeQuoteOutput) SetReservedInstanceValueSet(v []*ReservedInstanceReservationValue) *GetReservedInstancesExchangeQuoteOutput {
86651	s.ReservedInstanceValueSet = v
86652	return s
86653}
86654
86655// SetTargetConfigurationValueRollup sets the TargetConfigurationValueRollup field's value.
86656func (s *GetReservedInstancesExchangeQuoteOutput) SetTargetConfigurationValueRollup(v *ReservationValue) *GetReservedInstancesExchangeQuoteOutput {
86657	s.TargetConfigurationValueRollup = v
86658	return s
86659}
86660
86661// SetTargetConfigurationValueSet sets the TargetConfigurationValueSet field's value.
86662func (s *GetReservedInstancesExchangeQuoteOutput) SetTargetConfigurationValueSet(v []*TargetReservationValue) *GetReservedInstancesExchangeQuoteOutput {
86663	s.TargetConfigurationValueSet = v
86664	return s
86665}
86666
86667// SetValidationFailureReason sets the ValidationFailureReason field's value.
86668func (s *GetReservedInstancesExchangeQuoteOutput) SetValidationFailureReason(v string) *GetReservedInstancesExchangeQuoteOutput {
86669	s.ValidationFailureReason = &v
86670	return s
86671}
86672
86673type GetSerialConsoleAccessStatusInput struct {
86674	_ struct{} `type:"structure"`
86675
86676	// Checks whether you have the required permissions for the action, without
86677	// actually making the request, and provides an error response. If you have
86678	// the required permissions, the error response is DryRunOperation. Otherwise,
86679	// it is UnauthorizedOperation.
86680	DryRun *bool `type:"boolean"`
86681}
86682
86683// String returns the string representation
86684func (s GetSerialConsoleAccessStatusInput) String() string {
86685	return awsutil.Prettify(s)
86686}
86687
86688// GoString returns the string representation
86689func (s GetSerialConsoleAccessStatusInput) GoString() string {
86690	return s.String()
86691}
86692
86693// SetDryRun sets the DryRun field's value.
86694func (s *GetSerialConsoleAccessStatusInput) SetDryRun(v bool) *GetSerialConsoleAccessStatusInput {
86695	s.DryRun = &v
86696	return s
86697}
86698
86699type GetSerialConsoleAccessStatusOutput struct {
86700	_ struct{} `type:"structure"`
86701
86702	// If true, access to the EC2 serial console of all instances is enabled for
86703	// your account. If false, access to the EC2 serial console of all instances
86704	// is disabled for your account.
86705	SerialConsoleAccessEnabled *bool `locationName:"serialConsoleAccessEnabled" type:"boolean"`
86706}
86707
86708// String returns the string representation
86709func (s GetSerialConsoleAccessStatusOutput) String() string {
86710	return awsutil.Prettify(s)
86711}
86712
86713// GoString returns the string representation
86714func (s GetSerialConsoleAccessStatusOutput) GoString() string {
86715	return s.String()
86716}
86717
86718// SetSerialConsoleAccessEnabled sets the SerialConsoleAccessEnabled field's value.
86719func (s *GetSerialConsoleAccessStatusOutput) SetSerialConsoleAccessEnabled(v bool) *GetSerialConsoleAccessStatusOutput {
86720	s.SerialConsoleAccessEnabled = &v
86721	return s
86722}
86723
86724type GetTransitGatewayAttachmentPropagationsInput struct {
86725	_ struct{} `type:"structure"`
86726
86727	// Checks whether you have the required permissions for the action, without
86728	// actually making the request, and provides an error response. If you have
86729	// the required permissions, the error response is DryRunOperation. Otherwise,
86730	// it is UnauthorizedOperation.
86731	DryRun *bool `type:"boolean"`
86732
86733	// One or more filters. The possible values are:
86734	//
86735	//    * transit-gateway-route-table-id - The ID of the transit gateway route
86736	//    table.
86737	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
86738
86739	// The maximum number of results to return with a single call. To retrieve the
86740	// remaining results, make another call with the returned nextToken value.
86741	MaxResults *int64 `min:"5" type:"integer"`
86742
86743	// The token for the next page of results.
86744	NextToken *string `type:"string"`
86745
86746	// The ID of the attachment.
86747	//
86748	// TransitGatewayAttachmentId is a required field
86749	TransitGatewayAttachmentId *string `type:"string" required:"true"`
86750}
86751
86752// String returns the string representation
86753func (s GetTransitGatewayAttachmentPropagationsInput) String() string {
86754	return awsutil.Prettify(s)
86755}
86756
86757// GoString returns the string representation
86758func (s GetTransitGatewayAttachmentPropagationsInput) GoString() string {
86759	return s.String()
86760}
86761
86762// Validate inspects the fields of the type to determine if they are valid.
86763func (s *GetTransitGatewayAttachmentPropagationsInput) Validate() error {
86764	invalidParams := request.ErrInvalidParams{Context: "GetTransitGatewayAttachmentPropagationsInput"}
86765	if s.MaxResults != nil && *s.MaxResults < 5 {
86766		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
86767	}
86768	if s.TransitGatewayAttachmentId == nil {
86769		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
86770	}
86771
86772	if invalidParams.Len() > 0 {
86773		return invalidParams
86774	}
86775	return nil
86776}
86777
86778// SetDryRun sets the DryRun field's value.
86779func (s *GetTransitGatewayAttachmentPropagationsInput) SetDryRun(v bool) *GetTransitGatewayAttachmentPropagationsInput {
86780	s.DryRun = &v
86781	return s
86782}
86783
86784// SetFilters sets the Filters field's value.
86785func (s *GetTransitGatewayAttachmentPropagationsInput) SetFilters(v []*Filter) *GetTransitGatewayAttachmentPropagationsInput {
86786	s.Filters = v
86787	return s
86788}
86789
86790// SetMaxResults sets the MaxResults field's value.
86791func (s *GetTransitGatewayAttachmentPropagationsInput) SetMaxResults(v int64) *GetTransitGatewayAttachmentPropagationsInput {
86792	s.MaxResults = &v
86793	return s
86794}
86795
86796// SetNextToken sets the NextToken field's value.
86797func (s *GetTransitGatewayAttachmentPropagationsInput) SetNextToken(v string) *GetTransitGatewayAttachmentPropagationsInput {
86798	s.NextToken = &v
86799	return s
86800}
86801
86802// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
86803func (s *GetTransitGatewayAttachmentPropagationsInput) SetTransitGatewayAttachmentId(v string) *GetTransitGatewayAttachmentPropagationsInput {
86804	s.TransitGatewayAttachmentId = &v
86805	return s
86806}
86807
86808type GetTransitGatewayAttachmentPropagationsOutput struct {
86809	_ struct{} `type:"structure"`
86810
86811	// The token to use to retrieve the next page of results. This value is null
86812	// when there are no more results to return.
86813	NextToken *string `locationName:"nextToken" type:"string"`
86814
86815	// Information about the propagation route tables.
86816	TransitGatewayAttachmentPropagations []*TransitGatewayAttachmentPropagation `locationName:"transitGatewayAttachmentPropagations" locationNameList:"item" type:"list"`
86817}
86818
86819// String returns the string representation
86820func (s GetTransitGatewayAttachmentPropagationsOutput) String() string {
86821	return awsutil.Prettify(s)
86822}
86823
86824// GoString returns the string representation
86825func (s GetTransitGatewayAttachmentPropagationsOutput) GoString() string {
86826	return s.String()
86827}
86828
86829// SetNextToken sets the NextToken field's value.
86830func (s *GetTransitGatewayAttachmentPropagationsOutput) SetNextToken(v string) *GetTransitGatewayAttachmentPropagationsOutput {
86831	s.NextToken = &v
86832	return s
86833}
86834
86835// SetTransitGatewayAttachmentPropagations sets the TransitGatewayAttachmentPropagations field's value.
86836func (s *GetTransitGatewayAttachmentPropagationsOutput) SetTransitGatewayAttachmentPropagations(v []*TransitGatewayAttachmentPropagation) *GetTransitGatewayAttachmentPropagationsOutput {
86837	s.TransitGatewayAttachmentPropagations = v
86838	return s
86839}
86840
86841type GetTransitGatewayMulticastDomainAssociationsInput struct {
86842	_ struct{} `type:"structure"`
86843
86844	// Checks whether you have the required permissions for the action, without
86845	// actually making the request, and provides an error response. If you have
86846	// the required permissions, the error response is DryRunOperation. Otherwise,
86847	// it is UnauthorizedOperation.
86848	DryRun *bool `type:"boolean"`
86849
86850	// One or more filters. The possible values are:
86851	//
86852	//    * resource-id - The ID of the resource.
86853	//
86854	//    * resource-type - The type of resource. The valid value is: vpc.
86855	//
86856	//    * state - The state of the subnet association. Valid values are associated
86857	//    | associating | disassociated | disassociating.
86858	//
86859	//    * subnet-id - The ID of the subnet.
86860	//
86861	//    * transit-gateway-attachment-id - The id of the transit gateway attachment.
86862	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
86863
86864	// The maximum number of results to return with a single call. To retrieve the
86865	// remaining results, make another call with the returned nextToken value.
86866	MaxResults *int64 `min:"5" type:"integer"`
86867
86868	// The token for the next page of results.
86869	NextToken *string `type:"string"`
86870
86871	// The ID of the transit gateway multicast domain.
86872	TransitGatewayMulticastDomainId *string `type:"string"`
86873}
86874
86875// String returns the string representation
86876func (s GetTransitGatewayMulticastDomainAssociationsInput) String() string {
86877	return awsutil.Prettify(s)
86878}
86879
86880// GoString returns the string representation
86881func (s GetTransitGatewayMulticastDomainAssociationsInput) GoString() string {
86882	return s.String()
86883}
86884
86885// Validate inspects the fields of the type to determine if they are valid.
86886func (s *GetTransitGatewayMulticastDomainAssociationsInput) Validate() error {
86887	invalidParams := request.ErrInvalidParams{Context: "GetTransitGatewayMulticastDomainAssociationsInput"}
86888	if s.MaxResults != nil && *s.MaxResults < 5 {
86889		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
86890	}
86891
86892	if invalidParams.Len() > 0 {
86893		return invalidParams
86894	}
86895	return nil
86896}
86897
86898// SetDryRun sets the DryRun field's value.
86899func (s *GetTransitGatewayMulticastDomainAssociationsInput) SetDryRun(v bool) *GetTransitGatewayMulticastDomainAssociationsInput {
86900	s.DryRun = &v
86901	return s
86902}
86903
86904// SetFilters sets the Filters field's value.
86905func (s *GetTransitGatewayMulticastDomainAssociationsInput) SetFilters(v []*Filter) *GetTransitGatewayMulticastDomainAssociationsInput {
86906	s.Filters = v
86907	return s
86908}
86909
86910// SetMaxResults sets the MaxResults field's value.
86911func (s *GetTransitGatewayMulticastDomainAssociationsInput) SetMaxResults(v int64) *GetTransitGatewayMulticastDomainAssociationsInput {
86912	s.MaxResults = &v
86913	return s
86914}
86915
86916// SetNextToken sets the NextToken field's value.
86917func (s *GetTransitGatewayMulticastDomainAssociationsInput) SetNextToken(v string) *GetTransitGatewayMulticastDomainAssociationsInput {
86918	s.NextToken = &v
86919	return s
86920}
86921
86922// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
86923func (s *GetTransitGatewayMulticastDomainAssociationsInput) SetTransitGatewayMulticastDomainId(v string) *GetTransitGatewayMulticastDomainAssociationsInput {
86924	s.TransitGatewayMulticastDomainId = &v
86925	return s
86926}
86927
86928type GetTransitGatewayMulticastDomainAssociationsOutput struct {
86929	_ struct{} `type:"structure"`
86930
86931	// Information about the multicast domain associations.
86932	MulticastDomainAssociations []*TransitGatewayMulticastDomainAssociation `locationName:"multicastDomainAssociations" locationNameList:"item" type:"list"`
86933
86934	// The token to use to retrieve the next page of results. This value is null
86935	// when there are no more results to return.
86936	NextToken *string `locationName:"nextToken" type:"string"`
86937}
86938
86939// String returns the string representation
86940func (s GetTransitGatewayMulticastDomainAssociationsOutput) String() string {
86941	return awsutil.Prettify(s)
86942}
86943
86944// GoString returns the string representation
86945func (s GetTransitGatewayMulticastDomainAssociationsOutput) GoString() string {
86946	return s.String()
86947}
86948
86949// SetMulticastDomainAssociations sets the MulticastDomainAssociations field's value.
86950func (s *GetTransitGatewayMulticastDomainAssociationsOutput) SetMulticastDomainAssociations(v []*TransitGatewayMulticastDomainAssociation) *GetTransitGatewayMulticastDomainAssociationsOutput {
86951	s.MulticastDomainAssociations = v
86952	return s
86953}
86954
86955// SetNextToken sets the NextToken field's value.
86956func (s *GetTransitGatewayMulticastDomainAssociationsOutput) SetNextToken(v string) *GetTransitGatewayMulticastDomainAssociationsOutput {
86957	s.NextToken = &v
86958	return s
86959}
86960
86961type GetTransitGatewayPrefixListReferencesInput struct {
86962	_ struct{} `type:"structure"`
86963
86964	// Checks whether you have the required permissions for the action, without
86965	// actually making the request, and provides an error response. If you have
86966	// the required permissions, the error response is DryRunOperation. Otherwise,
86967	// it is UnauthorizedOperation.
86968	DryRun *bool `type:"boolean"`
86969
86970	// One or more filters. The possible values are:
86971	//
86972	//    * attachment.resource-id - The ID of the resource for the attachment.
86973	//
86974	//    * attachment.resource-type - The type of resource for the attachment.
86975	//    Valid values are vpc | vpn | direct-connect-gateway | peering.
86976	//
86977	//    * attachment.transit-gateway-attachment-id - The ID of the attachment.
86978	//
86979	//    * is-blackhole - Whether traffic matching the route is blocked (true |
86980	//    false).
86981	//
86982	//    * prefix-list-id - The ID of the prefix list.
86983	//
86984	//    * prefix-list-owner-id - The ID of the owner of the prefix list.
86985	//
86986	//    * state - The state of the prefix list reference (pending | available
86987	//    | modifying | deleting).
86988	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
86989
86990	// The maximum number of results to return with a single call. To retrieve the
86991	// remaining results, make another call with the returned nextToken value.
86992	MaxResults *int64 `min:"5" type:"integer"`
86993
86994	// The token for the next page of results.
86995	NextToken *string `type:"string"`
86996
86997	// The ID of the transit gateway route table.
86998	//
86999	// TransitGatewayRouteTableId is a required field
87000	TransitGatewayRouteTableId *string `type:"string" required:"true"`
87001}
87002
87003// String returns the string representation
87004func (s GetTransitGatewayPrefixListReferencesInput) String() string {
87005	return awsutil.Prettify(s)
87006}
87007
87008// GoString returns the string representation
87009func (s GetTransitGatewayPrefixListReferencesInput) GoString() string {
87010	return s.String()
87011}
87012
87013// Validate inspects the fields of the type to determine if they are valid.
87014func (s *GetTransitGatewayPrefixListReferencesInput) Validate() error {
87015	invalidParams := request.ErrInvalidParams{Context: "GetTransitGatewayPrefixListReferencesInput"}
87016	if s.MaxResults != nil && *s.MaxResults < 5 {
87017		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
87018	}
87019	if s.TransitGatewayRouteTableId == nil {
87020		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
87021	}
87022
87023	if invalidParams.Len() > 0 {
87024		return invalidParams
87025	}
87026	return nil
87027}
87028
87029// SetDryRun sets the DryRun field's value.
87030func (s *GetTransitGatewayPrefixListReferencesInput) SetDryRun(v bool) *GetTransitGatewayPrefixListReferencesInput {
87031	s.DryRun = &v
87032	return s
87033}
87034
87035// SetFilters sets the Filters field's value.
87036func (s *GetTransitGatewayPrefixListReferencesInput) SetFilters(v []*Filter) *GetTransitGatewayPrefixListReferencesInput {
87037	s.Filters = v
87038	return s
87039}
87040
87041// SetMaxResults sets the MaxResults field's value.
87042func (s *GetTransitGatewayPrefixListReferencesInput) SetMaxResults(v int64) *GetTransitGatewayPrefixListReferencesInput {
87043	s.MaxResults = &v
87044	return s
87045}
87046
87047// SetNextToken sets the NextToken field's value.
87048func (s *GetTransitGatewayPrefixListReferencesInput) SetNextToken(v string) *GetTransitGatewayPrefixListReferencesInput {
87049	s.NextToken = &v
87050	return s
87051}
87052
87053// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
87054func (s *GetTransitGatewayPrefixListReferencesInput) SetTransitGatewayRouteTableId(v string) *GetTransitGatewayPrefixListReferencesInput {
87055	s.TransitGatewayRouteTableId = &v
87056	return s
87057}
87058
87059type GetTransitGatewayPrefixListReferencesOutput struct {
87060	_ struct{} `type:"structure"`
87061
87062	// The token to use to retrieve the next page of results. This value is null
87063	// when there are no more results to return.
87064	NextToken *string `locationName:"nextToken" type:"string"`
87065
87066	// Information about the prefix list references.
87067	TransitGatewayPrefixListReferences []*TransitGatewayPrefixListReference `locationName:"transitGatewayPrefixListReferenceSet" locationNameList:"item" type:"list"`
87068}
87069
87070// String returns the string representation
87071func (s GetTransitGatewayPrefixListReferencesOutput) String() string {
87072	return awsutil.Prettify(s)
87073}
87074
87075// GoString returns the string representation
87076func (s GetTransitGatewayPrefixListReferencesOutput) GoString() string {
87077	return s.String()
87078}
87079
87080// SetNextToken sets the NextToken field's value.
87081func (s *GetTransitGatewayPrefixListReferencesOutput) SetNextToken(v string) *GetTransitGatewayPrefixListReferencesOutput {
87082	s.NextToken = &v
87083	return s
87084}
87085
87086// SetTransitGatewayPrefixListReferences sets the TransitGatewayPrefixListReferences field's value.
87087func (s *GetTransitGatewayPrefixListReferencesOutput) SetTransitGatewayPrefixListReferences(v []*TransitGatewayPrefixListReference) *GetTransitGatewayPrefixListReferencesOutput {
87088	s.TransitGatewayPrefixListReferences = v
87089	return s
87090}
87091
87092type GetTransitGatewayRouteTableAssociationsInput struct {
87093	_ struct{} `type:"structure"`
87094
87095	// Checks whether you have the required permissions for the action, without
87096	// actually making the request, and provides an error response. If you have
87097	// the required permissions, the error response is DryRunOperation. Otherwise,
87098	// it is UnauthorizedOperation.
87099	DryRun *bool `type:"boolean"`
87100
87101	// One or more filters. The possible values are:
87102	//
87103	//    * resource-id - The ID of the resource.
87104	//
87105	//    * resource-type - The resource type. Valid values are vpc | vpn | direct-connect-gateway
87106	//    | peering | connect.
87107	//
87108	//    * transit-gateway-attachment-id - The ID of the attachment.
87109	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
87110
87111	// The maximum number of results to return with a single call. To retrieve the
87112	// remaining results, make another call with the returned nextToken value.
87113	MaxResults *int64 `min:"5" type:"integer"`
87114
87115	// The token for the next page of results.
87116	NextToken *string `type:"string"`
87117
87118	// The ID of the transit gateway route table.
87119	//
87120	// TransitGatewayRouteTableId is a required field
87121	TransitGatewayRouteTableId *string `type:"string" required:"true"`
87122}
87123
87124// String returns the string representation
87125func (s GetTransitGatewayRouteTableAssociationsInput) String() string {
87126	return awsutil.Prettify(s)
87127}
87128
87129// GoString returns the string representation
87130func (s GetTransitGatewayRouteTableAssociationsInput) GoString() string {
87131	return s.String()
87132}
87133
87134// Validate inspects the fields of the type to determine if they are valid.
87135func (s *GetTransitGatewayRouteTableAssociationsInput) Validate() error {
87136	invalidParams := request.ErrInvalidParams{Context: "GetTransitGatewayRouteTableAssociationsInput"}
87137	if s.MaxResults != nil && *s.MaxResults < 5 {
87138		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
87139	}
87140	if s.TransitGatewayRouteTableId == nil {
87141		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
87142	}
87143
87144	if invalidParams.Len() > 0 {
87145		return invalidParams
87146	}
87147	return nil
87148}
87149
87150// SetDryRun sets the DryRun field's value.
87151func (s *GetTransitGatewayRouteTableAssociationsInput) SetDryRun(v bool) *GetTransitGatewayRouteTableAssociationsInput {
87152	s.DryRun = &v
87153	return s
87154}
87155
87156// SetFilters sets the Filters field's value.
87157func (s *GetTransitGatewayRouteTableAssociationsInput) SetFilters(v []*Filter) *GetTransitGatewayRouteTableAssociationsInput {
87158	s.Filters = v
87159	return s
87160}
87161
87162// SetMaxResults sets the MaxResults field's value.
87163func (s *GetTransitGatewayRouteTableAssociationsInput) SetMaxResults(v int64) *GetTransitGatewayRouteTableAssociationsInput {
87164	s.MaxResults = &v
87165	return s
87166}
87167
87168// SetNextToken sets the NextToken field's value.
87169func (s *GetTransitGatewayRouteTableAssociationsInput) SetNextToken(v string) *GetTransitGatewayRouteTableAssociationsInput {
87170	s.NextToken = &v
87171	return s
87172}
87173
87174// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
87175func (s *GetTransitGatewayRouteTableAssociationsInput) SetTransitGatewayRouteTableId(v string) *GetTransitGatewayRouteTableAssociationsInput {
87176	s.TransitGatewayRouteTableId = &v
87177	return s
87178}
87179
87180type GetTransitGatewayRouteTableAssociationsOutput struct {
87181	_ struct{} `type:"structure"`
87182
87183	// Information about the associations.
87184	Associations []*TransitGatewayRouteTableAssociation `locationName:"associations" locationNameList:"item" type:"list"`
87185
87186	// The token to use to retrieve the next page of results. This value is null
87187	// when there are no more results to return.
87188	NextToken *string `locationName:"nextToken" type:"string"`
87189}
87190
87191// String returns the string representation
87192func (s GetTransitGatewayRouteTableAssociationsOutput) String() string {
87193	return awsutil.Prettify(s)
87194}
87195
87196// GoString returns the string representation
87197func (s GetTransitGatewayRouteTableAssociationsOutput) GoString() string {
87198	return s.String()
87199}
87200
87201// SetAssociations sets the Associations field's value.
87202func (s *GetTransitGatewayRouteTableAssociationsOutput) SetAssociations(v []*TransitGatewayRouteTableAssociation) *GetTransitGatewayRouteTableAssociationsOutput {
87203	s.Associations = v
87204	return s
87205}
87206
87207// SetNextToken sets the NextToken field's value.
87208func (s *GetTransitGatewayRouteTableAssociationsOutput) SetNextToken(v string) *GetTransitGatewayRouteTableAssociationsOutput {
87209	s.NextToken = &v
87210	return s
87211}
87212
87213type GetTransitGatewayRouteTablePropagationsInput struct {
87214	_ struct{} `type:"structure"`
87215
87216	// Checks whether you have the required permissions for the action, without
87217	// actually making the request, and provides an error response. If you have
87218	// the required permissions, the error response is DryRunOperation. Otherwise,
87219	// it is UnauthorizedOperation.
87220	DryRun *bool `type:"boolean"`
87221
87222	// One or more filters. The possible values are:
87223	//
87224	//    * resource-id - The ID of the resource.
87225	//
87226	//    * resource-type - The resource type. Valid values are vpc | vpn | direct-connect-gateway
87227	//    | peering | connect.
87228	//
87229	//    * transit-gateway-attachment-id - The ID of the attachment.
87230	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
87231
87232	// The maximum number of results to return with a single call. To retrieve the
87233	// remaining results, make another call with the returned nextToken value.
87234	MaxResults *int64 `min:"5" type:"integer"`
87235
87236	// The token for the next page of results.
87237	NextToken *string `type:"string"`
87238
87239	// The ID of the transit gateway route table.
87240	//
87241	// TransitGatewayRouteTableId is a required field
87242	TransitGatewayRouteTableId *string `type:"string" required:"true"`
87243}
87244
87245// String returns the string representation
87246func (s GetTransitGatewayRouteTablePropagationsInput) String() string {
87247	return awsutil.Prettify(s)
87248}
87249
87250// GoString returns the string representation
87251func (s GetTransitGatewayRouteTablePropagationsInput) GoString() string {
87252	return s.String()
87253}
87254
87255// Validate inspects the fields of the type to determine if they are valid.
87256func (s *GetTransitGatewayRouteTablePropagationsInput) Validate() error {
87257	invalidParams := request.ErrInvalidParams{Context: "GetTransitGatewayRouteTablePropagationsInput"}
87258	if s.MaxResults != nil && *s.MaxResults < 5 {
87259		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
87260	}
87261	if s.TransitGatewayRouteTableId == nil {
87262		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
87263	}
87264
87265	if invalidParams.Len() > 0 {
87266		return invalidParams
87267	}
87268	return nil
87269}
87270
87271// SetDryRun sets the DryRun field's value.
87272func (s *GetTransitGatewayRouteTablePropagationsInput) SetDryRun(v bool) *GetTransitGatewayRouteTablePropagationsInput {
87273	s.DryRun = &v
87274	return s
87275}
87276
87277// SetFilters sets the Filters field's value.
87278func (s *GetTransitGatewayRouteTablePropagationsInput) SetFilters(v []*Filter) *GetTransitGatewayRouteTablePropagationsInput {
87279	s.Filters = v
87280	return s
87281}
87282
87283// SetMaxResults sets the MaxResults field's value.
87284func (s *GetTransitGatewayRouteTablePropagationsInput) SetMaxResults(v int64) *GetTransitGatewayRouteTablePropagationsInput {
87285	s.MaxResults = &v
87286	return s
87287}
87288
87289// SetNextToken sets the NextToken field's value.
87290func (s *GetTransitGatewayRouteTablePropagationsInput) SetNextToken(v string) *GetTransitGatewayRouteTablePropagationsInput {
87291	s.NextToken = &v
87292	return s
87293}
87294
87295// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
87296func (s *GetTransitGatewayRouteTablePropagationsInput) SetTransitGatewayRouteTableId(v string) *GetTransitGatewayRouteTablePropagationsInput {
87297	s.TransitGatewayRouteTableId = &v
87298	return s
87299}
87300
87301type GetTransitGatewayRouteTablePropagationsOutput struct {
87302	_ struct{} `type:"structure"`
87303
87304	// The token to use to retrieve the next page of results. This value is null
87305	// when there are no more results to return.
87306	NextToken *string `locationName:"nextToken" type:"string"`
87307
87308	// Information about the route table propagations.
87309	TransitGatewayRouteTablePropagations []*TransitGatewayRouteTablePropagation `locationName:"transitGatewayRouteTablePropagations" locationNameList:"item" type:"list"`
87310}
87311
87312// String returns the string representation
87313func (s GetTransitGatewayRouteTablePropagationsOutput) String() string {
87314	return awsutil.Prettify(s)
87315}
87316
87317// GoString returns the string representation
87318func (s GetTransitGatewayRouteTablePropagationsOutput) GoString() string {
87319	return s.String()
87320}
87321
87322// SetNextToken sets the NextToken field's value.
87323func (s *GetTransitGatewayRouteTablePropagationsOutput) SetNextToken(v string) *GetTransitGatewayRouteTablePropagationsOutput {
87324	s.NextToken = &v
87325	return s
87326}
87327
87328// SetTransitGatewayRouteTablePropagations sets the TransitGatewayRouteTablePropagations field's value.
87329func (s *GetTransitGatewayRouteTablePropagationsOutput) SetTransitGatewayRouteTablePropagations(v []*TransitGatewayRouteTablePropagation) *GetTransitGatewayRouteTablePropagationsOutput {
87330	s.TransitGatewayRouteTablePropagations = v
87331	return s
87332}
87333
87334// Describes the GPU accelerators for the instance type.
87335type GpuDeviceInfo struct {
87336	_ struct{} `type:"structure"`
87337
87338	// The number of GPUs for the instance type.
87339	Count *int64 `locationName:"count" type:"integer"`
87340
87341	// The manufacturer of the GPU accelerator.
87342	Manufacturer *string `locationName:"manufacturer" type:"string"`
87343
87344	// Describes the memory available to the GPU accelerator.
87345	MemoryInfo *GpuDeviceMemoryInfo `locationName:"memoryInfo" type:"structure"`
87346
87347	// The name of the GPU accelerator.
87348	Name *string `locationName:"name" type:"string"`
87349}
87350
87351// String returns the string representation
87352func (s GpuDeviceInfo) String() string {
87353	return awsutil.Prettify(s)
87354}
87355
87356// GoString returns the string representation
87357func (s GpuDeviceInfo) GoString() string {
87358	return s.String()
87359}
87360
87361// SetCount sets the Count field's value.
87362func (s *GpuDeviceInfo) SetCount(v int64) *GpuDeviceInfo {
87363	s.Count = &v
87364	return s
87365}
87366
87367// SetManufacturer sets the Manufacturer field's value.
87368func (s *GpuDeviceInfo) SetManufacturer(v string) *GpuDeviceInfo {
87369	s.Manufacturer = &v
87370	return s
87371}
87372
87373// SetMemoryInfo sets the MemoryInfo field's value.
87374func (s *GpuDeviceInfo) SetMemoryInfo(v *GpuDeviceMemoryInfo) *GpuDeviceInfo {
87375	s.MemoryInfo = v
87376	return s
87377}
87378
87379// SetName sets the Name field's value.
87380func (s *GpuDeviceInfo) SetName(v string) *GpuDeviceInfo {
87381	s.Name = &v
87382	return s
87383}
87384
87385// Describes the memory available to the GPU accelerator.
87386type GpuDeviceMemoryInfo struct {
87387	_ struct{} `type:"structure"`
87388
87389	// The size of the memory available to the GPU accelerator, in MiB.
87390	SizeInMiB *int64 `locationName:"sizeInMiB" type:"integer"`
87391}
87392
87393// String returns the string representation
87394func (s GpuDeviceMemoryInfo) String() string {
87395	return awsutil.Prettify(s)
87396}
87397
87398// GoString returns the string representation
87399func (s GpuDeviceMemoryInfo) GoString() string {
87400	return s.String()
87401}
87402
87403// SetSizeInMiB sets the SizeInMiB field's value.
87404func (s *GpuDeviceMemoryInfo) SetSizeInMiB(v int64) *GpuDeviceMemoryInfo {
87405	s.SizeInMiB = &v
87406	return s
87407}
87408
87409// Describes the GPU accelerators for the instance type.
87410type GpuInfo struct {
87411	_ struct{} `type:"structure"`
87412
87413	// Describes the GPU accelerators for the instance type.
87414	Gpus []*GpuDeviceInfo `locationName:"gpus" locationNameList:"item" type:"list"`
87415
87416	// The total size of the memory for the GPU accelerators for the instance type,
87417	// in MiB.
87418	TotalGpuMemoryInMiB *int64 `locationName:"totalGpuMemoryInMiB" type:"integer"`
87419}
87420
87421// String returns the string representation
87422func (s GpuInfo) String() string {
87423	return awsutil.Prettify(s)
87424}
87425
87426// GoString returns the string representation
87427func (s GpuInfo) GoString() string {
87428	return s.String()
87429}
87430
87431// SetGpus sets the Gpus field's value.
87432func (s *GpuInfo) SetGpus(v []*GpuDeviceInfo) *GpuInfo {
87433	s.Gpus = v
87434	return s
87435}
87436
87437// SetTotalGpuMemoryInMiB sets the TotalGpuMemoryInMiB field's value.
87438func (s *GpuInfo) SetTotalGpuMemoryInMiB(v int64) *GpuInfo {
87439	s.TotalGpuMemoryInMiB = &v
87440	return s
87441}
87442
87443// Describes a security group.
87444type GroupIdentifier struct {
87445	_ struct{} `type:"structure"`
87446
87447	// The ID of the security group.
87448	GroupId *string `locationName:"groupId" type:"string"`
87449
87450	// The name of the security group.
87451	GroupName *string `locationName:"groupName" type:"string"`
87452}
87453
87454// String returns the string representation
87455func (s GroupIdentifier) String() string {
87456	return awsutil.Prettify(s)
87457}
87458
87459// GoString returns the string representation
87460func (s GroupIdentifier) GoString() string {
87461	return s.String()
87462}
87463
87464// SetGroupId sets the GroupId field's value.
87465func (s *GroupIdentifier) SetGroupId(v string) *GroupIdentifier {
87466	s.GroupId = &v
87467	return s
87468}
87469
87470// SetGroupName sets the GroupName field's value.
87471func (s *GroupIdentifier) SetGroupName(v string) *GroupIdentifier {
87472	s.GroupName = &v
87473	return s
87474}
87475
87476// Indicates whether your instance is configured for hibernation. This parameter
87477// is valid only if the instance meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites).
87478// For more information, see Hibernate your instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
87479// in the Amazon EC2 User Guide.
87480type HibernationOptions struct {
87481	_ struct{} `type:"structure"`
87482
87483	// If this parameter is set to true, your instance is enabled for hibernation;
87484	// otherwise, it is not enabled for hibernation.
87485	Configured *bool `locationName:"configured" type:"boolean"`
87486}
87487
87488// String returns the string representation
87489func (s HibernationOptions) String() string {
87490	return awsutil.Prettify(s)
87491}
87492
87493// GoString returns the string representation
87494func (s HibernationOptions) GoString() string {
87495	return s.String()
87496}
87497
87498// SetConfigured sets the Configured field's value.
87499func (s *HibernationOptions) SetConfigured(v bool) *HibernationOptions {
87500	s.Configured = &v
87501	return s
87502}
87503
87504// Indicates whether your instance is configured for hibernation. This parameter
87505// is valid only if the instance meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites).
87506// For more information, see Hibernate your instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
87507// in the Amazon EC2 User Guide.
87508type HibernationOptionsRequest struct {
87509	_ struct{} `type:"structure"`
87510
87511	// If you set this parameter to true, your instance is enabled for hibernation.
87512	//
87513	// Default: false
87514	Configured *bool `type:"boolean"`
87515}
87516
87517// String returns the string representation
87518func (s HibernationOptionsRequest) String() string {
87519	return awsutil.Prettify(s)
87520}
87521
87522// GoString returns the string representation
87523func (s HibernationOptionsRequest) GoString() string {
87524	return s.String()
87525}
87526
87527// SetConfigured sets the Configured field's value.
87528func (s *HibernationOptionsRequest) SetConfigured(v bool) *HibernationOptionsRequest {
87529	s.Configured = &v
87530	return s
87531}
87532
87533// Describes an event in the history of the Spot Fleet request.
87534type HistoryRecord struct {
87535	_ struct{} `type:"structure"`
87536
87537	// Information about the event.
87538	EventInformation *EventInformation `locationName:"eventInformation" type:"structure"`
87539
87540	// The event type.
87541	//
87542	//    * error - An error with the Spot Fleet request.
87543	//
87544	//    * fleetRequestChange - A change in the status or configuration of the
87545	//    Spot Fleet request.
87546	//
87547	//    * instanceChange - An instance was launched or terminated.
87548	//
87549	//    * Information - An informational event.
87550	EventType *string `locationName:"eventType" type:"string" enum:"EventType"`
87551
87552	// The date and time of the event, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
87553	Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
87554}
87555
87556// String returns the string representation
87557func (s HistoryRecord) String() string {
87558	return awsutil.Prettify(s)
87559}
87560
87561// GoString returns the string representation
87562func (s HistoryRecord) GoString() string {
87563	return s.String()
87564}
87565
87566// SetEventInformation sets the EventInformation field's value.
87567func (s *HistoryRecord) SetEventInformation(v *EventInformation) *HistoryRecord {
87568	s.EventInformation = v
87569	return s
87570}
87571
87572// SetEventType sets the EventType field's value.
87573func (s *HistoryRecord) SetEventType(v string) *HistoryRecord {
87574	s.EventType = &v
87575	return s
87576}
87577
87578// SetTimestamp sets the Timestamp field's value.
87579func (s *HistoryRecord) SetTimestamp(v time.Time) *HistoryRecord {
87580	s.Timestamp = &v
87581	return s
87582}
87583
87584// Describes an event in the history of an EC2 Fleet.
87585type HistoryRecordEntry struct {
87586	_ struct{} `type:"structure"`
87587
87588	// Information about the event.
87589	EventInformation *EventInformation `locationName:"eventInformation" type:"structure"`
87590
87591	// The event type.
87592	EventType *string `locationName:"eventType" type:"string" enum:"FleetEventType"`
87593
87594	// The date and time of the event, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
87595	Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
87596}
87597
87598// String returns the string representation
87599func (s HistoryRecordEntry) String() string {
87600	return awsutil.Prettify(s)
87601}
87602
87603// GoString returns the string representation
87604func (s HistoryRecordEntry) GoString() string {
87605	return s.String()
87606}
87607
87608// SetEventInformation sets the EventInformation field's value.
87609func (s *HistoryRecordEntry) SetEventInformation(v *EventInformation) *HistoryRecordEntry {
87610	s.EventInformation = v
87611	return s
87612}
87613
87614// SetEventType sets the EventType field's value.
87615func (s *HistoryRecordEntry) SetEventType(v string) *HistoryRecordEntry {
87616	s.EventType = &v
87617	return s
87618}
87619
87620// SetTimestamp sets the Timestamp field's value.
87621func (s *HistoryRecordEntry) SetTimestamp(v time.Time) *HistoryRecordEntry {
87622	s.Timestamp = &v
87623	return s
87624}
87625
87626// Describes the properties of the Dedicated Host.
87627type Host struct {
87628	_ struct{} `type:"structure"`
87629
87630	// The time that the Dedicated Host was allocated.
87631	AllocationTime *time.Time `locationName:"allocationTime" type:"timestamp"`
87632
87633	// Indicates whether the Dedicated Host supports multiple instance types of
87634	// the same instance family. If the value is on, the Dedicated Host supports
87635	// multiple instance types in the instance family. If the value is off, the
87636	// Dedicated Host supports a single instance type only.
87637	AllowsMultipleInstanceTypes *string `locationName:"allowsMultipleInstanceTypes" type:"string" enum:"AllowsMultipleInstanceTypes"`
87638
87639	// Whether auto-placement is on or off.
87640	AutoPlacement *string `locationName:"autoPlacement" type:"string" enum:"AutoPlacement"`
87641
87642	// The Availability Zone of the Dedicated Host.
87643	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
87644
87645	// The ID of the Availability Zone in which the Dedicated Host is allocated.
87646	AvailabilityZoneId *string `locationName:"availabilityZoneId" type:"string"`
87647
87648	// Information about the instances running on the Dedicated Host.
87649	AvailableCapacity *AvailableCapacity `locationName:"availableCapacity" type:"structure"`
87650
87651	// Unique, case-sensitive identifier that you provide to ensure the idempotency
87652	// of the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
87653	ClientToken *string `locationName:"clientToken" type:"string"`
87654
87655	// The ID of the Dedicated Host.
87656	HostId *string `locationName:"hostId" type:"string"`
87657
87658	// The hardware specifications of the Dedicated Host.
87659	HostProperties *HostProperties `locationName:"hostProperties" type:"structure"`
87660
87661	// Indicates whether host recovery is enabled or disabled for the Dedicated
87662	// Host.
87663	HostRecovery *string `locationName:"hostRecovery" type:"string" enum:"HostRecovery"`
87664
87665	// The reservation ID of the Dedicated Host. This returns a null response if
87666	// the Dedicated Host doesn't have an associated reservation.
87667	HostReservationId *string `locationName:"hostReservationId" type:"string"`
87668
87669	// The IDs and instance type that are currently running on the Dedicated Host.
87670	Instances []*HostInstance `locationName:"instances" locationNameList:"item" type:"list"`
87671
87672	// Indicates whether the Dedicated Host is in a host resource group. If memberOfServiceLinkedResourceGroup
87673	// is true, the host is in a host resource group; otherwise, it is not.
87674	MemberOfServiceLinkedResourceGroup *bool `locationName:"memberOfServiceLinkedResourceGroup" type:"boolean"`
87675
87676	// The ID of the AWS account that owns the Dedicated Host.
87677	OwnerId *string `locationName:"ownerId" type:"string"`
87678
87679	// The time that the Dedicated Host was released.
87680	ReleaseTime *time.Time `locationName:"releaseTime" type:"timestamp"`
87681
87682	// The Dedicated Host's state.
87683	State *string `locationName:"state" type:"string" enum:"AllocationState"`
87684
87685	// Any tags assigned to the Dedicated Host.
87686	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
87687}
87688
87689// String returns the string representation
87690func (s Host) String() string {
87691	return awsutil.Prettify(s)
87692}
87693
87694// GoString returns the string representation
87695func (s Host) GoString() string {
87696	return s.String()
87697}
87698
87699// SetAllocationTime sets the AllocationTime field's value.
87700func (s *Host) SetAllocationTime(v time.Time) *Host {
87701	s.AllocationTime = &v
87702	return s
87703}
87704
87705// SetAllowsMultipleInstanceTypes sets the AllowsMultipleInstanceTypes field's value.
87706func (s *Host) SetAllowsMultipleInstanceTypes(v string) *Host {
87707	s.AllowsMultipleInstanceTypes = &v
87708	return s
87709}
87710
87711// SetAutoPlacement sets the AutoPlacement field's value.
87712func (s *Host) SetAutoPlacement(v string) *Host {
87713	s.AutoPlacement = &v
87714	return s
87715}
87716
87717// SetAvailabilityZone sets the AvailabilityZone field's value.
87718func (s *Host) SetAvailabilityZone(v string) *Host {
87719	s.AvailabilityZone = &v
87720	return s
87721}
87722
87723// SetAvailabilityZoneId sets the AvailabilityZoneId field's value.
87724func (s *Host) SetAvailabilityZoneId(v string) *Host {
87725	s.AvailabilityZoneId = &v
87726	return s
87727}
87728
87729// SetAvailableCapacity sets the AvailableCapacity field's value.
87730func (s *Host) SetAvailableCapacity(v *AvailableCapacity) *Host {
87731	s.AvailableCapacity = v
87732	return s
87733}
87734
87735// SetClientToken sets the ClientToken field's value.
87736func (s *Host) SetClientToken(v string) *Host {
87737	s.ClientToken = &v
87738	return s
87739}
87740
87741// SetHostId sets the HostId field's value.
87742func (s *Host) SetHostId(v string) *Host {
87743	s.HostId = &v
87744	return s
87745}
87746
87747// SetHostProperties sets the HostProperties field's value.
87748func (s *Host) SetHostProperties(v *HostProperties) *Host {
87749	s.HostProperties = v
87750	return s
87751}
87752
87753// SetHostRecovery sets the HostRecovery field's value.
87754func (s *Host) SetHostRecovery(v string) *Host {
87755	s.HostRecovery = &v
87756	return s
87757}
87758
87759// SetHostReservationId sets the HostReservationId field's value.
87760func (s *Host) SetHostReservationId(v string) *Host {
87761	s.HostReservationId = &v
87762	return s
87763}
87764
87765// SetInstances sets the Instances field's value.
87766func (s *Host) SetInstances(v []*HostInstance) *Host {
87767	s.Instances = v
87768	return s
87769}
87770
87771// SetMemberOfServiceLinkedResourceGroup sets the MemberOfServiceLinkedResourceGroup field's value.
87772func (s *Host) SetMemberOfServiceLinkedResourceGroup(v bool) *Host {
87773	s.MemberOfServiceLinkedResourceGroup = &v
87774	return s
87775}
87776
87777// SetOwnerId sets the OwnerId field's value.
87778func (s *Host) SetOwnerId(v string) *Host {
87779	s.OwnerId = &v
87780	return s
87781}
87782
87783// SetReleaseTime sets the ReleaseTime field's value.
87784func (s *Host) SetReleaseTime(v time.Time) *Host {
87785	s.ReleaseTime = &v
87786	return s
87787}
87788
87789// SetState sets the State field's value.
87790func (s *Host) SetState(v string) *Host {
87791	s.State = &v
87792	return s
87793}
87794
87795// SetTags sets the Tags field's value.
87796func (s *Host) SetTags(v []*Tag) *Host {
87797	s.Tags = v
87798	return s
87799}
87800
87801// Describes an instance running on a Dedicated Host.
87802type HostInstance struct {
87803	_ struct{} `type:"structure"`
87804
87805	// The ID of instance that is running on the Dedicated Host.
87806	InstanceId *string `locationName:"instanceId" type:"string"`
87807
87808	// The instance type (for example, m3.medium) of the running instance.
87809	InstanceType *string `locationName:"instanceType" type:"string"`
87810
87811	// The ID of the AWS account that owns the instance.
87812	OwnerId *string `locationName:"ownerId" type:"string"`
87813}
87814
87815// String returns the string representation
87816func (s HostInstance) String() string {
87817	return awsutil.Prettify(s)
87818}
87819
87820// GoString returns the string representation
87821func (s HostInstance) GoString() string {
87822	return s.String()
87823}
87824
87825// SetInstanceId sets the InstanceId field's value.
87826func (s *HostInstance) SetInstanceId(v string) *HostInstance {
87827	s.InstanceId = &v
87828	return s
87829}
87830
87831// SetInstanceType sets the InstanceType field's value.
87832func (s *HostInstance) SetInstanceType(v string) *HostInstance {
87833	s.InstanceType = &v
87834	return s
87835}
87836
87837// SetOwnerId sets the OwnerId field's value.
87838func (s *HostInstance) SetOwnerId(v string) *HostInstance {
87839	s.OwnerId = &v
87840	return s
87841}
87842
87843// Details about the Dedicated Host Reservation offering.
87844type HostOffering struct {
87845	_ struct{} `type:"structure"`
87846
87847	// The currency of the offering.
87848	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
87849
87850	// The duration of the offering (in seconds).
87851	Duration *int64 `locationName:"duration" type:"integer"`
87852
87853	// The hourly price of the offering.
87854	HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
87855
87856	// The instance family of the offering.
87857	InstanceFamily *string `locationName:"instanceFamily" type:"string"`
87858
87859	// The ID of the offering.
87860	OfferingId *string `locationName:"offeringId" type:"string"`
87861
87862	// The available payment option.
87863	PaymentOption *string `locationName:"paymentOption" type:"string" enum:"PaymentOption"`
87864
87865	// The upfront price of the offering. Does not apply to No Upfront offerings.
87866	UpfrontPrice *string `locationName:"upfrontPrice" type:"string"`
87867}
87868
87869// String returns the string representation
87870func (s HostOffering) String() string {
87871	return awsutil.Prettify(s)
87872}
87873
87874// GoString returns the string representation
87875func (s HostOffering) GoString() string {
87876	return s.String()
87877}
87878
87879// SetCurrencyCode sets the CurrencyCode field's value.
87880func (s *HostOffering) SetCurrencyCode(v string) *HostOffering {
87881	s.CurrencyCode = &v
87882	return s
87883}
87884
87885// SetDuration sets the Duration field's value.
87886func (s *HostOffering) SetDuration(v int64) *HostOffering {
87887	s.Duration = &v
87888	return s
87889}
87890
87891// SetHourlyPrice sets the HourlyPrice field's value.
87892func (s *HostOffering) SetHourlyPrice(v string) *HostOffering {
87893	s.HourlyPrice = &v
87894	return s
87895}
87896
87897// SetInstanceFamily sets the InstanceFamily field's value.
87898func (s *HostOffering) SetInstanceFamily(v string) *HostOffering {
87899	s.InstanceFamily = &v
87900	return s
87901}
87902
87903// SetOfferingId sets the OfferingId field's value.
87904func (s *HostOffering) SetOfferingId(v string) *HostOffering {
87905	s.OfferingId = &v
87906	return s
87907}
87908
87909// SetPaymentOption sets the PaymentOption field's value.
87910func (s *HostOffering) SetPaymentOption(v string) *HostOffering {
87911	s.PaymentOption = &v
87912	return s
87913}
87914
87915// SetUpfrontPrice sets the UpfrontPrice field's value.
87916func (s *HostOffering) SetUpfrontPrice(v string) *HostOffering {
87917	s.UpfrontPrice = &v
87918	return s
87919}
87920
87921// Describes the properties of a Dedicated Host.
87922type HostProperties struct {
87923	_ struct{} `type:"structure"`
87924
87925	// The number of cores on the Dedicated Host.
87926	Cores *int64 `locationName:"cores" type:"integer"`
87927
87928	// The instance family supported by the Dedicated Host. For example, m5.
87929	InstanceFamily *string `locationName:"instanceFamily" type:"string"`
87930
87931	// The instance type supported by the Dedicated Host. For example, m5.large.
87932	// If the host supports multiple instance types, no instanceType is returned.
87933	InstanceType *string `locationName:"instanceType" type:"string"`
87934
87935	// The number of sockets on the Dedicated Host.
87936	Sockets *int64 `locationName:"sockets" type:"integer"`
87937
87938	// The total number of vCPUs on the Dedicated Host.
87939	TotalVCpus *int64 `locationName:"totalVCpus" type:"integer"`
87940}
87941
87942// String returns the string representation
87943func (s HostProperties) String() string {
87944	return awsutil.Prettify(s)
87945}
87946
87947// GoString returns the string representation
87948func (s HostProperties) GoString() string {
87949	return s.String()
87950}
87951
87952// SetCores sets the Cores field's value.
87953func (s *HostProperties) SetCores(v int64) *HostProperties {
87954	s.Cores = &v
87955	return s
87956}
87957
87958// SetInstanceFamily sets the InstanceFamily field's value.
87959func (s *HostProperties) SetInstanceFamily(v string) *HostProperties {
87960	s.InstanceFamily = &v
87961	return s
87962}
87963
87964// SetInstanceType sets the InstanceType field's value.
87965func (s *HostProperties) SetInstanceType(v string) *HostProperties {
87966	s.InstanceType = &v
87967	return s
87968}
87969
87970// SetSockets sets the Sockets field's value.
87971func (s *HostProperties) SetSockets(v int64) *HostProperties {
87972	s.Sockets = &v
87973	return s
87974}
87975
87976// SetTotalVCpus sets the TotalVCpus field's value.
87977func (s *HostProperties) SetTotalVCpus(v int64) *HostProperties {
87978	s.TotalVCpus = &v
87979	return s
87980}
87981
87982// Details about the Dedicated Host Reservation and associated Dedicated Hosts.
87983type HostReservation struct {
87984	_ struct{} `type:"structure"`
87985
87986	// The number of Dedicated Hosts the reservation is associated with.
87987	Count *int64 `locationName:"count" type:"integer"`
87988
87989	// The currency in which the upfrontPrice and hourlyPrice amounts are specified.
87990	// At this time, the only supported currency is USD.
87991	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
87992
87993	// The length of the reservation's term, specified in seconds. Can be 31536000
87994	// (1 year) | 94608000 (3 years).
87995	Duration *int64 `locationName:"duration" type:"integer"`
87996
87997	// The date and time that the reservation ends.
87998	End *time.Time `locationName:"end" type:"timestamp"`
87999
88000	// The IDs of the Dedicated Hosts associated with the reservation.
88001	HostIdSet []*string `locationName:"hostIdSet" locationNameList:"item" type:"list"`
88002
88003	// The ID of the reservation that specifies the associated Dedicated Hosts.
88004	HostReservationId *string `locationName:"hostReservationId" type:"string"`
88005
88006	// The hourly price of the reservation.
88007	HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
88008
88009	// The instance family of the Dedicated Host Reservation. The instance family
88010	// on the Dedicated Host must be the same in order for it to benefit from the
88011	// reservation.
88012	InstanceFamily *string `locationName:"instanceFamily" type:"string"`
88013
88014	// The ID of the reservation. This remains the same regardless of which Dedicated
88015	// Hosts are associated with it.
88016	OfferingId *string `locationName:"offeringId" type:"string"`
88017
88018	// The payment option selected for this reservation.
88019	PaymentOption *string `locationName:"paymentOption" type:"string" enum:"PaymentOption"`
88020
88021	// The date and time that the reservation started.
88022	Start *time.Time `locationName:"start" type:"timestamp"`
88023
88024	// The state of the reservation.
88025	State *string `locationName:"state" type:"string" enum:"ReservationState"`
88026
88027	// Any tags assigned to the Dedicated Host Reservation.
88028	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
88029
88030	// The upfront price of the reservation.
88031	UpfrontPrice *string `locationName:"upfrontPrice" type:"string"`
88032}
88033
88034// String returns the string representation
88035func (s HostReservation) String() string {
88036	return awsutil.Prettify(s)
88037}
88038
88039// GoString returns the string representation
88040func (s HostReservation) GoString() string {
88041	return s.String()
88042}
88043
88044// SetCount sets the Count field's value.
88045func (s *HostReservation) SetCount(v int64) *HostReservation {
88046	s.Count = &v
88047	return s
88048}
88049
88050// SetCurrencyCode sets the CurrencyCode field's value.
88051func (s *HostReservation) SetCurrencyCode(v string) *HostReservation {
88052	s.CurrencyCode = &v
88053	return s
88054}
88055
88056// SetDuration sets the Duration field's value.
88057func (s *HostReservation) SetDuration(v int64) *HostReservation {
88058	s.Duration = &v
88059	return s
88060}
88061
88062// SetEnd sets the End field's value.
88063func (s *HostReservation) SetEnd(v time.Time) *HostReservation {
88064	s.End = &v
88065	return s
88066}
88067
88068// SetHostIdSet sets the HostIdSet field's value.
88069func (s *HostReservation) SetHostIdSet(v []*string) *HostReservation {
88070	s.HostIdSet = v
88071	return s
88072}
88073
88074// SetHostReservationId sets the HostReservationId field's value.
88075func (s *HostReservation) SetHostReservationId(v string) *HostReservation {
88076	s.HostReservationId = &v
88077	return s
88078}
88079
88080// SetHourlyPrice sets the HourlyPrice field's value.
88081func (s *HostReservation) SetHourlyPrice(v string) *HostReservation {
88082	s.HourlyPrice = &v
88083	return s
88084}
88085
88086// SetInstanceFamily sets the InstanceFamily field's value.
88087func (s *HostReservation) SetInstanceFamily(v string) *HostReservation {
88088	s.InstanceFamily = &v
88089	return s
88090}
88091
88092// SetOfferingId sets the OfferingId field's value.
88093func (s *HostReservation) SetOfferingId(v string) *HostReservation {
88094	s.OfferingId = &v
88095	return s
88096}
88097
88098// SetPaymentOption sets the PaymentOption field's value.
88099func (s *HostReservation) SetPaymentOption(v string) *HostReservation {
88100	s.PaymentOption = &v
88101	return s
88102}
88103
88104// SetStart sets the Start field's value.
88105func (s *HostReservation) SetStart(v time.Time) *HostReservation {
88106	s.Start = &v
88107	return s
88108}
88109
88110// SetState sets the State field's value.
88111func (s *HostReservation) SetState(v string) *HostReservation {
88112	s.State = &v
88113	return s
88114}
88115
88116// SetTags sets the Tags field's value.
88117func (s *HostReservation) SetTags(v []*Tag) *HostReservation {
88118	s.Tags = v
88119	return s
88120}
88121
88122// SetUpfrontPrice sets the UpfrontPrice field's value.
88123func (s *HostReservation) SetUpfrontPrice(v string) *HostReservation {
88124	s.UpfrontPrice = &v
88125	return s
88126}
88127
88128// The internet key exchange (IKE) version permitted for the VPN tunnel.
88129type IKEVersionsListValue struct {
88130	_ struct{} `type:"structure"`
88131
88132	// The IKE version.
88133	Value *string `locationName:"value" type:"string"`
88134}
88135
88136// String returns the string representation
88137func (s IKEVersionsListValue) String() string {
88138	return awsutil.Prettify(s)
88139}
88140
88141// GoString returns the string representation
88142func (s IKEVersionsListValue) GoString() string {
88143	return s.String()
88144}
88145
88146// SetValue sets the Value field's value.
88147func (s *IKEVersionsListValue) SetValue(v string) *IKEVersionsListValue {
88148	s.Value = &v
88149	return s
88150}
88151
88152// The IKE version that is permitted for the VPN tunnel.
88153type IKEVersionsRequestListValue struct {
88154	_ struct{} `type:"structure"`
88155
88156	// The IKE version.
88157	Value *string `type:"string"`
88158}
88159
88160// String returns the string representation
88161func (s IKEVersionsRequestListValue) String() string {
88162	return awsutil.Prettify(s)
88163}
88164
88165// GoString returns the string representation
88166func (s IKEVersionsRequestListValue) GoString() string {
88167	return s.String()
88168}
88169
88170// SetValue sets the Value field's value.
88171func (s *IKEVersionsRequestListValue) SetValue(v string) *IKEVersionsRequestListValue {
88172	s.Value = &v
88173	return s
88174}
88175
88176// Describes an IAM instance profile.
88177type IamInstanceProfile struct {
88178	_ struct{} `type:"structure"`
88179
88180	// The Amazon Resource Name (ARN) of the instance profile.
88181	Arn *string `locationName:"arn" type:"string"`
88182
88183	// The ID of the instance profile.
88184	Id *string `locationName:"id" type:"string"`
88185}
88186
88187// String returns the string representation
88188func (s IamInstanceProfile) String() string {
88189	return awsutil.Prettify(s)
88190}
88191
88192// GoString returns the string representation
88193func (s IamInstanceProfile) GoString() string {
88194	return s.String()
88195}
88196
88197// SetArn sets the Arn field's value.
88198func (s *IamInstanceProfile) SetArn(v string) *IamInstanceProfile {
88199	s.Arn = &v
88200	return s
88201}
88202
88203// SetId sets the Id field's value.
88204func (s *IamInstanceProfile) SetId(v string) *IamInstanceProfile {
88205	s.Id = &v
88206	return s
88207}
88208
88209// Describes an association between an IAM instance profile and an instance.
88210type IamInstanceProfileAssociation struct {
88211	_ struct{} `type:"structure"`
88212
88213	// The ID of the association.
88214	AssociationId *string `locationName:"associationId" type:"string"`
88215
88216	// The IAM instance profile.
88217	IamInstanceProfile *IamInstanceProfile `locationName:"iamInstanceProfile" type:"structure"`
88218
88219	// The ID of the instance.
88220	InstanceId *string `locationName:"instanceId" type:"string"`
88221
88222	// The state of the association.
88223	State *string `locationName:"state" type:"string" enum:"IamInstanceProfileAssociationState"`
88224
88225	// The time the IAM instance profile was associated with the instance.
88226	Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
88227}
88228
88229// String returns the string representation
88230func (s IamInstanceProfileAssociation) String() string {
88231	return awsutil.Prettify(s)
88232}
88233
88234// GoString returns the string representation
88235func (s IamInstanceProfileAssociation) GoString() string {
88236	return s.String()
88237}
88238
88239// SetAssociationId sets the AssociationId field's value.
88240func (s *IamInstanceProfileAssociation) SetAssociationId(v string) *IamInstanceProfileAssociation {
88241	s.AssociationId = &v
88242	return s
88243}
88244
88245// SetIamInstanceProfile sets the IamInstanceProfile field's value.
88246func (s *IamInstanceProfileAssociation) SetIamInstanceProfile(v *IamInstanceProfile) *IamInstanceProfileAssociation {
88247	s.IamInstanceProfile = v
88248	return s
88249}
88250
88251// SetInstanceId sets the InstanceId field's value.
88252func (s *IamInstanceProfileAssociation) SetInstanceId(v string) *IamInstanceProfileAssociation {
88253	s.InstanceId = &v
88254	return s
88255}
88256
88257// SetState sets the State field's value.
88258func (s *IamInstanceProfileAssociation) SetState(v string) *IamInstanceProfileAssociation {
88259	s.State = &v
88260	return s
88261}
88262
88263// SetTimestamp sets the Timestamp field's value.
88264func (s *IamInstanceProfileAssociation) SetTimestamp(v time.Time) *IamInstanceProfileAssociation {
88265	s.Timestamp = &v
88266	return s
88267}
88268
88269// Describes an IAM instance profile.
88270type IamInstanceProfileSpecification struct {
88271	_ struct{} `type:"structure"`
88272
88273	// The Amazon Resource Name (ARN) of the instance profile.
88274	Arn *string `locationName:"arn" type:"string"`
88275
88276	// The name of the instance profile.
88277	Name *string `locationName:"name" type:"string"`
88278}
88279
88280// String returns the string representation
88281func (s IamInstanceProfileSpecification) String() string {
88282	return awsutil.Prettify(s)
88283}
88284
88285// GoString returns the string representation
88286func (s IamInstanceProfileSpecification) GoString() string {
88287	return s.String()
88288}
88289
88290// SetArn sets the Arn field's value.
88291func (s *IamInstanceProfileSpecification) SetArn(v string) *IamInstanceProfileSpecification {
88292	s.Arn = &v
88293	return s
88294}
88295
88296// SetName sets the Name field's value.
88297func (s *IamInstanceProfileSpecification) SetName(v string) *IamInstanceProfileSpecification {
88298	s.Name = &v
88299	return s
88300}
88301
88302// Describes the ICMP type and code.
88303type IcmpTypeCode struct {
88304	_ struct{} `type:"structure"`
88305
88306	// The ICMP code. A value of -1 means all codes for the specified ICMP type.
88307	Code *int64 `locationName:"code" type:"integer"`
88308
88309	// The ICMP type. A value of -1 means all types.
88310	Type *int64 `locationName:"type" type:"integer"`
88311}
88312
88313// String returns the string representation
88314func (s IcmpTypeCode) String() string {
88315	return awsutil.Prettify(s)
88316}
88317
88318// GoString returns the string representation
88319func (s IcmpTypeCode) GoString() string {
88320	return s.String()
88321}
88322
88323// SetCode sets the Code field's value.
88324func (s *IcmpTypeCode) SetCode(v int64) *IcmpTypeCode {
88325	s.Code = &v
88326	return s
88327}
88328
88329// SetType sets the Type field's value.
88330func (s *IcmpTypeCode) SetType(v int64) *IcmpTypeCode {
88331	s.Type = &v
88332	return s
88333}
88334
88335// Describes the ID format for a resource.
88336type IdFormat struct {
88337	_ struct{} `type:"structure"`
88338
88339	// The date in UTC at which you are permanently switched over to using longer
88340	// IDs. If a deadline is not yet available for this resource type, this field
88341	// is not returned.
88342	Deadline *time.Time `locationName:"deadline" type:"timestamp"`
88343
88344	// The type of resource.
88345	Resource *string `locationName:"resource" type:"string"`
88346
88347	// Indicates whether longer IDs (17-character IDs) are enabled for the resource.
88348	UseLongIds *bool `locationName:"useLongIds" type:"boolean"`
88349}
88350
88351// String returns the string representation
88352func (s IdFormat) String() string {
88353	return awsutil.Prettify(s)
88354}
88355
88356// GoString returns the string representation
88357func (s IdFormat) GoString() string {
88358	return s.String()
88359}
88360
88361// SetDeadline sets the Deadline field's value.
88362func (s *IdFormat) SetDeadline(v time.Time) *IdFormat {
88363	s.Deadline = &v
88364	return s
88365}
88366
88367// SetResource sets the Resource field's value.
88368func (s *IdFormat) SetResource(v string) *IdFormat {
88369	s.Resource = &v
88370	return s
88371}
88372
88373// SetUseLongIds sets the UseLongIds field's value.
88374func (s *IdFormat) SetUseLongIds(v bool) *IdFormat {
88375	s.UseLongIds = &v
88376	return s
88377}
88378
88379// Describes an image.
88380type Image struct {
88381	_ struct{} `type:"structure"`
88382
88383	// The architecture of the image.
88384	Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
88385
88386	// Any block device mapping entries.
88387	BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
88388
88389	// The boot mode of the image. For more information, see Boot modes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-boot.html)
88390	// in the Amazon Elastic Compute Cloud User Guide.
88391	BootMode *string `locationName:"bootMode" type:"string" enum:"BootModeValues"`
88392
88393	// The date and time the image was created.
88394	CreationDate *string `locationName:"creationDate" type:"string"`
88395
88396	// The description of the AMI that was provided during image creation.
88397	Description *string `locationName:"description" type:"string"`
88398
88399	// Specifies whether enhanced networking with ENA is enabled.
88400	EnaSupport *bool `locationName:"enaSupport" type:"boolean"`
88401
88402	// The hypervisor type of the image.
88403	Hypervisor *string `locationName:"hypervisor" type:"string" enum:"HypervisorType"`
88404
88405	// The ID of the AMI.
88406	ImageId *string `locationName:"imageId" type:"string"`
88407
88408	// The location of the AMI.
88409	ImageLocation *string `locationName:"imageLocation" type:"string"`
88410
88411	// The AWS account alias (for example, amazon, self) or the AWS account ID of
88412	// the AMI owner.
88413	ImageOwnerAlias *string `locationName:"imageOwnerAlias" type:"string"`
88414
88415	// The type of image.
88416	ImageType *string `locationName:"imageType" type:"string" enum:"ImageTypeValues"`
88417
88418	// The kernel associated with the image, if any. Only applicable for machine
88419	// images.
88420	KernelId *string `locationName:"kernelId" type:"string"`
88421
88422	// The name of the AMI that was provided during image creation.
88423	Name *string `locationName:"name" type:"string"`
88424
88425	// The AWS account ID of the image owner.
88426	OwnerId *string `locationName:"imageOwnerId" type:"string"`
88427
88428	// This value is set to windows for Windows AMIs; otherwise, it is blank.
88429	Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
88430
88431	// The platform details associated with the billing code of the AMI. For more
88432	// information, see Obtaining Billing Information (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-billing-info.html)
88433	// in the Amazon Elastic Compute Cloud User Guide.
88434	PlatformDetails *string `locationName:"platformDetails" type:"string"`
88435
88436	// Any product codes associated with the AMI.
88437	ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
88438
88439	// Indicates whether the image has public launch permissions. The value is true
88440	// if this image has public launch permissions or false if it has only implicit
88441	// and explicit launch permissions.
88442	Public *bool `locationName:"isPublic" type:"boolean"`
88443
88444	// The RAM disk associated with the image, if any. Only applicable for machine
88445	// images.
88446	RamdiskId *string `locationName:"ramdiskId" type:"string"`
88447
88448	// The device name of the root device volume (for example, /dev/sda1).
88449	RootDeviceName *string `locationName:"rootDeviceName" type:"string"`
88450
88451	// The type of root device used by the AMI. The AMI can use an EBS volume or
88452	// an instance store volume.
88453	RootDeviceType *string `locationName:"rootDeviceType" type:"string" enum:"DeviceType"`
88454
88455	// Specifies whether enhanced networking with the Intel 82599 Virtual Function
88456	// interface is enabled.
88457	SriovNetSupport *string `locationName:"sriovNetSupport" type:"string"`
88458
88459	// The current state of the AMI. If the state is available, the image is successfully
88460	// registered and can be used to launch an instance.
88461	State *string `locationName:"imageState" type:"string" enum:"ImageState"`
88462
88463	// The reason for the state change.
88464	StateReason *StateReason `locationName:"stateReason" type:"structure"`
88465
88466	// Any tags assigned to the image.
88467	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
88468
88469	// The operation of the Amazon EC2 instance and the billing code that is associated
88470	// with the AMI. usageOperation corresponds to the lineitem/Operation (https://docs.aws.amazon.com/cur/latest/userguide/Lineitem-columns.html#Lineitem-details-O-Operation)
88471	// column on your AWS Cost and Usage Report and in the AWS Price List API (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/price-changes.html).
88472	// For the list of UsageOperation codes, see Platform Details and Usage Operation
88473	// Billing Codes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-billing-info.html#billing-info)
88474	// in the Amazon Elastic Compute Cloud User Guide.
88475	UsageOperation *string `locationName:"usageOperation" type:"string"`
88476
88477	// The type of virtualization of the AMI.
88478	VirtualizationType *string `locationName:"virtualizationType" type:"string" enum:"VirtualizationType"`
88479}
88480
88481// String returns the string representation
88482func (s Image) String() string {
88483	return awsutil.Prettify(s)
88484}
88485
88486// GoString returns the string representation
88487func (s Image) GoString() string {
88488	return s.String()
88489}
88490
88491// SetArchitecture sets the Architecture field's value.
88492func (s *Image) SetArchitecture(v string) *Image {
88493	s.Architecture = &v
88494	return s
88495}
88496
88497// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
88498func (s *Image) SetBlockDeviceMappings(v []*BlockDeviceMapping) *Image {
88499	s.BlockDeviceMappings = v
88500	return s
88501}
88502
88503// SetBootMode sets the BootMode field's value.
88504func (s *Image) SetBootMode(v string) *Image {
88505	s.BootMode = &v
88506	return s
88507}
88508
88509// SetCreationDate sets the CreationDate field's value.
88510func (s *Image) SetCreationDate(v string) *Image {
88511	s.CreationDate = &v
88512	return s
88513}
88514
88515// SetDescription sets the Description field's value.
88516func (s *Image) SetDescription(v string) *Image {
88517	s.Description = &v
88518	return s
88519}
88520
88521// SetEnaSupport sets the EnaSupport field's value.
88522func (s *Image) SetEnaSupport(v bool) *Image {
88523	s.EnaSupport = &v
88524	return s
88525}
88526
88527// SetHypervisor sets the Hypervisor field's value.
88528func (s *Image) SetHypervisor(v string) *Image {
88529	s.Hypervisor = &v
88530	return s
88531}
88532
88533// SetImageId sets the ImageId field's value.
88534func (s *Image) SetImageId(v string) *Image {
88535	s.ImageId = &v
88536	return s
88537}
88538
88539// SetImageLocation sets the ImageLocation field's value.
88540func (s *Image) SetImageLocation(v string) *Image {
88541	s.ImageLocation = &v
88542	return s
88543}
88544
88545// SetImageOwnerAlias sets the ImageOwnerAlias field's value.
88546func (s *Image) SetImageOwnerAlias(v string) *Image {
88547	s.ImageOwnerAlias = &v
88548	return s
88549}
88550
88551// SetImageType sets the ImageType field's value.
88552func (s *Image) SetImageType(v string) *Image {
88553	s.ImageType = &v
88554	return s
88555}
88556
88557// SetKernelId sets the KernelId field's value.
88558func (s *Image) SetKernelId(v string) *Image {
88559	s.KernelId = &v
88560	return s
88561}
88562
88563// SetName sets the Name field's value.
88564func (s *Image) SetName(v string) *Image {
88565	s.Name = &v
88566	return s
88567}
88568
88569// SetOwnerId sets the OwnerId field's value.
88570func (s *Image) SetOwnerId(v string) *Image {
88571	s.OwnerId = &v
88572	return s
88573}
88574
88575// SetPlatform sets the Platform field's value.
88576func (s *Image) SetPlatform(v string) *Image {
88577	s.Platform = &v
88578	return s
88579}
88580
88581// SetPlatformDetails sets the PlatformDetails field's value.
88582func (s *Image) SetPlatformDetails(v string) *Image {
88583	s.PlatformDetails = &v
88584	return s
88585}
88586
88587// SetProductCodes sets the ProductCodes field's value.
88588func (s *Image) SetProductCodes(v []*ProductCode) *Image {
88589	s.ProductCodes = v
88590	return s
88591}
88592
88593// SetPublic sets the Public field's value.
88594func (s *Image) SetPublic(v bool) *Image {
88595	s.Public = &v
88596	return s
88597}
88598
88599// SetRamdiskId sets the RamdiskId field's value.
88600func (s *Image) SetRamdiskId(v string) *Image {
88601	s.RamdiskId = &v
88602	return s
88603}
88604
88605// SetRootDeviceName sets the RootDeviceName field's value.
88606func (s *Image) SetRootDeviceName(v string) *Image {
88607	s.RootDeviceName = &v
88608	return s
88609}
88610
88611// SetRootDeviceType sets the RootDeviceType field's value.
88612func (s *Image) SetRootDeviceType(v string) *Image {
88613	s.RootDeviceType = &v
88614	return s
88615}
88616
88617// SetSriovNetSupport sets the SriovNetSupport field's value.
88618func (s *Image) SetSriovNetSupport(v string) *Image {
88619	s.SriovNetSupport = &v
88620	return s
88621}
88622
88623// SetState sets the State field's value.
88624func (s *Image) SetState(v string) *Image {
88625	s.State = &v
88626	return s
88627}
88628
88629// SetStateReason sets the StateReason field's value.
88630func (s *Image) SetStateReason(v *StateReason) *Image {
88631	s.StateReason = v
88632	return s
88633}
88634
88635// SetTags sets the Tags field's value.
88636func (s *Image) SetTags(v []*Tag) *Image {
88637	s.Tags = v
88638	return s
88639}
88640
88641// SetUsageOperation sets the UsageOperation field's value.
88642func (s *Image) SetUsageOperation(v string) *Image {
88643	s.UsageOperation = &v
88644	return s
88645}
88646
88647// SetVirtualizationType sets the VirtualizationType field's value.
88648func (s *Image) SetVirtualizationType(v string) *Image {
88649	s.VirtualizationType = &v
88650	return s
88651}
88652
88653// Describes the disk container object for an import image task.
88654type ImageDiskContainer struct {
88655	_ struct{} `type:"structure"`
88656
88657	// The description of the disk image.
88658	Description *string `type:"string"`
88659
88660	// The block device mapping for the disk.
88661	DeviceName *string `type:"string"`
88662
88663	// The format of the disk image being imported.
88664	//
88665	// Valid values: OVA | VHD | VHDX | VMDK | RAW
88666	Format *string `type:"string"`
88667
88668	// The ID of the EBS snapshot to be used for importing the snapshot.
88669	SnapshotId *string `type:"string"`
88670
88671	// The URL to the Amazon S3-based disk image being imported. The URL can either
88672	// be a https URL (https://..) or an Amazon S3 URL (s3://..)
88673	Url *string `type:"string"`
88674
88675	// The S3 bucket for the disk image.
88676	UserBucket *UserBucket `type:"structure"`
88677}
88678
88679// String returns the string representation
88680func (s ImageDiskContainer) String() string {
88681	return awsutil.Prettify(s)
88682}
88683
88684// GoString returns the string representation
88685func (s ImageDiskContainer) GoString() string {
88686	return s.String()
88687}
88688
88689// SetDescription sets the Description field's value.
88690func (s *ImageDiskContainer) SetDescription(v string) *ImageDiskContainer {
88691	s.Description = &v
88692	return s
88693}
88694
88695// SetDeviceName sets the DeviceName field's value.
88696func (s *ImageDiskContainer) SetDeviceName(v string) *ImageDiskContainer {
88697	s.DeviceName = &v
88698	return s
88699}
88700
88701// SetFormat sets the Format field's value.
88702func (s *ImageDiskContainer) SetFormat(v string) *ImageDiskContainer {
88703	s.Format = &v
88704	return s
88705}
88706
88707// SetSnapshotId sets the SnapshotId field's value.
88708func (s *ImageDiskContainer) SetSnapshotId(v string) *ImageDiskContainer {
88709	s.SnapshotId = &v
88710	return s
88711}
88712
88713// SetUrl sets the Url field's value.
88714func (s *ImageDiskContainer) SetUrl(v string) *ImageDiskContainer {
88715	s.Url = &v
88716	return s
88717}
88718
88719// SetUserBucket sets the UserBucket field's value.
88720func (s *ImageDiskContainer) SetUserBucket(v *UserBucket) *ImageDiskContainer {
88721	s.UserBucket = v
88722	return s
88723}
88724
88725type ImportClientVpnClientCertificateRevocationListInput struct {
88726	_ struct{} `type:"structure"`
88727
88728	// The client certificate revocation list file. For more information, see Generate
88729	// a Client Certificate Revocation List (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/cvpn-working-certificates.html#cvpn-working-certificates-generate)
88730	// in the AWS Client VPN Administrator Guide.
88731	//
88732	// CertificateRevocationList is a required field
88733	CertificateRevocationList *string `type:"string" required:"true"`
88734
88735	// The ID of the Client VPN endpoint to which the client certificate revocation
88736	// list applies.
88737	//
88738	// ClientVpnEndpointId is a required field
88739	ClientVpnEndpointId *string `type:"string" required:"true"`
88740
88741	// Checks whether you have the required permissions for the action, without
88742	// actually making the request, and provides an error response. If you have
88743	// the required permissions, the error response is DryRunOperation. Otherwise,
88744	// it is UnauthorizedOperation.
88745	DryRun *bool `type:"boolean"`
88746}
88747
88748// String returns the string representation
88749func (s ImportClientVpnClientCertificateRevocationListInput) String() string {
88750	return awsutil.Prettify(s)
88751}
88752
88753// GoString returns the string representation
88754func (s ImportClientVpnClientCertificateRevocationListInput) GoString() string {
88755	return s.String()
88756}
88757
88758// Validate inspects the fields of the type to determine if they are valid.
88759func (s *ImportClientVpnClientCertificateRevocationListInput) Validate() error {
88760	invalidParams := request.ErrInvalidParams{Context: "ImportClientVpnClientCertificateRevocationListInput"}
88761	if s.CertificateRevocationList == nil {
88762		invalidParams.Add(request.NewErrParamRequired("CertificateRevocationList"))
88763	}
88764	if s.ClientVpnEndpointId == nil {
88765		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
88766	}
88767
88768	if invalidParams.Len() > 0 {
88769		return invalidParams
88770	}
88771	return nil
88772}
88773
88774// SetCertificateRevocationList sets the CertificateRevocationList field's value.
88775func (s *ImportClientVpnClientCertificateRevocationListInput) SetCertificateRevocationList(v string) *ImportClientVpnClientCertificateRevocationListInput {
88776	s.CertificateRevocationList = &v
88777	return s
88778}
88779
88780// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
88781func (s *ImportClientVpnClientCertificateRevocationListInput) SetClientVpnEndpointId(v string) *ImportClientVpnClientCertificateRevocationListInput {
88782	s.ClientVpnEndpointId = &v
88783	return s
88784}
88785
88786// SetDryRun sets the DryRun field's value.
88787func (s *ImportClientVpnClientCertificateRevocationListInput) SetDryRun(v bool) *ImportClientVpnClientCertificateRevocationListInput {
88788	s.DryRun = &v
88789	return s
88790}
88791
88792type ImportClientVpnClientCertificateRevocationListOutput struct {
88793	_ struct{} `type:"structure"`
88794
88795	// Returns true if the request succeeds; otherwise, it returns an error.
88796	Return *bool `locationName:"return" type:"boolean"`
88797}
88798
88799// String returns the string representation
88800func (s ImportClientVpnClientCertificateRevocationListOutput) String() string {
88801	return awsutil.Prettify(s)
88802}
88803
88804// GoString returns the string representation
88805func (s ImportClientVpnClientCertificateRevocationListOutput) GoString() string {
88806	return s.String()
88807}
88808
88809// SetReturn sets the Return field's value.
88810func (s *ImportClientVpnClientCertificateRevocationListOutput) SetReturn(v bool) *ImportClientVpnClientCertificateRevocationListOutput {
88811	s.Return = &v
88812	return s
88813}
88814
88815type ImportImageInput struct {
88816	_ struct{} `type:"structure"`
88817
88818	// The architecture of the virtual machine.
88819	//
88820	// Valid values: i386 | x86_64 | arm64
88821	Architecture *string `type:"string"`
88822
88823	// The client-specific data.
88824	ClientData *ClientData `type:"structure"`
88825
88826	// The token to enable idempotency for VM import requests.
88827	ClientToken *string `type:"string"`
88828
88829	// A description string for the import image task.
88830	Description *string `type:"string"`
88831
88832	// Information about the disk containers.
88833	DiskContainers []*ImageDiskContainer `locationName:"DiskContainer" locationNameList:"item" type:"list"`
88834
88835	// Checks whether you have the required permissions for the action, without
88836	// actually making the request, and provides an error response. If you have
88837	// the required permissions, the error response is DryRunOperation. Otherwise,
88838	// it is UnauthorizedOperation.
88839	DryRun *bool `type:"boolean"`
88840
88841	// Specifies whether the destination AMI of the imported image should be encrypted.
88842	// The default CMK for EBS is used unless you specify a non-default AWS Key
88843	// Management Service (AWS KMS) CMK using KmsKeyId. For more information, see
88844	// Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
88845	// in the Amazon Elastic Compute Cloud User Guide.
88846	Encrypted *bool `type:"boolean"`
88847
88848	// The target hypervisor platform.
88849	//
88850	// Valid values: xen
88851	Hypervisor *string `type:"string"`
88852
88853	// An identifier for the symmetric AWS Key Management Service (AWS KMS) customer
88854	// master key (CMK) to use when creating the encrypted AMI. This parameter is
88855	// only required if you want to use a non-default CMK; if this parameter is
88856	// not specified, the default CMK for EBS is used. If a KmsKeyId is specified,
88857	// the Encrypted flag must also be set.
88858	//
88859	// The CMK identifier may be provided in any of the following formats:
88860	//
88861	//    * Key ID
88862	//
88863	//    * Key alias. The alias ARN contains the arn:aws:kms namespace, followed
88864	//    by the Region of the CMK, the AWS account ID of the CMK owner, the alias
88865	//    namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
88866	//
88867	//    * ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed
88868	//    by the Region of the CMK, the AWS account ID of the CMK owner, the key
88869	//    namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
88870	//
88871	//    * ARN using key alias. The alias ARN contains the arn:aws:kms namespace,
88872	//    followed by the Region of the CMK, the AWS account ID of the CMK owner,
88873	//    the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
88874	//
88875	// AWS parses KmsKeyId asynchronously, meaning that the action you call may
88876	// appear to complete even though you provided an invalid identifier. This action
88877	// will eventually report failure.
88878	//
88879	// The specified CMK must exist in the Region that the AMI is being copied to.
88880	//
88881	// Amazon EBS does not support asymmetric CMKs.
88882	KmsKeyId *string `type:"string"`
88883
88884	// The ARNs of the license configurations.
88885	LicenseSpecifications []*ImportImageLicenseConfigurationRequest `locationNameList:"item" type:"list"`
88886
88887	// The license type to be used for the Amazon Machine Image (AMI) after importing.
88888	//
88889	// By default, we detect the source-system operating system (OS) and apply the
88890	// appropriate license. Specify AWS to replace the source-system license with
88891	// an AWS license, if appropriate. Specify BYOL to retain the source-system
88892	// license, if appropriate.
88893	//
88894	// To use BYOL, you must have existing licenses with rights to use these licenses
88895	// in a third party cloud, such as AWS. For more information, see Prerequisites
88896	// (https://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html#prerequisites-image)
88897	// in the VM Import/Export User Guide.
88898	LicenseType *string `type:"string"`
88899
88900	// The operating system of the virtual machine.
88901	//
88902	// Valid values: Windows | Linux
88903	Platform *string `type:"string"`
88904
88905	// The name of the role to use when not using the default role, 'vmimport'.
88906	RoleName *string `type:"string"`
88907
88908	// The tags to apply to the import image task during creation.
88909	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
88910}
88911
88912// String returns the string representation
88913func (s ImportImageInput) String() string {
88914	return awsutil.Prettify(s)
88915}
88916
88917// GoString returns the string representation
88918func (s ImportImageInput) GoString() string {
88919	return s.String()
88920}
88921
88922// SetArchitecture sets the Architecture field's value.
88923func (s *ImportImageInput) SetArchitecture(v string) *ImportImageInput {
88924	s.Architecture = &v
88925	return s
88926}
88927
88928// SetClientData sets the ClientData field's value.
88929func (s *ImportImageInput) SetClientData(v *ClientData) *ImportImageInput {
88930	s.ClientData = v
88931	return s
88932}
88933
88934// SetClientToken sets the ClientToken field's value.
88935func (s *ImportImageInput) SetClientToken(v string) *ImportImageInput {
88936	s.ClientToken = &v
88937	return s
88938}
88939
88940// SetDescription sets the Description field's value.
88941func (s *ImportImageInput) SetDescription(v string) *ImportImageInput {
88942	s.Description = &v
88943	return s
88944}
88945
88946// SetDiskContainers sets the DiskContainers field's value.
88947func (s *ImportImageInput) SetDiskContainers(v []*ImageDiskContainer) *ImportImageInput {
88948	s.DiskContainers = v
88949	return s
88950}
88951
88952// SetDryRun sets the DryRun field's value.
88953func (s *ImportImageInput) SetDryRun(v bool) *ImportImageInput {
88954	s.DryRun = &v
88955	return s
88956}
88957
88958// SetEncrypted sets the Encrypted field's value.
88959func (s *ImportImageInput) SetEncrypted(v bool) *ImportImageInput {
88960	s.Encrypted = &v
88961	return s
88962}
88963
88964// SetHypervisor sets the Hypervisor field's value.
88965func (s *ImportImageInput) SetHypervisor(v string) *ImportImageInput {
88966	s.Hypervisor = &v
88967	return s
88968}
88969
88970// SetKmsKeyId sets the KmsKeyId field's value.
88971func (s *ImportImageInput) SetKmsKeyId(v string) *ImportImageInput {
88972	s.KmsKeyId = &v
88973	return s
88974}
88975
88976// SetLicenseSpecifications sets the LicenseSpecifications field's value.
88977func (s *ImportImageInput) SetLicenseSpecifications(v []*ImportImageLicenseConfigurationRequest) *ImportImageInput {
88978	s.LicenseSpecifications = v
88979	return s
88980}
88981
88982// SetLicenseType sets the LicenseType field's value.
88983func (s *ImportImageInput) SetLicenseType(v string) *ImportImageInput {
88984	s.LicenseType = &v
88985	return s
88986}
88987
88988// SetPlatform sets the Platform field's value.
88989func (s *ImportImageInput) SetPlatform(v string) *ImportImageInput {
88990	s.Platform = &v
88991	return s
88992}
88993
88994// SetRoleName sets the RoleName field's value.
88995func (s *ImportImageInput) SetRoleName(v string) *ImportImageInput {
88996	s.RoleName = &v
88997	return s
88998}
88999
89000// SetTagSpecifications sets the TagSpecifications field's value.
89001func (s *ImportImageInput) SetTagSpecifications(v []*TagSpecification) *ImportImageInput {
89002	s.TagSpecifications = v
89003	return s
89004}
89005
89006// The request information of license configurations.
89007type ImportImageLicenseConfigurationRequest struct {
89008	_ struct{} `type:"structure"`
89009
89010	// The ARN of a license configuration.
89011	LicenseConfigurationArn *string `type:"string"`
89012}
89013
89014// String returns the string representation
89015func (s ImportImageLicenseConfigurationRequest) String() string {
89016	return awsutil.Prettify(s)
89017}
89018
89019// GoString returns the string representation
89020func (s ImportImageLicenseConfigurationRequest) GoString() string {
89021	return s.String()
89022}
89023
89024// SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value.
89025func (s *ImportImageLicenseConfigurationRequest) SetLicenseConfigurationArn(v string) *ImportImageLicenseConfigurationRequest {
89026	s.LicenseConfigurationArn = &v
89027	return s
89028}
89029
89030// The response information for license configurations.
89031type ImportImageLicenseConfigurationResponse struct {
89032	_ struct{} `type:"structure"`
89033
89034	// The ARN of a license configuration.
89035	LicenseConfigurationArn *string `locationName:"licenseConfigurationArn" type:"string"`
89036}
89037
89038// String returns the string representation
89039func (s ImportImageLicenseConfigurationResponse) String() string {
89040	return awsutil.Prettify(s)
89041}
89042
89043// GoString returns the string representation
89044func (s ImportImageLicenseConfigurationResponse) GoString() string {
89045	return s.String()
89046}
89047
89048// SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value.
89049func (s *ImportImageLicenseConfigurationResponse) SetLicenseConfigurationArn(v string) *ImportImageLicenseConfigurationResponse {
89050	s.LicenseConfigurationArn = &v
89051	return s
89052}
89053
89054type ImportImageOutput struct {
89055	_ struct{} `type:"structure"`
89056
89057	// The architecture of the virtual machine.
89058	Architecture *string `locationName:"architecture" type:"string"`
89059
89060	// A description of the import task.
89061	Description *string `locationName:"description" type:"string"`
89062
89063	// Indicates whether the AMI is encrypted.
89064	Encrypted *bool `locationName:"encrypted" type:"boolean"`
89065
89066	// The target hypervisor of the import task.
89067	Hypervisor *string `locationName:"hypervisor" type:"string"`
89068
89069	// The ID of the Amazon Machine Image (AMI) created by the import task.
89070	ImageId *string `locationName:"imageId" type:"string"`
89071
89072	// The task ID of the import image task.
89073	ImportTaskId *string `locationName:"importTaskId" type:"string"`
89074
89075	// The identifier for the symmetric AWS Key Management Service (AWS KMS) customer
89076	// master key (CMK) that was used to create the encrypted AMI.
89077	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
89078
89079	// The ARNs of the license configurations.
89080	LicenseSpecifications []*ImportImageLicenseConfigurationResponse `locationName:"licenseSpecifications" locationNameList:"item" type:"list"`
89081
89082	// The license type of the virtual machine.
89083	LicenseType *string `locationName:"licenseType" type:"string"`
89084
89085	// The operating system of the virtual machine.
89086	Platform *string `locationName:"platform" type:"string"`
89087
89088	// The progress of the task.
89089	Progress *string `locationName:"progress" type:"string"`
89090
89091	// Information about the snapshots.
89092	SnapshotDetails []*SnapshotDetail `locationName:"snapshotDetailSet" locationNameList:"item" type:"list"`
89093
89094	// A brief status of the task.
89095	Status *string `locationName:"status" type:"string"`
89096
89097	// A detailed status message of the import task.
89098	StatusMessage *string `locationName:"statusMessage" type:"string"`
89099
89100	// Any tags assigned to the import image task.
89101	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
89102}
89103
89104// String returns the string representation
89105func (s ImportImageOutput) String() string {
89106	return awsutil.Prettify(s)
89107}
89108
89109// GoString returns the string representation
89110func (s ImportImageOutput) GoString() string {
89111	return s.String()
89112}
89113
89114// SetArchitecture sets the Architecture field's value.
89115func (s *ImportImageOutput) SetArchitecture(v string) *ImportImageOutput {
89116	s.Architecture = &v
89117	return s
89118}
89119
89120// SetDescription sets the Description field's value.
89121func (s *ImportImageOutput) SetDescription(v string) *ImportImageOutput {
89122	s.Description = &v
89123	return s
89124}
89125
89126// SetEncrypted sets the Encrypted field's value.
89127func (s *ImportImageOutput) SetEncrypted(v bool) *ImportImageOutput {
89128	s.Encrypted = &v
89129	return s
89130}
89131
89132// SetHypervisor sets the Hypervisor field's value.
89133func (s *ImportImageOutput) SetHypervisor(v string) *ImportImageOutput {
89134	s.Hypervisor = &v
89135	return s
89136}
89137
89138// SetImageId sets the ImageId field's value.
89139func (s *ImportImageOutput) SetImageId(v string) *ImportImageOutput {
89140	s.ImageId = &v
89141	return s
89142}
89143
89144// SetImportTaskId sets the ImportTaskId field's value.
89145func (s *ImportImageOutput) SetImportTaskId(v string) *ImportImageOutput {
89146	s.ImportTaskId = &v
89147	return s
89148}
89149
89150// SetKmsKeyId sets the KmsKeyId field's value.
89151func (s *ImportImageOutput) SetKmsKeyId(v string) *ImportImageOutput {
89152	s.KmsKeyId = &v
89153	return s
89154}
89155
89156// SetLicenseSpecifications sets the LicenseSpecifications field's value.
89157func (s *ImportImageOutput) SetLicenseSpecifications(v []*ImportImageLicenseConfigurationResponse) *ImportImageOutput {
89158	s.LicenseSpecifications = v
89159	return s
89160}
89161
89162// SetLicenseType sets the LicenseType field's value.
89163func (s *ImportImageOutput) SetLicenseType(v string) *ImportImageOutput {
89164	s.LicenseType = &v
89165	return s
89166}
89167
89168// SetPlatform sets the Platform field's value.
89169func (s *ImportImageOutput) SetPlatform(v string) *ImportImageOutput {
89170	s.Platform = &v
89171	return s
89172}
89173
89174// SetProgress sets the Progress field's value.
89175func (s *ImportImageOutput) SetProgress(v string) *ImportImageOutput {
89176	s.Progress = &v
89177	return s
89178}
89179
89180// SetSnapshotDetails sets the SnapshotDetails field's value.
89181func (s *ImportImageOutput) SetSnapshotDetails(v []*SnapshotDetail) *ImportImageOutput {
89182	s.SnapshotDetails = v
89183	return s
89184}
89185
89186// SetStatus sets the Status field's value.
89187func (s *ImportImageOutput) SetStatus(v string) *ImportImageOutput {
89188	s.Status = &v
89189	return s
89190}
89191
89192// SetStatusMessage sets the StatusMessage field's value.
89193func (s *ImportImageOutput) SetStatusMessage(v string) *ImportImageOutput {
89194	s.StatusMessage = &v
89195	return s
89196}
89197
89198// SetTags sets the Tags field's value.
89199func (s *ImportImageOutput) SetTags(v []*Tag) *ImportImageOutput {
89200	s.Tags = v
89201	return s
89202}
89203
89204// Describes an import image task.
89205type ImportImageTask struct {
89206	_ struct{} `type:"structure"`
89207
89208	// The architecture of the virtual machine.
89209	//
89210	// Valid values: i386 | x86_64 | arm64
89211	Architecture *string `locationName:"architecture" type:"string"`
89212
89213	// A description of the import task.
89214	Description *string `locationName:"description" type:"string"`
89215
89216	// Indicates whether the image is encrypted.
89217	Encrypted *bool `locationName:"encrypted" type:"boolean"`
89218
89219	// The target hypervisor for the import task.
89220	//
89221	// Valid values: xen
89222	Hypervisor *string `locationName:"hypervisor" type:"string"`
89223
89224	// The ID of the Amazon Machine Image (AMI) of the imported virtual machine.
89225	ImageId *string `locationName:"imageId" type:"string"`
89226
89227	// The ID of the import image task.
89228	ImportTaskId *string `locationName:"importTaskId" type:"string"`
89229
89230	// The identifier for the AWS Key Management Service (AWS KMS) customer master
89231	// key (CMK) that was used to create the encrypted image.
89232	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
89233
89234	// The ARNs of the license configurations that are associated with the import
89235	// image task.
89236	LicenseSpecifications []*ImportImageLicenseConfigurationResponse `locationName:"licenseSpecifications" locationNameList:"item" type:"list"`
89237
89238	// The license type of the virtual machine.
89239	LicenseType *string `locationName:"licenseType" type:"string"`
89240
89241	// The description string for the import image task.
89242	Platform *string `locationName:"platform" type:"string"`
89243
89244	// The percentage of progress of the import image task.
89245	Progress *string `locationName:"progress" type:"string"`
89246
89247	// Information about the snapshots.
89248	SnapshotDetails []*SnapshotDetail `locationName:"snapshotDetailSet" locationNameList:"item" type:"list"`
89249
89250	// A brief status for the import image task.
89251	Status *string `locationName:"status" type:"string"`
89252
89253	// A descriptive status message for the import image task.
89254	StatusMessage *string `locationName:"statusMessage" type:"string"`
89255
89256	// The tags for the import image task.
89257	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
89258}
89259
89260// String returns the string representation
89261func (s ImportImageTask) String() string {
89262	return awsutil.Prettify(s)
89263}
89264
89265// GoString returns the string representation
89266func (s ImportImageTask) GoString() string {
89267	return s.String()
89268}
89269
89270// SetArchitecture sets the Architecture field's value.
89271func (s *ImportImageTask) SetArchitecture(v string) *ImportImageTask {
89272	s.Architecture = &v
89273	return s
89274}
89275
89276// SetDescription sets the Description field's value.
89277func (s *ImportImageTask) SetDescription(v string) *ImportImageTask {
89278	s.Description = &v
89279	return s
89280}
89281
89282// SetEncrypted sets the Encrypted field's value.
89283func (s *ImportImageTask) SetEncrypted(v bool) *ImportImageTask {
89284	s.Encrypted = &v
89285	return s
89286}
89287
89288// SetHypervisor sets the Hypervisor field's value.
89289func (s *ImportImageTask) SetHypervisor(v string) *ImportImageTask {
89290	s.Hypervisor = &v
89291	return s
89292}
89293
89294// SetImageId sets the ImageId field's value.
89295func (s *ImportImageTask) SetImageId(v string) *ImportImageTask {
89296	s.ImageId = &v
89297	return s
89298}
89299
89300// SetImportTaskId sets the ImportTaskId field's value.
89301func (s *ImportImageTask) SetImportTaskId(v string) *ImportImageTask {
89302	s.ImportTaskId = &v
89303	return s
89304}
89305
89306// SetKmsKeyId sets the KmsKeyId field's value.
89307func (s *ImportImageTask) SetKmsKeyId(v string) *ImportImageTask {
89308	s.KmsKeyId = &v
89309	return s
89310}
89311
89312// SetLicenseSpecifications sets the LicenseSpecifications field's value.
89313func (s *ImportImageTask) SetLicenseSpecifications(v []*ImportImageLicenseConfigurationResponse) *ImportImageTask {
89314	s.LicenseSpecifications = v
89315	return s
89316}
89317
89318// SetLicenseType sets the LicenseType field's value.
89319func (s *ImportImageTask) SetLicenseType(v string) *ImportImageTask {
89320	s.LicenseType = &v
89321	return s
89322}
89323
89324// SetPlatform sets the Platform field's value.
89325func (s *ImportImageTask) SetPlatform(v string) *ImportImageTask {
89326	s.Platform = &v
89327	return s
89328}
89329
89330// SetProgress sets the Progress field's value.
89331func (s *ImportImageTask) SetProgress(v string) *ImportImageTask {
89332	s.Progress = &v
89333	return s
89334}
89335
89336// SetSnapshotDetails sets the SnapshotDetails field's value.
89337func (s *ImportImageTask) SetSnapshotDetails(v []*SnapshotDetail) *ImportImageTask {
89338	s.SnapshotDetails = v
89339	return s
89340}
89341
89342// SetStatus sets the Status field's value.
89343func (s *ImportImageTask) SetStatus(v string) *ImportImageTask {
89344	s.Status = &v
89345	return s
89346}
89347
89348// SetStatusMessage sets the StatusMessage field's value.
89349func (s *ImportImageTask) SetStatusMessage(v string) *ImportImageTask {
89350	s.StatusMessage = &v
89351	return s
89352}
89353
89354// SetTags sets the Tags field's value.
89355func (s *ImportImageTask) SetTags(v []*Tag) *ImportImageTask {
89356	s.Tags = v
89357	return s
89358}
89359
89360type ImportInstanceInput struct {
89361	_ struct{} `type:"structure"`
89362
89363	// A description for the instance being imported.
89364	Description *string `locationName:"description" type:"string"`
89365
89366	// The disk image.
89367	DiskImages []*DiskImage `locationName:"diskImage" type:"list"`
89368
89369	// Checks whether you have the required permissions for the action, without
89370	// actually making the request, and provides an error response. If you have
89371	// the required permissions, the error response is DryRunOperation. Otherwise,
89372	// it is UnauthorizedOperation.
89373	DryRun *bool `locationName:"dryRun" type:"boolean"`
89374
89375	// The launch specification.
89376	LaunchSpecification *ImportInstanceLaunchSpecification `locationName:"launchSpecification" type:"structure"`
89377
89378	// The instance operating system.
89379	//
89380	// Platform is a required field
89381	Platform *string `locationName:"platform" type:"string" required:"true" enum:"PlatformValues"`
89382}
89383
89384// String returns the string representation
89385func (s ImportInstanceInput) String() string {
89386	return awsutil.Prettify(s)
89387}
89388
89389// GoString returns the string representation
89390func (s ImportInstanceInput) GoString() string {
89391	return s.String()
89392}
89393
89394// Validate inspects the fields of the type to determine if they are valid.
89395func (s *ImportInstanceInput) Validate() error {
89396	invalidParams := request.ErrInvalidParams{Context: "ImportInstanceInput"}
89397	if s.Platform == nil {
89398		invalidParams.Add(request.NewErrParamRequired("Platform"))
89399	}
89400	if s.DiskImages != nil {
89401		for i, v := range s.DiskImages {
89402			if v == nil {
89403				continue
89404			}
89405			if err := v.Validate(); err != nil {
89406				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DiskImages", i), err.(request.ErrInvalidParams))
89407			}
89408		}
89409	}
89410
89411	if invalidParams.Len() > 0 {
89412		return invalidParams
89413	}
89414	return nil
89415}
89416
89417// SetDescription sets the Description field's value.
89418func (s *ImportInstanceInput) SetDescription(v string) *ImportInstanceInput {
89419	s.Description = &v
89420	return s
89421}
89422
89423// SetDiskImages sets the DiskImages field's value.
89424func (s *ImportInstanceInput) SetDiskImages(v []*DiskImage) *ImportInstanceInput {
89425	s.DiskImages = v
89426	return s
89427}
89428
89429// SetDryRun sets the DryRun field's value.
89430func (s *ImportInstanceInput) SetDryRun(v bool) *ImportInstanceInput {
89431	s.DryRun = &v
89432	return s
89433}
89434
89435// SetLaunchSpecification sets the LaunchSpecification field's value.
89436func (s *ImportInstanceInput) SetLaunchSpecification(v *ImportInstanceLaunchSpecification) *ImportInstanceInput {
89437	s.LaunchSpecification = v
89438	return s
89439}
89440
89441// SetPlatform sets the Platform field's value.
89442func (s *ImportInstanceInput) SetPlatform(v string) *ImportInstanceInput {
89443	s.Platform = &v
89444	return s
89445}
89446
89447// Describes the launch specification for VM import.
89448type ImportInstanceLaunchSpecification struct {
89449	_ struct{} `type:"structure"`
89450
89451	// Reserved.
89452	AdditionalInfo *string `locationName:"additionalInfo" type:"string"`
89453
89454	// The architecture of the instance.
89455	Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
89456
89457	// The security group IDs.
89458	GroupIds []*string `locationName:"GroupId" locationNameList:"SecurityGroupId" type:"list"`
89459
89460	// The security group names.
89461	GroupNames []*string `locationName:"GroupName" locationNameList:"SecurityGroup" type:"list"`
89462
89463	// Indicates whether an instance stops or terminates when you initiate shutdown
89464	// from the instance (using the operating system command for system shutdown).
89465	InstanceInitiatedShutdownBehavior *string `locationName:"instanceInitiatedShutdownBehavior" type:"string" enum:"ShutdownBehavior"`
89466
89467	// The instance type. For more information about the instance types that you
89468	// can import, see Instance Types (https://docs.aws.amazon.com/vm-import/latest/userguide/vmie_prereqs.html#vmimport-instance-types)
89469	// in the VM Import/Export User Guide.
89470	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
89471
89472	// Indicates whether monitoring is enabled.
89473	Monitoring *bool `locationName:"monitoring" type:"boolean"`
89474
89475	// The placement information for the instance.
89476	Placement *Placement `locationName:"placement" type:"structure"`
89477
89478	// [EC2-VPC] An available IP address from the IP address range of the subnet.
89479	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
89480
89481	// [EC2-VPC] The ID of the subnet in which to launch the instance.
89482	SubnetId *string `locationName:"subnetId" type:"string"`
89483
89484	// The Base64-encoded user data to make available to the instance.
89485	UserData *UserData `locationName:"userData" type:"structure" sensitive:"true"`
89486}
89487
89488// String returns the string representation
89489func (s ImportInstanceLaunchSpecification) String() string {
89490	return awsutil.Prettify(s)
89491}
89492
89493// GoString returns the string representation
89494func (s ImportInstanceLaunchSpecification) GoString() string {
89495	return s.String()
89496}
89497
89498// SetAdditionalInfo sets the AdditionalInfo field's value.
89499func (s *ImportInstanceLaunchSpecification) SetAdditionalInfo(v string) *ImportInstanceLaunchSpecification {
89500	s.AdditionalInfo = &v
89501	return s
89502}
89503
89504// SetArchitecture sets the Architecture field's value.
89505func (s *ImportInstanceLaunchSpecification) SetArchitecture(v string) *ImportInstanceLaunchSpecification {
89506	s.Architecture = &v
89507	return s
89508}
89509
89510// SetGroupIds sets the GroupIds field's value.
89511func (s *ImportInstanceLaunchSpecification) SetGroupIds(v []*string) *ImportInstanceLaunchSpecification {
89512	s.GroupIds = v
89513	return s
89514}
89515
89516// SetGroupNames sets the GroupNames field's value.
89517func (s *ImportInstanceLaunchSpecification) SetGroupNames(v []*string) *ImportInstanceLaunchSpecification {
89518	s.GroupNames = v
89519	return s
89520}
89521
89522// SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
89523func (s *ImportInstanceLaunchSpecification) SetInstanceInitiatedShutdownBehavior(v string) *ImportInstanceLaunchSpecification {
89524	s.InstanceInitiatedShutdownBehavior = &v
89525	return s
89526}
89527
89528// SetInstanceType sets the InstanceType field's value.
89529func (s *ImportInstanceLaunchSpecification) SetInstanceType(v string) *ImportInstanceLaunchSpecification {
89530	s.InstanceType = &v
89531	return s
89532}
89533
89534// SetMonitoring sets the Monitoring field's value.
89535func (s *ImportInstanceLaunchSpecification) SetMonitoring(v bool) *ImportInstanceLaunchSpecification {
89536	s.Monitoring = &v
89537	return s
89538}
89539
89540// SetPlacement sets the Placement field's value.
89541func (s *ImportInstanceLaunchSpecification) SetPlacement(v *Placement) *ImportInstanceLaunchSpecification {
89542	s.Placement = v
89543	return s
89544}
89545
89546// SetPrivateIpAddress sets the PrivateIpAddress field's value.
89547func (s *ImportInstanceLaunchSpecification) SetPrivateIpAddress(v string) *ImportInstanceLaunchSpecification {
89548	s.PrivateIpAddress = &v
89549	return s
89550}
89551
89552// SetSubnetId sets the SubnetId field's value.
89553func (s *ImportInstanceLaunchSpecification) SetSubnetId(v string) *ImportInstanceLaunchSpecification {
89554	s.SubnetId = &v
89555	return s
89556}
89557
89558// SetUserData sets the UserData field's value.
89559func (s *ImportInstanceLaunchSpecification) SetUserData(v *UserData) *ImportInstanceLaunchSpecification {
89560	s.UserData = v
89561	return s
89562}
89563
89564type ImportInstanceOutput struct {
89565	_ struct{} `type:"structure"`
89566
89567	// Information about the conversion task.
89568	ConversionTask *ConversionTask `locationName:"conversionTask" type:"structure"`
89569}
89570
89571// String returns the string representation
89572func (s ImportInstanceOutput) String() string {
89573	return awsutil.Prettify(s)
89574}
89575
89576// GoString returns the string representation
89577func (s ImportInstanceOutput) GoString() string {
89578	return s.String()
89579}
89580
89581// SetConversionTask sets the ConversionTask field's value.
89582func (s *ImportInstanceOutput) SetConversionTask(v *ConversionTask) *ImportInstanceOutput {
89583	s.ConversionTask = v
89584	return s
89585}
89586
89587// Describes an import instance task.
89588type ImportInstanceTaskDetails struct {
89589	_ struct{} `type:"structure"`
89590
89591	// A description of the task.
89592	Description *string `locationName:"description" type:"string"`
89593
89594	// The ID of the instance.
89595	InstanceId *string `locationName:"instanceId" type:"string"`
89596
89597	// The instance operating system.
89598	Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
89599
89600	// The volumes.
89601	Volumes []*ImportInstanceVolumeDetailItem `locationName:"volumes" locationNameList:"item" type:"list"`
89602}
89603
89604// String returns the string representation
89605func (s ImportInstanceTaskDetails) String() string {
89606	return awsutil.Prettify(s)
89607}
89608
89609// GoString returns the string representation
89610func (s ImportInstanceTaskDetails) GoString() string {
89611	return s.String()
89612}
89613
89614// SetDescription sets the Description field's value.
89615func (s *ImportInstanceTaskDetails) SetDescription(v string) *ImportInstanceTaskDetails {
89616	s.Description = &v
89617	return s
89618}
89619
89620// SetInstanceId sets the InstanceId field's value.
89621func (s *ImportInstanceTaskDetails) SetInstanceId(v string) *ImportInstanceTaskDetails {
89622	s.InstanceId = &v
89623	return s
89624}
89625
89626// SetPlatform sets the Platform field's value.
89627func (s *ImportInstanceTaskDetails) SetPlatform(v string) *ImportInstanceTaskDetails {
89628	s.Platform = &v
89629	return s
89630}
89631
89632// SetVolumes sets the Volumes field's value.
89633func (s *ImportInstanceTaskDetails) SetVolumes(v []*ImportInstanceVolumeDetailItem) *ImportInstanceTaskDetails {
89634	s.Volumes = v
89635	return s
89636}
89637
89638// Describes an import volume task.
89639type ImportInstanceVolumeDetailItem struct {
89640	_ struct{} `type:"structure"`
89641
89642	// The Availability Zone where the resulting instance will reside.
89643	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
89644
89645	// The number of bytes converted so far.
89646	BytesConverted *int64 `locationName:"bytesConverted" type:"long"`
89647
89648	// A description of the task.
89649	Description *string `locationName:"description" type:"string"`
89650
89651	// The image.
89652	Image *DiskImageDescription `locationName:"image" type:"structure"`
89653
89654	// The status of the import of this particular disk image.
89655	Status *string `locationName:"status" type:"string"`
89656
89657	// The status information or errors related to the disk image.
89658	StatusMessage *string `locationName:"statusMessage" type:"string"`
89659
89660	// The volume.
89661	Volume *DiskImageVolumeDescription `locationName:"volume" type:"structure"`
89662}
89663
89664// String returns the string representation
89665func (s ImportInstanceVolumeDetailItem) String() string {
89666	return awsutil.Prettify(s)
89667}
89668
89669// GoString returns the string representation
89670func (s ImportInstanceVolumeDetailItem) GoString() string {
89671	return s.String()
89672}
89673
89674// SetAvailabilityZone sets the AvailabilityZone field's value.
89675func (s *ImportInstanceVolumeDetailItem) SetAvailabilityZone(v string) *ImportInstanceVolumeDetailItem {
89676	s.AvailabilityZone = &v
89677	return s
89678}
89679
89680// SetBytesConverted sets the BytesConverted field's value.
89681func (s *ImportInstanceVolumeDetailItem) SetBytesConverted(v int64) *ImportInstanceVolumeDetailItem {
89682	s.BytesConverted = &v
89683	return s
89684}
89685
89686// SetDescription sets the Description field's value.
89687func (s *ImportInstanceVolumeDetailItem) SetDescription(v string) *ImportInstanceVolumeDetailItem {
89688	s.Description = &v
89689	return s
89690}
89691
89692// SetImage sets the Image field's value.
89693func (s *ImportInstanceVolumeDetailItem) SetImage(v *DiskImageDescription) *ImportInstanceVolumeDetailItem {
89694	s.Image = v
89695	return s
89696}
89697
89698// SetStatus sets the Status field's value.
89699func (s *ImportInstanceVolumeDetailItem) SetStatus(v string) *ImportInstanceVolumeDetailItem {
89700	s.Status = &v
89701	return s
89702}
89703
89704// SetStatusMessage sets the StatusMessage field's value.
89705func (s *ImportInstanceVolumeDetailItem) SetStatusMessage(v string) *ImportInstanceVolumeDetailItem {
89706	s.StatusMessage = &v
89707	return s
89708}
89709
89710// SetVolume sets the Volume field's value.
89711func (s *ImportInstanceVolumeDetailItem) SetVolume(v *DiskImageVolumeDescription) *ImportInstanceVolumeDetailItem {
89712	s.Volume = v
89713	return s
89714}
89715
89716type ImportKeyPairInput struct {
89717	_ struct{} `type:"structure"`
89718
89719	// Checks whether you have the required permissions for the action, without
89720	// actually making the request, and provides an error response. If you have
89721	// the required permissions, the error response is DryRunOperation. Otherwise,
89722	// it is UnauthorizedOperation.
89723	DryRun *bool `locationName:"dryRun" type:"boolean"`
89724
89725	// A unique name for the key pair.
89726	//
89727	// KeyName is a required field
89728	KeyName *string `locationName:"keyName" type:"string" required:"true"`
89729
89730	// The public key. For API calls, the text must be base64-encoded. For command
89731	// line tools, base64 encoding is performed for you.
89732	//
89733	// PublicKeyMaterial is automatically base64 encoded/decoded by the SDK.
89734	//
89735	// PublicKeyMaterial is a required field
89736	PublicKeyMaterial []byte `locationName:"publicKeyMaterial" type:"blob" required:"true"`
89737
89738	// The tags to apply to the imported key pair.
89739	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
89740}
89741
89742// String returns the string representation
89743func (s ImportKeyPairInput) String() string {
89744	return awsutil.Prettify(s)
89745}
89746
89747// GoString returns the string representation
89748func (s ImportKeyPairInput) GoString() string {
89749	return s.String()
89750}
89751
89752// Validate inspects the fields of the type to determine if they are valid.
89753func (s *ImportKeyPairInput) Validate() error {
89754	invalidParams := request.ErrInvalidParams{Context: "ImportKeyPairInput"}
89755	if s.KeyName == nil {
89756		invalidParams.Add(request.NewErrParamRequired("KeyName"))
89757	}
89758	if s.PublicKeyMaterial == nil {
89759		invalidParams.Add(request.NewErrParamRequired("PublicKeyMaterial"))
89760	}
89761
89762	if invalidParams.Len() > 0 {
89763		return invalidParams
89764	}
89765	return nil
89766}
89767
89768// SetDryRun sets the DryRun field's value.
89769func (s *ImportKeyPairInput) SetDryRun(v bool) *ImportKeyPairInput {
89770	s.DryRun = &v
89771	return s
89772}
89773
89774// SetKeyName sets the KeyName field's value.
89775func (s *ImportKeyPairInput) SetKeyName(v string) *ImportKeyPairInput {
89776	s.KeyName = &v
89777	return s
89778}
89779
89780// SetPublicKeyMaterial sets the PublicKeyMaterial field's value.
89781func (s *ImportKeyPairInput) SetPublicKeyMaterial(v []byte) *ImportKeyPairInput {
89782	s.PublicKeyMaterial = v
89783	return s
89784}
89785
89786// SetTagSpecifications sets the TagSpecifications field's value.
89787func (s *ImportKeyPairInput) SetTagSpecifications(v []*TagSpecification) *ImportKeyPairInput {
89788	s.TagSpecifications = v
89789	return s
89790}
89791
89792type ImportKeyPairOutput struct {
89793	_ struct{} `type:"structure"`
89794
89795	// The MD5 public key fingerprint as specified in section 4 of RFC 4716.
89796	KeyFingerprint *string `locationName:"keyFingerprint" type:"string"`
89797
89798	// The key pair name you provided.
89799	KeyName *string `locationName:"keyName" type:"string"`
89800
89801	// The ID of the resulting key pair.
89802	KeyPairId *string `locationName:"keyPairId" type:"string"`
89803
89804	// The tags applied to the imported key pair.
89805	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
89806}
89807
89808// String returns the string representation
89809func (s ImportKeyPairOutput) String() string {
89810	return awsutil.Prettify(s)
89811}
89812
89813// GoString returns the string representation
89814func (s ImportKeyPairOutput) GoString() string {
89815	return s.String()
89816}
89817
89818// SetKeyFingerprint sets the KeyFingerprint field's value.
89819func (s *ImportKeyPairOutput) SetKeyFingerprint(v string) *ImportKeyPairOutput {
89820	s.KeyFingerprint = &v
89821	return s
89822}
89823
89824// SetKeyName sets the KeyName field's value.
89825func (s *ImportKeyPairOutput) SetKeyName(v string) *ImportKeyPairOutput {
89826	s.KeyName = &v
89827	return s
89828}
89829
89830// SetKeyPairId sets the KeyPairId field's value.
89831func (s *ImportKeyPairOutput) SetKeyPairId(v string) *ImportKeyPairOutput {
89832	s.KeyPairId = &v
89833	return s
89834}
89835
89836// SetTags sets the Tags field's value.
89837func (s *ImportKeyPairOutput) SetTags(v []*Tag) *ImportKeyPairOutput {
89838	s.Tags = v
89839	return s
89840}
89841
89842type ImportSnapshotInput struct {
89843	_ struct{} `type:"structure"`
89844
89845	// The client-specific data.
89846	ClientData *ClientData `type:"structure"`
89847
89848	// Token to enable idempotency for VM import requests.
89849	ClientToken *string `type:"string"`
89850
89851	// The description string for the import snapshot task.
89852	Description *string `type:"string"`
89853
89854	// Information about the disk container.
89855	DiskContainer *SnapshotDiskContainer `type:"structure"`
89856
89857	// Checks whether you have the required permissions for the action, without
89858	// actually making the request, and provides an error response. If you have
89859	// the required permissions, the error response is DryRunOperation. Otherwise,
89860	// it is UnauthorizedOperation.
89861	DryRun *bool `type:"boolean"`
89862
89863	// Specifies whether the destination snapshot of the imported image should be
89864	// encrypted. The default CMK for EBS is used unless you specify a non-default
89865	// AWS Key Management Service (AWS KMS) CMK using KmsKeyId. For more information,
89866	// see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
89867	// in the Amazon Elastic Compute Cloud User Guide.
89868	Encrypted *bool `type:"boolean"`
89869
89870	// An identifier for the symmetric AWS Key Management Service (AWS KMS) customer
89871	// master key (CMK) to use when creating the encrypted snapshot. This parameter
89872	// is only required if you want to use a non-default CMK; if this parameter
89873	// is not specified, the default CMK for EBS is used. If a KmsKeyId is specified,
89874	// the Encrypted flag must also be set.
89875	//
89876	// The CMK identifier may be provided in any of the following formats:
89877	//
89878	//    * Key ID
89879	//
89880	//    * Key alias. The alias ARN contains the arn:aws:kms namespace, followed
89881	//    by the Region of the CMK, the AWS account ID of the CMK owner, the alias
89882	//    namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
89883	//
89884	//    * ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed
89885	//    by the Region of the CMK, the AWS account ID of the CMK owner, the key
89886	//    namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
89887	//
89888	//    * ARN using key alias. The alias ARN contains the arn:aws:kms namespace,
89889	//    followed by the Region of the CMK, the AWS account ID of the CMK owner,
89890	//    the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
89891	//
89892	// AWS parses KmsKeyId asynchronously, meaning that the action you call may
89893	// appear to complete even though you provided an invalid identifier. This action
89894	// will eventually report failure.
89895	//
89896	// The specified CMK must exist in the Region that the snapshot is being copied
89897	// to.
89898	//
89899	// Amazon EBS does not support asymmetric CMKs.
89900	KmsKeyId *string `type:"string"`
89901
89902	// The name of the role to use when not using the default role, 'vmimport'.
89903	RoleName *string `type:"string"`
89904
89905	// The tags to apply to the import snapshot task during creation.
89906	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
89907}
89908
89909// String returns the string representation
89910func (s ImportSnapshotInput) String() string {
89911	return awsutil.Prettify(s)
89912}
89913
89914// GoString returns the string representation
89915func (s ImportSnapshotInput) GoString() string {
89916	return s.String()
89917}
89918
89919// SetClientData sets the ClientData field's value.
89920func (s *ImportSnapshotInput) SetClientData(v *ClientData) *ImportSnapshotInput {
89921	s.ClientData = v
89922	return s
89923}
89924
89925// SetClientToken sets the ClientToken field's value.
89926func (s *ImportSnapshotInput) SetClientToken(v string) *ImportSnapshotInput {
89927	s.ClientToken = &v
89928	return s
89929}
89930
89931// SetDescription sets the Description field's value.
89932func (s *ImportSnapshotInput) SetDescription(v string) *ImportSnapshotInput {
89933	s.Description = &v
89934	return s
89935}
89936
89937// SetDiskContainer sets the DiskContainer field's value.
89938func (s *ImportSnapshotInput) SetDiskContainer(v *SnapshotDiskContainer) *ImportSnapshotInput {
89939	s.DiskContainer = v
89940	return s
89941}
89942
89943// SetDryRun sets the DryRun field's value.
89944func (s *ImportSnapshotInput) SetDryRun(v bool) *ImportSnapshotInput {
89945	s.DryRun = &v
89946	return s
89947}
89948
89949// SetEncrypted sets the Encrypted field's value.
89950func (s *ImportSnapshotInput) SetEncrypted(v bool) *ImportSnapshotInput {
89951	s.Encrypted = &v
89952	return s
89953}
89954
89955// SetKmsKeyId sets the KmsKeyId field's value.
89956func (s *ImportSnapshotInput) SetKmsKeyId(v string) *ImportSnapshotInput {
89957	s.KmsKeyId = &v
89958	return s
89959}
89960
89961// SetRoleName sets the RoleName field's value.
89962func (s *ImportSnapshotInput) SetRoleName(v string) *ImportSnapshotInput {
89963	s.RoleName = &v
89964	return s
89965}
89966
89967// SetTagSpecifications sets the TagSpecifications field's value.
89968func (s *ImportSnapshotInput) SetTagSpecifications(v []*TagSpecification) *ImportSnapshotInput {
89969	s.TagSpecifications = v
89970	return s
89971}
89972
89973type ImportSnapshotOutput struct {
89974	_ struct{} `type:"structure"`
89975
89976	// A description of the import snapshot task.
89977	Description *string `locationName:"description" type:"string"`
89978
89979	// The ID of the import snapshot task.
89980	ImportTaskId *string `locationName:"importTaskId" type:"string"`
89981
89982	// Information about the import snapshot task.
89983	SnapshotTaskDetail *SnapshotTaskDetail `locationName:"snapshotTaskDetail" type:"structure"`
89984
89985	// Any tags assigned to the import snapshot task.
89986	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
89987}
89988
89989// String returns the string representation
89990func (s ImportSnapshotOutput) String() string {
89991	return awsutil.Prettify(s)
89992}
89993
89994// GoString returns the string representation
89995func (s ImportSnapshotOutput) GoString() string {
89996	return s.String()
89997}
89998
89999// SetDescription sets the Description field's value.
90000func (s *ImportSnapshotOutput) SetDescription(v string) *ImportSnapshotOutput {
90001	s.Description = &v
90002	return s
90003}
90004
90005// SetImportTaskId sets the ImportTaskId field's value.
90006func (s *ImportSnapshotOutput) SetImportTaskId(v string) *ImportSnapshotOutput {
90007	s.ImportTaskId = &v
90008	return s
90009}
90010
90011// SetSnapshotTaskDetail sets the SnapshotTaskDetail field's value.
90012func (s *ImportSnapshotOutput) SetSnapshotTaskDetail(v *SnapshotTaskDetail) *ImportSnapshotOutput {
90013	s.SnapshotTaskDetail = v
90014	return s
90015}
90016
90017// SetTags sets the Tags field's value.
90018func (s *ImportSnapshotOutput) SetTags(v []*Tag) *ImportSnapshotOutput {
90019	s.Tags = v
90020	return s
90021}
90022
90023// Describes an import snapshot task.
90024type ImportSnapshotTask struct {
90025	_ struct{} `type:"structure"`
90026
90027	// A description of the import snapshot task.
90028	Description *string `locationName:"description" type:"string"`
90029
90030	// The ID of the import snapshot task.
90031	ImportTaskId *string `locationName:"importTaskId" type:"string"`
90032
90033	// Describes an import snapshot task.
90034	SnapshotTaskDetail *SnapshotTaskDetail `locationName:"snapshotTaskDetail" type:"structure"`
90035
90036	// The tags for the import snapshot task.
90037	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
90038}
90039
90040// String returns the string representation
90041func (s ImportSnapshotTask) String() string {
90042	return awsutil.Prettify(s)
90043}
90044
90045// GoString returns the string representation
90046func (s ImportSnapshotTask) GoString() string {
90047	return s.String()
90048}
90049
90050// SetDescription sets the Description field's value.
90051func (s *ImportSnapshotTask) SetDescription(v string) *ImportSnapshotTask {
90052	s.Description = &v
90053	return s
90054}
90055
90056// SetImportTaskId sets the ImportTaskId field's value.
90057func (s *ImportSnapshotTask) SetImportTaskId(v string) *ImportSnapshotTask {
90058	s.ImportTaskId = &v
90059	return s
90060}
90061
90062// SetSnapshotTaskDetail sets the SnapshotTaskDetail field's value.
90063func (s *ImportSnapshotTask) SetSnapshotTaskDetail(v *SnapshotTaskDetail) *ImportSnapshotTask {
90064	s.SnapshotTaskDetail = v
90065	return s
90066}
90067
90068// SetTags sets the Tags field's value.
90069func (s *ImportSnapshotTask) SetTags(v []*Tag) *ImportSnapshotTask {
90070	s.Tags = v
90071	return s
90072}
90073
90074type ImportVolumeInput struct {
90075	_ struct{} `type:"structure"`
90076
90077	// The Availability Zone for the resulting EBS volume.
90078	//
90079	// AvailabilityZone is a required field
90080	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
90081
90082	// A description of the volume.
90083	Description *string `locationName:"description" type:"string"`
90084
90085	// Checks whether you have the required permissions for the action, without
90086	// actually making the request, and provides an error response. If you have
90087	// the required permissions, the error response is DryRunOperation. Otherwise,
90088	// it is UnauthorizedOperation.
90089	DryRun *bool `locationName:"dryRun" type:"boolean"`
90090
90091	// The disk image.
90092	//
90093	// Image is a required field
90094	Image *DiskImageDetail `locationName:"image" type:"structure" required:"true"`
90095
90096	// The volume size.
90097	//
90098	// Volume is a required field
90099	Volume *VolumeDetail `locationName:"volume" type:"structure" required:"true"`
90100}
90101
90102// String returns the string representation
90103func (s ImportVolumeInput) String() string {
90104	return awsutil.Prettify(s)
90105}
90106
90107// GoString returns the string representation
90108func (s ImportVolumeInput) GoString() string {
90109	return s.String()
90110}
90111
90112// Validate inspects the fields of the type to determine if they are valid.
90113func (s *ImportVolumeInput) Validate() error {
90114	invalidParams := request.ErrInvalidParams{Context: "ImportVolumeInput"}
90115	if s.AvailabilityZone == nil {
90116		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
90117	}
90118	if s.Image == nil {
90119		invalidParams.Add(request.NewErrParamRequired("Image"))
90120	}
90121	if s.Volume == nil {
90122		invalidParams.Add(request.NewErrParamRequired("Volume"))
90123	}
90124	if s.Image != nil {
90125		if err := s.Image.Validate(); err != nil {
90126			invalidParams.AddNested("Image", err.(request.ErrInvalidParams))
90127		}
90128	}
90129	if s.Volume != nil {
90130		if err := s.Volume.Validate(); err != nil {
90131			invalidParams.AddNested("Volume", err.(request.ErrInvalidParams))
90132		}
90133	}
90134
90135	if invalidParams.Len() > 0 {
90136		return invalidParams
90137	}
90138	return nil
90139}
90140
90141// SetAvailabilityZone sets the AvailabilityZone field's value.
90142func (s *ImportVolumeInput) SetAvailabilityZone(v string) *ImportVolumeInput {
90143	s.AvailabilityZone = &v
90144	return s
90145}
90146
90147// SetDescription sets the Description field's value.
90148func (s *ImportVolumeInput) SetDescription(v string) *ImportVolumeInput {
90149	s.Description = &v
90150	return s
90151}
90152
90153// SetDryRun sets the DryRun field's value.
90154func (s *ImportVolumeInput) SetDryRun(v bool) *ImportVolumeInput {
90155	s.DryRun = &v
90156	return s
90157}
90158
90159// SetImage sets the Image field's value.
90160func (s *ImportVolumeInput) SetImage(v *DiskImageDetail) *ImportVolumeInput {
90161	s.Image = v
90162	return s
90163}
90164
90165// SetVolume sets the Volume field's value.
90166func (s *ImportVolumeInput) SetVolume(v *VolumeDetail) *ImportVolumeInput {
90167	s.Volume = v
90168	return s
90169}
90170
90171type ImportVolumeOutput struct {
90172	_ struct{} `type:"structure"`
90173
90174	// Information about the conversion task.
90175	ConversionTask *ConversionTask `locationName:"conversionTask" type:"structure"`
90176}
90177
90178// String returns the string representation
90179func (s ImportVolumeOutput) String() string {
90180	return awsutil.Prettify(s)
90181}
90182
90183// GoString returns the string representation
90184func (s ImportVolumeOutput) GoString() string {
90185	return s.String()
90186}
90187
90188// SetConversionTask sets the ConversionTask field's value.
90189func (s *ImportVolumeOutput) SetConversionTask(v *ConversionTask) *ImportVolumeOutput {
90190	s.ConversionTask = v
90191	return s
90192}
90193
90194// Describes an import volume task.
90195type ImportVolumeTaskDetails struct {
90196	_ struct{} `type:"structure"`
90197
90198	// The Availability Zone where the resulting volume will reside.
90199	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
90200
90201	// The number of bytes converted so far.
90202	BytesConverted *int64 `locationName:"bytesConverted" type:"long"`
90203
90204	// The description you provided when starting the import volume task.
90205	Description *string `locationName:"description" type:"string"`
90206
90207	// The image.
90208	Image *DiskImageDescription `locationName:"image" type:"structure"`
90209
90210	// The volume.
90211	Volume *DiskImageVolumeDescription `locationName:"volume" type:"structure"`
90212}
90213
90214// String returns the string representation
90215func (s ImportVolumeTaskDetails) String() string {
90216	return awsutil.Prettify(s)
90217}
90218
90219// GoString returns the string representation
90220func (s ImportVolumeTaskDetails) GoString() string {
90221	return s.String()
90222}
90223
90224// SetAvailabilityZone sets the AvailabilityZone field's value.
90225func (s *ImportVolumeTaskDetails) SetAvailabilityZone(v string) *ImportVolumeTaskDetails {
90226	s.AvailabilityZone = &v
90227	return s
90228}
90229
90230// SetBytesConverted sets the BytesConverted field's value.
90231func (s *ImportVolumeTaskDetails) SetBytesConverted(v int64) *ImportVolumeTaskDetails {
90232	s.BytesConverted = &v
90233	return s
90234}
90235
90236// SetDescription sets the Description field's value.
90237func (s *ImportVolumeTaskDetails) SetDescription(v string) *ImportVolumeTaskDetails {
90238	s.Description = &v
90239	return s
90240}
90241
90242// SetImage sets the Image field's value.
90243func (s *ImportVolumeTaskDetails) SetImage(v *DiskImageDescription) *ImportVolumeTaskDetails {
90244	s.Image = v
90245	return s
90246}
90247
90248// SetVolume sets the Volume field's value.
90249func (s *ImportVolumeTaskDetails) SetVolume(v *DiskImageVolumeDescription) *ImportVolumeTaskDetails {
90250	s.Volume = v
90251	return s
90252}
90253
90254// Describes the Inference accelerators for the instance type.
90255type InferenceAcceleratorInfo struct {
90256	_ struct{} `type:"structure"`
90257
90258	// Describes the Inference accelerators for the instance type.
90259	Accelerators []*InferenceDeviceInfo `locationName:"accelerators" type:"list"`
90260}
90261
90262// String returns the string representation
90263func (s InferenceAcceleratorInfo) String() string {
90264	return awsutil.Prettify(s)
90265}
90266
90267// GoString returns the string representation
90268func (s InferenceAcceleratorInfo) GoString() string {
90269	return s.String()
90270}
90271
90272// SetAccelerators sets the Accelerators field's value.
90273func (s *InferenceAcceleratorInfo) SetAccelerators(v []*InferenceDeviceInfo) *InferenceAcceleratorInfo {
90274	s.Accelerators = v
90275	return s
90276}
90277
90278// Describes the Inference accelerators for the instance type.
90279type InferenceDeviceInfo struct {
90280	_ struct{} `type:"structure"`
90281
90282	// The number of Inference accelerators for the instance type.
90283	Count *int64 `locationName:"count" type:"integer"`
90284
90285	// The manufacturer of the Inference accelerator.
90286	Manufacturer *string `locationName:"manufacturer" type:"string"`
90287
90288	// The name of the Inference accelerator.
90289	Name *string `locationName:"name" type:"string"`
90290}
90291
90292// String returns the string representation
90293func (s InferenceDeviceInfo) String() string {
90294	return awsutil.Prettify(s)
90295}
90296
90297// GoString returns the string representation
90298func (s InferenceDeviceInfo) GoString() string {
90299	return s.String()
90300}
90301
90302// SetCount sets the Count field's value.
90303func (s *InferenceDeviceInfo) SetCount(v int64) *InferenceDeviceInfo {
90304	s.Count = &v
90305	return s
90306}
90307
90308// SetManufacturer sets the Manufacturer field's value.
90309func (s *InferenceDeviceInfo) SetManufacturer(v string) *InferenceDeviceInfo {
90310	s.Manufacturer = &v
90311	return s
90312}
90313
90314// SetName sets the Name field's value.
90315func (s *InferenceDeviceInfo) SetName(v string) *InferenceDeviceInfo {
90316	s.Name = &v
90317	return s
90318}
90319
90320// Describes an instance.
90321type Instance struct {
90322	_ struct{} `type:"structure"`
90323
90324	// The AMI launch index, which can be used to find this instance in the launch
90325	// group.
90326	AmiLaunchIndex *int64 `locationName:"amiLaunchIndex" type:"integer"`
90327
90328	// The architecture of the image.
90329	Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
90330
90331	// Any block device mapping entries for the instance.
90332	BlockDeviceMappings []*InstanceBlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
90333
90334	// The boot mode of the instance. For more information, see Boot modes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-boot.html)
90335	// in the Amazon EC2 User Guide.
90336	BootMode *string `locationName:"bootMode" type:"string" enum:"BootModeValues"`
90337
90338	// The ID of the Capacity Reservation.
90339	CapacityReservationId *string `locationName:"capacityReservationId" type:"string"`
90340
90341	// Information about the Capacity Reservation targeting option.
90342	CapacityReservationSpecification *CapacityReservationSpecificationResponse `locationName:"capacityReservationSpecification" type:"structure"`
90343
90344	// The idempotency token you provided when you launched the instance, if applicable.
90345	ClientToken *string `locationName:"clientToken" type:"string"`
90346
90347	// The CPU options for the instance.
90348	CpuOptions *CpuOptions `locationName:"cpuOptions" type:"structure"`
90349
90350	// Indicates whether the instance is optimized for Amazon EBS I/O. This optimization
90351	// provides dedicated throughput to Amazon EBS and an optimized configuration
90352	// stack to provide optimal I/O performance. This optimization isn't available
90353	// with all instance types. Additional usage charges apply when using an EBS
90354	// Optimized instance.
90355	EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
90356
90357	// The Elastic GPU associated with the instance.
90358	ElasticGpuAssociations []*ElasticGpuAssociation `locationName:"elasticGpuAssociationSet" locationNameList:"item" type:"list"`
90359
90360	// The elastic inference accelerator associated with the instance.
90361	ElasticInferenceAcceleratorAssociations []*ElasticInferenceAcceleratorAssociation `locationName:"elasticInferenceAcceleratorAssociationSet" locationNameList:"item" type:"list"`
90362
90363	// Specifies whether enhanced networking with ENA is enabled.
90364	EnaSupport *bool `locationName:"enaSupport" type:"boolean"`
90365
90366	// Indicates whether the instance is enabled for AWS Nitro Enclaves.
90367	EnclaveOptions *EnclaveOptions `locationName:"enclaveOptions" type:"structure"`
90368
90369	// Indicates whether the instance is enabled for hibernation.
90370	HibernationOptions *HibernationOptions `locationName:"hibernationOptions" type:"structure"`
90371
90372	// The hypervisor type of the instance. The value xen is used for both Xen and
90373	// Nitro hypervisors.
90374	Hypervisor *string `locationName:"hypervisor" type:"string" enum:"HypervisorType"`
90375
90376	// The IAM instance profile associated with the instance, if applicable.
90377	IamInstanceProfile *IamInstanceProfile `locationName:"iamInstanceProfile" type:"structure"`
90378
90379	// The ID of the AMI used to launch the instance.
90380	ImageId *string `locationName:"imageId" type:"string"`
90381
90382	// The ID of the instance.
90383	InstanceId *string `locationName:"instanceId" type:"string"`
90384
90385	// Indicates whether this is a Spot Instance or a Scheduled Instance.
90386	InstanceLifecycle *string `locationName:"instanceLifecycle" type:"string" enum:"InstanceLifecycleType"`
90387
90388	// The instance type.
90389	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
90390
90391	// The kernel associated with this instance, if applicable.
90392	KernelId *string `locationName:"kernelId" type:"string"`
90393
90394	// The name of the key pair, if this instance was launched with an associated
90395	// key pair.
90396	KeyName *string `locationName:"keyName" type:"string"`
90397
90398	// The time the instance was launched.
90399	LaunchTime *time.Time `locationName:"launchTime" type:"timestamp"`
90400
90401	// The license configurations.
90402	Licenses []*LicenseConfiguration `locationName:"licenseSet" locationNameList:"item" type:"list"`
90403
90404	// The metadata options for the instance.
90405	MetadataOptions *InstanceMetadataOptionsResponse `locationName:"metadataOptions" type:"structure"`
90406
90407	// The monitoring for the instance.
90408	Monitoring *Monitoring `locationName:"monitoring" type:"structure"`
90409
90410	// [EC2-VPC] The network interfaces for the instance.
90411	NetworkInterfaces []*InstanceNetworkInterface `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
90412
90413	// The Amazon Resource Name (ARN) of the Outpost.
90414	OutpostArn *string `locationName:"outpostArn" type:"string"`
90415
90416	// The location where the instance launched, if applicable.
90417	Placement *Placement `locationName:"placement" type:"structure"`
90418
90419	// The value is Windows for Windows instances; otherwise blank.
90420	Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
90421
90422	// (IPv4 only) The private DNS hostname name assigned to the instance. This
90423	// DNS hostname can only be used inside the Amazon EC2 network. This name is
90424	// not available until the instance enters the running state.
90425	//
90426	// [EC2-VPC] The Amazon-provided DNS server resolves Amazon-provided private
90427	// DNS hostnames if you've enabled DNS resolution and DNS hostnames in your
90428	// VPC. If you are not using the Amazon-provided DNS server in your VPC, your
90429	// custom domain name servers must resolve the hostname as appropriate.
90430	PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
90431
90432	// The private IPv4 address assigned to the instance.
90433	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
90434
90435	// The product codes attached to this instance, if applicable.
90436	ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
90437
90438	// (IPv4 only) The public DNS name assigned to the instance. This name is not
90439	// available until the instance enters the running state. For EC2-VPC, this
90440	// name is only available if you've enabled DNS hostnames for your VPC.
90441	PublicDnsName *string `locationName:"dnsName" type:"string"`
90442
90443	// The public IPv4 address, or the Carrier IP address assigned to the instance,
90444	// if applicable.
90445	//
90446	// A Carrier IP address only applies to an instance launched in a subnet associated
90447	// with a Wavelength Zone.
90448	PublicIpAddress *string `locationName:"ipAddress" type:"string"`
90449
90450	// The RAM disk associated with this instance, if applicable.
90451	RamdiskId *string `locationName:"ramdiskId" type:"string"`
90452
90453	// The device name of the root device volume (for example, /dev/sda1).
90454	RootDeviceName *string `locationName:"rootDeviceName" type:"string"`
90455
90456	// The root device type used by the AMI. The AMI can use an EBS volume or an
90457	// instance store volume.
90458	RootDeviceType *string `locationName:"rootDeviceType" type:"string" enum:"DeviceType"`
90459
90460	// The security groups for the instance.
90461	SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
90462
90463	// Indicates whether source/destination checking is enabled.
90464	SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"`
90465
90466	// If the request is a Spot Instance request, the ID of the request.
90467	SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
90468
90469	// Specifies whether enhanced networking with the Intel 82599 Virtual Function
90470	// interface is enabled.
90471	SriovNetSupport *string `locationName:"sriovNetSupport" type:"string"`
90472
90473	// The current state of the instance.
90474	State *InstanceState `locationName:"instanceState" type:"structure"`
90475
90476	// The reason for the most recent state transition.
90477	StateReason *StateReason `locationName:"stateReason" type:"structure"`
90478
90479	// The reason for the most recent state transition. This might be an empty string.
90480	StateTransitionReason *string `locationName:"reason" type:"string"`
90481
90482	// [EC2-VPC] The ID of the subnet in which the instance is running.
90483	SubnetId *string `locationName:"subnetId" type:"string"`
90484
90485	// Any tags assigned to the instance.
90486	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
90487
90488	// The virtualization type of the instance.
90489	VirtualizationType *string `locationName:"virtualizationType" type:"string" enum:"VirtualizationType"`
90490
90491	// [EC2-VPC] The ID of the VPC in which the instance is running.
90492	VpcId *string `locationName:"vpcId" type:"string"`
90493}
90494
90495// String returns the string representation
90496func (s Instance) String() string {
90497	return awsutil.Prettify(s)
90498}
90499
90500// GoString returns the string representation
90501func (s Instance) GoString() string {
90502	return s.String()
90503}
90504
90505// SetAmiLaunchIndex sets the AmiLaunchIndex field's value.
90506func (s *Instance) SetAmiLaunchIndex(v int64) *Instance {
90507	s.AmiLaunchIndex = &v
90508	return s
90509}
90510
90511// SetArchitecture sets the Architecture field's value.
90512func (s *Instance) SetArchitecture(v string) *Instance {
90513	s.Architecture = &v
90514	return s
90515}
90516
90517// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
90518func (s *Instance) SetBlockDeviceMappings(v []*InstanceBlockDeviceMapping) *Instance {
90519	s.BlockDeviceMappings = v
90520	return s
90521}
90522
90523// SetBootMode sets the BootMode field's value.
90524func (s *Instance) SetBootMode(v string) *Instance {
90525	s.BootMode = &v
90526	return s
90527}
90528
90529// SetCapacityReservationId sets the CapacityReservationId field's value.
90530func (s *Instance) SetCapacityReservationId(v string) *Instance {
90531	s.CapacityReservationId = &v
90532	return s
90533}
90534
90535// SetCapacityReservationSpecification sets the CapacityReservationSpecification field's value.
90536func (s *Instance) SetCapacityReservationSpecification(v *CapacityReservationSpecificationResponse) *Instance {
90537	s.CapacityReservationSpecification = v
90538	return s
90539}
90540
90541// SetClientToken sets the ClientToken field's value.
90542func (s *Instance) SetClientToken(v string) *Instance {
90543	s.ClientToken = &v
90544	return s
90545}
90546
90547// SetCpuOptions sets the CpuOptions field's value.
90548func (s *Instance) SetCpuOptions(v *CpuOptions) *Instance {
90549	s.CpuOptions = v
90550	return s
90551}
90552
90553// SetEbsOptimized sets the EbsOptimized field's value.
90554func (s *Instance) SetEbsOptimized(v bool) *Instance {
90555	s.EbsOptimized = &v
90556	return s
90557}
90558
90559// SetElasticGpuAssociations sets the ElasticGpuAssociations field's value.
90560func (s *Instance) SetElasticGpuAssociations(v []*ElasticGpuAssociation) *Instance {
90561	s.ElasticGpuAssociations = v
90562	return s
90563}
90564
90565// SetElasticInferenceAcceleratorAssociations sets the ElasticInferenceAcceleratorAssociations field's value.
90566func (s *Instance) SetElasticInferenceAcceleratorAssociations(v []*ElasticInferenceAcceleratorAssociation) *Instance {
90567	s.ElasticInferenceAcceleratorAssociations = v
90568	return s
90569}
90570
90571// SetEnaSupport sets the EnaSupport field's value.
90572func (s *Instance) SetEnaSupport(v bool) *Instance {
90573	s.EnaSupport = &v
90574	return s
90575}
90576
90577// SetEnclaveOptions sets the EnclaveOptions field's value.
90578func (s *Instance) SetEnclaveOptions(v *EnclaveOptions) *Instance {
90579	s.EnclaveOptions = v
90580	return s
90581}
90582
90583// SetHibernationOptions sets the HibernationOptions field's value.
90584func (s *Instance) SetHibernationOptions(v *HibernationOptions) *Instance {
90585	s.HibernationOptions = v
90586	return s
90587}
90588
90589// SetHypervisor sets the Hypervisor field's value.
90590func (s *Instance) SetHypervisor(v string) *Instance {
90591	s.Hypervisor = &v
90592	return s
90593}
90594
90595// SetIamInstanceProfile sets the IamInstanceProfile field's value.
90596func (s *Instance) SetIamInstanceProfile(v *IamInstanceProfile) *Instance {
90597	s.IamInstanceProfile = v
90598	return s
90599}
90600
90601// SetImageId sets the ImageId field's value.
90602func (s *Instance) SetImageId(v string) *Instance {
90603	s.ImageId = &v
90604	return s
90605}
90606
90607// SetInstanceId sets the InstanceId field's value.
90608func (s *Instance) SetInstanceId(v string) *Instance {
90609	s.InstanceId = &v
90610	return s
90611}
90612
90613// SetInstanceLifecycle sets the InstanceLifecycle field's value.
90614func (s *Instance) SetInstanceLifecycle(v string) *Instance {
90615	s.InstanceLifecycle = &v
90616	return s
90617}
90618
90619// SetInstanceType sets the InstanceType field's value.
90620func (s *Instance) SetInstanceType(v string) *Instance {
90621	s.InstanceType = &v
90622	return s
90623}
90624
90625// SetKernelId sets the KernelId field's value.
90626func (s *Instance) SetKernelId(v string) *Instance {
90627	s.KernelId = &v
90628	return s
90629}
90630
90631// SetKeyName sets the KeyName field's value.
90632func (s *Instance) SetKeyName(v string) *Instance {
90633	s.KeyName = &v
90634	return s
90635}
90636
90637// SetLaunchTime sets the LaunchTime field's value.
90638func (s *Instance) SetLaunchTime(v time.Time) *Instance {
90639	s.LaunchTime = &v
90640	return s
90641}
90642
90643// SetLicenses sets the Licenses field's value.
90644func (s *Instance) SetLicenses(v []*LicenseConfiguration) *Instance {
90645	s.Licenses = v
90646	return s
90647}
90648
90649// SetMetadataOptions sets the MetadataOptions field's value.
90650func (s *Instance) SetMetadataOptions(v *InstanceMetadataOptionsResponse) *Instance {
90651	s.MetadataOptions = v
90652	return s
90653}
90654
90655// SetMonitoring sets the Monitoring field's value.
90656func (s *Instance) SetMonitoring(v *Monitoring) *Instance {
90657	s.Monitoring = v
90658	return s
90659}
90660
90661// SetNetworkInterfaces sets the NetworkInterfaces field's value.
90662func (s *Instance) SetNetworkInterfaces(v []*InstanceNetworkInterface) *Instance {
90663	s.NetworkInterfaces = v
90664	return s
90665}
90666
90667// SetOutpostArn sets the OutpostArn field's value.
90668func (s *Instance) SetOutpostArn(v string) *Instance {
90669	s.OutpostArn = &v
90670	return s
90671}
90672
90673// SetPlacement sets the Placement field's value.
90674func (s *Instance) SetPlacement(v *Placement) *Instance {
90675	s.Placement = v
90676	return s
90677}
90678
90679// SetPlatform sets the Platform field's value.
90680func (s *Instance) SetPlatform(v string) *Instance {
90681	s.Platform = &v
90682	return s
90683}
90684
90685// SetPrivateDnsName sets the PrivateDnsName field's value.
90686func (s *Instance) SetPrivateDnsName(v string) *Instance {
90687	s.PrivateDnsName = &v
90688	return s
90689}
90690
90691// SetPrivateIpAddress sets the PrivateIpAddress field's value.
90692func (s *Instance) SetPrivateIpAddress(v string) *Instance {
90693	s.PrivateIpAddress = &v
90694	return s
90695}
90696
90697// SetProductCodes sets the ProductCodes field's value.
90698func (s *Instance) SetProductCodes(v []*ProductCode) *Instance {
90699	s.ProductCodes = v
90700	return s
90701}
90702
90703// SetPublicDnsName sets the PublicDnsName field's value.
90704func (s *Instance) SetPublicDnsName(v string) *Instance {
90705	s.PublicDnsName = &v
90706	return s
90707}
90708
90709// SetPublicIpAddress sets the PublicIpAddress field's value.
90710func (s *Instance) SetPublicIpAddress(v string) *Instance {
90711	s.PublicIpAddress = &v
90712	return s
90713}
90714
90715// SetRamdiskId sets the RamdiskId field's value.
90716func (s *Instance) SetRamdiskId(v string) *Instance {
90717	s.RamdiskId = &v
90718	return s
90719}
90720
90721// SetRootDeviceName sets the RootDeviceName field's value.
90722func (s *Instance) SetRootDeviceName(v string) *Instance {
90723	s.RootDeviceName = &v
90724	return s
90725}
90726
90727// SetRootDeviceType sets the RootDeviceType field's value.
90728func (s *Instance) SetRootDeviceType(v string) *Instance {
90729	s.RootDeviceType = &v
90730	return s
90731}
90732
90733// SetSecurityGroups sets the SecurityGroups field's value.
90734func (s *Instance) SetSecurityGroups(v []*GroupIdentifier) *Instance {
90735	s.SecurityGroups = v
90736	return s
90737}
90738
90739// SetSourceDestCheck sets the SourceDestCheck field's value.
90740func (s *Instance) SetSourceDestCheck(v bool) *Instance {
90741	s.SourceDestCheck = &v
90742	return s
90743}
90744
90745// SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
90746func (s *Instance) SetSpotInstanceRequestId(v string) *Instance {
90747	s.SpotInstanceRequestId = &v
90748	return s
90749}
90750
90751// SetSriovNetSupport sets the SriovNetSupport field's value.
90752func (s *Instance) SetSriovNetSupport(v string) *Instance {
90753	s.SriovNetSupport = &v
90754	return s
90755}
90756
90757// SetState sets the State field's value.
90758func (s *Instance) SetState(v *InstanceState) *Instance {
90759	s.State = v
90760	return s
90761}
90762
90763// SetStateReason sets the StateReason field's value.
90764func (s *Instance) SetStateReason(v *StateReason) *Instance {
90765	s.StateReason = v
90766	return s
90767}
90768
90769// SetStateTransitionReason sets the StateTransitionReason field's value.
90770func (s *Instance) SetStateTransitionReason(v string) *Instance {
90771	s.StateTransitionReason = &v
90772	return s
90773}
90774
90775// SetSubnetId sets the SubnetId field's value.
90776func (s *Instance) SetSubnetId(v string) *Instance {
90777	s.SubnetId = &v
90778	return s
90779}
90780
90781// SetTags sets the Tags field's value.
90782func (s *Instance) SetTags(v []*Tag) *Instance {
90783	s.Tags = v
90784	return s
90785}
90786
90787// SetVirtualizationType sets the VirtualizationType field's value.
90788func (s *Instance) SetVirtualizationType(v string) *Instance {
90789	s.VirtualizationType = &v
90790	return s
90791}
90792
90793// SetVpcId sets the VpcId field's value.
90794func (s *Instance) SetVpcId(v string) *Instance {
90795	s.VpcId = &v
90796	return s
90797}
90798
90799// Describes a block device mapping.
90800type InstanceBlockDeviceMapping struct {
90801	_ struct{} `type:"structure"`
90802
90803	// The device name (for example, /dev/sdh or xvdh).
90804	DeviceName *string `locationName:"deviceName" type:"string"`
90805
90806	// Parameters used to automatically set up EBS volumes when the instance is
90807	// launched.
90808	Ebs *EbsInstanceBlockDevice `locationName:"ebs" type:"structure"`
90809}
90810
90811// String returns the string representation
90812func (s InstanceBlockDeviceMapping) String() string {
90813	return awsutil.Prettify(s)
90814}
90815
90816// GoString returns the string representation
90817func (s InstanceBlockDeviceMapping) GoString() string {
90818	return s.String()
90819}
90820
90821// SetDeviceName sets the DeviceName field's value.
90822func (s *InstanceBlockDeviceMapping) SetDeviceName(v string) *InstanceBlockDeviceMapping {
90823	s.DeviceName = &v
90824	return s
90825}
90826
90827// SetEbs sets the Ebs field's value.
90828func (s *InstanceBlockDeviceMapping) SetEbs(v *EbsInstanceBlockDevice) *InstanceBlockDeviceMapping {
90829	s.Ebs = v
90830	return s
90831}
90832
90833// Describes a block device mapping entry.
90834type InstanceBlockDeviceMappingSpecification struct {
90835	_ struct{} `type:"structure"`
90836
90837	// The device name (for example, /dev/sdh or xvdh).
90838	DeviceName *string `locationName:"deviceName" type:"string"`
90839
90840	// Parameters used to automatically set up EBS volumes when the instance is
90841	// launched.
90842	Ebs *EbsInstanceBlockDeviceSpecification `locationName:"ebs" type:"structure"`
90843
90844	// suppress the specified device included in the block device mapping.
90845	NoDevice *string `locationName:"noDevice" type:"string"`
90846
90847	// The virtual device name.
90848	VirtualName *string `locationName:"virtualName" type:"string"`
90849}
90850
90851// String returns the string representation
90852func (s InstanceBlockDeviceMappingSpecification) String() string {
90853	return awsutil.Prettify(s)
90854}
90855
90856// GoString returns the string representation
90857func (s InstanceBlockDeviceMappingSpecification) GoString() string {
90858	return s.String()
90859}
90860
90861// SetDeviceName sets the DeviceName field's value.
90862func (s *InstanceBlockDeviceMappingSpecification) SetDeviceName(v string) *InstanceBlockDeviceMappingSpecification {
90863	s.DeviceName = &v
90864	return s
90865}
90866
90867// SetEbs sets the Ebs field's value.
90868func (s *InstanceBlockDeviceMappingSpecification) SetEbs(v *EbsInstanceBlockDeviceSpecification) *InstanceBlockDeviceMappingSpecification {
90869	s.Ebs = v
90870	return s
90871}
90872
90873// SetNoDevice sets the NoDevice field's value.
90874func (s *InstanceBlockDeviceMappingSpecification) SetNoDevice(v string) *InstanceBlockDeviceMappingSpecification {
90875	s.NoDevice = &v
90876	return s
90877}
90878
90879// SetVirtualName sets the VirtualName field's value.
90880func (s *InstanceBlockDeviceMappingSpecification) SetVirtualName(v string) *InstanceBlockDeviceMappingSpecification {
90881	s.VirtualName = &v
90882	return s
90883}
90884
90885// Information about the number of instances that can be launched onto the Dedicated
90886// Host.
90887type InstanceCapacity struct {
90888	_ struct{} `type:"structure"`
90889
90890	// The number of instances that can be launched onto the Dedicated Host based
90891	// on the host's available capacity.
90892	AvailableCapacity *int64 `locationName:"availableCapacity" type:"integer"`
90893
90894	// The instance type supported by the Dedicated Host.
90895	InstanceType *string `locationName:"instanceType" type:"string"`
90896
90897	// The total number of instances that can be launched onto the Dedicated Host
90898	// if there are no instances running on it.
90899	TotalCapacity *int64 `locationName:"totalCapacity" type:"integer"`
90900}
90901
90902// String returns the string representation
90903func (s InstanceCapacity) String() string {
90904	return awsutil.Prettify(s)
90905}
90906
90907// GoString returns the string representation
90908func (s InstanceCapacity) GoString() string {
90909	return s.String()
90910}
90911
90912// SetAvailableCapacity sets the AvailableCapacity field's value.
90913func (s *InstanceCapacity) SetAvailableCapacity(v int64) *InstanceCapacity {
90914	s.AvailableCapacity = &v
90915	return s
90916}
90917
90918// SetInstanceType sets the InstanceType field's value.
90919func (s *InstanceCapacity) SetInstanceType(v string) *InstanceCapacity {
90920	s.InstanceType = &v
90921	return s
90922}
90923
90924// SetTotalCapacity sets the TotalCapacity field's value.
90925func (s *InstanceCapacity) SetTotalCapacity(v int64) *InstanceCapacity {
90926	s.TotalCapacity = &v
90927	return s
90928}
90929
90930// Describes a Reserved Instance listing state.
90931type InstanceCount struct {
90932	_ struct{} `type:"structure"`
90933
90934	// The number of listed Reserved Instances in the state specified by the state.
90935	InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
90936
90937	// The states of the listed Reserved Instances.
90938	State *string `locationName:"state" type:"string" enum:"ListingState"`
90939}
90940
90941// String returns the string representation
90942func (s InstanceCount) String() string {
90943	return awsutil.Prettify(s)
90944}
90945
90946// GoString returns the string representation
90947func (s InstanceCount) GoString() string {
90948	return s.String()
90949}
90950
90951// SetInstanceCount sets the InstanceCount field's value.
90952func (s *InstanceCount) SetInstanceCount(v int64) *InstanceCount {
90953	s.InstanceCount = &v
90954	return s
90955}
90956
90957// SetState sets the State field's value.
90958func (s *InstanceCount) SetState(v string) *InstanceCount {
90959	s.State = &v
90960	return s
90961}
90962
90963// Describes the credit option for CPU usage of a burstable performance instance.
90964type InstanceCreditSpecification struct {
90965	_ struct{} `type:"structure"`
90966
90967	// The credit option for CPU usage of the instance. Valid values are standard
90968	// and unlimited.
90969	CpuCredits *string `locationName:"cpuCredits" type:"string"`
90970
90971	// The ID of the instance.
90972	InstanceId *string `locationName:"instanceId" type:"string"`
90973}
90974
90975// String returns the string representation
90976func (s InstanceCreditSpecification) String() string {
90977	return awsutil.Prettify(s)
90978}
90979
90980// GoString returns the string representation
90981func (s InstanceCreditSpecification) GoString() string {
90982	return s.String()
90983}
90984
90985// SetCpuCredits sets the CpuCredits field's value.
90986func (s *InstanceCreditSpecification) SetCpuCredits(v string) *InstanceCreditSpecification {
90987	s.CpuCredits = &v
90988	return s
90989}
90990
90991// SetInstanceId sets the InstanceId field's value.
90992func (s *InstanceCreditSpecification) SetInstanceId(v string) *InstanceCreditSpecification {
90993	s.InstanceId = &v
90994	return s
90995}
90996
90997// Describes the credit option for CPU usage of a burstable performance instance.
90998type InstanceCreditSpecificationRequest struct {
90999	_ struct{} `type:"structure"`
91000
91001	// The credit option for CPU usage of the instance. Valid values are standard
91002	// and unlimited.
91003	CpuCredits *string `type:"string"`
91004
91005	// The ID of the instance.
91006	InstanceId *string `type:"string"`
91007}
91008
91009// String returns the string representation
91010func (s InstanceCreditSpecificationRequest) String() string {
91011	return awsutil.Prettify(s)
91012}
91013
91014// GoString returns the string representation
91015func (s InstanceCreditSpecificationRequest) GoString() string {
91016	return s.String()
91017}
91018
91019// SetCpuCredits sets the CpuCredits field's value.
91020func (s *InstanceCreditSpecificationRequest) SetCpuCredits(v string) *InstanceCreditSpecificationRequest {
91021	s.CpuCredits = &v
91022	return s
91023}
91024
91025// SetInstanceId sets the InstanceId field's value.
91026func (s *InstanceCreditSpecificationRequest) SetInstanceId(v string) *InstanceCreditSpecificationRequest {
91027	s.InstanceId = &v
91028	return s
91029}
91030
91031// Describes an instance to export.
91032type InstanceExportDetails struct {
91033	_ struct{} `type:"structure"`
91034
91035	// The ID of the resource being exported.
91036	InstanceId *string `locationName:"instanceId" type:"string"`
91037
91038	// The target virtualization environment.
91039	TargetEnvironment *string `locationName:"targetEnvironment" type:"string" enum:"ExportEnvironment"`
91040}
91041
91042// String returns the string representation
91043func (s InstanceExportDetails) String() string {
91044	return awsutil.Prettify(s)
91045}
91046
91047// GoString returns the string representation
91048func (s InstanceExportDetails) GoString() string {
91049	return s.String()
91050}
91051
91052// SetInstanceId sets the InstanceId field's value.
91053func (s *InstanceExportDetails) SetInstanceId(v string) *InstanceExportDetails {
91054	s.InstanceId = &v
91055	return s
91056}
91057
91058// SetTargetEnvironment sets the TargetEnvironment field's value.
91059func (s *InstanceExportDetails) SetTargetEnvironment(v string) *InstanceExportDetails {
91060	s.TargetEnvironment = &v
91061	return s
91062}
91063
91064// Describes the default credit option for CPU usage of a burstable performance
91065// instance family.
91066type InstanceFamilyCreditSpecification struct {
91067	_ struct{} `type:"structure"`
91068
91069	// The default credit option for CPU usage of the instance family. Valid values
91070	// are standard and unlimited.
91071	CpuCredits *string `locationName:"cpuCredits" type:"string"`
91072
91073	// The instance family.
91074	InstanceFamily *string `locationName:"instanceFamily" type:"string" enum:"UnlimitedSupportedInstanceFamily"`
91075}
91076
91077// String returns the string representation
91078func (s InstanceFamilyCreditSpecification) String() string {
91079	return awsutil.Prettify(s)
91080}
91081
91082// GoString returns the string representation
91083func (s InstanceFamilyCreditSpecification) GoString() string {
91084	return s.String()
91085}
91086
91087// SetCpuCredits sets the CpuCredits field's value.
91088func (s *InstanceFamilyCreditSpecification) SetCpuCredits(v string) *InstanceFamilyCreditSpecification {
91089	s.CpuCredits = &v
91090	return s
91091}
91092
91093// SetInstanceFamily sets the InstanceFamily field's value.
91094func (s *InstanceFamilyCreditSpecification) SetInstanceFamily(v string) *InstanceFamilyCreditSpecification {
91095	s.InstanceFamily = &v
91096	return s
91097}
91098
91099// Describes an IPv6 address.
91100type InstanceIpv6Address struct {
91101	_ struct{} `type:"structure"`
91102
91103	// The IPv6 address.
91104	Ipv6Address *string `locationName:"ipv6Address" type:"string"`
91105}
91106
91107// String returns the string representation
91108func (s InstanceIpv6Address) String() string {
91109	return awsutil.Prettify(s)
91110}
91111
91112// GoString returns the string representation
91113func (s InstanceIpv6Address) GoString() string {
91114	return s.String()
91115}
91116
91117// SetIpv6Address sets the Ipv6Address field's value.
91118func (s *InstanceIpv6Address) SetIpv6Address(v string) *InstanceIpv6Address {
91119	s.Ipv6Address = &v
91120	return s
91121}
91122
91123// Describes an IPv6 address.
91124type InstanceIpv6AddressRequest struct {
91125	_ struct{} `type:"structure"`
91126
91127	// The IPv6 address.
91128	Ipv6Address *string `type:"string"`
91129}
91130
91131// String returns the string representation
91132func (s InstanceIpv6AddressRequest) String() string {
91133	return awsutil.Prettify(s)
91134}
91135
91136// GoString returns the string representation
91137func (s InstanceIpv6AddressRequest) GoString() string {
91138	return s.String()
91139}
91140
91141// SetIpv6Address sets the Ipv6Address field's value.
91142func (s *InstanceIpv6AddressRequest) SetIpv6Address(v string) *InstanceIpv6AddressRequest {
91143	s.Ipv6Address = &v
91144	return s
91145}
91146
91147// Describes the market (purchasing) option for the instances.
91148type InstanceMarketOptionsRequest struct {
91149	_ struct{} `type:"structure"`
91150
91151	// The market type.
91152	MarketType *string `type:"string" enum:"MarketType"`
91153
91154	// The options for Spot Instances.
91155	SpotOptions *SpotMarketOptions `type:"structure"`
91156}
91157
91158// String returns the string representation
91159func (s InstanceMarketOptionsRequest) String() string {
91160	return awsutil.Prettify(s)
91161}
91162
91163// GoString returns the string representation
91164func (s InstanceMarketOptionsRequest) GoString() string {
91165	return s.String()
91166}
91167
91168// SetMarketType sets the MarketType field's value.
91169func (s *InstanceMarketOptionsRequest) SetMarketType(v string) *InstanceMarketOptionsRequest {
91170	s.MarketType = &v
91171	return s
91172}
91173
91174// SetSpotOptions sets the SpotOptions field's value.
91175func (s *InstanceMarketOptionsRequest) SetSpotOptions(v *SpotMarketOptions) *InstanceMarketOptionsRequest {
91176	s.SpotOptions = v
91177	return s
91178}
91179
91180// The metadata options for the instance.
91181type InstanceMetadataOptionsRequest struct {
91182	_ struct{} `type:"structure"`
91183
91184	// This parameter enables or disables the HTTP metadata endpoint on your instances.
91185	// If the parameter is not specified, the default state is enabled.
91186	//
91187	// If you specify a value of disabled, you will not be able to access your instance
91188	// metadata.
91189	HttpEndpoint *string `type:"string" enum:"InstanceMetadataEndpointState"`
91190
91191	// The desired HTTP PUT response hop limit for instance metadata requests. The
91192	// larger the number, the further instance metadata requests can travel.
91193	//
91194	// Default: 1
91195	//
91196	// Possible values: Integers from 1 to 64
91197	HttpPutResponseHopLimit *int64 `type:"integer"`
91198
91199	// The state of token usage for your instance metadata requests. If the parameter
91200	// is not specified in the request, the default state is optional.
91201	//
91202	// If the state is optional, you can choose to retrieve instance metadata with
91203	// or without a signed token header on your request. If you retrieve the IAM
91204	// role credentials without a token, the version 1.0 role credentials are returned.
91205	// If you retrieve the IAM role credentials using a valid signed token, the
91206	// version 2.0 role credentials are returned.
91207	//
91208	// If the state is required, you must send a signed token header with any instance
91209	// metadata retrieval requests. In this state, retrieving the IAM role credentials
91210	// always returns the version 2.0 credentials; the version 1.0 credentials are
91211	// not available.
91212	HttpTokens *string `type:"string" enum:"HttpTokensState"`
91213}
91214
91215// String returns the string representation
91216func (s InstanceMetadataOptionsRequest) String() string {
91217	return awsutil.Prettify(s)
91218}
91219
91220// GoString returns the string representation
91221func (s InstanceMetadataOptionsRequest) GoString() string {
91222	return s.String()
91223}
91224
91225// SetHttpEndpoint sets the HttpEndpoint field's value.
91226func (s *InstanceMetadataOptionsRequest) SetHttpEndpoint(v string) *InstanceMetadataOptionsRequest {
91227	s.HttpEndpoint = &v
91228	return s
91229}
91230
91231// SetHttpPutResponseHopLimit sets the HttpPutResponseHopLimit field's value.
91232func (s *InstanceMetadataOptionsRequest) SetHttpPutResponseHopLimit(v int64) *InstanceMetadataOptionsRequest {
91233	s.HttpPutResponseHopLimit = &v
91234	return s
91235}
91236
91237// SetHttpTokens sets the HttpTokens field's value.
91238func (s *InstanceMetadataOptionsRequest) SetHttpTokens(v string) *InstanceMetadataOptionsRequest {
91239	s.HttpTokens = &v
91240	return s
91241}
91242
91243// The metadata options for the instance.
91244type InstanceMetadataOptionsResponse struct {
91245	_ struct{} `type:"structure"`
91246
91247	// This parameter enables or disables the HTTP metadata endpoint on your instances.
91248	// If the parameter is not specified, the default state is enabled.
91249	//
91250	// If you specify a value of disabled, you will not be able to access your instance
91251	// metadata.
91252	HttpEndpoint *string `locationName:"httpEndpoint" type:"string" enum:"InstanceMetadataEndpointState"`
91253
91254	// The desired HTTP PUT response hop limit for instance metadata requests. The
91255	// larger the number, the further instance metadata requests can travel.
91256	//
91257	// Default: 1
91258	//
91259	// Possible values: Integers from 1 to 64
91260	HttpPutResponseHopLimit *int64 `locationName:"httpPutResponseHopLimit" type:"integer"`
91261
91262	// The state of token usage for your instance metadata requests. If the parameter
91263	// is not specified in the request, the default state is optional.
91264	//
91265	// If the state is optional, you can choose to retrieve instance metadata with
91266	// or without a signed token header on your request. If you retrieve the IAM
91267	// role credentials without a token, the version 1.0 role credentials are returned.
91268	// If you retrieve the IAM role credentials using a valid signed token, the
91269	// version 2.0 role credentials are returned.
91270	//
91271	// If the state is required, you must send a signed token header with any instance
91272	// metadata retrieval requests. In this state, retrieving the IAM role credential
91273	// always returns the version 2.0 credentials; the version 1.0 credentials are
91274	// not available.
91275	HttpTokens *string `locationName:"httpTokens" type:"string" enum:"HttpTokensState"`
91276
91277	// The state of the metadata option changes.
91278	//
91279	// pending - The metadata options are being updated and the instance is not
91280	// ready to process metadata traffic with the new selection.
91281	//
91282	// applied - The metadata options have been successfully applied on the instance.
91283	State *string `locationName:"state" type:"string" enum:"InstanceMetadataOptionsState"`
91284}
91285
91286// String returns the string representation
91287func (s InstanceMetadataOptionsResponse) String() string {
91288	return awsutil.Prettify(s)
91289}
91290
91291// GoString returns the string representation
91292func (s InstanceMetadataOptionsResponse) GoString() string {
91293	return s.String()
91294}
91295
91296// SetHttpEndpoint sets the HttpEndpoint field's value.
91297func (s *InstanceMetadataOptionsResponse) SetHttpEndpoint(v string) *InstanceMetadataOptionsResponse {
91298	s.HttpEndpoint = &v
91299	return s
91300}
91301
91302// SetHttpPutResponseHopLimit sets the HttpPutResponseHopLimit field's value.
91303func (s *InstanceMetadataOptionsResponse) SetHttpPutResponseHopLimit(v int64) *InstanceMetadataOptionsResponse {
91304	s.HttpPutResponseHopLimit = &v
91305	return s
91306}
91307
91308// SetHttpTokens sets the HttpTokens field's value.
91309func (s *InstanceMetadataOptionsResponse) SetHttpTokens(v string) *InstanceMetadataOptionsResponse {
91310	s.HttpTokens = &v
91311	return s
91312}
91313
91314// SetState sets the State field's value.
91315func (s *InstanceMetadataOptionsResponse) SetState(v string) *InstanceMetadataOptionsResponse {
91316	s.State = &v
91317	return s
91318}
91319
91320// Describes the monitoring of an instance.
91321type InstanceMonitoring struct {
91322	_ struct{} `type:"structure"`
91323
91324	// The ID of the instance.
91325	InstanceId *string `locationName:"instanceId" type:"string"`
91326
91327	// The monitoring for the instance.
91328	Monitoring *Monitoring `locationName:"monitoring" type:"structure"`
91329}
91330
91331// String returns the string representation
91332func (s InstanceMonitoring) String() string {
91333	return awsutil.Prettify(s)
91334}
91335
91336// GoString returns the string representation
91337func (s InstanceMonitoring) GoString() string {
91338	return s.String()
91339}
91340
91341// SetInstanceId sets the InstanceId field's value.
91342func (s *InstanceMonitoring) SetInstanceId(v string) *InstanceMonitoring {
91343	s.InstanceId = &v
91344	return s
91345}
91346
91347// SetMonitoring sets the Monitoring field's value.
91348func (s *InstanceMonitoring) SetMonitoring(v *Monitoring) *InstanceMonitoring {
91349	s.Monitoring = v
91350	return s
91351}
91352
91353// Describes a network interface.
91354type InstanceNetworkInterface struct {
91355	_ struct{} `type:"structure"`
91356
91357	// The association information for an Elastic IPv4 associated with the network
91358	// interface.
91359	Association *InstanceNetworkInterfaceAssociation `locationName:"association" type:"structure"`
91360
91361	// The network interface attachment.
91362	Attachment *InstanceNetworkInterfaceAttachment `locationName:"attachment" type:"structure"`
91363
91364	// The description.
91365	Description *string `locationName:"description" type:"string"`
91366
91367	// One or more security groups.
91368	Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
91369
91370	// Describes the type of network interface.
91371	//
91372	// Valid values: interface | efa
91373	InterfaceType *string `locationName:"interfaceType" type:"string"`
91374
91375	// One or more IPv6 addresses associated with the network interface.
91376	Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6AddressesSet" locationNameList:"item" type:"list"`
91377
91378	// The MAC address.
91379	MacAddress *string `locationName:"macAddress" type:"string"`
91380
91381	// The ID of the network interface.
91382	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
91383
91384	// The ID of the AWS account that created the network interface.
91385	OwnerId *string `locationName:"ownerId" type:"string"`
91386
91387	// The private DNS name.
91388	PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
91389
91390	// The IPv4 address of the network interface within the subnet.
91391	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
91392
91393	// One or more private IPv4 addresses associated with the network interface.
91394	PrivateIpAddresses []*InstancePrivateIpAddress `locationName:"privateIpAddressesSet" locationNameList:"item" type:"list"`
91395
91396	// Indicates whether source/destination checking is enabled.
91397	SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"`
91398
91399	// The status of the network interface.
91400	Status *string `locationName:"status" type:"string" enum:"NetworkInterfaceStatus"`
91401
91402	// The ID of the subnet.
91403	SubnetId *string `locationName:"subnetId" type:"string"`
91404
91405	// The ID of the VPC.
91406	VpcId *string `locationName:"vpcId" type:"string"`
91407}
91408
91409// String returns the string representation
91410func (s InstanceNetworkInterface) String() string {
91411	return awsutil.Prettify(s)
91412}
91413
91414// GoString returns the string representation
91415func (s InstanceNetworkInterface) GoString() string {
91416	return s.String()
91417}
91418
91419// SetAssociation sets the Association field's value.
91420func (s *InstanceNetworkInterface) SetAssociation(v *InstanceNetworkInterfaceAssociation) *InstanceNetworkInterface {
91421	s.Association = v
91422	return s
91423}
91424
91425// SetAttachment sets the Attachment field's value.
91426func (s *InstanceNetworkInterface) SetAttachment(v *InstanceNetworkInterfaceAttachment) *InstanceNetworkInterface {
91427	s.Attachment = v
91428	return s
91429}
91430
91431// SetDescription sets the Description field's value.
91432func (s *InstanceNetworkInterface) SetDescription(v string) *InstanceNetworkInterface {
91433	s.Description = &v
91434	return s
91435}
91436
91437// SetGroups sets the Groups field's value.
91438func (s *InstanceNetworkInterface) SetGroups(v []*GroupIdentifier) *InstanceNetworkInterface {
91439	s.Groups = v
91440	return s
91441}
91442
91443// SetInterfaceType sets the InterfaceType field's value.
91444func (s *InstanceNetworkInterface) SetInterfaceType(v string) *InstanceNetworkInterface {
91445	s.InterfaceType = &v
91446	return s
91447}
91448
91449// SetIpv6Addresses sets the Ipv6Addresses field's value.
91450func (s *InstanceNetworkInterface) SetIpv6Addresses(v []*InstanceIpv6Address) *InstanceNetworkInterface {
91451	s.Ipv6Addresses = v
91452	return s
91453}
91454
91455// SetMacAddress sets the MacAddress field's value.
91456func (s *InstanceNetworkInterface) SetMacAddress(v string) *InstanceNetworkInterface {
91457	s.MacAddress = &v
91458	return s
91459}
91460
91461// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
91462func (s *InstanceNetworkInterface) SetNetworkInterfaceId(v string) *InstanceNetworkInterface {
91463	s.NetworkInterfaceId = &v
91464	return s
91465}
91466
91467// SetOwnerId sets the OwnerId field's value.
91468func (s *InstanceNetworkInterface) SetOwnerId(v string) *InstanceNetworkInterface {
91469	s.OwnerId = &v
91470	return s
91471}
91472
91473// SetPrivateDnsName sets the PrivateDnsName field's value.
91474func (s *InstanceNetworkInterface) SetPrivateDnsName(v string) *InstanceNetworkInterface {
91475	s.PrivateDnsName = &v
91476	return s
91477}
91478
91479// SetPrivateIpAddress sets the PrivateIpAddress field's value.
91480func (s *InstanceNetworkInterface) SetPrivateIpAddress(v string) *InstanceNetworkInterface {
91481	s.PrivateIpAddress = &v
91482	return s
91483}
91484
91485// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
91486func (s *InstanceNetworkInterface) SetPrivateIpAddresses(v []*InstancePrivateIpAddress) *InstanceNetworkInterface {
91487	s.PrivateIpAddresses = v
91488	return s
91489}
91490
91491// SetSourceDestCheck sets the SourceDestCheck field's value.
91492func (s *InstanceNetworkInterface) SetSourceDestCheck(v bool) *InstanceNetworkInterface {
91493	s.SourceDestCheck = &v
91494	return s
91495}
91496
91497// SetStatus sets the Status field's value.
91498func (s *InstanceNetworkInterface) SetStatus(v string) *InstanceNetworkInterface {
91499	s.Status = &v
91500	return s
91501}
91502
91503// SetSubnetId sets the SubnetId field's value.
91504func (s *InstanceNetworkInterface) SetSubnetId(v string) *InstanceNetworkInterface {
91505	s.SubnetId = &v
91506	return s
91507}
91508
91509// SetVpcId sets the VpcId field's value.
91510func (s *InstanceNetworkInterface) SetVpcId(v string) *InstanceNetworkInterface {
91511	s.VpcId = &v
91512	return s
91513}
91514
91515// Describes association information for an Elastic IP address (IPv4).
91516type InstanceNetworkInterfaceAssociation struct {
91517	_ struct{} `type:"structure"`
91518
91519	// The carrier IP address associated with the network interface.
91520	CarrierIp *string `locationName:"carrierIp" type:"string"`
91521
91522	// The ID of the owner of the Elastic IP address.
91523	IpOwnerId *string `locationName:"ipOwnerId" type:"string"`
91524
91525	// The public DNS name.
91526	PublicDnsName *string `locationName:"publicDnsName" type:"string"`
91527
91528	// The public IP address or Elastic IP address bound to the network interface.
91529	PublicIp *string `locationName:"publicIp" type:"string"`
91530}
91531
91532// String returns the string representation
91533func (s InstanceNetworkInterfaceAssociation) String() string {
91534	return awsutil.Prettify(s)
91535}
91536
91537// GoString returns the string representation
91538func (s InstanceNetworkInterfaceAssociation) GoString() string {
91539	return s.String()
91540}
91541
91542// SetCarrierIp sets the CarrierIp field's value.
91543func (s *InstanceNetworkInterfaceAssociation) SetCarrierIp(v string) *InstanceNetworkInterfaceAssociation {
91544	s.CarrierIp = &v
91545	return s
91546}
91547
91548// SetIpOwnerId sets the IpOwnerId field's value.
91549func (s *InstanceNetworkInterfaceAssociation) SetIpOwnerId(v string) *InstanceNetworkInterfaceAssociation {
91550	s.IpOwnerId = &v
91551	return s
91552}
91553
91554// SetPublicDnsName sets the PublicDnsName field's value.
91555func (s *InstanceNetworkInterfaceAssociation) SetPublicDnsName(v string) *InstanceNetworkInterfaceAssociation {
91556	s.PublicDnsName = &v
91557	return s
91558}
91559
91560// SetPublicIp sets the PublicIp field's value.
91561func (s *InstanceNetworkInterfaceAssociation) SetPublicIp(v string) *InstanceNetworkInterfaceAssociation {
91562	s.PublicIp = &v
91563	return s
91564}
91565
91566// Describes a network interface attachment.
91567type InstanceNetworkInterfaceAttachment struct {
91568	_ struct{} `type:"structure"`
91569
91570	// The time stamp when the attachment initiated.
91571	AttachTime *time.Time `locationName:"attachTime" type:"timestamp"`
91572
91573	// The ID of the network interface attachment.
91574	AttachmentId *string `locationName:"attachmentId" type:"string"`
91575
91576	// Indicates whether the network interface is deleted when the instance is terminated.
91577	DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
91578
91579	// The index of the device on the instance for the network interface attachment.
91580	DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
91581
91582	// The index of the network card.
91583	NetworkCardIndex *int64 `locationName:"networkCardIndex" type:"integer"`
91584
91585	// The attachment state.
91586	Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
91587}
91588
91589// String returns the string representation
91590func (s InstanceNetworkInterfaceAttachment) String() string {
91591	return awsutil.Prettify(s)
91592}
91593
91594// GoString returns the string representation
91595func (s InstanceNetworkInterfaceAttachment) GoString() string {
91596	return s.String()
91597}
91598
91599// SetAttachTime sets the AttachTime field's value.
91600func (s *InstanceNetworkInterfaceAttachment) SetAttachTime(v time.Time) *InstanceNetworkInterfaceAttachment {
91601	s.AttachTime = &v
91602	return s
91603}
91604
91605// SetAttachmentId sets the AttachmentId field's value.
91606func (s *InstanceNetworkInterfaceAttachment) SetAttachmentId(v string) *InstanceNetworkInterfaceAttachment {
91607	s.AttachmentId = &v
91608	return s
91609}
91610
91611// SetDeleteOnTermination sets the DeleteOnTermination field's value.
91612func (s *InstanceNetworkInterfaceAttachment) SetDeleteOnTermination(v bool) *InstanceNetworkInterfaceAttachment {
91613	s.DeleteOnTermination = &v
91614	return s
91615}
91616
91617// SetDeviceIndex sets the DeviceIndex field's value.
91618func (s *InstanceNetworkInterfaceAttachment) SetDeviceIndex(v int64) *InstanceNetworkInterfaceAttachment {
91619	s.DeviceIndex = &v
91620	return s
91621}
91622
91623// SetNetworkCardIndex sets the NetworkCardIndex field's value.
91624func (s *InstanceNetworkInterfaceAttachment) SetNetworkCardIndex(v int64) *InstanceNetworkInterfaceAttachment {
91625	s.NetworkCardIndex = &v
91626	return s
91627}
91628
91629// SetStatus sets the Status field's value.
91630func (s *InstanceNetworkInterfaceAttachment) SetStatus(v string) *InstanceNetworkInterfaceAttachment {
91631	s.Status = &v
91632	return s
91633}
91634
91635// Describes a network interface.
91636type InstanceNetworkInterfaceSpecification struct {
91637	_ struct{} `type:"structure"`
91638
91639	// Indicates whether to assign a carrier IP address to the network interface.
91640	//
91641	// You can only assign a carrier IP address to a network interface that is in
91642	// a subnet in a Wavelength Zone. For more information about carrier IP addresses,
91643	// see Carrier IP addresses in the AWS Wavelength Developer Guide.
91644	AssociateCarrierIpAddress *bool `type:"boolean"`
91645
91646	// Indicates whether to assign a public IPv4 address to an instance you launch
91647	// in a VPC. The public IP address can only be assigned to a network interface
91648	// for eth0, and can only be assigned to a new network interface, not an existing
91649	// one. You cannot specify more than one network interface in the request. If
91650	// launching into a default subnet, the default value is true.
91651	AssociatePublicIpAddress *bool `locationName:"associatePublicIpAddress" type:"boolean"`
91652
91653	// If set to true, the interface is deleted when the instance is terminated.
91654	// You can specify true only if creating a new network interface when launching
91655	// an instance.
91656	DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
91657
91658	// The description of the network interface. Applies only if creating a network
91659	// interface when launching an instance.
91660	Description *string `locationName:"description" type:"string"`
91661
91662	// The position of the network interface in the attachment order. A primary
91663	// network interface has a device index of 0.
91664	//
91665	// If you specify a network interface when launching an instance, you must specify
91666	// the device index.
91667	DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
91668
91669	// The IDs of the security groups for the network interface. Applies only if
91670	// creating a network interface when launching an instance.
91671	Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
91672
91673	// The type of network interface.
91674	//
91675	// To create an Elastic Fabric Adapter (EFA), specify efa. For more information,
91676	// see Elastic Fabric Adapter (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html)
91677	// in the Amazon Elastic Compute Cloud User Guide.
91678	//
91679	// If you are not creating an EFA, specify interface or omit this parameter.
91680	//
91681	// Valid values: interface | efa
91682	InterfaceType *string `type:"string"`
91683
91684	// A number of IPv6 addresses to assign to the network interface. Amazon EC2
91685	// chooses the IPv6 addresses from the range of the subnet. You cannot specify
91686	// this option and the option to assign specific IPv6 addresses in the same
91687	// request. You can specify this option if you've specified a minimum number
91688	// of instances to launch.
91689	Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"`
91690
91691	// One or more IPv6 addresses to assign to the network interface. You cannot
91692	// specify this option and the option to assign a number of IPv6 addresses in
91693	// the same request. You cannot specify this option if you've specified a minimum
91694	// number of instances to launch.
91695	Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6AddressesSet" queryName:"Ipv6Addresses" locationNameList:"item" type:"list"`
91696
91697	// The index of the network card. Some instance types support multiple network
91698	// cards. The primary network interface must be assigned to network card index
91699	// 0. The default is network card index 0.
91700	NetworkCardIndex *int64 `type:"integer"`
91701
91702	// The ID of the network interface.
91703	//
91704	// If you are creating a Spot Fleet, omit this parameter because you can’t
91705	// specify a network interface ID in a launch specification.
91706	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
91707
91708	// The private IPv4 address of the network interface. Applies only if creating
91709	// a network interface when launching an instance. You cannot specify this option
91710	// if you're launching more than one instance in a RunInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html)
91711	// request.
91712	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
91713
91714	// One or more private IPv4 addresses to assign to the network interface. Only
91715	// one private IPv4 address can be designated as primary. You cannot specify
91716	// this option if you're launching more than one instance in a RunInstances
91717	// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html)
91718	// request.
91719	PrivateIpAddresses []*PrivateIpAddressSpecification `locationName:"privateIpAddressesSet" queryName:"PrivateIpAddresses" locationNameList:"item" type:"list"`
91720
91721	// The number of secondary private IPv4 addresses. You can't specify this option
91722	// and specify more than one private IP address using the private IP addresses
91723	// option. You cannot specify this option if you're launching more than one
91724	// instance in a RunInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html)
91725	// request.
91726	SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
91727
91728	// The ID of the subnet associated with the network interface. Applies only
91729	// if creating a network interface when launching an instance.
91730	SubnetId *string `locationName:"subnetId" type:"string"`
91731}
91732
91733// String returns the string representation
91734func (s InstanceNetworkInterfaceSpecification) String() string {
91735	return awsutil.Prettify(s)
91736}
91737
91738// GoString returns the string representation
91739func (s InstanceNetworkInterfaceSpecification) GoString() string {
91740	return s.String()
91741}
91742
91743// SetAssociateCarrierIpAddress sets the AssociateCarrierIpAddress field's value.
91744func (s *InstanceNetworkInterfaceSpecification) SetAssociateCarrierIpAddress(v bool) *InstanceNetworkInterfaceSpecification {
91745	s.AssociateCarrierIpAddress = &v
91746	return s
91747}
91748
91749// SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
91750func (s *InstanceNetworkInterfaceSpecification) SetAssociatePublicIpAddress(v bool) *InstanceNetworkInterfaceSpecification {
91751	s.AssociatePublicIpAddress = &v
91752	return s
91753}
91754
91755// SetDeleteOnTermination sets the DeleteOnTermination field's value.
91756func (s *InstanceNetworkInterfaceSpecification) SetDeleteOnTermination(v bool) *InstanceNetworkInterfaceSpecification {
91757	s.DeleteOnTermination = &v
91758	return s
91759}
91760
91761// SetDescription sets the Description field's value.
91762func (s *InstanceNetworkInterfaceSpecification) SetDescription(v string) *InstanceNetworkInterfaceSpecification {
91763	s.Description = &v
91764	return s
91765}
91766
91767// SetDeviceIndex sets the DeviceIndex field's value.
91768func (s *InstanceNetworkInterfaceSpecification) SetDeviceIndex(v int64) *InstanceNetworkInterfaceSpecification {
91769	s.DeviceIndex = &v
91770	return s
91771}
91772
91773// SetGroups sets the Groups field's value.
91774func (s *InstanceNetworkInterfaceSpecification) SetGroups(v []*string) *InstanceNetworkInterfaceSpecification {
91775	s.Groups = v
91776	return s
91777}
91778
91779// SetInterfaceType sets the InterfaceType field's value.
91780func (s *InstanceNetworkInterfaceSpecification) SetInterfaceType(v string) *InstanceNetworkInterfaceSpecification {
91781	s.InterfaceType = &v
91782	return s
91783}
91784
91785// SetIpv6AddressCount sets the Ipv6AddressCount field's value.
91786func (s *InstanceNetworkInterfaceSpecification) SetIpv6AddressCount(v int64) *InstanceNetworkInterfaceSpecification {
91787	s.Ipv6AddressCount = &v
91788	return s
91789}
91790
91791// SetIpv6Addresses sets the Ipv6Addresses field's value.
91792func (s *InstanceNetworkInterfaceSpecification) SetIpv6Addresses(v []*InstanceIpv6Address) *InstanceNetworkInterfaceSpecification {
91793	s.Ipv6Addresses = v
91794	return s
91795}
91796
91797// SetNetworkCardIndex sets the NetworkCardIndex field's value.
91798func (s *InstanceNetworkInterfaceSpecification) SetNetworkCardIndex(v int64) *InstanceNetworkInterfaceSpecification {
91799	s.NetworkCardIndex = &v
91800	return s
91801}
91802
91803// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
91804func (s *InstanceNetworkInterfaceSpecification) SetNetworkInterfaceId(v string) *InstanceNetworkInterfaceSpecification {
91805	s.NetworkInterfaceId = &v
91806	return s
91807}
91808
91809// SetPrivateIpAddress sets the PrivateIpAddress field's value.
91810func (s *InstanceNetworkInterfaceSpecification) SetPrivateIpAddress(v string) *InstanceNetworkInterfaceSpecification {
91811	s.PrivateIpAddress = &v
91812	return s
91813}
91814
91815// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
91816func (s *InstanceNetworkInterfaceSpecification) SetPrivateIpAddresses(v []*PrivateIpAddressSpecification) *InstanceNetworkInterfaceSpecification {
91817	s.PrivateIpAddresses = v
91818	return s
91819}
91820
91821// SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
91822func (s *InstanceNetworkInterfaceSpecification) SetSecondaryPrivateIpAddressCount(v int64) *InstanceNetworkInterfaceSpecification {
91823	s.SecondaryPrivateIpAddressCount = &v
91824	return s
91825}
91826
91827// SetSubnetId sets the SubnetId field's value.
91828func (s *InstanceNetworkInterfaceSpecification) SetSubnetId(v string) *InstanceNetworkInterfaceSpecification {
91829	s.SubnetId = &v
91830	return s
91831}
91832
91833// Describes a private IPv4 address.
91834type InstancePrivateIpAddress struct {
91835	_ struct{} `type:"structure"`
91836
91837	// The association information for an Elastic IP address for the network interface.
91838	Association *InstanceNetworkInterfaceAssociation `locationName:"association" type:"structure"`
91839
91840	// Indicates whether this IPv4 address is the primary private IP address of
91841	// the network interface.
91842	Primary *bool `locationName:"primary" type:"boolean"`
91843
91844	// The private IPv4 DNS name.
91845	PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
91846
91847	// The private IPv4 address of the network interface.
91848	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
91849}
91850
91851// String returns the string representation
91852func (s InstancePrivateIpAddress) String() string {
91853	return awsutil.Prettify(s)
91854}
91855
91856// GoString returns the string representation
91857func (s InstancePrivateIpAddress) GoString() string {
91858	return s.String()
91859}
91860
91861// SetAssociation sets the Association field's value.
91862func (s *InstancePrivateIpAddress) SetAssociation(v *InstanceNetworkInterfaceAssociation) *InstancePrivateIpAddress {
91863	s.Association = v
91864	return s
91865}
91866
91867// SetPrimary sets the Primary field's value.
91868func (s *InstancePrivateIpAddress) SetPrimary(v bool) *InstancePrivateIpAddress {
91869	s.Primary = &v
91870	return s
91871}
91872
91873// SetPrivateDnsName sets the PrivateDnsName field's value.
91874func (s *InstancePrivateIpAddress) SetPrivateDnsName(v string) *InstancePrivateIpAddress {
91875	s.PrivateDnsName = &v
91876	return s
91877}
91878
91879// SetPrivateIpAddress sets the PrivateIpAddress field's value.
91880func (s *InstancePrivateIpAddress) SetPrivateIpAddress(v string) *InstancePrivateIpAddress {
91881	s.PrivateIpAddress = &v
91882	return s
91883}
91884
91885// The instance details to specify which volumes should be snapshotted.
91886type InstanceSpecification struct {
91887	_ struct{} `type:"structure"`
91888
91889	// Excludes the root volume from being snapshotted.
91890	ExcludeBootVolume *bool `type:"boolean"`
91891
91892	// The instance to specify which volumes should be snapshotted.
91893	InstanceId *string `type:"string"`
91894}
91895
91896// String returns the string representation
91897func (s InstanceSpecification) String() string {
91898	return awsutil.Prettify(s)
91899}
91900
91901// GoString returns the string representation
91902func (s InstanceSpecification) GoString() string {
91903	return s.String()
91904}
91905
91906// SetExcludeBootVolume sets the ExcludeBootVolume field's value.
91907func (s *InstanceSpecification) SetExcludeBootVolume(v bool) *InstanceSpecification {
91908	s.ExcludeBootVolume = &v
91909	return s
91910}
91911
91912// SetInstanceId sets the InstanceId field's value.
91913func (s *InstanceSpecification) SetInstanceId(v string) *InstanceSpecification {
91914	s.InstanceId = &v
91915	return s
91916}
91917
91918// Describes the current state of an instance.
91919type InstanceState struct {
91920	_ struct{} `type:"structure"`
91921
91922	// The state of the instance as a 16-bit unsigned integer.
91923	//
91924	// The high byte is all of the bits between 2^8 and (2^16)-1, which equals decimal
91925	// values between 256 and 65,535. These numerical values are used for internal
91926	// purposes and should be ignored.
91927	//
91928	// The low byte is all of the bits between 2^0 and (2^8)-1, which equals decimal
91929	// values between 0 and 255.
91930	//
91931	// The valid values for instance-state-code will all be in the range of the
91932	// low byte and they are:
91933	//
91934	//    * 0 : pending
91935	//
91936	//    * 16 : running
91937	//
91938	//    * 32 : shutting-down
91939	//
91940	//    * 48 : terminated
91941	//
91942	//    * 64 : stopping
91943	//
91944	//    * 80 : stopped
91945	//
91946	// You can ignore the high byte value by zeroing out all of the bits above 2^8
91947	// or 256 in decimal.
91948	Code *int64 `locationName:"code" type:"integer"`
91949
91950	// The current state of the instance.
91951	Name *string `locationName:"name" type:"string" enum:"InstanceStateName"`
91952}
91953
91954// String returns the string representation
91955func (s InstanceState) String() string {
91956	return awsutil.Prettify(s)
91957}
91958
91959// GoString returns the string representation
91960func (s InstanceState) GoString() string {
91961	return s.String()
91962}
91963
91964// SetCode sets the Code field's value.
91965func (s *InstanceState) SetCode(v int64) *InstanceState {
91966	s.Code = &v
91967	return s
91968}
91969
91970// SetName sets the Name field's value.
91971func (s *InstanceState) SetName(v string) *InstanceState {
91972	s.Name = &v
91973	return s
91974}
91975
91976// Describes an instance state change.
91977type InstanceStateChange struct {
91978	_ struct{} `type:"structure"`
91979
91980	// The current state of the instance.
91981	CurrentState *InstanceState `locationName:"currentState" type:"structure"`
91982
91983	// The ID of the instance.
91984	InstanceId *string `locationName:"instanceId" type:"string"`
91985
91986	// The previous state of the instance.
91987	PreviousState *InstanceState `locationName:"previousState" type:"structure"`
91988}
91989
91990// String returns the string representation
91991func (s InstanceStateChange) String() string {
91992	return awsutil.Prettify(s)
91993}
91994
91995// GoString returns the string representation
91996func (s InstanceStateChange) GoString() string {
91997	return s.String()
91998}
91999
92000// SetCurrentState sets the CurrentState field's value.
92001func (s *InstanceStateChange) SetCurrentState(v *InstanceState) *InstanceStateChange {
92002	s.CurrentState = v
92003	return s
92004}
92005
92006// SetInstanceId sets the InstanceId field's value.
92007func (s *InstanceStateChange) SetInstanceId(v string) *InstanceStateChange {
92008	s.InstanceId = &v
92009	return s
92010}
92011
92012// SetPreviousState sets the PreviousState field's value.
92013func (s *InstanceStateChange) SetPreviousState(v *InstanceState) *InstanceStateChange {
92014	s.PreviousState = v
92015	return s
92016}
92017
92018// Describes the status of an instance.
92019type InstanceStatus struct {
92020	_ struct{} `type:"structure"`
92021
92022	// The Availability Zone of the instance.
92023	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
92024
92025	// Any scheduled events associated with the instance.
92026	Events []*InstanceStatusEvent `locationName:"eventsSet" locationNameList:"item" type:"list"`
92027
92028	// The ID of the instance.
92029	InstanceId *string `locationName:"instanceId" type:"string"`
92030
92031	// The intended state of the instance. DescribeInstanceStatus requires that
92032	// an instance be in the running state.
92033	InstanceState *InstanceState `locationName:"instanceState" type:"structure"`
92034
92035	// Reports impaired functionality that stems from issues internal to the instance,
92036	// such as impaired reachability.
92037	InstanceStatus *InstanceStatusSummary `locationName:"instanceStatus" type:"structure"`
92038
92039	// The Amazon Resource Name (ARN) of the Outpost.
92040	OutpostArn *string `locationName:"outpostArn" type:"string"`
92041
92042	// Reports impaired functionality that stems from issues related to the systems
92043	// that support an instance, such as hardware failures and network connectivity
92044	// problems.
92045	SystemStatus *InstanceStatusSummary `locationName:"systemStatus" type:"structure"`
92046}
92047
92048// String returns the string representation
92049func (s InstanceStatus) String() string {
92050	return awsutil.Prettify(s)
92051}
92052
92053// GoString returns the string representation
92054func (s InstanceStatus) GoString() string {
92055	return s.String()
92056}
92057
92058// SetAvailabilityZone sets the AvailabilityZone field's value.
92059func (s *InstanceStatus) SetAvailabilityZone(v string) *InstanceStatus {
92060	s.AvailabilityZone = &v
92061	return s
92062}
92063
92064// SetEvents sets the Events field's value.
92065func (s *InstanceStatus) SetEvents(v []*InstanceStatusEvent) *InstanceStatus {
92066	s.Events = v
92067	return s
92068}
92069
92070// SetInstanceId sets the InstanceId field's value.
92071func (s *InstanceStatus) SetInstanceId(v string) *InstanceStatus {
92072	s.InstanceId = &v
92073	return s
92074}
92075
92076// SetInstanceState sets the InstanceState field's value.
92077func (s *InstanceStatus) SetInstanceState(v *InstanceState) *InstanceStatus {
92078	s.InstanceState = v
92079	return s
92080}
92081
92082// SetInstanceStatus sets the InstanceStatus field's value.
92083func (s *InstanceStatus) SetInstanceStatus(v *InstanceStatusSummary) *InstanceStatus {
92084	s.InstanceStatus = v
92085	return s
92086}
92087
92088// SetOutpostArn sets the OutpostArn field's value.
92089func (s *InstanceStatus) SetOutpostArn(v string) *InstanceStatus {
92090	s.OutpostArn = &v
92091	return s
92092}
92093
92094// SetSystemStatus sets the SystemStatus field's value.
92095func (s *InstanceStatus) SetSystemStatus(v *InstanceStatusSummary) *InstanceStatus {
92096	s.SystemStatus = v
92097	return s
92098}
92099
92100// Describes the instance status.
92101type InstanceStatusDetails struct {
92102	_ struct{} `type:"structure"`
92103
92104	// The time when a status check failed. For an instance that was launched and
92105	// impaired, this is the time when the instance was launched.
92106	ImpairedSince *time.Time `locationName:"impairedSince" type:"timestamp"`
92107
92108	// The type of instance status.
92109	Name *string `locationName:"name" type:"string" enum:"StatusName"`
92110
92111	// The status.
92112	Status *string `locationName:"status" type:"string" enum:"StatusType"`
92113}
92114
92115// String returns the string representation
92116func (s InstanceStatusDetails) String() string {
92117	return awsutil.Prettify(s)
92118}
92119
92120// GoString returns the string representation
92121func (s InstanceStatusDetails) GoString() string {
92122	return s.String()
92123}
92124
92125// SetImpairedSince sets the ImpairedSince field's value.
92126func (s *InstanceStatusDetails) SetImpairedSince(v time.Time) *InstanceStatusDetails {
92127	s.ImpairedSince = &v
92128	return s
92129}
92130
92131// SetName sets the Name field's value.
92132func (s *InstanceStatusDetails) SetName(v string) *InstanceStatusDetails {
92133	s.Name = &v
92134	return s
92135}
92136
92137// SetStatus sets the Status field's value.
92138func (s *InstanceStatusDetails) SetStatus(v string) *InstanceStatusDetails {
92139	s.Status = &v
92140	return s
92141}
92142
92143// Describes a scheduled event for an instance.
92144type InstanceStatusEvent struct {
92145	_ struct{} `type:"structure"`
92146
92147	// The event code.
92148	Code *string `locationName:"code" type:"string" enum:"EventCode"`
92149
92150	// A description of the event.
92151	//
92152	// After a scheduled event is completed, it can still be described for up to
92153	// a week. If the event has been completed, this description starts with the
92154	// following text: [Completed].
92155	Description *string `locationName:"description" type:"string"`
92156
92157	// The ID of the event.
92158	InstanceEventId *string `locationName:"instanceEventId" type:"string"`
92159
92160	// The latest scheduled end time for the event.
92161	NotAfter *time.Time `locationName:"notAfter" type:"timestamp"`
92162
92163	// The earliest scheduled start time for the event.
92164	NotBefore *time.Time `locationName:"notBefore" type:"timestamp"`
92165
92166	// The deadline for starting the event.
92167	NotBeforeDeadline *time.Time `locationName:"notBeforeDeadline" type:"timestamp"`
92168}
92169
92170// String returns the string representation
92171func (s InstanceStatusEvent) String() string {
92172	return awsutil.Prettify(s)
92173}
92174
92175// GoString returns the string representation
92176func (s InstanceStatusEvent) GoString() string {
92177	return s.String()
92178}
92179
92180// SetCode sets the Code field's value.
92181func (s *InstanceStatusEvent) SetCode(v string) *InstanceStatusEvent {
92182	s.Code = &v
92183	return s
92184}
92185
92186// SetDescription sets the Description field's value.
92187func (s *InstanceStatusEvent) SetDescription(v string) *InstanceStatusEvent {
92188	s.Description = &v
92189	return s
92190}
92191
92192// SetInstanceEventId sets the InstanceEventId field's value.
92193func (s *InstanceStatusEvent) SetInstanceEventId(v string) *InstanceStatusEvent {
92194	s.InstanceEventId = &v
92195	return s
92196}
92197
92198// SetNotAfter sets the NotAfter field's value.
92199func (s *InstanceStatusEvent) SetNotAfter(v time.Time) *InstanceStatusEvent {
92200	s.NotAfter = &v
92201	return s
92202}
92203
92204// SetNotBefore sets the NotBefore field's value.
92205func (s *InstanceStatusEvent) SetNotBefore(v time.Time) *InstanceStatusEvent {
92206	s.NotBefore = &v
92207	return s
92208}
92209
92210// SetNotBeforeDeadline sets the NotBeforeDeadline field's value.
92211func (s *InstanceStatusEvent) SetNotBeforeDeadline(v time.Time) *InstanceStatusEvent {
92212	s.NotBeforeDeadline = &v
92213	return s
92214}
92215
92216// Describes the status of an instance.
92217type InstanceStatusSummary struct {
92218	_ struct{} `type:"structure"`
92219
92220	// The system instance health or application instance health.
92221	Details []*InstanceStatusDetails `locationName:"details" locationNameList:"item" type:"list"`
92222
92223	// The status.
92224	Status *string `locationName:"status" type:"string" enum:"SummaryStatus"`
92225}
92226
92227// String returns the string representation
92228func (s InstanceStatusSummary) String() string {
92229	return awsutil.Prettify(s)
92230}
92231
92232// GoString returns the string representation
92233func (s InstanceStatusSummary) GoString() string {
92234	return s.String()
92235}
92236
92237// SetDetails sets the Details field's value.
92238func (s *InstanceStatusSummary) SetDetails(v []*InstanceStatusDetails) *InstanceStatusSummary {
92239	s.Details = v
92240	return s
92241}
92242
92243// SetStatus sets the Status field's value.
92244func (s *InstanceStatusSummary) SetStatus(v string) *InstanceStatusSummary {
92245	s.Status = &v
92246	return s
92247}
92248
92249// Describes the disks that are available for the instance type.
92250type InstanceStorageInfo struct {
92251	_ struct{} `type:"structure"`
92252
92253	// Describes the disks that are available for the instance type.
92254	Disks []*DiskInfo `locationName:"disks" locationNameList:"item" type:"list"`
92255
92256	// Indicates whether non-volatile memory express (NVMe) is supported for instance
92257	// store.
92258	NvmeSupport *string `locationName:"nvmeSupport" type:"string" enum:"EphemeralNvmeSupport"`
92259
92260	// The total size of the disks, in GB.
92261	TotalSizeInGB *int64 `locationName:"totalSizeInGB" type:"long"`
92262}
92263
92264// String returns the string representation
92265func (s InstanceStorageInfo) String() string {
92266	return awsutil.Prettify(s)
92267}
92268
92269// GoString returns the string representation
92270func (s InstanceStorageInfo) GoString() string {
92271	return s.String()
92272}
92273
92274// SetDisks sets the Disks field's value.
92275func (s *InstanceStorageInfo) SetDisks(v []*DiskInfo) *InstanceStorageInfo {
92276	s.Disks = v
92277	return s
92278}
92279
92280// SetNvmeSupport sets the NvmeSupport field's value.
92281func (s *InstanceStorageInfo) SetNvmeSupport(v string) *InstanceStorageInfo {
92282	s.NvmeSupport = &v
92283	return s
92284}
92285
92286// SetTotalSizeInGB sets the TotalSizeInGB field's value.
92287func (s *InstanceStorageInfo) SetTotalSizeInGB(v int64) *InstanceStorageInfo {
92288	s.TotalSizeInGB = &v
92289	return s
92290}
92291
92292// Describes the registered tag keys for the current Region.
92293type InstanceTagNotificationAttribute struct {
92294	_ struct{} `type:"structure"`
92295
92296	// Indicates wheter all tag keys in the current Region are registered to appear
92297	// in scheduled event notifications. true indicates that all tag keys in the
92298	// current Region are registered.
92299	IncludeAllTagsOfInstance *bool `locationName:"includeAllTagsOfInstance" type:"boolean"`
92300
92301	// The registered tag keys.
92302	InstanceTagKeys []*string `locationName:"instanceTagKeySet" locationNameList:"item" type:"list"`
92303}
92304
92305// String returns the string representation
92306func (s InstanceTagNotificationAttribute) String() string {
92307	return awsutil.Prettify(s)
92308}
92309
92310// GoString returns the string representation
92311func (s InstanceTagNotificationAttribute) GoString() string {
92312	return s.String()
92313}
92314
92315// SetIncludeAllTagsOfInstance sets the IncludeAllTagsOfInstance field's value.
92316func (s *InstanceTagNotificationAttribute) SetIncludeAllTagsOfInstance(v bool) *InstanceTagNotificationAttribute {
92317	s.IncludeAllTagsOfInstance = &v
92318	return s
92319}
92320
92321// SetInstanceTagKeys sets the InstanceTagKeys field's value.
92322func (s *InstanceTagNotificationAttribute) SetInstanceTagKeys(v []*string) *InstanceTagNotificationAttribute {
92323	s.InstanceTagKeys = v
92324	return s
92325}
92326
92327// Describes the instance type.
92328type InstanceTypeInfo struct {
92329	_ struct{} `type:"structure"`
92330
92331	// Indicates whether auto recovery is supported.
92332	AutoRecoverySupported *bool `locationName:"autoRecoverySupported" type:"boolean"`
92333
92334	// Indicates whether the instance is a bare metal instance type.
92335	BareMetal *bool `locationName:"bareMetal" type:"boolean"`
92336
92337	// Indicates whether the instance type is a burstable performance instance type.
92338	BurstablePerformanceSupported *bool `locationName:"burstablePerformanceSupported" type:"boolean"`
92339
92340	// Indicates whether the instance type is current generation.
92341	CurrentGeneration *bool `locationName:"currentGeneration" type:"boolean"`
92342
92343	// Indicates whether Dedicated Hosts are supported on the instance type.
92344	DedicatedHostsSupported *bool `locationName:"dedicatedHostsSupported" type:"boolean"`
92345
92346	// Describes the Amazon EBS settings for the instance type.
92347	EbsInfo *EbsInfo `locationName:"ebsInfo" type:"structure"`
92348
92349	// Describes the FPGA accelerator settings for the instance type.
92350	FpgaInfo *FpgaInfo `locationName:"fpgaInfo" type:"structure"`
92351
92352	// Indicates whether the instance type is eligible for the free tier.
92353	FreeTierEligible *bool `locationName:"freeTierEligible" type:"boolean"`
92354
92355	// Describes the GPU accelerator settings for the instance type.
92356	GpuInfo *GpuInfo `locationName:"gpuInfo" type:"structure"`
92357
92358	// Indicates whether On-Demand hibernation is supported.
92359	HibernationSupported *bool `locationName:"hibernationSupported" type:"boolean"`
92360
92361	// The hypervisor for the instance type.
92362	Hypervisor *string `locationName:"hypervisor" type:"string" enum:"InstanceTypeHypervisor"`
92363
92364	// Describes the Inference accelerator settings for the instance type.
92365	InferenceAcceleratorInfo *InferenceAcceleratorInfo `locationName:"inferenceAcceleratorInfo" type:"structure"`
92366
92367	// Describes the instance storage for the instance type.
92368	InstanceStorageInfo *InstanceStorageInfo `locationName:"instanceStorageInfo" type:"structure"`
92369
92370	// Indicates whether instance storage is supported.
92371	InstanceStorageSupported *bool `locationName:"instanceStorageSupported" type:"boolean"`
92372
92373	// The instance type. For more information, see Instance types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
92374	// in the Amazon EC2 User Guide.
92375	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
92376
92377	// Describes the memory for the instance type.
92378	MemoryInfo *MemoryInfo `locationName:"memoryInfo" type:"structure"`
92379
92380	// Describes the network settings for the instance type.
92381	NetworkInfo *NetworkInfo `locationName:"networkInfo" type:"structure"`
92382
92383	// Describes the placement group settings for the instance type.
92384	PlacementGroupInfo *PlacementGroupInfo `locationName:"placementGroupInfo" type:"structure"`
92385
92386	// Describes the processor.
92387	ProcessorInfo *ProcessorInfo `locationName:"processorInfo" type:"structure"`
92388
92389	// The supported boot modes. For more information, see Boot modes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-boot.html)
92390	// in the Amazon EC2 User Guide.
92391	SupportedBootModes []*string `locationName:"supportedBootModes" locationNameList:"item" type:"list"`
92392
92393	// The supported root device types.
92394	SupportedRootDeviceTypes []*string `locationName:"supportedRootDeviceTypes" locationNameList:"item" type:"list"`
92395
92396	// Indicates whether the instance type is offered for spot or On-Demand.
92397	SupportedUsageClasses []*string `locationName:"supportedUsageClasses" locationNameList:"item" type:"list"`
92398
92399	// The supported virtualization types.
92400	SupportedVirtualizationTypes []*string `locationName:"supportedVirtualizationTypes" locationNameList:"item" type:"list"`
92401
92402	// Describes the vCPU configurations for the instance type.
92403	VCpuInfo *VCpuInfo `locationName:"vCpuInfo" type:"structure"`
92404}
92405
92406// String returns the string representation
92407func (s InstanceTypeInfo) String() string {
92408	return awsutil.Prettify(s)
92409}
92410
92411// GoString returns the string representation
92412func (s InstanceTypeInfo) GoString() string {
92413	return s.String()
92414}
92415
92416// SetAutoRecoverySupported sets the AutoRecoverySupported field's value.
92417func (s *InstanceTypeInfo) SetAutoRecoverySupported(v bool) *InstanceTypeInfo {
92418	s.AutoRecoverySupported = &v
92419	return s
92420}
92421
92422// SetBareMetal sets the BareMetal field's value.
92423func (s *InstanceTypeInfo) SetBareMetal(v bool) *InstanceTypeInfo {
92424	s.BareMetal = &v
92425	return s
92426}
92427
92428// SetBurstablePerformanceSupported sets the BurstablePerformanceSupported field's value.
92429func (s *InstanceTypeInfo) SetBurstablePerformanceSupported(v bool) *InstanceTypeInfo {
92430	s.BurstablePerformanceSupported = &v
92431	return s
92432}
92433
92434// SetCurrentGeneration sets the CurrentGeneration field's value.
92435func (s *InstanceTypeInfo) SetCurrentGeneration(v bool) *InstanceTypeInfo {
92436	s.CurrentGeneration = &v
92437	return s
92438}
92439
92440// SetDedicatedHostsSupported sets the DedicatedHostsSupported field's value.
92441func (s *InstanceTypeInfo) SetDedicatedHostsSupported(v bool) *InstanceTypeInfo {
92442	s.DedicatedHostsSupported = &v
92443	return s
92444}
92445
92446// SetEbsInfo sets the EbsInfo field's value.
92447func (s *InstanceTypeInfo) SetEbsInfo(v *EbsInfo) *InstanceTypeInfo {
92448	s.EbsInfo = v
92449	return s
92450}
92451
92452// SetFpgaInfo sets the FpgaInfo field's value.
92453func (s *InstanceTypeInfo) SetFpgaInfo(v *FpgaInfo) *InstanceTypeInfo {
92454	s.FpgaInfo = v
92455	return s
92456}
92457
92458// SetFreeTierEligible sets the FreeTierEligible field's value.
92459func (s *InstanceTypeInfo) SetFreeTierEligible(v bool) *InstanceTypeInfo {
92460	s.FreeTierEligible = &v
92461	return s
92462}
92463
92464// SetGpuInfo sets the GpuInfo field's value.
92465func (s *InstanceTypeInfo) SetGpuInfo(v *GpuInfo) *InstanceTypeInfo {
92466	s.GpuInfo = v
92467	return s
92468}
92469
92470// SetHibernationSupported sets the HibernationSupported field's value.
92471func (s *InstanceTypeInfo) SetHibernationSupported(v bool) *InstanceTypeInfo {
92472	s.HibernationSupported = &v
92473	return s
92474}
92475
92476// SetHypervisor sets the Hypervisor field's value.
92477func (s *InstanceTypeInfo) SetHypervisor(v string) *InstanceTypeInfo {
92478	s.Hypervisor = &v
92479	return s
92480}
92481
92482// SetInferenceAcceleratorInfo sets the InferenceAcceleratorInfo field's value.
92483func (s *InstanceTypeInfo) SetInferenceAcceleratorInfo(v *InferenceAcceleratorInfo) *InstanceTypeInfo {
92484	s.InferenceAcceleratorInfo = v
92485	return s
92486}
92487
92488// SetInstanceStorageInfo sets the InstanceStorageInfo field's value.
92489func (s *InstanceTypeInfo) SetInstanceStorageInfo(v *InstanceStorageInfo) *InstanceTypeInfo {
92490	s.InstanceStorageInfo = v
92491	return s
92492}
92493
92494// SetInstanceStorageSupported sets the InstanceStorageSupported field's value.
92495func (s *InstanceTypeInfo) SetInstanceStorageSupported(v bool) *InstanceTypeInfo {
92496	s.InstanceStorageSupported = &v
92497	return s
92498}
92499
92500// SetInstanceType sets the InstanceType field's value.
92501func (s *InstanceTypeInfo) SetInstanceType(v string) *InstanceTypeInfo {
92502	s.InstanceType = &v
92503	return s
92504}
92505
92506// SetMemoryInfo sets the MemoryInfo field's value.
92507func (s *InstanceTypeInfo) SetMemoryInfo(v *MemoryInfo) *InstanceTypeInfo {
92508	s.MemoryInfo = v
92509	return s
92510}
92511
92512// SetNetworkInfo sets the NetworkInfo field's value.
92513func (s *InstanceTypeInfo) SetNetworkInfo(v *NetworkInfo) *InstanceTypeInfo {
92514	s.NetworkInfo = v
92515	return s
92516}
92517
92518// SetPlacementGroupInfo sets the PlacementGroupInfo field's value.
92519func (s *InstanceTypeInfo) SetPlacementGroupInfo(v *PlacementGroupInfo) *InstanceTypeInfo {
92520	s.PlacementGroupInfo = v
92521	return s
92522}
92523
92524// SetProcessorInfo sets the ProcessorInfo field's value.
92525func (s *InstanceTypeInfo) SetProcessorInfo(v *ProcessorInfo) *InstanceTypeInfo {
92526	s.ProcessorInfo = v
92527	return s
92528}
92529
92530// SetSupportedBootModes sets the SupportedBootModes field's value.
92531func (s *InstanceTypeInfo) SetSupportedBootModes(v []*string) *InstanceTypeInfo {
92532	s.SupportedBootModes = v
92533	return s
92534}
92535
92536// SetSupportedRootDeviceTypes sets the SupportedRootDeviceTypes field's value.
92537func (s *InstanceTypeInfo) SetSupportedRootDeviceTypes(v []*string) *InstanceTypeInfo {
92538	s.SupportedRootDeviceTypes = v
92539	return s
92540}
92541
92542// SetSupportedUsageClasses sets the SupportedUsageClasses field's value.
92543func (s *InstanceTypeInfo) SetSupportedUsageClasses(v []*string) *InstanceTypeInfo {
92544	s.SupportedUsageClasses = v
92545	return s
92546}
92547
92548// SetSupportedVirtualizationTypes sets the SupportedVirtualizationTypes field's value.
92549func (s *InstanceTypeInfo) SetSupportedVirtualizationTypes(v []*string) *InstanceTypeInfo {
92550	s.SupportedVirtualizationTypes = v
92551	return s
92552}
92553
92554// SetVCpuInfo sets the VCpuInfo field's value.
92555func (s *InstanceTypeInfo) SetVCpuInfo(v *VCpuInfo) *InstanceTypeInfo {
92556	s.VCpuInfo = v
92557	return s
92558}
92559
92560// The instance types offered.
92561type InstanceTypeOffering struct {
92562	_ struct{} `type:"structure"`
92563
92564	// The instance type. For more information, see Instance types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
92565	// in the Amazon EC2 User Guide.
92566	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
92567
92568	// The identifier for the location. This depends on the location type. For example,
92569	// if the location type is region, the location is the Region code (for example,
92570	// us-east-2.)
92571	Location *string `locationName:"location" type:"string"`
92572
92573	// The location type.
92574	LocationType *string `locationName:"locationType" type:"string" enum:"LocationType"`
92575}
92576
92577// String returns the string representation
92578func (s InstanceTypeOffering) String() string {
92579	return awsutil.Prettify(s)
92580}
92581
92582// GoString returns the string representation
92583func (s InstanceTypeOffering) GoString() string {
92584	return s.String()
92585}
92586
92587// SetInstanceType sets the InstanceType field's value.
92588func (s *InstanceTypeOffering) SetInstanceType(v string) *InstanceTypeOffering {
92589	s.InstanceType = &v
92590	return s
92591}
92592
92593// SetLocation sets the Location field's value.
92594func (s *InstanceTypeOffering) SetLocation(v string) *InstanceTypeOffering {
92595	s.Location = &v
92596	return s
92597}
92598
92599// SetLocationType sets the LocationType field's value.
92600func (s *InstanceTypeOffering) SetLocationType(v string) *InstanceTypeOffering {
92601	s.LocationType = &v
92602	return s
92603}
92604
92605// Information about the Capacity Reservation usage.
92606type InstanceUsage struct {
92607	_ struct{} `type:"structure"`
92608
92609	// The ID of the AWS account that is making use of the Capacity Reservation.
92610	AccountId *string `locationName:"accountId" type:"string"`
92611
92612	// The number of instances the AWS account currently has in the Capacity Reservation.
92613	UsedInstanceCount *int64 `locationName:"usedInstanceCount" type:"integer"`
92614}
92615
92616// String returns the string representation
92617func (s InstanceUsage) String() string {
92618	return awsutil.Prettify(s)
92619}
92620
92621// GoString returns the string representation
92622func (s InstanceUsage) GoString() string {
92623	return s.String()
92624}
92625
92626// SetAccountId sets the AccountId field's value.
92627func (s *InstanceUsage) SetAccountId(v string) *InstanceUsage {
92628	s.AccountId = &v
92629	return s
92630}
92631
92632// SetUsedInstanceCount sets the UsedInstanceCount field's value.
92633func (s *InstanceUsage) SetUsedInstanceCount(v int64) *InstanceUsage {
92634	s.UsedInstanceCount = &v
92635	return s
92636}
92637
92638// Describes service integrations with VPC Flow logs.
92639type IntegrateServices struct {
92640	_ struct{} `type:"structure"`
92641
92642	// Information about the integration with Amazon Athena.
92643	AthenaIntegrations []*AthenaIntegration `locationName:"AthenaIntegration" locationNameList:"item" min:"1" type:"list"`
92644}
92645
92646// String returns the string representation
92647func (s IntegrateServices) String() string {
92648	return awsutil.Prettify(s)
92649}
92650
92651// GoString returns the string representation
92652func (s IntegrateServices) GoString() string {
92653	return s.String()
92654}
92655
92656// Validate inspects the fields of the type to determine if they are valid.
92657func (s *IntegrateServices) Validate() error {
92658	invalidParams := request.ErrInvalidParams{Context: "IntegrateServices"}
92659	if s.AthenaIntegrations != nil && len(s.AthenaIntegrations) < 1 {
92660		invalidParams.Add(request.NewErrParamMinLen("AthenaIntegrations", 1))
92661	}
92662	if s.AthenaIntegrations != nil {
92663		for i, v := range s.AthenaIntegrations {
92664			if v == nil {
92665				continue
92666			}
92667			if err := v.Validate(); err != nil {
92668				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AthenaIntegrations", i), err.(request.ErrInvalidParams))
92669			}
92670		}
92671	}
92672
92673	if invalidParams.Len() > 0 {
92674		return invalidParams
92675	}
92676	return nil
92677}
92678
92679// SetAthenaIntegrations sets the AthenaIntegrations field's value.
92680func (s *IntegrateServices) SetAthenaIntegrations(v []*AthenaIntegration) *IntegrateServices {
92681	s.AthenaIntegrations = v
92682	return s
92683}
92684
92685// Describes an internet gateway.
92686type InternetGateway struct {
92687	_ struct{} `type:"structure"`
92688
92689	// Any VPCs attached to the internet gateway.
92690	Attachments []*InternetGatewayAttachment `locationName:"attachmentSet" locationNameList:"item" type:"list"`
92691
92692	// The ID of the internet gateway.
92693	InternetGatewayId *string `locationName:"internetGatewayId" type:"string"`
92694
92695	// The ID of the AWS account that owns the internet gateway.
92696	OwnerId *string `locationName:"ownerId" type:"string"`
92697
92698	// Any tags assigned to the internet gateway.
92699	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
92700}
92701
92702// String returns the string representation
92703func (s InternetGateway) String() string {
92704	return awsutil.Prettify(s)
92705}
92706
92707// GoString returns the string representation
92708func (s InternetGateway) GoString() string {
92709	return s.String()
92710}
92711
92712// SetAttachments sets the Attachments field's value.
92713func (s *InternetGateway) SetAttachments(v []*InternetGatewayAttachment) *InternetGateway {
92714	s.Attachments = v
92715	return s
92716}
92717
92718// SetInternetGatewayId sets the InternetGatewayId field's value.
92719func (s *InternetGateway) SetInternetGatewayId(v string) *InternetGateway {
92720	s.InternetGatewayId = &v
92721	return s
92722}
92723
92724// SetOwnerId sets the OwnerId field's value.
92725func (s *InternetGateway) SetOwnerId(v string) *InternetGateway {
92726	s.OwnerId = &v
92727	return s
92728}
92729
92730// SetTags sets the Tags field's value.
92731func (s *InternetGateway) SetTags(v []*Tag) *InternetGateway {
92732	s.Tags = v
92733	return s
92734}
92735
92736// Describes the attachment of a VPC to an internet gateway or an egress-only
92737// internet gateway.
92738type InternetGatewayAttachment struct {
92739	_ struct{} `type:"structure"`
92740
92741	// The current state of the attachment. For an internet gateway, the state is
92742	// available when attached to a VPC; otherwise, this value is not returned.
92743	State *string `locationName:"state" type:"string" enum:"AttachmentStatus"`
92744
92745	// The ID of the VPC.
92746	VpcId *string `locationName:"vpcId" type:"string"`
92747}
92748
92749// String returns the string representation
92750func (s InternetGatewayAttachment) String() string {
92751	return awsutil.Prettify(s)
92752}
92753
92754// GoString returns the string representation
92755func (s InternetGatewayAttachment) GoString() string {
92756	return s.String()
92757}
92758
92759// SetState sets the State field's value.
92760func (s *InternetGatewayAttachment) SetState(v string) *InternetGatewayAttachment {
92761	s.State = &v
92762	return s
92763}
92764
92765// SetVpcId sets the VpcId field's value.
92766func (s *InternetGatewayAttachment) SetVpcId(v string) *InternetGatewayAttachment {
92767	s.VpcId = &v
92768	return s
92769}
92770
92771// Describes a set of permissions for a security group rule.
92772type IpPermission struct {
92773	_ struct{} `type:"structure"`
92774
92775	// The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6
92776	// type number. A value of -1 indicates all ICMP/ICMPv6 types. If you specify
92777	// all ICMP/ICMPv6 types, you must specify all codes.
92778	FromPort *int64 `locationName:"fromPort" type:"integer"`
92779
92780	// The IP protocol name (tcp, udp, icmp, icmpv6) or number (see Protocol Numbers
92781	// (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
92782	//
92783	// [VPC only] Use -1 to specify all protocols. When authorizing security group
92784	// rules, specifying -1 or a protocol number other than tcp, udp, icmp, or icmpv6
92785	// allows traffic on all ports, regardless of any port range you specify. For
92786	// tcp, udp, and icmp, you must specify a port range. For icmpv6, the port range
92787	// is optional; if you omit the port range, traffic for all types and codes
92788	// is allowed.
92789	IpProtocol *string `locationName:"ipProtocol" type:"string"`
92790
92791	// The IPv4 ranges.
92792	IpRanges []*IpRange `locationName:"ipRanges" locationNameList:"item" type:"list"`
92793
92794	// [VPC only] The IPv6 ranges.
92795	Ipv6Ranges []*Ipv6Range `locationName:"ipv6Ranges" locationNameList:"item" type:"list"`
92796
92797	// [VPC only] The prefix list IDs.
92798	PrefixListIds []*PrefixListId `locationName:"prefixListIds" locationNameList:"item" type:"list"`
92799
92800	// The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code.
92801	// A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6
92802	// types, you must specify all codes.
92803	ToPort *int64 `locationName:"toPort" type:"integer"`
92804
92805	// The security group and AWS account ID pairs.
92806	UserIdGroupPairs []*UserIdGroupPair `locationName:"groups" locationNameList:"item" type:"list"`
92807}
92808
92809// String returns the string representation
92810func (s IpPermission) String() string {
92811	return awsutil.Prettify(s)
92812}
92813
92814// GoString returns the string representation
92815func (s IpPermission) GoString() string {
92816	return s.String()
92817}
92818
92819// SetFromPort sets the FromPort field's value.
92820func (s *IpPermission) SetFromPort(v int64) *IpPermission {
92821	s.FromPort = &v
92822	return s
92823}
92824
92825// SetIpProtocol sets the IpProtocol field's value.
92826func (s *IpPermission) SetIpProtocol(v string) *IpPermission {
92827	s.IpProtocol = &v
92828	return s
92829}
92830
92831// SetIpRanges sets the IpRanges field's value.
92832func (s *IpPermission) SetIpRanges(v []*IpRange) *IpPermission {
92833	s.IpRanges = v
92834	return s
92835}
92836
92837// SetIpv6Ranges sets the Ipv6Ranges field's value.
92838func (s *IpPermission) SetIpv6Ranges(v []*Ipv6Range) *IpPermission {
92839	s.Ipv6Ranges = v
92840	return s
92841}
92842
92843// SetPrefixListIds sets the PrefixListIds field's value.
92844func (s *IpPermission) SetPrefixListIds(v []*PrefixListId) *IpPermission {
92845	s.PrefixListIds = v
92846	return s
92847}
92848
92849// SetToPort sets the ToPort field's value.
92850func (s *IpPermission) SetToPort(v int64) *IpPermission {
92851	s.ToPort = &v
92852	return s
92853}
92854
92855// SetUserIdGroupPairs sets the UserIdGroupPairs field's value.
92856func (s *IpPermission) SetUserIdGroupPairs(v []*UserIdGroupPair) *IpPermission {
92857	s.UserIdGroupPairs = v
92858	return s
92859}
92860
92861// Describes an IPv4 range.
92862type IpRange struct {
92863	_ struct{} `type:"structure"`
92864
92865	// The IPv4 CIDR range. You can either specify a CIDR range or a source security
92866	// group, not both. To specify a single IPv4 address, use the /32 prefix length.
92867	CidrIp *string `locationName:"cidrIp" type:"string"`
92868
92869	// A description for the security group rule that references this IPv4 address
92870	// range.
92871	//
92872	// Constraints: Up to 255 characters in length. Allowed characters are a-z,
92873	// A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*
92874	Description *string `locationName:"description" type:"string"`
92875}
92876
92877// String returns the string representation
92878func (s IpRange) String() string {
92879	return awsutil.Prettify(s)
92880}
92881
92882// GoString returns the string representation
92883func (s IpRange) GoString() string {
92884	return s.String()
92885}
92886
92887// SetCidrIp sets the CidrIp field's value.
92888func (s *IpRange) SetCidrIp(v string) *IpRange {
92889	s.CidrIp = &v
92890	return s
92891}
92892
92893// SetDescription sets the Description field's value.
92894func (s *IpRange) SetDescription(v string) *IpRange {
92895	s.Description = &v
92896	return s
92897}
92898
92899// Describes an IPv6 CIDR block association.
92900type Ipv6CidrAssociation struct {
92901	_ struct{} `type:"structure"`
92902
92903	// The resource that's associated with the IPv6 CIDR block.
92904	AssociatedResource *string `locationName:"associatedResource" type:"string"`
92905
92906	// The IPv6 CIDR block.
92907	Ipv6Cidr *string `locationName:"ipv6Cidr" type:"string"`
92908}
92909
92910// String returns the string representation
92911func (s Ipv6CidrAssociation) String() string {
92912	return awsutil.Prettify(s)
92913}
92914
92915// GoString returns the string representation
92916func (s Ipv6CidrAssociation) GoString() string {
92917	return s.String()
92918}
92919
92920// SetAssociatedResource sets the AssociatedResource field's value.
92921func (s *Ipv6CidrAssociation) SetAssociatedResource(v string) *Ipv6CidrAssociation {
92922	s.AssociatedResource = &v
92923	return s
92924}
92925
92926// SetIpv6Cidr sets the Ipv6Cidr field's value.
92927func (s *Ipv6CidrAssociation) SetIpv6Cidr(v string) *Ipv6CidrAssociation {
92928	s.Ipv6Cidr = &v
92929	return s
92930}
92931
92932// Describes an IPv6 CIDR block.
92933type Ipv6CidrBlock struct {
92934	_ struct{} `type:"structure"`
92935
92936	// The IPv6 CIDR block.
92937	Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
92938}
92939
92940// String returns the string representation
92941func (s Ipv6CidrBlock) String() string {
92942	return awsutil.Prettify(s)
92943}
92944
92945// GoString returns the string representation
92946func (s Ipv6CidrBlock) GoString() string {
92947	return s.String()
92948}
92949
92950// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
92951func (s *Ipv6CidrBlock) SetIpv6CidrBlock(v string) *Ipv6CidrBlock {
92952	s.Ipv6CidrBlock = &v
92953	return s
92954}
92955
92956// Describes an IPv6 address pool.
92957type Ipv6Pool struct {
92958	_ struct{} `type:"structure"`
92959
92960	// The description for the address pool.
92961	Description *string `locationName:"description" type:"string"`
92962
92963	// The CIDR blocks for the address pool.
92964	PoolCidrBlocks []*PoolCidrBlock `locationName:"poolCidrBlockSet" locationNameList:"item" type:"list"`
92965
92966	// The ID of the address pool.
92967	PoolId *string `locationName:"poolId" type:"string"`
92968
92969	// Any tags for the address pool.
92970	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
92971}
92972
92973// String returns the string representation
92974func (s Ipv6Pool) String() string {
92975	return awsutil.Prettify(s)
92976}
92977
92978// GoString returns the string representation
92979func (s Ipv6Pool) GoString() string {
92980	return s.String()
92981}
92982
92983// SetDescription sets the Description field's value.
92984func (s *Ipv6Pool) SetDescription(v string) *Ipv6Pool {
92985	s.Description = &v
92986	return s
92987}
92988
92989// SetPoolCidrBlocks sets the PoolCidrBlocks field's value.
92990func (s *Ipv6Pool) SetPoolCidrBlocks(v []*PoolCidrBlock) *Ipv6Pool {
92991	s.PoolCidrBlocks = v
92992	return s
92993}
92994
92995// SetPoolId sets the PoolId field's value.
92996func (s *Ipv6Pool) SetPoolId(v string) *Ipv6Pool {
92997	s.PoolId = &v
92998	return s
92999}
93000
93001// SetTags sets the Tags field's value.
93002func (s *Ipv6Pool) SetTags(v []*Tag) *Ipv6Pool {
93003	s.Tags = v
93004	return s
93005}
93006
93007// [EC2-VPC only] Describes an IPv6 range.
93008type Ipv6Range struct {
93009	_ struct{} `type:"structure"`
93010
93011	// The IPv6 CIDR range. You can either specify a CIDR range or a source security
93012	// group, not both. To specify a single IPv6 address, use the /128 prefix length.
93013	CidrIpv6 *string `locationName:"cidrIpv6" type:"string"`
93014
93015	// A description for the security group rule that references this IPv6 address
93016	// range.
93017	//
93018	// Constraints: Up to 255 characters in length. Allowed characters are a-z,
93019	// A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*
93020	Description *string `locationName:"description" type:"string"`
93021}
93022
93023// String returns the string representation
93024func (s Ipv6Range) String() string {
93025	return awsutil.Prettify(s)
93026}
93027
93028// GoString returns the string representation
93029func (s Ipv6Range) GoString() string {
93030	return s.String()
93031}
93032
93033// SetCidrIpv6 sets the CidrIpv6 field's value.
93034func (s *Ipv6Range) SetCidrIpv6(v string) *Ipv6Range {
93035	s.CidrIpv6 = &v
93036	return s
93037}
93038
93039// SetDescription sets the Description field's value.
93040func (s *Ipv6Range) SetDescription(v string) *Ipv6Range {
93041	s.Description = &v
93042	return s
93043}
93044
93045// Describes a key pair.
93046type KeyPairInfo struct {
93047	_ struct{} `type:"structure"`
93048
93049	// If you used CreateKeyPair to create the key pair, this is the SHA-1 digest
93050	// of the DER encoded private key. If you used ImportKeyPair to provide AWS
93051	// the public key, this is the MD5 public key fingerprint as specified in section
93052	// 4 of RFC4716.
93053	KeyFingerprint *string `locationName:"keyFingerprint" type:"string"`
93054
93055	// The name of the key pair.
93056	KeyName *string `locationName:"keyName" type:"string"`
93057
93058	// The ID of the key pair.
93059	KeyPairId *string `locationName:"keyPairId" type:"string"`
93060
93061	// Any tags applied to the key pair.
93062	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
93063}
93064
93065// String returns the string representation
93066func (s KeyPairInfo) String() string {
93067	return awsutil.Prettify(s)
93068}
93069
93070// GoString returns the string representation
93071func (s KeyPairInfo) GoString() string {
93072	return s.String()
93073}
93074
93075// SetKeyFingerprint sets the KeyFingerprint field's value.
93076func (s *KeyPairInfo) SetKeyFingerprint(v string) *KeyPairInfo {
93077	s.KeyFingerprint = &v
93078	return s
93079}
93080
93081// SetKeyName sets the KeyName field's value.
93082func (s *KeyPairInfo) SetKeyName(v string) *KeyPairInfo {
93083	s.KeyName = &v
93084	return s
93085}
93086
93087// SetKeyPairId sets the KeyPairId field's value.
93088func (s *KeyPairInfo) SetKeyPairId(v string) *KeyPairInfo {
93089	s.KeyPairId = &v
93090	return s
93091}
93092
93093// SetTags sets the Tags field's value.
93094func (s *KeyPairInfo) SetTags(v []*Tag) *KeyPairInfo {
93095	s.Tags = v
93096	return s
93097}
93098
93099// The last error that occurred for a VPC endpoint.
93100type LastError struct {
93101	_ struct{} `type:"structure"`
93102
93103	// The error code for the VPC endpoint error.
93104	Code *string `locationName:"code" type:"string"`
93105
93106	// The error message for the VPC endpoint error.
93107	Message *string `locationName:"message" type:"string"`
93108}
93109
93110// String returns the string representation
93111func (s LastError) String() string {
93112	return awsutil.Prettify(s)
93113}
93114
93115// GoString returns the string representation
93116func (s LastError) GoString() string {
93117	return s.String()
93118}
93119
93120// SetCode sets the Code field's value.
93121func (s *LastError) SetCode(v string) *LastError {
93122	s.Code = &v
93123	return s
93124}
93125
93126// SetMessage sets the Message field's value.
93127func (s *LastError) SetMessage(v string) *LastError {
93128	s.Message = &v
93129	return s
93130}
93131
93132// Describes a launch permission.
93133type LaunchPermission struct {
93134	_ struct{} `type:"structure"`
93135
93136	// The name of the group.
93137	Group *string `locationName:"group" type:"string" enum:"PermissionGroup"`
93138
93139	// The AWS account ID.
93140	//
93141	// Constraints: Up to 10 000 account IDs can be specified in a single request.
93142	UserId *string `locationName:"userId" type:"string"`
93143}
93144
93145// String returns the string representation
93146func (s LaunchPermission) String() string {
93147	return awsutil.Prettify(s)
93148}
93149
93150// GoString returns the string representation
93151func (s LaunchPermission) GoString() string {
93152	return s.String()
93153}
93154
93155// SetGroup sets the Group field's value.
93156func (s *LaunchPermission) SetGroup(v string) *LaunchPermission {
93157	s.Group = &v
93158	return s
93159}
93160
93161// SetUserId sets the UserId field's value.
93162func (s *LaunchPermission) SetUserId(v string) *LaunchPermission {
93163	s.UserId = &v
93164	return s
93165}
93166
93167// Describes a launch permission modification.
93168type LaunchPermissionModifications struct {
93169	_ struct{} `type:"structure"`
93170
93171	// The AWS account ID to add to the list of launch permissions for the AMI.
93172	Add []*LaunchPermission `locationNameList:"item" type:"list"`
93173
93174	// The AWS account ID to remove from the list of launch permissions for the
93175	// AMI.
93176	Remove []*LaunchPermission `locationNameList:"item" type:"list"`
93177}
93178
93179// String returns the string representation
93180func (s LaunchPermissionModifications) String() string {
93181	return awsutil.Prettify(s)
93182}
93183
93184// GoString returns the string representation
93185func (s LaunchPermissionModifications) GoString() string {
93186	return s.String()
93187}
93188
93189// SetAdd sets the Add field's value.
93190func (s *LaunchPermissionModifications) SetAdd(v []*LaunchPermission) *LaunchPermissionModifications {
93191	s.Add = v
93192	return s
93193}
93194
93195// SetRemove sets the Remove field's value.
93196func (s *LaunchPermissionModifications) SetRemove(v []*LaunchPermission) *LaunchPermissionModifications {
93197	s.Remove = v
93198	return s
93199}
93200
93201// Describes the launch specification for an instance.
93202type LaunchSpecification struct {
93203	_ struct{} `type:"structure"`
93204
93205	// Deprecated.
93206	AddressingType *string `locationName:"addressingType" type:"string"`
93207
93208	// One or more block device mapping entries.
93209	BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
93210
93211	// Indicates whether the instance is optimized for EBS I/O. This optimization
93212	// provides dedicated throughput to Amazon EBS and an optimized configuration
93213	// stack to provide optimal EBS I/O performance. This optimization isn't available
93214	// with all instance types. Additional usage charges apply when using an EBS
93215	// Optimized instance.
93216	//
93217	// Default: false
93218	EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
93219
93220	// The IAM instance profile.
93221	IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
93222
93223	// The ID of the AMI.
93224	ImageId *string `locationName:"imageId" type:"string"`
93225
93226	// The instance type.
93227	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
93228
93229	// The ID of the kernel.
93230	KernelId *string `locationName:"kernelId" type:"string"`
93231
93232	// The name of the key pair.
93233	KeyName *string `locationName:"keyName" type:"string"`
93234
93235	// Describes the monitoring of an instance.
93236	Monitoring *RunInstancesMonitoringEnabled `locationName:"monitoring" type:"structure"`
93237
93238	// One or more network interfaces. If you specify a network interface, you must
93239	// specify subnet IDs and security group IDs using the network interface.
93240	NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
93241
93242	// The placement information for the instance.
93243	Placement *SpotPlacement `locationName:"placement" type:"structure"`
93244
93245	// The ID of the RAM disk.
93246	RamdiskId *string `locationName:"ramdiskId" type:"string"`
93247
93248	// One or more security groups. When requesting instances in a VPC, you must
93249	// specify the IDs of the security groups. When requesting instances in EC2-Classic,
93250	// you can specify the names or the IDs of the security groups.
93251	SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
93252
93253	// The ID of the subnet in which to launch the instance.
93254	SubnetId *string `locationName:"subnetId" type:"string"`
93255
93256	// The Base64-encoded user data for the instance.
93257	UserData *string `locationName:"userData" type:"string"`
93258}
93259
93260// String returns the string representation
93261func (s LaunchSpecification) String() string {
93262	return awsutil.Prettify(s)
93263}
93264
93265// GoString returns the string representation
93266func (s LaunchSpecification) GoString() string {
93267	return s.String()
93268}
93269
93270// SetAddressingType sets the AddressingType field's value.
93271func (s *LaunchSpecification) SetAddressingType(v string) *LaunchSpecification {
93272	s.AddressingType = &v
93273	return s
93274}
93275
93276// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
93277func (s *LaunchSpecification) SetBlockDeviceMappings(v []*BlockDeviceMapping) *LaunchSpecification {
93278	s.BlockDeviceMappings = v
93279	return s
93280}
93281
93282// SetEbsOptimized sets the EbsOptimized field's value.
93283func (s *LaunchSpecification) SetEbsOptimized(v bool) *LaunchSpecification {
93284	s.EbsOptimized = &v
93285	return s
93286}
93287
93288// SetIamInstanceProfile sets the IamInstanceProfile field's value.
93289func (s *LaunchSpecification) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *LaunchSpecification {
93290	s.IamInstanceProfile = v
93291	return s
93292}
93293
93294// SetImageId sets the ImageId field's value.
93295func (s *LaunchSpecification) SetImageId(v string) *LaunchSpecification {
93296	s.ImageId = &v
93297	return s
93298}
93299
93300// SetInstanceType sets the InstanceType field's value.
93301func (s *LaunchSpecification) SetInstanceType(v string) *LaunchSpecification {
93302	s.InstanceType = &v
93303	return s
93304}
93305
93306// SetKernelId sets the KernelId field's value.
93307func (s *LaunchSpecification) SetKernelId(v string) *LaunchSpecification {
93308	s.KernelId = &v
93309	return s
93310}
93311
93312// SetKeyName sets the KeyName field's value.
93313func (s *LaunchSpecification) SetKeyName(v string) *LaunchSpecification {
93314	s.KeyName = &v
93315	return s
93316}
93317
93318// SetMonitoring sets the Monitoring field's value.
93319func (s *LaunchSpecification) SetMonitoring(v *RunInstancesMonitoringEnabled) *LaunchSpecification {
93320	s.Monitoring = v
93321	return s
93322}
93323
93324// SetNetworkInterfaces sets the NetworkInterfaces field's value.
93325func (s *LaunchSpecification) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *LaunchSpecification {
93326	s.NetworkInterfaces = v
93327	return s
93328}
93329
93330// SetPlacement sets the Placement field's value.
93331func (s *LaunchSpecification) SetPlacement(v *SpotPlacement) *LaunchSpecification {
93332	s.Placement = v
93333	return s
93334}
93335
93336// SetRamdiskId sets the RamdiskId field's value.
93337func (s *LaunchSpecification) SetRamdiskId(v string) *LaunchSpecification {
93338	s.RamdiskId = &v
93339	return s
93340}
93341
93342// SetSecurityGroups sets the SecurityGroups field's value.
93343func (s *LaunchSpecification) SetSecurityGroups(v []*GroupIdentifier) *LaunchSpecification {
93344	s.SecurityGroups = v
93345	return s
93346}
93347
93348// SetSubnetId sets the SubnetId field's value.
93349func (s *LaunchSpecification) SetSubnetId(v string) *LaunchSpecification {
93350	s.SubnetId = &v
93351	return s
93352}
93353
93354// SetUserData sets the UserData field's value.
93355func (s *LaunchSpecification) SetUserData(v string) *LaunchSpecification {
93356	s.UserData = &v
93357	return s
93358}
93359
93360// Describes a launch template.
93361type LaunchTemplate struct {
93362	_ struct{} `type:"structure"`
93363
93364	// The time launch template was created.
93365	CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
93366
93367	// The principal that created the launch template.
93368	CreatedBy *string `locationName:"createdBy" type:"string"`
93369
93370	// The version number of the default version of the launch template.
93371	DefaultVersionNumber *int64 `locationName:"defaultVersionNumber" type:"long"`
93372
93373	// The version number of the latest version of the launch template.
93374	LatestVersionNumber *int64 `locationName:"latestVersionNumber" type:"long"`
93375
93376	// The ID of the launch template.
93377	LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"`
93378
93379	// The name of the launch template.
93380	LaunchTemplateName *string `locationName:"launchTemplateName" min:"3" type:"string"`
93381
93382	// The tags for the launch template.
93383	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
93384}
93385
93386// String returns the string representation
93387func (s LaunchTemplate) String() string {
93388	return awsutil.Prettify(s)
93389}
93390
93391// GoString returns the string representation
93392func (s LaunchTemplate) GoString() string {
93393	return s.String()
93394}
93395
93396// SetCreateTime sets the CreateTime field's value.
93397func (s *LaunchTemplate) SetCreateTime(v time.Time) *LaunchTemplate {
93398	s.CreateTime = &v
93399	return s
93400}
93401
93402// SetCreatedBy sets the CreatedBy field's value.
93403func (s *LaunchTemplate) SetCreatedBy(v string) *LaunchTemplate {
93404	s.CreatedBy = &v
93405	return s
93406}
93407
93408// SetDefaultVersionNumber sets the DefaultVersionNumber field's value.
93409func (s *LaunchTemplate) SetDefaultVersionNumber(v int64) *LaunchTemplate {
93410	s.DefaultVersionNumber = &v
93411	return s
93412}
93413
93414// SetLatestVersionNumber sets the LatestVersionNumber field's value.
93415func (s *LaunchTemplate) SetLatestVersionNumber(v int64) *LaunchTemplate {
93416	s.LatestVersionNumber = &v
93417	return s
93418}
93419
93420// SetLaunchTemplateId sets the LaunchTemplateId field's value.
93421func (s *LaunchTemplate) SetLaunchTemplateId(v string) *LaunchTemplate {
93422	s.LaunchTemplateId = &v
93423	return s
93424}
93425
93426// SetLaunchTemplateName sets the LaunchTemplateName field's value.
93427func (s *LaunchTemplate) SetLaunchTemplateName(v string) *LaunchTemplate {
93428	s.LaunchTemplateName = &v
93429	return s
93430}
93431
93432// SetTags sets the Tags field's value.
93433func (s *LaunchTemplate) SetTags(v []*Tag) *LaunchTemplate {
93434	s.Tags = v
93435	return s
93436}
93437
93438// Describes a launch template and overrides.
93439type LaunchTemplateAndOverridesResponse struct {
93440	_ struct{} `type:"structure"`
93441
93442	// The launch template.
93443	LaunchTemplateSpecification *FleetLaunchTemplateSpecification `locationName:"launchTemplateSpecification" type:"structure"`
93444
93445	// Any parameters that you specify override the same parameters in the launch
93446	// template.
93447	Overrides *FleetLaunchTemplateOverrides `locationName:"overrides" type:"structure"`
93448}
93449
93450// String returns the string representation
93451func (s LaunchTemplateAndOverridesResponse) String() string {
93452	return awsutil.Prettify(s)
93453}
93454
93455// GoString returns the string representation
93456func (s LaunchTemplateAndOverridesResponse) GoString() string {
93457	return s.String()
93458}
93459
93460// SetLaunchTemplateSpecification sets the LaunchTemplateSpecification field's value.
93461func (s *LaunchTemplateAndOverridesResponse) SetLaunchTemplateSpecification(v *FleetLaunchTemplateSpecification) *LaunchTemplateAndOverridesResponse {
93462	s.LaunchTemplateSpecification = v
93463	return s
93464}
93465
93466// SetOverrides sets the Overrides field's value.
93467func (s *LaunchTemplateAndOverridesResponse) SetOverrides(v *FleetLaunchTemplateOverrides) *LaunchTemplateAndOverridesResponse {
93468	s.Overrides = v
93469	return s
93470}
93471
93472// Describes a block device mapping.
93473type LaunchTemplateBlockDeviceMapping struct {
93474	_ struct{} `type:"structure"`
93475
93476	// The device name.
93477	DeviceName *string `locationName:"deviceName" type:"string"`
93478
93479	// Information about the block device for an EBS volume.
93480	Ebs *LaunchTemplateEbsBlockDevice `locationName:"ebs" type:"structure"`
93481
93482	// To omit the device from the block device mapping, specify an empty string.
93483	NoDevice *string `locationName:"noDevice" type:"string"`
93484
93485	// The virtual device name (ephemeralN).
93486	VirtualName *string `locationName:"virtualName" type:"string"`
93487}
93488
93489// String returns the string representation
93490func (s LaunchTemplateBlockDeviceMapping) String() string {
93491	return awsutil.Prettify(s)
93492}
93493
93494// GoString returns the string representation
93495func (s LaunchTemplateBlockDeviceMapping) GoString() string {
93496	return s.String()
93497}
93498
93499// SetDeviceName sets the DeviceName field's value.
93500func (s *LaunchTemplateBlockDeviceMapping) SetDeviceName(v string) *LaunchTemplateBlockDeviceMapping {
93501	s.DeviceName = &v
93502	return s
93503}
93504
93505// SetEbs sets the Ebs field's value.
93506func (s *LaunchTemplateBlockDeviceMapping) SetEbs(v *LaunchTemplateEbsBlockDevice) *LaunchTemplateBlockDeviceMapping {
93507	s.Ebs = v
93508	return s
93509}
93510
93511// SetNoDevice sets the NoDevice field's value.
93512func (s *LaunchTemplateBlockDeviceMapping) SetNoDevice(v string) *LaunchTemplateBlockDeviceMapping {
93513	s.NoDevice = &v
93514	return s
93515}
93516
93517// SetVirtualName sets the VirtualName field's value.
93518func (s *LaunchTemplateBlockDeviceMapping) SetVirtualName(v string) *LaunchTemplateBlockDeviceMapping {
93519	s.VirtualName = &v
93520	return s
93521}
93522
93523// Describes a block device mapping.
93524type LaunchTemplateBlockDeviceMappingRequest struct {
93525	_ struct{} `type:"structure"`
93526
93527	// The device name (for example, /dev/sdh or xvdh).
93528	DeviceName *string `type:"string"`
93529
93530	// Parameters used to automatically set up EBS volumes when the instance is
93531	// launched.
93532	Ebs *LaunchTemplateEbsBlockDeviceRequest `type:"structure"`
93533
93534	// To omit the device from the block device mapping, specify an empty string.
93535	NoDevice *string `type:"string"`
93536
93537	// The virtual device name (ephemeralN). Instance store volumes are numbered
93538	// starting from 0. An instance type with 2 available instance store volumes
93539	// can specify mappings for ephemeral0 and ephemeral1. The number of available
93540	// instance store volumes depends on the instance type. After you connect to
93541	// the instance, you must mount the volume.
93542	VirtualName *string `type:"string"`
93543}
93544
93545// String returns the string representation
93546func (s LaunchTemplateBlockDeviceMappingRequest) String() string {
93547	return awsutil.Prettify(s)
93548}
93549
93550// GoString returns the string representation
93551func (s LaunchTemplateBlockDeviceMappingRequest) GoString() string {
93552	return s.String()
93553}
93554
93555// SetDeviceName sets the DeviceName field's value.
93556func (s *LaunchTemplateBlockDeviceMappingRequest) SetDeviceName(v string) *LaunchTemplateBlockDeviceMappingRequest {
93557	s.DeviceName = &v
93558	return s
93559}
93560
93561// SetEbs sets the Ebs field's value.
93562func (s *LaunchTemplateBlockDeviceMappingRequest) SetEbs(v *LaunchTemplateEbsBlockDeviceRequest) *LaunchTemplateBlockDeviceMappingRequest {
93563	s.Ebs = v
93564	return s
93565}
93566
93567// SetNoDevice sets the NoDevice field's value.
93568func (s *LaunchTemplateBlockDeviceMappingRequest) SetNoDevice(v string) *LaunchTemplateBlockDeviceMappingRequest {
93569	s.NoDevice = &v
93570	return s
93571}
93572
93573// SetVirtualName sets the VirtualName field's value.
93574func (s *LaunchTemplateBlockDeviceMappingRequest) SetVirtualName(v string) *LaunchTemplateBlockDeviceMappingRequest {
93575	s.VirtualName = &v
93576	return s
93577}
93578
93579// Describes an instance's Capacity Reservation targeting option. You can specify
93580// only one option at a time. Use the CapacityReservationPreference parameter
93581// to configure the instance to run in On-Demand capacity or to run in any open
93582// Capacity Reservation that has matching attributes (instance type, platform,
93583// Availability Zone). Use the CapacityReservationTarget parameter to explicitly
93584// target a specific Capacity Reservation or a Capacity Reservation group.
93585type LaunchTemplateCapacityReservationSpecificationRequest struct {
93586	_ struct{} `type:"structure"`
93587
93588	// Indicates the instance's Capacity Reservation preferences. Possible preferences
93589	// include:
93590	//
93591	//    * open - The instance can run in any open Capacity Reservation that has
93592	//    matching attributes (instance type, platform, Availability Zone).
93593	//
93594	//    * none - The instance avoids running in a Capacity Reservation even if
93595	//    one is available. The instance runs in On-Demand capacity.
93596	CapacityReservationPreference *string `type:"string" enum:"CapacityReservationPreference"`
93597
93598	// Information about the target Capacity Reservation or Capacity Reservation
93599	// group.
93600	CapacityReservationTarget *CapacityReservationTarget `type:"structure"`
93601}
93602
93603// String returns the string representation
93604func (s LaunchTemplateCapacityReservationSpecificationRequest) String() string {
93605	return awsutil.Prettify(s)
93606}
93607
93608// GoString returns the string representation
93609func (s LaunchTemplateCapacityReservationSpecificationRequest) GoString() string {
93610	return s.String()
93611}
93612
93613// SetCapacityReservationPreference sets the CapacityReservationPreference field's value.
93614func (s *LaunchTemplateCapacityReservationSpecificationRequest) SetCapacityReservationPreference(v string) *LaunchTemplateCapacityReservationSpecificationRequest {
93615	s.CapacityReservationPreference = &v
93616	return s
93617}
93618
93619// SetCapacityReservationTarget sets the CapacityReservationTarget field's value.
93620func (s *LaunchTemplateCapacityReservationSpecificationRequest) SetCapacityReservationTarget(v *CapacityReservationTarget) *LaunchTemplateCapacityReservationSpecificationRequest {
93621	s.CapacityReservationTarget = v
93622	return s
93623}
93624
93625// Information about the Capacity Reservation targeting option.
93626type LaunchTemplateCapacityReservationSpecificationResponse struct {
93627	_ struct{} `type:"structure"`
93628
93629	// Indicates the instance's Capacity Reservation preferences. Possible preferences
93630	// include:
93631	//
93632	//    * open - The instance can run in any open Capacity Reservation that has
93633	//    matching attributes (instance type, platform, Availability Zone).
93634	//
93635	//    * none - The instance avoids running in a Capacity Reservation even if
93636	//    one is available. The instance runs in On-Demand capacity.
93637	CapacityReservationPreference *string `locationName:"capacityReservationPreference" type:"string" enum:"CapacityReservationPreference"`
93638
93639	// Information about the target Capacity Reservation or Capacity Reservation
93640	// group.
93641	CapacityReservationTarget *CapacityReservationTargetResponse `locationName:"capacityReservationTarget" type:"structure"`
93642}
93643
93644// String returns the string representation
93645func (s LaunchTemplateCapacityReservationSpecificationResponse) String() string {
93646	return awsutil.Prettify(s)
93647}
93648
93649// GoString returns the string representation
93650func (s LaunchTemplateCapacityReservationSpecificationResponse) GoString() string {
93651	return s.String()
93652}
93653
93654// SetCapacityReservationPreference sets the CapacityReservationPreference field's value.
93655func (s *LaunchTemplateCapacityReservationSpecificationResponse) SetCapacityReservationPreference(v string) *LaunchTemplateCapacityReservationSpecificationResponse {
93656	s.CapacityReservationPreference = &v
93657	return s
93658}
93659
93660// SetCapacityReservationTarget sets the CapacityReservationTarget field's value.
93661func (s *LaunchTemplateCapacityReservationSpecificationResponse) SetCapacityReservationTarget(v *CapacityReservationTargetResponse) *LaunchTemplateCapacityReservationSpecificationResponse {
93662	s.CapacityReservationTarget = v
93663	return s
93664}
93665
93666// Describes a launch template and overrides.
93667type LaunchTemplateConfig struct {
93668	_ struct{} `type:"structure"`
93669
93670	// The launch template.
93671	LaunchTemplateSpecification *FleetLaunchTemplateSpecification `locationName:"launchTemplateSpecification" type:"structure"`
93672
93673	// Any parameters that you specify override the same parameters in the launch
93674	// template.
93675	Overrides []*LaunchTemplateOverrides `locationName:"overrides" locationNameList:"item" type:"list"`
93676}
93677
93678// String returns the string representation
93679func (s LaunchTemplateConfig) String() string {
93680	return awsutil.Prettify(s)
93681}
93682
93683// GoString returns the string representation
93684func (s LaunchTemplateConfig) GoString() string {
93685	return s.String()
93686}
93687
93688// Validate inspects the fields of the type to determine if they are valid.
93689func (s *LaunchTemplateConfig) Validate() error {
93690	invalidParams := request.ErrInvalidParams{Context: "LaunchTemplateConfig"}
93691	if s.LaunchTemplateSpecification != nil {
93692		if err := s.LaunchTemplateSpecification.Validate(); err != nil {
93693			invalidParams.AddNested("LaunchTemplateSpecification", err.(request.ErrInvalidParams))
93694		}
93695	}
93696
93697	if invalidParams.Len() > 0 {
93698		return invalidParams
93699	}
93700	return nil
93701}
93702
93703// SetLaunchTemplateSpecification sets the LaunchTemplateSpecification field's value.
93704func (s *LaunchTemplateConfig) SetLaunchTemplateSpecification(v *FleetLaunchTemplateSpecification) *LaunchTemplateConfig {
93705	s.LaunchTemplateSpecification = v
93706	return s
93707}
93708
93709// SetOverrides sets the Overrides field's value.
93710func (s *LaunchTemplateConfig) SetOverrides(v []*LaunchTemplateOverrides) *LaunchTemplateConfig {
93711	s.Overrides = v
93712	return s
93713}
93714
93715// The CPU options for the instance.
93716type LaunchTemplateCpuOptions struct {
93717	_ struct{} `type:"structure"`
93718
93719	// The number of CPU cores for the instance.
93720	CoreCount *int64 `locationName:"coreCount" type:"integer"`
93721
93722	// The number of threads per CPU core.
93723	ThreadsPerCore *int64 `locationName:"threadsPerCore" type:"integer"`
93724}
93725
93726// String returns the string representation
93727func (s LaunchTemplateCpuOptions) String() string {
93728	return awsutil.Prettify(s)
93729}
93730
93731// GoString returns the string representation
93732func (s LaunchTemplateCpuOptions) GoString() string {
93733	return s.String()
93734}
93735
93736// SetCoreCount sets the CoreCount field's value.
93737func (s *LaunchTemplateCpuOptions) SetCoreCount(v int64) *LaunchTemplateCpuOptions {
93738	s.CoreCount = &v
93739	return s
93740}
93741
93742// SetThreadsPerCore sets the ThreadsPerCore field's value.
93743func (s *LaunchTemplateCpuOptions) SetThreadsPerCore(v int64) *LaunchTemplateCpuOptions {
93744	s.ThreadsPerCore = &v
93745	return s
93746}
93747
93748// The CPU options for the instance. Both the core count and threads per core
93749// must be specified in the request.
93750type LaunchTemplateCpuOptionsRequest struct {
93751	_ struct{} `type:"structure"`
93752
93753	// The number of CPU cores for the instance.
93754	CoreCount *int64 `type:"integer"`
93755
93756	// The number of threads per CPU core. To disable multithreading for the instance,
93757	// specify a value of 1. Otherwise, specify the default value of 2.
93758	ThreadsPerCore *int64 `type:"integer"`
93759}
93760
93761// String returns the string representation
93762func (s LaunchTemplateCpuOptionsRequest) String() string {
93763	return awsutil.Prettify(s)
93764}
93765
93766// GoString returns the string representation
93767func (s LaunchTemplateCpuOptionsRequest) GoString() string {
93768	return s.String()
93769}
93770
93771// SetCoreCount sets the CoreCount field's value.
93772func (s *LaunchTemplateCpuOptionsRequest) SetCoreCount(v int64) *LaunchTemplateCpuOptionsRequest {
93773	s.CoreCount = &v
93774	return s
93775}
93776
93777// SetThreadsPerCore sets the ThreadsPerCore field's value.
93778func (s *LaunchTemplateCpuOptionsRequest) SetThreadsPerCore(v int64) *LaunchTemplateCpuOptionsRequest {
93779	s.ThreadsPerCore = &v
93780	return s
93781}
93782
93783// Describes a block device for an EBS volume.
93784type LaunchTemplateEbsBlockDevice struct {
93785	_ struct{} `type:"structure"`
93786
93787	// Indicates whether the EBS volume is deleted on instance termination.
93788	DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
93789
93790	// Indicates whether the EBS volume is encrypted.
93791	Encrypted *bool `locationName:"encrypted" type:"boolean"`
93792
93793	// The number of I/O operations per second (IOPS) that the volume supports.
93794	Iops *int64 `locationName:"iops" type:"integer"`
93795
93796	// The ARN of the AWS Key Management Service (AWS KMS) CMK used for encryption.
93797	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
93798
93799	// The ID of the snapshot.
93800	SnapshotId *string `locationName:"snapshotId" type:"string"`
93801
93802	// The throughput that the volume supports, in MiB/s.
93803	Throughput *int64 `locationName:"throughput" type:"integer"`
93804
93805	// The size of the volume, in GiB.
93806	VolumeSize *int64 `locationName:"volumeSize" type:"integer"`
93807
93808	// The volume type.
93809	VolumeType *string `locationName:"volumeType" type:"string" enum:"VolumeType"`
93810}
93811
93812// String returns the string representation
93813func (s LaunchTemplateEbsBlockDevice) String() string {
93814	return awsutil.Prettify(s)
93815}
93816
93817// GoString returns the string representation
93818func (s LaunchTemplateEbsBlockDevice) GoString() string {
93819	return s.String()
93820}
93821
93822// SetDeleteOnTermination sets the DeleteOnTermination field's value.
93823func (s *LaunchTemplateEbsBlockDevice) SetDeleteOnTermination(v bool) *LaunchTemplateEbsBlockDevice {
93824	s.DeleteOnTermination = &v
93825	return s
93826}
93827
93828// SetEncrypted sets the Encrypted field's value.
93829func (s *LaunchTemplateEbsBlockDevice) SetEncrypted(v bool) *LaunchTemplateEbsBlockDevice {
93830	s.Encrypted = &v
93831	return s
93832}
93833
93834// SetIops sets the Iops field's value.
93835func (s *LaunchTemplateEbsBlockDevice) SetIops(v int64) *LaunchTemplateEbsBlockDevice {
93836	s.Iops = &v
93837	return s
93838}
93839
93840// SetKmsKeyId sets the KmsKeyId field's value.
93841func (s *LaunchTemplateEbsBlockDevice) SetKmsKeyId(v string) *LaunchTemplateEbsBlockDevice {
93842	s.KmsKeyId = &v
93843	return s
93844}
93845
93846// SetSnapshotId sets the SnapshotId field's value.
93847func (s *LaunchTemplateEbsBlockDevice) SetSnapshotId(v string) *LaunchTemplateEbsBlockDevice {
93848	s.SnapshotId = &v
93849	return s
93850}
93851
93852// SetThroughput sets the Throughput field's value.
93853func (s *LaunchTemplateEbsBlockDevice) SetThroughput(v int64) *LaunchTemplateEbsBlockDevice {
93854	s.Throughput = &v
93855	return s
93856}
93857
93858// SetVolumeSize sets the VolumeSize field's value.
93859func (s *LaunchTemplateEbsBlockDevice) SetVolumeSize(v int64) *LaunchTemplateEbsBlockDevice {
93860	s.VolumeSize = &v
93861	return s
93862}
93863
93864// SetVolumeType sets the VolumeType field's value.
93865func (s *LaunchTemplateEbsBlockDevice) SetVolumeType(v string) *LaunchTemplateEbsBlockDevice {
93866	s.VolumeType = &v
93867	return s
93868}
93869
93870// The parameters for a block device for an EBS volume.
93871type LaunchTemplateEbsBlockDeviceRequest struct {
93872	_ struct{} `type:"structure"`
93873
93874	// Indicates whether the EBS volume is deleted on instance termination.
93875	DeleteOnTermination *bool `type:"boolean"`
93876
93877	// Indicates whether the EBS volume is encrypted. Encrypted volumes can only
93878	// be attached to instances that support Amazon EBS encryption. If you are creating
93879	// a volume from a snapshot, you can't specify an encryption value.
93880	Encrypted *bool `type:"boolean"`
93881
93882	// The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes,
93883	// this represents the number of IOPS that are provisioned for the volume. For
93884	// gp2 volumes, this represents the baseline performance of the volume and the
93885	// rate at which the volume accumulates I/O credits for bursting.
93886	//
93887	// The following are the supported values for each volume type:
93888	//
93889	//    * gp3: 3,000-16,000 IOPS
93890	//
93891	//    * io1: 100-64,000 IOPS
93892	//
93893	//    * io2: 100-64,000 IOPS
93894	//
93895	// For io1 and io2 volumes, we guarantee 64,000 IOPS only for Instances built
93896	// on the Nitro System (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances).
93897	// Other instance families guarantee performance up to 32,000 IOPS.
93898	//
93899	// This parameter is supported for io1, io2, and gp3 volumes only. This parameter
93900	// is not supported for gp2, st1, sc1, or standard volumes.
93901	Iops *int64 `type:"integer"`
93902
93903	// The ARN of the symmetric AWS Key Management Service (AWS KMS) CMK used for
93904	// encryption.
93905	KmsKeyId *string `type:"string"`
93906
93907	// The ID of the snapshot.
93908	SnapshotId *string `type:"string"`
93909
93910	// The throughput to provision for a gp3 volume, with a maximum of 1,000 MiB/s.
93911	//
93912	// Valid Range: Minimum value of 125. Maximum value of 1000.
93913	Throughput *int64 `type:"integer"`
93914
93915	// The size of the volume, in GiBs. You must specify either a snapshot ID or
93916	// a volume size. The following are the supported volumes sizes for each volume
93917	// type:
93918	//
93919	//    * gp2 and gp3: 1-16,384
93920	//
93921	//    * io1 and io2: 4-16,384
93922	//
93923	//    * st1 and sc1: 125-16,384
93924	//
93925	//    * standard: 1-1,024
93926	VolumeSize *int64 `type:"integer"`
93927
93928	// The volume type. For more information, see Amazon EBS volume types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
93929	// in the Amazon Elastic Compute Cloud User Guide.
93930	VolumeType *string `type:"string" enum:"VolumeType"`
93931}
93932
93933// String returns the string representation
93934func (s LaunchTemplateEbsBlockDeviceRequest) String() string {
93935	return awsutil.Prettify(s)
93936}
93937
93938// GoString returns the string representation
93939func (s LaunchTemplateEbsBlockDeviceRequest) GoString() string {
93940	return s.String()
93941}
93942
93943// SetDeleteOnTermination sets the DeleteOnTermination field's value.
93944func (s *LaunchTemplateEbsBlockDeviceRequest) SetDeleteOnTermination(v bool) *LaunchTemplateEbsBlockDeviceRequest {
93945	s.DeleteOnTermination = &v
93946	return s
93947}
93948
93949// SetEncrypted sets the Encrypted field's value.
93950func (s *LaunchTemplateEbsBlockDeviceRequest) SetEncrypted(v bool) *LaunchTemplateEbsBlockDeviceRequest {
93951	s.Encrypted = &v
93952	return s
93953}
93954
93955// SetIops sets the Iops field's value.
93956func (s *LaunchTemplateEbsBlockDeviceRequest) SetIops(v int64) *LaunchTemplateEbsBlockDeviceRequest {
93957	s.Iops = &v
93958	return s
93959}
93960
93961// SetKmsKeyId sets the KmsKeyId field's value.
93962func (s *LaunchTemplateEbsBlockDeviceRequest) SetKmsKeyId(v string) *LaunchTemplateEbsBlockDeviceRequest {
93963	s.KmsKeyId = &v
93964	return s
93965}
93966
93967// SetSnapshotId sets the SnapshotId field's value.
93968func (s *LaunchTemplateEbsBlockDeviceRequest) SetSnapshotId(v string) *LaunchTemplateEbsBlockDeviceRequest {
93969	s.SnapshotId = &v
93970	return s
93971}
93972
93973// SetThroughput sets the Throughput field's value.
93974func (s *LaunchTemplateEbsBlockDeviceRequest) SetThroughput(v int64) *LaunchTemplateEbsBlockDeviceRequest {
93975	s.Throughput = &v
93976	return s
93977}
93978
93979// SetVolumeSize sets the VolumeSize field's value.
93980func (s *LaunchTemplateEbsBlockDeviceRequest) SetVolumeSize(v int64) *LaunchTemplateEbsBlockDeviceRequest {
93981	s.VolumeSize = &v
93982	return s
93983}
93984
93985// SetVolumeType sets the VolumeType field's value.
93986func (s *LaunchTemplateEbsBlockDeviceRequest) SetVolumeType(v string) *LaunchTemplateEbsBlockDeviceRequest {
93987	s.VolumeType = &v
93988	return s
93989}
93990
93991// Describes an elastic inference accelerator.
93992type LaunchTemplateElasticInferenceAccelerator struct {
93993	_ struct{} `type:"structure"`
93994
93995	// The number of elastic inference accelerators to attach to the instance.
93996	//
93997	// Default: 1
93998	Count *int64 `min:"1" type:"integer"`
93999
94000	// The type of elastic inference accelerator. The possible values are eia1.medium,
94001	// eia1.large, and eia1.xlarge.
94002	//
94003	// Type is a required field
94004	Type *string `type:"string" required:"true"`
94005}
94006
94007// String returns the string representation
94008func (s LaunchTemplateElasticInferenceAccelerator) String() string {
94009	return awsutil.Prettify(s)
94010}
94011
94012// GoString returns the string representation
94013func (s LaunchTemplateElasticInferenceAccelerator) GoString() string {
94014	return s.String()
94015}
94016
94017// Validate inspects the fields of the type to determine if they are valid.
94018func (s *LaunchTemplateElasticInferenceAccelerator) Validate() error {
94019	invalidParams := request.ErrInvalidParams{Context: "LaunchTemplateElasticInferenceAccelerator"}
94020	if s.Count != nil && *s.Count < 1 {
94021		invalidParams.Add(request.NewErrParamMinValue("Count", 1))
94022	}
94023	if s.Type == nil {
94024		invalidParams.Add(request.NewErrParamRequired("Type"))
94025	}
94026
94027	if invalidParams.Len() > 0 {
94028		return invalidParams
94029	}
94030	return nil
94031}
94032
94033// SetCount sets the Count field's value.
94034func (s *LaunchTemplateElasticInferenceAccelerator) SetCount(v int64) *LaunchTemplateElasticInferenceAccelerator {
94035	s.Count = &v
94036	return s
94037}
94038
94039// SetType sets the Type field's value.
94040func (s *LaunchTemplateElasticInferenceAccelerator) SetType(v string) *LaunchTemplateElasticInferenceAccelerator {
94041	s.Type = &v
94042	return s
94043}
94044
94045// Describes an elastic inference accelerator.
94046type LaunchTemplateElasticInferenceAcceleratorResponse struct {
94047	_ struct{} `type:"structure"`
94048
94049	// The number of elastic inference accelerators to attach to the instance.
94050	//
94051	// Default: 1
94052	Count *int64 `locationName:"count" type:"integer"`
94053
94054	// The type of elastic inference accelerator. The possible values are eia1.medium,
94055	// eia1.large, and eia1.xlarge.
94056	Type *string `locationName:"type" type:"string"`
94057}
94058
94059// String returns the string representation
94060func (s LaunchTemplateElasticInferenceAcceleratorResponse) String() string {
94061	return awsutil.Prettify(s)
94062}
94063
94064// GoString returns the string representation
94065func (s LaunchTemplateElasticInferenceAcceleratorResponse) GoString() string {
94066	return s.String()
94067}
94068
94069// SetCount sets the Count field's value.
94070func (s *LaunchTemplateElasticInferenceAcceleratorResponse) SetCount(v int64) *LaunchTemplateElasticInferenceAcceleratorResponse {
94071	s.Count = &v
94072	return s
94073}
94074
94075// SetType sets the Type field's value.
94076func (s *LaunchTemplateElasticInferenceAcceleratorResponse) SetType(v string) *LaunchTemplateElasticInferenceAcceleratorResponse {
94077	s.Type = &v
94078	return s
94079}
94080
94081// Indicates whether the instance is enabled for AWS Nitro Enclaves.
94082type LaunchTemplateEnclaveOptions struct {
94083	_ struct{} `type:"structure"`
94084
94085	// If this parameter is set to true, the instance is enabled for AWS Nitro Enclaves;
94086	// otherwise, it is not enabled for AWS Nitro Enclaves.
94087	Enabled *bool `locationName:"enabled" type:"boolean"`
94088}
94089
94090// String returns the string representation
94091func (s LaunchTemplateEnclaveOptions) String() string {
94092	return awsutil.Prettify(s)
94093}
94094
94095// GoString returns the string representation
94096func (s LaunchTemplateEnclaveOptions) GoString() string {
94097	return s.String()
94098}
94099
94100// SetEnabled sets the Enabled field's value.
94101func (s *LaunchTemplateEnclaveOptions) SetEnabled(v bool) *LaunchTemplateEnclaveOptions {
94102	s.Enabled = &v
94103	return s
94104}
94105
94106// Indicates whether the instance is enabled for AWS Nitro Enclaves. For more
94107// information, see What is AWS Nitro Enclaves? (https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html)
94108// in the AWS Nitro Enclaves User Guide.
94109type LaunchTemplateEnclaveOptionsRequest struct {
94110	_ struct{} `type:"structure"`
94111
94112	// To enable the instance for AWS Nitro Enclaves, set this parameter to true.
94113	Enabled *bool `type:"boolean"`
94114}
94115
94116// String returns the string representation
94117func (s LaunchTemplateEnclaveOptionsRequest) String() string {
94118	return awsutil.Prettify(s)
94119}
94120
94121// GoString returns the string representation
94122func (s LaunchTemplateEnclaveOptionsRequest) GoString() string {
94123	return s.String()
94124}
94125
94126// SetEnabled sets the Enabled field's value.
94127func (s *LaunchTemplateEnclaveOptionsRequest) SetEnabled(v bool) *LaunchTemplateEnclaveOptionsRequest {
94128	s.Enabled = &v
94129	return s
94130}
94131
94132// Indicates whether an instance is configured for hibernation.
94133type LaunchTemplateHibernationOptions struct {
94134	_ struct{} `type:"structure"`
94135
94136	// If this parameter is set to true, the instance is enabled for hibernation;
94137	// otherwise, it is not enabled for hibernation.
94138	Configured *bool `locationName:"configured" type:"boolean"`
94139}
94140
94141// String returns the string representation
94142func (s LaunchTemplateHibernationOptions) String() string {
94143	return awsutil.Prettify(s)
94144}
94145
94146// GoString returns the string representation
94147func (s LaunchTemplateHibernationOptions) GoString() string {
94148	return s.String()
94149}
94150
94151// SetConfigured sets the Configured field's value.
94152func (s *LaunchTemplateHibernationOptions) SetConfigured(v bool) *LaunchTemplateHibernationOptions {
94153	s.Configured = &v
94154	return s
94155}
94156
94157// Indicates whether the instance is configured for hibernation. This parameter
94158// is valid only if the instance meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites).
94159type LaunchTemplateHibernationOptionsRequest struct {
94160	_ struct{} `type:"structure"`
94161
94162	// If you set this parameter to true, the instance is enabled for hibernation.
94163	//
94164	// Default: false
94165	Configured *bool `type:"boolean"`
94166}
94167
94168// String returns the string representation
94169func (s LaunchTemplateHibernationOptionsRequest) String() string {
94170	return awsutil.Prettify(s)
94171}
94172
94173// GoString returns the string representation
94174func (s LaunchTemplateHibernationOptionsRequest) GoString() string {
94175	return s.String()
94176}
94177
94178// SetConfigured sets the Configured field's value.
94179func (s *LaunchTemplateHibernationOptionsRequest) SetConfigured(v bool) *LaunchTemplateHibernationOptionsRequest {
94180	s.Configured = &v
94181	return s
94182}
94183
94184// Describes an IAM instance profile.
94185type LaunchTemplateIamInstanceProfileSpecification struct {
94186	_ struct{} `type:"structure"`
94187
94188	// The Amazon Resource Name (ARN) of the instance profile.
94189	Arn *string `locationName:"arn" type:"string"`
94190
94191	// The name of the instance profile.
94192	Name *string `locationName:"name" type:"string"`
94193}
94194
94195// String returns the string representation
94196func (s LaunchTemplateIamInstanceProfileSpecification) String() string {
94197	return awsutil.Prettify(s)
94198}
94199
94200// GoString returns the string representation
94201func (s LaunchTemplateIamInstanceProfileSpecification) GoString() string {
94202	return s.String()
94203}
94204
94205// SetArn sets the Arn field's value.
94206func (s *LaunchTemplateIamInstanceProfileSpecification) SetArn(v string) *LaunchTemplateIamInstanceProfileSpecification {
94207	s.Arn = &v
94208	return s
94209}
94210
94211// SetName sets the Name field's value.
94212func (s *LaunchTemplateIamInstanceProfileSpecification) SetName(v string) *LaunchTemplateIamInstanceProfileSpecification {
94213	s.Name = &v
94214	return s
94215}
94216
94217// An IAM instance profile.
94218type LaunchTemplateIamInstanceProfileSpecificationRequest struct {
94219	_ struct{} `type:"structure"`
94220
94221	// The Amazon Resource Name (ARN) of the instance profile.
94222	Arn *string `type:"string"`
94223
94224	// The name of the instance profile.
94225	Name *string `type:"string"`
94226}
94227
94228// String returns the string representation
94229func (s LaunchTemplateIamInstanceProfileSpecificationRequest) String() string {
94230	return awsutil.Prettify(s)
94231}
94232
94233// GoString returns the string representation
94234func (s LaunchTemplateIamInstanceProfileSpecificationRequest) GoString() string {
94235	return s.String()
94236}
94237
94238// SetArn sets the Arn field's value.
94239func (s *LaunchTemplateIamInstanceProfileSpecificationRequest) SetArn(v string) *LaunchTemplateIamInstanceProfileSpecificationRequest {
94240	s.Arn = &v
94241	return s
94242}
94243
94244// SetName sets the Name field's value.
94245func (s *LaunchTemplateIamInstanceProfileSpecificationRequest) SetName(v string) *LaunchTemplateIamInstanceProfileSpecificationRequest {
94246	s.Name = &v
94247	return s
94248}
94249
94250// The market (purchasing) option for the instances.
94251type LaunchTemplateInstanceMarketOptions struct {
94252	_ struct{} `type:"structure"`
94253
94254	// The market type.
94255	MarketType *string `locationName:"marketType" type:"string" enum:"MarketType"`
94256
94257	// The options for Spot Instances.
94258	SpotOptions *LaunchTemplateSpotMarketOptions `locationName:"spotOptions" type:"structure"`
94259}
94260
94261// String returns the string representation
94262func (s LaunchTemplateInstanceMarketOptions) String() string {
94263	return awsutil.Prettify(s)
94264}
94265
94266// GoString returns the string representation
94267func (s LaunchTemplateInstanceMarketOptions) GoString() string {
94268	return s.String()
94269}
94270
94271// SetMarketType sets the MarketType field's value.
94272func (s *LaunchTemplateInstanceMarketOptions) SetMarketType(v string) *LaunchTemplateInstanceMarketOptions {
94273	s.MarketType = &v
94274	return s
94275}
94276
94277// SetSpotOptions sets the SpotOptions field's value.
94278func (s *LaunchTemplateInstanceMarketOptions) SetSpotOptions(v *LaunchTemplateSpotMarketOptions) *LaunchTemplateInstanceMarketOptions {
94279	s.SpotOptions = v
94280	return s
94281}
94282
94283// The market (purchasing) option for the instances.
94284type LaunchTemplateInstanceMarketOptionsRequest struct {
94285	_ struct{} `type:"structure"`
94286
94287	// The market type.
94288	MarketType *string `type:"string" enum:"MarketType"`
94289
94290	// The options for Spot Instances.
94291	SpotOptions *LaunchTemplateSpotMarketOptionsRequest `type:"structure"`
94292}
94293
94294// String returns the string representation
94295func (s LaunchTemplateInstanceMarketOptionsRequest) String() string {
94296	return awsutil.Prettify(s)
94297}
94298
94299// GoString returns the string representation
94300func (s LaunchTemplateInstanceMarketOptionsRequest) GoString() string {
94301	return s.String()
94302}
94303
94304// SetMarketType sets the MarketType field's value.
94305func (s *LaunchTemplateInstanceMarketOptionsRequest) SetMarketType(v string) *LaunchTemplateInstanceMarketOptionsRequest {
94306	s.MarketType = &v
94307	return s
94308}
94309
94310// SetSpotOptions sets the SpotOptions field's value.
94311func (s *LaunchTemplateInstanceMarketOptionsRequest) SetSpotOptions(v *LaunchTemplateSpotMarketOptionsRequest) *LaunchTemplateInstanceMarketOptionsRequest {
94312	s.SpotOptions = v
94313	return s
94314}
94315
94316// The metadata options for the instance. For more information, see Instance
94317// Metadata and User Data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)
94318// in the Amazon Elastic Compute Cloud User Guide.
94319type LaunchTemplateInstanceMetadataOptions struct {
94320	_ struct{} `type:"structure"`
94321
94322	// This parameter enables or disables the HTTP metadata endpoint on your instances.
94323	// If the parameter is not specified, the default state is enabled.
94324	//
94325	// If you specify a value of disabled, you will not be able to access your instance
94326	// metadata.
94327	HttpEndpoint *string `locationName:"httpEndpoint" type:"string" enum:"LaunchTemplateInstanceMetadataEndpointState"`
94328
94329	// The desired HTTP PUT response hop limit for instance metadata requests. The
94330	// larger the number, the further instance metadata requests can travel.
94331	//
94332	// Default: 1
94333	//
94334	// Possible values: Integers from 1 to 64
94335	HttpPutResponseHopLimit *int64 `locationName:"httpPutResponseHopLimit" type:"integer"`
94336
94337	// The state of token usage for your instance metadata requests. If the parameter
94338	// is not specified in the request, the default state is optional.
94339	//
94340	// If the state is optional, you can choose to retrieve instance metadata with
94341	// or without a signed token header on your request. If you retrieve the IAM
94342	// role credentials without a token, the version 1.0 role credentials are returned.
94343	// If you retrieve the IAM role credentials using a valid signed token, the
94344	// version 2.0 role credentials are returned.
94345	//
94346	// If the state is required, you must send a signed token header with any instance
94347	// metadata retrieval requests. In this state, retrieving the IAM role credentials
94348	// always returns the version 2.0 credentials; the version 1.0 credentials are
94349	// not available.
94350	HttpTokens *string `locationName:"httpTokens" type:"string" enum:"LaunchTemplateHttpTokensState"`
94351
94352	// The state of the metadata option changes.
94353	//
94354	// pending - The metadata options are being updated and the instance is not
94355	// ready to process metadata traffic with the new selection.
94356	//
94357	// applied - The metadata options have been successfully applied on the instance.
94358	State *string `locationName:"state" type:"string" enum:"LaunchTemplateInstanceMetadataOptionsState"`
94359}
94360
94361// String returns the string representation
94362func (s LaunchTemplateInstanceMetadataOptions) String() string {
94363	return awsutil.Prettify(s)
94364}
94365
94366// GoString returns the string representation
94367func (s LaunchTemplateInstanceMetadataOptions) GoString() string {
94368	return s.String()
94369}
94370
94371// SetHttpEndpoint sets the HttpEndpoint field's value.
94372func (s *LaunchTemplateInstanceMetadataOptions) SetHttpEndpoint(v string) *LaunchTemplateInstanceMetadataOptions {
94373	s.HttpEndpoint = &v
94374	return s
94375}
94376
94377// SetHttpPutResponseHopLimit sets the HttpPutResponseHopLimit field's value.
94378func (s *LaunchTemplateInstanceMetadataOptions) SetHttpPutResponseHopLimit(v int64) *LaunchTemplateInstanceMetadataOptions {
94379	s.HttpPutResponseHopLimit = &v
94380	return s
94381}
94382
94383// SetHttpTokens sets the HttpTokens field's value.
94384func (s *LaunchTemplateInstanceMetadataOptions) SetHttpTokens(v string) *LaunchTemplateInstanceMetadataOptions {
94385	s.HttpTokens = &v
94386	return s
94387}
94388
94389// SetState sets the State field's value.
94390func (s *LaunchTemplateInstanceMetadataOptions) SetState(v string) *LaunchTemplateInstanceMetadataOptions {
94391	s.State = &v
94392	return s
94393}
94394
94395// The metadata options for the instance. For more information, see Instance
94396// Metadata and User Data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)
94397// in the Amazon Elastic Compute Cloud User Guide.
94398type LaunchTemplateInstanceMetadataOptionsRequest struct {
94399	_ struct{} `type:"structure"`
94400
94401	// This parameter enables or disables the HTTP metadata endpoint on your instances.
94402	// If the parameter is not specified, the default state is enabled.
94403	//
94404	// If you specify a value of disabled, you will not be able to access your instance
94405	// metadata.
94406	HttpEndpoint *string `type:"string" enum:"LaunchTemplateInstanceMetadataEndpointState"`
94407
94408	// The desired HTTP PUT response hop limit for instance metadata requests. The
94409	// larger the number, the further instance metadata requests can travel.
94410	//
94411	// Default: 1
94412	//
94413	// Possible values: Integers from 1 to 64
94414	HttpPutResponseHopLimit *int64 `type:"integer"`
94415
94416	// The state of token usage for your instance metadata requests. If the parameter
94417	// is not specified in the request, the default state is optional.
94418	//
94419	// If the state is optional, you can choose to retrieve instance metadata with
94420	// or without a signed token header on your request. If you retrieve the IAM
94421	// role credentials without a token, the version 1.0 role credentials are returned.
94422	// If you retrieve the IAM role credentials using a valid signed token, the
94423	// version 2.0 role credentials are returned.
94424	//
94425	// If the state is required, you must send a signed token header with any instance
94426	// metadata retrieval requests. In this state, retrieving the IAM role credentials
94427	// always returns the version 2.0 credentials; the version 1.0 credentials are
94428	// not available.
94429	HttpTokens *string `type:"string" enum:"LaunchTemplateHttpTokensState"`
94430}
94431
94432// String returns the string representation
94433func (s LaunchTemplateInstanceMetadataOptionsRequest) String() string {
94434	return awsutil.Prettify(s)
94435}
94436
94437// GoString returns the string representation
94438func (s LaunchTemplateInstanceMetadataOptionsRequest) GoString() string {
94439	return s.String()
94440}
94441
94442// SetHttpEndpoint sets the HttpEndpoint field's value.
94443func (s *LaunchTemplateInstanceMetadataOptionsRequest) SetHttpEndpoint(v string) *LaunchTemplateInstanceMetadataOptionsRequest {
94444	s.HttpEndpoint = &v
94445	return s
94446}
94447
94448// SetHttpPutResponseHopLimit sets the HttpPutResponseHopLimit field's value.
94449func (s *LaunchTemplateInstanceMetadataOptionsRequest) SetHttpPutResponseHopLimit(v int64) *LaunchTemplateInstanceMetadataOptionsRequest {
94450	s.HttpPutResponseHopLimit = &v
94451	return s
94452}
94453
94454// SetHttpTokens sets the HttpTokens field's value.
94455func (s *LaunchTemplateInstanceMetadataOptionsRequest) SetHttpTokens(v string) *LaunchTemplateInstanceMetadataOptionsRequest {
94456	s.HttpTokens = &v
94457	return s
94458}
94459
94460// Describes a network interface.
94461type LaunchTemplateInstanceNetworkInterfaceSpecification struct {
94462	_ struct{} `type:"structure"`
94463
94464	// Indicates whether to associate a Carrier IP address with eth0 for a new network
94465	// interface.
94466	//
94467	// Use this option when you launch an instance in a Wavelength Zone and want
94468	// to associate a Carrier IP address with the network interface. For more information
94469	// about Carrier IP addresses, see Carrier IP addresses (https://docs.aws.amazon.com/wavelength/latest/developerguide/how-wavelengths-work.html#provider-owned-ip)
94470	// in the AWS Wavelength Developer Guide.
94471	AssociateCarrierIpAddress *bool `locationName:"associateCarrierIpAddress" type:"boolean"`
94472
94473	// Indicates whether to associate a public IPv4 address with eth0 for a new
94474	// network interface.
94475	AssociatePublicIpAddress *bool `locationName:"associatePublicIpAddress" type:"boolean"`
94476
94477	// Indicates whether the network interface is deleted when the instance is terminated.
94478	DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
94479
94480	// A description for the network interface.
94481	Description *string `locationName:"description" type:"string"`
94482
94483	// The device index for the network interface attachment.
94484	DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
94485
94486	// The IDs of one or more security groups.
94487	Groups []*string `locationName:"groupSet" locationNameList:"groupId" type:"list"`
94488
94489	// The type of network interface.
94490	InterfaceType *string `locationName:"interfaceType" type:"string"`
94491
94492	// The number of IPv6 addresses for the network interface.
94493	Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"`
94494
94495	// The IPv6 addresses for the network interface.
94496	Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6AddressesSet" locationNameList:"item" type:"list"`
94497
94498	// The index of the network card.
94499	NetworkCardIndex *int64 `locationName:"networkCardIndex" type:"integer"`
94500
94501	// The ID of the network interface.
94502	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
94503
94504	// The primary private IPv4 address of the network interface.
94505	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
94506
94507	// One or more private IPv4 addresses.
94508	PrivateIpAddresses []*PrivateIpAddressSpecification `locationName:"privateIpAddressesSet" locationNameList:"item" type:"list"`
94509
94510	// The number of secondary private IPv4 addresses for the network interface.
94511	SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
94512
94513	// The ID of the subnet for the network interface.
94514	SubnetId *string `locationName:"subnetId" type:"string"`
94515}
94516
94517// String returns the string representation
94518func (s LaunchTemplateInstanceNetworkInterfaceSpecification) String() string {
94519	return awsutil.Prettify(s)
94520}
94521
94522// GoString returns the string representation
94523func (s LaunchTemplateInstanceNetworkInterfaceSpecification) GoString() string {
94524	return s.String()
94525}
94526
94527// SetAssociateCarrierIpAddress sets the AssociateCarrierIpAddress field's value.
94528func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetAssociateCarrierIpAddress(v bool) *LaunchTemplateInstanceNetworkInterfaceSpecification {
94529	s.AssociateCarrierIpAddress = &v
94530	return s
94531}
94532
94533// SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
94534func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetAssociatePublicIpAddress(v bool) *LaunchTemplateInstanceNetworkInterfaceSpecification {
94535	s.AssociatePublicIpAddress = &v
94536	return s
94537}
94538
94539// SetDeleteOnTermination sets the DeleteOnTermination field's value.
94540func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetDeleteOnTermination(v bool) *LaunchTemplateInstanceNetworkInterfaceSpecification {
94541	s.DeleteOnTermination = &v
94542	return s
94543}
94544
94545// SetDescription sets the Description field's value.
94546func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetDescription(v string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
94547	s.Description = &v
94548	return s
94549}
94550
94551// SetDeviceIndex sets the DeviceIndex field's value.
94552func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetDeviceIndex(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecification {
94553	s.DeviceIndex = &v
94554	return s
94555}
94556
94557// SetGroups sets the Groups field's value.
94558func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetGroups(v []*string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
94559	s.Groups = v
94560	return s
94561}
94562
94563// SetInterfaceType sets the InterfaceType field's value.
94564func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetInterfaceType(v string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
94565	s.InterfaceType = &v
94566	return s
94567}
94568
94569// SetIpv6AddressCount sets the Ipv6AddressCount field's value.
94570func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetIpv6AddressCount(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecification {
94571	s.Ipv6AddressCount = &v
94572	return s
94573}
94574
94575// SetIpv6Addresses sets the Ipv6Addresses field's value.
94576func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetIpv6Addresses(v []*InstanceIpv6Address) *LaunchTemplateInstanceNetworkInterfaceSpecification {
94577	s.Ipv6Addresses = v
94578	return s
94579}
94580
94581// SetNetworkCardIndex sets the NetworkCardIndex field's value.
94582func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetNetworkCardIndex(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecification {
94583	s.NetworkCardIndex = &v
94584	return s
94585}
94586
94587// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
94588func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetNetworkInterfaceId(v string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
94589	s.NetworkInterfaceId = &v
94590	return s
94591}
94592
94593// SetPrivateIpAddress sets the PrivateIpAddress field's value.
94594func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetPrivateIpAddress(v string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
94595	s.PrivateIpAddress = &v
94596	return s
94597}
94598
94599// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
94600func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetPrivateIpAddresses(v []*PrivateIpAddressSpecification) *LaunchTemplateInstanceNetworkInterfaceSpecification {
94601	s.PrivateIpAddresses = v
94602	return s
94603}
94604
94605// SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
94606func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetSecondaryPrivateIpAddressCount(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecification {
94607	s.SecondaryPrivateIpAddressCount = &v
94608	return s
94609}
94610
94611// SetSubnetId sets the SubnetId field's value.
94612func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetSubnetId(v string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
94613	s.SubnetId = &v
94614	return s
94615}
94616
94617// The parameters for a network interface.
94618type LaunchTemplateInstanceNetworkInterfaceSpecificationRequest struct {
94619	_ struct{} `type:"structure"`
94620
94621	// Associates a Carrier IP address with eth0 for a new network interface.
94622	//
94623	// Use this option when you launch an instance in a Wavelength Zone and want
94624	// to associate a Carrier IP address with the network interface. For more information
94625	// about Carrier IP addresses, see Carrier IP addresses (https://docs.aws.amazon.com/wavelength/latest/developerguide/how-wavelengths-work.html#provider-owned-ip)
94626	// in the AWS Wavelength Developer Guide.
94627	AssociateCarrierIpAddress *bool `type:"boolean"`
94628
94629	// Associates a public IPv4 address with eth0 for a new network interface.
94630	AssociatePublicIpAddress *bool `type:"boolean"`
94631
94632	// Indicates whether the network interface is deleted when the instance is terminated.
94633	DeleteOnTermination *bool `type:"boolean"`
94634
94635	// A description for the network interface.
94636	Description *string `type:"string"`
94637
94638	// The device index for the network interface attachment.
94639	DeviceIndex *int64 `type:"integer"`
94640
94641	// The IDs of one or more security groups.
94642	Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
94643
94644	// The type of network interface. To create an Elastic Fabric Adapter (EFA),
94645	// specify efa. For more information, see Elastic Fabric Adapter (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html)
94646	// in the Amazon Elastic Compute Cloud User Guide.
94647	//
94648	// If you are not creating an EFA, specify interface or omit this parameter.
94649	//
94650	// Valid values: interface | efa
94651	InterfaceType *string `type:"string"`
94652
94653	// The number of IPv6 addresses to assign to a network interface. Amazon EC2
94654	// automatically selects the IPv6 addresses from the subnet range. You can't
94655	// use this option if specifying specific IPv6 addresses.
94656	Ipv6AddressCount *int64 `type:"integer"`
94657
94658	// One or more specific IPv6 addresses from the IPv6 CIDR block range of your
94659	// subnet. You can't use this option if you're specifying a number of IPv6 addresses.
94660	Ipv6Addresses []*InstanceIpv6AddressRequest `locationNameList:"InstanceIpv6Address" type:"list"`
94661
94662	// The index of the network card. Some instance types support multiple network
94663	// cards. The primary network interface must be assigned to network card index
94664	// 0. The default is network card index 0.
94665	NetworkCardIndex *int64 `type:"integer"`
94666
94667	// The ID of the network interface.
94668	NetworkInterfaceId *string `type:"string"`
94669
94670	// The primary private IPv4 address of the network interface.
94671	PrivateIpAddress *string `type:"string"`
94672
94673	// One or more private IPv4 addresses.
94674	PrivateIpAddresses []*PrivateIpAddressSpecification `locationNameList:"item" type:"list"`
94675
94676	// The number of secondary private IPv4 addresses to assign to a network interface.
94677	SecondaryPrivateIpAddressCount *int64 `type:"integer"`
94678
94679	// The ID of the subnet for the network interface.
94680	SubnetId *string `type:"string"`
94681}
94682
94683// String returns the string representation
94684func (s LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) String() string {
94685	return awsutil.Prettify(s)
94686}
94687
94688// GoString returns the string representation
94689func (s LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) GoString() string {
94690	return s.String()
94691}
94692
94693// SetAssociateCarrierIpAddress sets the AssociateCarrierIpAddress field's value.
94694func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetAssociateCarrierIpAddress(v bool) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
94695	s.AssociateCarrierIpAddress = &v
94696	return s
94697}
94698
94699// SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
94700func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetAssociatePublicIpAddress(v bool) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
94701	s.AssociatePublicIpAddress = &v
94702	return s
94703}
94704
94705// SetDeleteOnTermination sets the DeleteOnTermination field's value.
94706func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetDeleteOnTermination(v bool) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
94707	s.DeleteOnTermination = &v
94708	return s
94709}
94710
94711// SetDescription sets the Description field's value.
94712func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetDescription(v string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
94713	s.Description = &v
94714	return s
94715}
94716
94717// SetDeviceIndex sets the DeviceIndex field's value.
94718func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetDeviceIndex(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
94719	s.DeviceIndex = &v
94720	return s
94721}
94722
94723// SetGroups sets the Groups field's value.
94724func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetGroups(v []*string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
94725	s.Groups = v
94726	return s
94727}
94728
94729// SetInterfaceType sets the InterfaceType field's value.
94730func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetInterfaceType(v string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
94731	s.InterfaceType = &v
94732	return s
94733}
94734
94735// SetIpv6AddressCount sets the Ipv6AddressCount field's value.
94736func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetIpv6AddressCount(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
94737	s.Ipv6AddressCount = &v
94738	return s
94739}
94740
94741// SetIpv6Addresses sets the Ipv6Addresses field's value.
94742func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetIpv6Addresses(v []*InstanceIpv6AddressRequest) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
94743	s.Ipv6Addresses = v
94744	return s
94745}
94746
94747// SetNetworkCardIndex sets the NetworkCardIndex field's value.
94748func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetNetworkCardIndex(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
94749	s.NetworkCardIndex = &v
94750	return s
94751}
94752
94753// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
94754func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetNetworkInterfaceId(v string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
94755	s.NetworkInterfaceId = &v
94756	return s
94757}
94758
94759// SetPrivateIpAddress sets the PrivateIpAddress field's value.
94760func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetPrivateIpAddress(v string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
94761	s.PrivateIpAddress = &v
94762	return s
94763}
94764
94765// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
94766func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetPrivateIpAddresses(v []*PrivateIpAddressSpecification) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
94767	s.PrivateIpAddresses = v
94768	return s
94769}
94770
94771// SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
94772func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetSecondaryPrivateIpAddressCount(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
94773	s.SecondaryPrivateIpAddressCount = &v
94774	return s
94775}
94776
94777// SetSubnetId sets the SubnetId field's value.
94778func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetSubnetId(v string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
94779	s.SubnetId = &v
94780	return s
94781}
94782
94783// Describes a license configuration.
94784type LaunchTemplateLicenseConfiguration struct {
94785	_ struct{} `type:"structure"`
94786
94787	// The Amazon Resource Name (ARN) of the license configuration.
94788	LicenseConfigurationArn *string `locationName:"licenseConfigurationArn" type:"string"`
94789}
94790
94791// String returns the string representation
94792func (s LaunchTemplateLicenseConfiguration) String() string {
94793	return awsutil.Prettify(s)
94794}
94795
94796// GoString returns the string representation
94797func (s LaunchTemplateLicenseConfiguration) GoString() string {
94798	return s.String()
94799}
94800
94801// SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value.
94802func (s *LaunchTemplateLicenseConfiguration) SetLicenseConfigurationArn(v string) *LaunchTemplateLicenseConfiguration {
94803	s.LicenseConfigurationArn = &v
94804	return s
94805}
94806
94807// Describes a license configuration.
94808type LaunchTemplateLicenseConfigurationRequest struct {
94809	_ struct{} `type:"structure"`
94810
94811	// The Amazon Resource Name (ARN) of the license configuration.
94812	LicenseConfigurationArn *string `type:"string"`
94813}
94814
94815// String returns the string representation
94816func (s LaunchTemplateLicenseConfigurationRequest) String() string {
94817	return awsutil.Prettify(s)
94818}
94819
94820// GoString returns the string representation
94821func (s LaunchTemplateLicenseConfigurationRequest) GoString() string {
94822	return s.String()
94823}
94824
94825// SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value.
94826func (s *LaunchTemplateLicenseConfigurationRequest) SetLicenseConfigurationArn(v string) *LaunchTemplateLicenseConfigurationRequest {
94827	s.LicenseConfigurationArn = &v
94828	return s
94829}
94830
94831// Describes overrides for a launch template.
94832type LaunchTemplateOverrides struct {
94833	_ struct{} `type:"structure"`
94834
94835	// The Availability Zone in which to launch the instances.
94836	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
94837
94838	// The instance type.
94839	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
94840
94841	// The priority for the launch template override. The highest priority is launched
94842	// first.
94843	//
94844	// If OnDemandAllocationStrategy is set to prioritized, Spot Fleet uses priority
94845	// to determine which launch template override to use first in fulfilling On-Demand
94846	// capacity.
94847	//
94848	// If the Spot AllocationStrategy is set to capacityOptimizedPrioritized, Spot
94849	// Fleet uses priority on a best-effort basis to determine which launch template
94850	// override to use in fulfilling Spot capacity, but optimizes for capacity first.
94851	//
94852	// Valid values are whole numbers starting at 0. The lower the number, the higher
94853	// the priority. If no number is set, the launch template override has the lowest
94854	// priority. You can set the same priority for different launch template overrides.
94855	Priority *float64 `locationName:"priority" type:"double"`
94856
94857	// The maximum price per unit hour that you are willing to pay for a Spot Instance.
94858	SpotPrice *string `locationName:"spotPrice" type:"string"`
94859
94860	// The ID of the subnet in which to launch the instances.
94861	SubnetId *string `locationName:"subnetId" type:"string"`
94862
94863	// The number of units provided by the specified instance type.
94864	WeightedCapacity *float64 `locationName:"weightedCapacity" type:"double"`
94865}
94866
94867// String returns the string representation
94868func (s LaunchTemplateOverrides) String() string {
94869	return awsutil.Prettify(s)
94870}
94871
94872// GoString returns the string representation
94873func (s LaunchTemplateOverrides) GoString() string {
94874	return s.String()
94875}
94876
94877// SetAvailabilityZone sets the AvailabilityZone field's value.
94878func (s *LaunchTemplateOverrides) SetAvailabilityZone(v string) *LaunchTemplateOverrides {
94879	s.AvailabilityZone = &v
94880	return s
94881}
94882
94883// SetInstanceType sets the InstanceType field's value.
94884func (s *LaunchTemplateOverrides) SetInstanceType(v string) *LaunchTemplateOverrides {
94885	s.InstanceType = &v
94886	return s
94887}
94888
94889// SetPriority sets the Priority field's value.
94890func (s *LaunchTemplateOverrides) SetPriority(v float64) *LaunchTemplateOverrides {
94891	s.Priority = &v
94892	return s
94893}
94894
94895// SetSpotPrice sets the SpotPrice field's value.
94896func (s *LaunchTemplateOverrides) SetSpotPrice(v string) *LaunchTemplateOverrides {
94897	s.SpotPrice = &v
94898	return s
94899}
94900
94901// SetSubnetId sets the SubnetId field's value.
94902func (s *LaunchTemplateOverrides) SetSubnetId(v string) *LaunchTemplateOverrides {
94903	s.SubnetId = &v
94904	return s
94905}
94906
94907// SetWeightedCapacity sets the WeightedCapacity field's value.
94908func (s *LaunchTemplateOverrides) SetWeightedCapacity(v float64) *LaunchTemplateOverrides {
94909	s.WeightedCapacity = &v
94910	return s
94911}
94912
94913// Describes the placement of an instance.
94914type LaunchTemplatePlacement struct {
94915	_ struct{} `type:"structure"`
94916
94917	// The affinity setting for the instance on the Dedicated Host.
94918	Affinity *string `locationName:"affinity" type:"string"`
94919
94920	// The Availability Zone of the instance.
94921	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
94922
94923	// The name of the placement group for the instance.
94924	GroupName *string `locationName:"groupName" type:"string"`
94925
94926	// The ID of the Dedicated Host for the instance.
94927	HostId *string `locationName:"hostId" type:"string"`
94928
94929	// The ARN of the host resource group in which to launch the instances.
94930	HostResourceGroupArn *string `locationName:"hostResourceGroupArn" type:"string"`
94931
94932	// The number of the partition the instance should launch in. Valid only if
94933	// the placement group strategy is set to partition.
94934	PartitionNumber *int64 `locationName:"partitionNumber" type:"integer"`
94935
94936	// Reserved for future use.
94937	SpreadDomain *string `locationName:"spreadDomain" type:"string"`
94938
94939	// The tenancy of the instance (if the instance is running in a VPC). An instance
94940	// with a tenancy of dedicated runs on single-tenant hardware.
94941	Tenancy *string `locationName:"tenancy" type:"string" enum:"Tenancy"`
94942}
94943
94944// String returns the string representation
94945func (s LaunchTemplatePlacement) String() string {
94946	return awsutil.Prettify(s)
94947}
94948
94949// GoString returns the string representation
94950func (s LaunchTemplatePlacement) GoString() string {
94951	return s.String()
94952}
94953
94954// SetAffinity sets the Affinity field's value.
94955func (s *LaunchTemplatePlacement) SetAffinity(v string) *LaunchTemplatePlacement {
94956	s.Affinity = &v
94957	return s
94958}
94959
94960// SetAvailabilityZone sets the AvailabilityZone field's value.
94961func (s *LaunchTemplatePlacement) SetAvailabilityZone(v string) *LaunchTemplatePlacement {
94962	s.AvailabilityZone = &v
94963	return s
94964}
94965
94966// SetGroupName sets the GroupName field's value.
94967func (s *LaunchTemplatePlacement) SetGroupName(v string) *LaunchTemplatePlacement {
94968	s.GroupName = &v
94969	return s
94970}
94971
94972// SetHostId sets the HostId field's value.
94973func (s *LaunchTemplatePlacement) SetHostId(v string) *LaunchTemplatePlacement {
94974	s.HostId = &v
94975	return s
94976}
94977
94978// SetHostResourceGroupArn sets the HostResourceGroupArn field's value.
94979func (s *LaunchTemplatePlacement) SetHostResourceGroupArn(v string) *LaunchTemplatePlacement {
94980	s.HostResourceGroupArn = &v
94981	return s
94982}
94983
94984// SetPartitionNumber sets the PartitionNumber field's value.
94985func (s *LaunchTemplatePlacement) SetPartitionNumber(v int64) *LaunchTemplatePlacement {
94986	s.PartitionNumber = &v
94987	return s
94988}
94989
94990// SetSpreadDomain sets the SpreadDomain field's value.
94991func (s *LaunchTemplatePlacement) SetSpreadDomain(v string) *LaunchTemplatePlacement {
94992	s.SpreadDomain = &v
94993	return s
94994}
94995
94996// SetTenancy sets the Tenancy field's value.
94997func (s *LaunchTemplatePlacement) SetTenancy(v string) *LaunchTemplatePlacement {
94998	s.Tenancy = &v
94999	return s
95000}
95001
95002// Describes the placement of an instance.
95003type LaunchTemplatePlacementRequest struct {
95004	_ struct{} `type:"structure"`
95005
95006	// The affinity setting for an instance on a Dedicated Host.
95007	Affinity *string `type:"string"`
95008
95009	// The Availability Zone for the instance.
95010	AvailabilityZone *string `type:"string"`
95011
95012	// The name of the placement group for the instance.
95013	GroupName *string `type:"string"`
95014
95015	// The ID of the Dedicated Host for the instance.
95016	HostId *string `type:"string"`
95017
95018	// The ARN of the host resource group in which to launch the instances. If you
95019	// specify a host resource group ARN, omit the Tenancy parameter or set it to
95020	// host.
95021	HostResourceGroupArn *string `type:"string"`
95022
95023	// The number of the partition the instance should launch in. Valid only if
95024	// the placement group strategy is set to partition.
95025	PartitionNumber *int64 `type:"integer"`
95026
95027	// Reserved for future use.
95028	SpreadDomain *string `type:"string"`
95029
95030	// The tenancy of the instance (if the instance is running in a VPC). An instance
95031	// with a tenancy of dedicated runs on single-tenant hardware.
95032	Tenancy *string `type:"string" enum:"Tenancy"`
95033}
95034
95035// String returns the string representation
95036func (s LaunchTemplatePlacementRequest) String() string {
95037	return awsutil.Prettify(s)
95038}
95039
95040// GoString returns the string representation
95041func (s LaunchTemplatePlacementRequest) GoString() string {
95042	return s.String()
95043}
95044
95045// SetAffinity sets the Affinity field's value.
95046func (s *LaunchTemplatePlacementRequest) SetAffinity(v string) *LaunchTemplatePlacementRequest {
95047	s.Affinity = &v
95048	return s
95049}
95050
95051// SetAvailabilityZone sets the AvailabilityZone field's value.
95052func (s *LaunchTemplatePlacementRequest) SetAvailabilityZone(v string) *LaunchTemplatePlacementRequest {
95053	s.AvailabilityZone = &v
95054	return s
95055}
95056
95057// SetGroupName sets the GroupName field's value.
95058func (s *LaunchTemplatePlacementRequest) SetGroupName(v string) *LaunchTemplatePlacementRequest {
95059	s.GroupName = &v
95060	return s
95061}
95062
95063// SetHostId sets the HostId field's value.
95064func (s *LaunchTemplatePlacementRequest) SetHostId(v string) *LaunchTemplatePlacementRequest {
95065	s.HostId = &v
95066	return s
95067}
95068
95069// SetHostResourceGroupArn sets the HostResourceGroupArn field's value.
95070func (s *LaunchTemplatePlacementRequest) SetHostResourceGroupArn(v string) *LaunchTemplatePlacementRequest {
95071	s.HostResourceGroupArn = &v
95072	return s
95073}
95074
95075// SetPartitionNumber sets the PartitionNumber field's value.
95076func (s *LaunchTemplatePlacementRequest) SetPartitionNumber(v int64) *LaunchTemplatePlacementRequest {
95077	s.PartitionNumber = &v
95078	return s
95079}
95080
95081// SetSpreadDomain sets the SpreadDomain field's value.
95082func (s *LaunchTemplatePlacementRequest) SetSpreadDomain(v string) *LaunchTemplatePlacementRequest {
95083	s.SpreadDomain = &v
95084	return s
95085}
95086
95087// SetTenancy sets the Tenancy field's value.
95088func (s *LaunchTemplatePlacementRequest) SetTenancy(v string) *LaunchTemplatePlacementRequest {
95089	s.Tenancy = &v
95090	return s
95091}
95092
95093// The launch template to use. You must specify either the launch template ID
95094// or launch template name in the request, but not both.
95095type LaunchTemplateSpecification struct {
95096	_ struct{} `type:"structure"`
95097
95098	// The ID of the launch template.
95099	LaunchTemplateId *string `type:"string"`
95100
95101	// The name of the launch template.
95102	LaunchTemplateName *string `type:"string"`
95103
95104	// The version number of the launch template.
95105	//
95106	// Default: The default version for the launch template.
95107	Version *string `type:"string"`
95108}
95109
95110// String returns the string representation
95111func (s LaunchTemplateSpecification) String() string {
95112	return awsutil.Prettify(s)
95113}
95114
95115// GoString returns the string representation
95116func (s LaunchTemplateSpecification) GoString() string {
95117	return s.String()
95118}
95119
95120// SetLaunchTemplateId sets the LaunchTemplateId field's value.
95121func (s *LaunchTemplateSpecification) SetLaunchTemplateId(v string) *LaunchTemplateSpecification {
95122	s.LaunchTemplateId = &v
95123	return s
95124}
95125
95126// SetLaunchTemplateName sets the LaunchTemplateName field's value.
95127func (s *LaunchTemplateSpecification) SetLaunchTemplateName(v string) *LaunchTemplateSpecification {
95128	s.LaunchTemplateName = &v
95129	return s
95130}
95131
95132// SetVersion sets the Version field's value.
95133func (s *LaunchTemplateSpecification) SetVersion(v string) *LaunchTemplateSpecification {
95134	s.Version = &v
95135	return s
95136}
95137
95138// The options for Spot Instances.
95139type LaunchTemplateSpotMarketOptions struct {
95140	_ struct{} `type:"structure"`
95141
95142	// The required duration for the Spot Instances (also known as Spot blocks),
95143	// in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300,
95144	// or 360).
95145	BlockDurationMinutes *int64 `locationName:"blockDurationMinutes" type:"integer"`
95146
95147	// The behavior when a Spot Instance is interrupted.
95148	InstanceInterruptionBehavior *string `locationName:"instanceInterruptionBehavior" type:"string" enum:"InstanceInterruptionBehavior"`
95149
95150	// The maximum hourly price you're willing to pay for the Spot Instances.
95151	MaxPrice *string `locationName:"maxPrice" type:"string"`
95152
95153	// The Spot Instance request type.
95154	SpotInstanceType *string `locationName:"spotInstanceType" type:"string" enum:"SpotInstanceType"`
95155
95156	// The end date of the request. For a one-time request, the request remains
95157	// active until all instances launch, the request is canceled, or this date
95158	// is reached. If the request is persistent, it remains active until it is canceled
95159	// or this date and time is reached.
95160	ValidUntil *time.Time `locationName:"validUntil" type:"timestamp"`
95161}
95162
95163// String returns the string representation
95164func (s LaunchTemplateSpotMarketOptions) String() string {
95165	return awsutil.Prettify(s)
95166}
95167
95168// GoString returns the string representation
95169func (s LaunchTemplateSpotMarketOptions) GoString() string {
95170	return s.String()
95171}
95172
95173// SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
95174func (s *LaunchTemplateSpotMarketOptions) SetBlockDurationMinutes(v int64) *LaunchTemplateSpotMarketOptions {
95175	s.BlockDurationMinutes = &v
95176	return s
95177}
95178
95179// SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
95180func (s *LaunchTemplateSpotMarketOptions) SetInstanceInterruptionBehavior(v string) *LaunchTemplateSpotMarketOptions {
95181	s.InstanceInterruptionBehavior = &v
95182	return s
95183}
95184
95185// SetMaxPrice sets the MaxPrice field's value.
95186func (s *LaunchTemplateSpotMarketOptions) SetMaxPrice(v string) *LaunchTemplateSpotMarketOptions {
95187	s.MaxPrice = &v
95188	return s
95189}
95190
95191// SetSpotInstanceType sets the SpotInstanceType field's value.
95192func (s *LaunchTemplateSpotMarketOptions) SetSpotInstanceType(v string) *LaunchTemplateSpotMarketOptions {
95193	s.SpotInstanceType = &v
95194	return s
95195}
95196
95197// SetValidUntil sets the ValidUntil field's value.
95198func (s *LaunchTemplateSpotMarketOptions) SetValidUntil(v time.Time) *LaunchTemplateSpotMarketOptions {
95199	s.ValidUntil = &v
95200	return s
95201}
95202
95203// The options for Spot Instances.
95204type LaunchTemplateSpotMarketOptionsRequest struct {
95205	_ struct{} `type:"structure"`
95206
95207	// The required duration for the Spot Instances (also known as Spot blocks),
95208	// in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300,
95209	// or 360).
95210	BlockDurationMinutes *int64 `type:"integer"`
95211
95212	// The behavior when a Spot Instance is interrupted. The default is terminate.
95213	InstanceInterruptionBehavior *string `type:"string" enum:"InstanceInterruptionBehavior"`
95214
95215	// The maximum hourly price you're willing to pay for the Spot Instances.
95216	MaxPrice *string `type:"string"`
95217
95218	// The Spot Instance request type.
95219	SpotInstanceType *string `type:"string" enum:"SpotInstanceType"`
95220
95221	// The end date of the request. For a one-time request, the request remains
95222	// active until all instances launch, the request is canceled, or this date
95223	// is reached. If the request is persistent, it remains active until it is canceled
95224	// or this date and time is reached. The default end date is 7 days from the
95225	// current date.
95226	ValidUntil *time.Time `type:"timestamp"`
95227}
95228
95229// String returns the string representation
95230func (s LaunchTemplateSpotMarketOptionsRequest) String() string {
95231	return awsutil.Prettify(s)
95232}
95233
95234// GoString returns the string representation
95235func (s LaunchTemplateSpotMarketOptionsRequest) GoString() string {
95236	return s.String()
95237}
95238
95239// SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
95240func (s *LaunchTemplateSpotMarketOptionsRequest) SetBlockDurationMinutes(v int64) *LaunchTemplateSpotMarketOptionsRequest {
95241	s.BlockDurationMinutes = &v
95242	return s
95243}
95244
95245// SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
95246func (s *LaunchTemplateSpotMarketOptionsRequest) SetInstanceInterruptionBehavior(v string) *LaunchTemplateSpotMarketOptionsRequest {
95247	s.InstanceInterruptionBehavior = &v
95248	return s
95249}
95250
95251// SetMaxPrice sets the MaxPrice field's value.
95252func (s *LaunchTemplateSpotMarketOptionsRequest) SetMaxPrice(v string) *LaunchTemplateSpotMarketOptionsRequest {
95253	s.MaxPrice = &v
95254	return s
95255}
95256
95257// SetSpotInstanceType sets the SpotInstanceType field's value.
95258func (s *LaunchTemplateSpotMarketOptionsRequest) SetSpotInstanceType(v string) *LaunchTemplateSpotMarketOptionsRequest {
95259	s.SpotInstanceType = &v
95260	return s
95261}
95262
95263// SetValidUntil sets the ValidUntil field's value.
95264func (s *LaunchTemplateSpotMarketOptionsRequest) SetValidUntil(v time.Time) *LaunchTemplateSpotMarketOptionsRequest {
95265	s.ValidUntil = &v
95266	return s
95267}
95268
95269// The tag specification for the launch template.
95270type LaunchTemplateTagSpecification struct {
95271	_ struct{} `type:"structure"`
95272
95273	// The type of resource.
95274	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
95275
95276	// The tags for the resource.
95277	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
95278}
95279
95280// String returns the string representation
95281func (s LaunchTemplateTagSpecification) String() string {
95282	return awsutil.Prettify(s)
95283}
95284
95285// GoString returns the string representation
95286func (s LaunchTemplateTagSpecification) GoString() string {
95287	return s.String()
95288}
95289
95290// SetResourceType sets the ResourceType field's value.
95291func (s *LaunchTemplateTagSpecification) SetResourceType(v string) *LaunchTemplateTagSpecification {
95292	s.ResourceType = &v
95293	return s
95294}
95295
95296// SetTags sets the Tags field's value.
95297func (s *LaunchTemplateTagSpecification) SetTags(v []*Tag) *LaunchTemplateTagSpecification {
95298	s.Tags = v
95299	return s
95300}
95301
95302// The tags specification for the launch template.
95303type LaunchTemplateTagSpecificationRequest struct {
95304	_ struct{} `type:"structure"`
95305
95306	// The type of resource to tag. Currently, the resource types that support tagging
95307	// on creation are instance and volume. To tag a resource after it has been
95308	// created, see CreateTags (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).
95309	ResourceType *string `type:"string" enum:"ResourceType"`
95310
95311	// The tags to apply to the resource.
95312	Tags []*Tag `locationName:"Tag" locationNameList:"item" type:"list"`
95313}
95314
95315// String returns the string representation
95316func (s LaunchTemplateTagSpecificationRequest) String() string {
95317	return awsutil.Prettify(s)
95318}
95319
95320// GoString returns the string representation
95321func (s LaunchTemplateTagSpecificationRequest) GoString() string {
95322	return s.String()
95323}
95324
95325// SetResourceType sets the ResourceType field's value.
95326func (s *LaunchTemplateTagSpecificationRequest) SetResourceType(v string) *LaunchTemplateTagSpecificationRequest {
95327	s.ResourceType = &v
95328	return s
95329}
95330
95331// SetTags sets the Tags field's value.
95332func (s *LaunchTemplateTagSpecificationRequest) SetTags(v []*Tag) *LaunchTemplateTagSpecificationRequest {
95333	s.Tags = v
95334	return s
95335}
95336
95337// Describes a launch template version.
95338type LaunchTemplateVersion struct {
95339	_ struct{} `type:"structure"`
95340
95341	// The time the version was created.
95342	CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
95343
95344	// The principal that created the version.
95345	CreatedBy *string `locationName:"createdBy" type:"string"`
95346
95347	// Indicates whether the version is the default version.
95348	DefaultVersion *bool `locationName:"defaultVersion" type:"boolean"`
95349
95350	// Information about the launch template.
95351	LaunchTemplateData *ResponseLaunchTemplateData `locationName:"launchTemplateData" type:"structure"`
95352
95353	// The ID of the launch template.
95354	LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"`
95355
95356	// The name of the launch template.
95357	LaunchTemplateName *string `locationName:"launchTemplateName" min:"3" type:"string"`
95358
95359	// The description for the version.
95360	VersionDescription *string `locationName:"versionDescription" type:"string"`
95361
95362	// The version number.
95363	VersionNumber *int64 `locationName:"versionNumber" type:"long"`
95364}
95365
95366// String returns the string representation
95367func (s LaunchTemplateVersion) String() string {
95368	return awsutil.Prettify(s)
95369}
95370
95371// GoString returns the string representation
95372func (s LaunchTemplateVersion) GoString() string {
95373	return s.String()
95374}
95375
95376// SetCreateTime sets the CreateTime field's value.
95377func (s *LaunchTemplateVersion) SetCreateTime(v time.Time) *LaunchTemplateVersion {
95378	s.CreateTime = &v
95379	return s
95380}
95381
95382// SetCreatedBy sets the CreatedBy field's value.
95383func (s *LaunchTemplateVersion) SetCreatedBy(v string) *LaunchTemplateVersion {
95384	s.CreatedBy = &v
95385	return s
95386}
95387
95388// SetDefaultVersion sets the DefaultVersion field's value.
95389func (s *LaunchTemplateVersion) SetDefaultVersion(v bool) *LaunchTemplateVersion {
95390	s.DefaultVersion = &v
95391	return s
95392}
95393
95394// SetLaunchTemplateData sets the LaunchTemplateData field's value.
95395func (s *LaunchTemplateVersion) SetLaunchTemplateData(v *ResponseLaunchTemplateData) *LaunchTemplateVersion {
95396	s.LaunchTemplateData = v
95397	return s
95398}
95399
95400// SetLaunchTemplateId sets the LaunchTemplateId field's value.
95401func (s *LaunchTemplateVersion) SetLaunchTemplateId(v string) *LaunchTemplateVersion {
95402	s.LaunchTemplateId = &v
95403	return s
95404}
95405
95406// SetLaunchTemplateName sets the LaunchTemplateName field's value.
95407func (s *LaunchTemplateVersion) SetLaunchTemplateName(v string) *LaunchTemplateVersion {
95408	s.LaunchTemplateName = &v
95409	return s
95410}
95411
95412// SetVersionDescription sets the VersionDescription field's value.
95413func (s *LaunchTemplateVersion) SetVersionDescription(v string) *LaunchTemplateVersion {
95414	s.VersionDescription = &v
95415	return s
95416}
95417
95418// SetVersionNumber sets the VersionNumber field's value.
95419func (s *LaunchTemplateVersion) SetVersionNumber(v int64) *LaunchTemplateVersion {
95420	s.VersionNumber = &v
95421	return s
95422}
95423
95424// Describes the monitoring for the instance.
95425type LaunchTemplatesMonitoring struct {
95426	_ struct{} `type:"structure"`
95427
95428	// Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring
95429	// is enabled.
95430	Enabled *bool `locationName:"enabled" type:"boolean"`
95431}
95432
95433// String returns the string representation
95434func (s LaunchTemplatesMonitoring) String() string {
95435	return awsutil.Prettify(s)
95436}
95437
95438// GoString returns the string representation
95439func (s LaunchTemplatesMonitoring) GoString() string {
95440	return s.String()
95441}
95442
95443// SetEnabled sets the Enabled field's value.
95444func (s *LaunchTemplatesMonitoring) SetEnabled(v bool) *LaunchTemplatesMonitoring {
95445	s.Enabled = &v
95446	return s
95447}
95448
95449// Describes the monitoring for the instance.
95450type LaunchTemplatesMonitoringRequest struct {
95451	_ struct{} `type:"structure"`
95452
95453	// Specify true to enable detailed monitoring. Otherwise, basic monitoring is
95454	// enabled.
95455	Enabled *bool `type:"boolean"`
95456}
95457
95458// String returns the string representation
95459func (s LaunchTemplatesMonitoringRequest) String() string {
95460	return awsutil.Prettify(s)
95461}
95462
95463// GoString returns the string representation
95464func (s LaunchTemplatesMonitoringRequest) GoString() string {
95465	return s.String()
95466}
95467
95468// SetEnabled sets the Enabled field's value.
95469func (s *LaunchTemplatesMonitoringRequest) SetEnabled(v bool) *LaunchTemplatesMonitoringRequest {
95470	s.Enabled = &v
95471	return s
95472}
95473
95474// Describes a license configuration.
95475type LicenseConfiguration struct {
95476	_ struct{} `type:"structure"`
95477
95478	// The Amazon Resource Name (ARN) of the license configuration.
95479	LicenseConfigurationArn *string `locationName:"licenseConfigurationArn" type:"string"`
95480}
95481
95482// String returns the string representation
95483func (s LicenseConfiguration) String() string {
95484	return awsutil.Prettify(s)
95485}
95486
95487// GoString returns the string representation
95488func (s LicenseConfiguration) GoString() string {
95489	return s.String()
95490}
95491
95492// SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value.
95493func (s *LicenseConfiguration) SetLicenseConfigurationArn(v string) *LicenseConfiguration {
95494	s.LicenseConfigurationArn = &v
95495	return s
95496}
95497
95498// Describes a license configuration.
95499type LicenseConfigurationRequest struct {
95500	_ struct{} `type:"structure"`
95501
95502	// The Amazon Resource Name (ARN) of the license configuration.
95503	LicenseConfigurationArn *string `type:"string"`
95504}
95505
95506// String returns the string representation
95507func (s LicenseConfigurationRequest) String() string {
95508	return awsutil.Prettify(s)
95509}
95510
95511// GoString returns the string representation
95512func (s LicenseConfigurationRequest) GoString() string {
95513	return s.String()
95514}
95515
95516// SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value.
95517func (s *LicenseConfigurationRequest) SetLicenseConfigurationArn(v string) *LicenseConfigurationRequest {
95518	s.LicenseConfigurationArn = &v
95519	return s
95520}
95521
95522// Describes the Classic Load Balancers and target groups to attach to a Spot
95523// Fleet request.
95524type LoadBalancersConfig struct {
95525	_ struct{} `type:"structure"`
95526
95527	// The Classic Load Balancers.
95528	ClassicLoadBalancersConfig *ClassicLoadBalancersConfig `locationName:"classicLoadBalancersConfig" type:"structure"`
95529
95530	// The target groups.
95531	TargetGroupsConfig *TargetGroupsConfig `locationName:"targetGroupsConfig" type:"structure"`
95532}
95533
95534// String returns the string representation
95535func (s LoadBalancersConfig) String() string {
95536	return awsutil.Prettify(s)
95537}
95538
95539// GoString returns the string representation
95540func (s LoadBalancersConfig) GoString() string {
95541	return s.String()
95542}
95543
95544// Validate inspects the fields of the type to determine if they are valid.
95545func (s *LoadBalancersConfig) Validate() error {
95546	invalidParams := request.ErrInvalidParams{Context: "LoadBalancersConfig"}
95547	if s.ClassicLoadBalancersConfig != nil {
95548		if err := s.ClassicLoadBalancersConfig.Validate(); err != nil {
95549			invalidParams.AddNested("ClassicLoadBalancersConfig", err.(request.ErrInvalidParams))
95550		}
95551	}
95552	if s.TargetGroupsConfig != nil {
95553		if err := s.TargetGroupsConfig.Validate(); err != nil {
95554			invalidParams.AddNested("TargetGroupsConfig", err.(request.ErrInvalidParams))
95555		}
95556	}
95557
95558	if invalidParams.Len() > 0 {
95559		return invalidParams
95560	}
95561	return nil
95562}
95563
95564// SetClassicLoadBalancersConfig sets the ClassicLoadBalancersConfig field's value.
95565func (s *LoadBalancersConfig) SetClassicLoadBalancersConfig(v *ClassicLoadBalancersConfig) *LoadBalancersConfig {
95566	s.ClassicLoadBalancersConfig = v
95567	return s
95568}
95569
95570// SetTargetGroupsConfig sets the TargetGroupsConfig field's value.
95571func (s *LoadBalancersConfig) SetTargetGroupsConfig(v *TargetGroupsConfig) *LoadBalancersConfig {
95572	s.TargetGroupsConfig = v
95573	return s
95574}
95575
95576// Describes a load permission.
95577type LoadPermission struct {
95578	_ struct{} `type:"structure"`
95579
95580	// The name of the group.
95581	Group *string `locationName:"group" type:"string" enum:"PermissionGroup"`
95582
95583	// The AWS account ID.
95584	UserId *string `locationName:"userId" type:"string"`
95585}
95586
95587// String returns the string representation
95588func (s LoadPermission) String() string {
95589	return awsutil.Prettify(s)
95590}
95591
95592// GoString returns the string representation
95593func (s LoadPermission) GoString() string {
95594	return s.String()
95595}
95596
95597// SetGroup sets the Group field's value.
95598func (s *LoadPermission) SetGroup(v string) *LoadPermission {
95599	s.Group = &v
95600	return s
95601}
95602
95603// SetUserId sets the UserId field's value.
95604func (s *LoadPermission) SetUserId(v string) *LoadPermission {
95605	s.UserId = &v
95606	return s
95607}
95608
95609// Describes modifications to the load permissions of an Amazon FPGA image (AFI).
95610type LoadPermissionModifications struct {
95611	_ struct{} `type:"structure"`
95612
95613	// The load permissions to add.
95614	Add []*LoadPermissionRequest `locationNameList:"item" type:"list"`
95615
95616	// The load permissions to remove.
95617	Remove []*LoadPermissionRequest `locationNameList:"item" type:"list"`
95618}
95619
95620// String returns the string representation
95621func (s LoadPermissionModifications) String() string {
95622	return awsutil.Prettify(s)
95623}
95624
95625// GoString returns the string representation
95626func (s LoadPermissionModifications) GoString() string {
95627	return s.String()
95628}
95629
95630// SetAdd sets the Add field's value.
95631func (s *LoadPermissionModifications) SetAdd(v []*LoadPermissionRequest) *LoadPermissionModifications {
95632	s.Add = v
95633	return s
95634}
95635
95636// SetRemove sets the Remove field's value.
95637func (s *LoadPermissionModifications) SetRemove(v []*LoadPermissionRequest) *LoadPermissionModifications {
95638	s.Remove = v
95639	return s
95640}
95641
95642// Describes a load permission.
95643type LoadPermissionRequest struct {
95644	_ struct{} `type:"structure"`
95645
95646	// The name of the group.
95647	Group *string `type:"string" enum:"PermissionGroup"`
95648
95649	// The AWS account ID.
95650	UserId *string `type:"string"`
95651}
95652
95653// String returns the string representation
95654func (s LoadPermissionRequest) String() string {
95655	return awsutil.Prettify(s)
95656}
95657
95658// GoString returns the string representation
95659func (s LoadPermissionRequest) GoString() string {
95660	return s.String()
95661}
95662
95663// SetGroup sets the Group field's value.
95664func (s *LoadPermissionRequest) SetGroup(v string) *LoadPermissionRequest {
95665	s.Group = &v
95666	return s
95667}
95668
95669// SetUserId sets the UserId field's value.
95670func (s *LoadPermissionRequest) SetUserId(v string) *LoadPermissionRequest {
95671	s.UserId = &v
95672	return s
95673}
95674
95675// Describes a local gateway.
95676type LocalGateway struct {
95677	_ struct{} `type:"structure"`
95678
95679	// The ID of the local gateway.
95680	LocalGatewayId *string `locationName:"localGatewayId" type:"string"`
95681
95682	// The Amazon Resource Name (ARN) of the Outpost.
95683	OutpostArn *string `locationName:"outpostArn" type:"string"`
95684
95685	// The AWS account ID that owns the local gateway.
95686	OwnerId *string `locationName:"ownerId" type:"string"`
95687
95688	// The state of the local gateway.
95689	State *string `locationName:"state" type:"string"`
95690
95691	// The tags assigned to the local gateway.
95692	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
95693}
95694
95695// String returns the string representation
95696func (s LocalGateway) String() string {
95697	return awsutil.Prettify(s)
95698}
95699
95700// GoString returns the string representation
95701func (s LocalGateway) GoString() string {
95702	return s.String()
95703}
95704
95705// SetLocalGatewayId sets the LocalGatewayId field's value.
95706func (s *LocalGateway) SetLocalGatewayId(v string) *LocalGateway {
95707	s.LocalGatewayId = &v
95708	return s
95709}
95710
95711// SetOutpostArn sets the OutpostArn field's value.
95712func (s *LocalGateway) SetOutpostArn(v string) *LocalGateway {
95713	s.OutpostArn = &v
95714	return s
95715}
95716
95717// SetOwnerId sets the OwnerId field's value.
95718func (s *LocalGateway) SetOwnerId(v string) *LocalGateway {
95719	s.OwnerId = &v
95720	return s
95721}
95722
95723// SetState sets the State field's value.
95724func (s *LocalGateway) SetState(v string) *LocalGateway {
95725	s.State = &v
95726	return s
95727}
95728
95729// SetTags sets the Tags field's value.
95730func (s *LocalGateway) SetTags(v []*Tag) *LocalGateway {
95731	s.Tags = v
95732	return s
95733}
95734
95735// Describes a route for a local gateway route table.
95736type LocalGatewayRoute struct {
95737	_ struct{} `type:"structure"`
95738
95739	// The CIDR block used for destination matches.
95740	DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
95741
95742	// The Amazon Resource Name (ARN) of the local gateway route table.
95743	LocalGatewayRouteTableArn *string `locationName:"localGatewayRouteTableArn" min:"1" type:"string"`
95744
95745	// The ID of the local gateway route table.
95746	LocalGatewayRouteTableId *string `locationName:"localGatewayRouteTableId" type:"string"`
95747
95748	// The ID of the virtual interface group.
95749	LocalGatewayVirtualInterfaceGroupId *string `locationName:"localGatewayVirtualInterfaceGroupId" type:"string"`
95750
95751	// The AWS account ID that owns the local gateway route.
95752	OwnerId *string `locationName:"ownerId" type:"string"`
95753
95754	// The state of the route.
95755	State *string `locationName:"state" type:"string" enum:"LocalGatewayRouteState"`
95756
95757	// The route type.
95758	Type *string `locationName:"type" type:"string" enum:"LocalGatewayRouteType"`
95759}
95760
95761// String returns the string representation
95762func (s LocalGatewayRoute) String() string {
95763	return awsutil.Prettify(s)
95764}
95765
95766// GoString returns the string representation
95767func (s LocalGatewayRoute) GoString() string {
95768	return s.String()
95769}
95770
95771// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
95772func (s *LocalGatewayRoute) SetDestinationCidrBlock(v string) *LocalGatewayRoute {
95773	s.DestinationCidrBlock = &v
95774	return s
95775}
95776
95777// SetLocalGatewayRouteTableArn sets the LocalGatewayRouteTableArn field's value.
95778func (s *LocalGatewayRoute) SetLocalGatewayRouteTableArn(v string) *LocalGatewayRoute {
95779	s.LocalGatewayRouteTableArn = &v
95780	return s
95781}
95782
95783// SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
95784func (s *LocalGatewayRoute) SetLocalGatewayRouteTableId(v string) *LocalGatewayRoute {
95785	s.LocalGatewayRouteTableId = &v
95786	return s
95787}
95788
95789// SetLocalGatewayVirtualInterfaceGroupId sets the LocalGatewayVirtualInterfaceGroupId field's value.
95790func (s *LocalGatewayRoute) SetLocalGatewayVirtualInterfaceGroupId(v string) *LocalGatewayRoute {
95791	s.LocalGatewayVirtualInterfaceGroupId = &v
95792	return s
95793}
95794
95795// SetOwnerId sets the OwnerId field's value.
95796func (s *LocalGatewayRoute) SetOwnerId(v string) *LocalGatewayRoute {
95797	s.OwnerId = &v
95798	return s
95799}
95800
95801// SetState sets the State field's value.
95802func (s *LocalGatewayRoute) SetState(v string) *LocalGatewayRoute {
95803	s.State = &v
95804	return s
95805}
95806
95807// SetType sets the Type field's value.
95808func (s *LocalGatewayRoute) SetType(v string) *LocalGatewayRoute {
95809	s.Type = &v
95810	return s
95811}
95812
95813// Describes a local gateway route table.
95814type LocalGatewayRouteTable struct {
95815	_ struct{} `type:"structure"`
95816
95817	// The ID of the local gateway.
95818	LocalGatewayId *string `locationName:"localGatewayId" type:"string"`
95819
95820	// The Amazon Resource Name (ARN) of the local gateway route table.
95821	LocalGatewayRouteTableArn *string `locationName:"localGatewayRouteTableArn" min:"1" type:"string"`
95822
95823	// The ID of the local gateway route table.
95824	LocalGatewayRouteTableId *string `locationName:"localGatewayRouteTableId" type:"string"`
95825
95826	// The Amazon Resource Name (ARN) of the Outpost.
95827	OutpostArn *string `locationName:"outpostArn" type:"string"`
95828
95829	// The AWS account ID that owns the local gateway route table.
95830	OwnerId *string `locationName:"ownerId" type:"string"`
95831
95832	// The state of the local gateway route table.
95833	State *string `locationName:"state" type:"string"`
95834
95835	// The tags assigned to the local gateway route table.
95836	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
95837}
95838
95839// String returns the string representation
95840func (s LocalGatewayRouteTable) String() string {
95841	return awsutil.Prettify(s)
95842}
95843
95844// GoString returns the string representation
95845func (s LocalGatewayRouteTable) GoString() string {
95846	return s.String()
95847}
95848
95849// SetLocalGatewayId sets the LocalGatewayId field's value.
95850func (s *LocalGatewayRouteTable) SetLocalGatewayId(v string) *LocalGatewayRouteTable {
95851	s.LocalGatewayId = &v
95852	return s
95853}
95854
95855// SetLocalGatewayRouteTableArn sets the LocalGatewayRouteTableArn field's value.
95856func (s *LocalGatewayRouteTable) SetLocalGatewayRouteTableArn(v string) *LocalGatewayRouteTable {
95857	s.LocalGatewayRouteTableArn = &v
95858	return s
95859}
95860
95861// SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
95862func (s *LocalGatewayRouteTable) SetLocalGatewayRouteTableId(v string) *LocalGatewayRouteTable {
95863	s.LocalGatewayRouteTableId = &v
95864	return s
95865}
95866
95867// SetOutpostArn sets the OutpostArn field's value.
95868func (s *LocalGatewayRouteTable) SetOutpostArn(v string) *LocalGatewayRouteTable {
95869	s.OutpostArn = &v
95870	return s
95871}
95872
95873// SetOwnerId sets the OwnerId field's value.
95874func (s *LocalGatewayRouteTable) SetOwnerId(v string) *LocalGatewayRouteTable {
95875	s.OwnerId = &v
95876	return s
95877}
95878
95879// SetState sets the State field's value.
95880func (s *LocalGatewayRouteTable) SetState(v string) *LocalGatewayRouteTable {
95881	s.State = &v
95882	return s
95883}
95884
95885// SetTags sets the Tags field's value.
95886func (s *LocalGatewayRouteTable) SetTags(v []*Tag) *LocalGatewayRouteTable {
95887	s.Tags = v
95888	return s
95889}
95890
95891// Describes an association between a local gateway route table and a virtual
95892// interface group.
95893type LocalGatewayRouteTableVirtualInterfaceGroupAssociation struct {
95894	_ struct{} `type:"structure"`
95895
95896	// The ID of the local gateway.
95897	LocalGatewayId *string `locationName:"localGatewayId" type:"string"`
95898
95899	// The Amazon Resource Name (ARN) of the local gateway route table for the virtual
95900	// interface group.
95901	LocalGatewayRouteTableArn *string `locationName:"localGatewayRouteTableArn" min:"1" type:"string"`
95902
95903	// The ID of the local gateway route table.
95904	LocalGatewayRouteTableId *string `locationName:"localGatewayRouteTableId" type:"string"`
95905
95906	// The ID of the association.
95907	LocalGatewayRouteTableVirtualInterfaceGroupAssociationId *string `locationName:"localGatewayRouteTableVirtualInterfaceGroupAssociationId" type:"string"`
95908
95909	// The ID of the virtual interface group.
95910	LocalGatewayVirtualInterfaceGroupId *string `locationName:"localGatewayVirtualInterfaceGroupId" type:"string"`
95911
95912	// The AWS account ID that owns the local gateway virtual interface group association.
95913	OwnerId *string `locationName:"ownerId" type:"string"`
95914
95915	// The state of the association.
95916	State *string `locationName:"state" type:"string"`
95917
95918	// The tags assigned to the association.
95919	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
95920}
95921
95922// String returns the string representation
95923func (s LocalGatewayRouteTableVirtualInterfaceGroupAssociation) String() string {
95924	return awsutil.Prettify(s)
95925}
95926
95927// GoString returns the string representation
95928func (s LocalGatewayRouteTableVirtualInterfaceGroupAssociation) GoString() string {
95929	return s.String()
95930}
95931
95932// SetLocalGatewayId sets the LocalGatewayId field's value.
95933func (s *LocalGatewayRouteTableVirtualInterfaceGroupAssociation) SetLocalGatewayId(v string) *LocalGatewayRouteTableVirtualInterfaceGroupAssociation {
95934	s.LocalGatewayId = &v
95935	return s
95936}
95937
95938// SetLocalGatewayRouteTableArn sets the LocalGatewayRouteTableArn field's value.
95939func (s *LocalGatewayRouteTableVirtualInterfaceGroupAssociation) SetLocalGatewayRouteTableArn(v string) *LocalGatewayRouteTableVirtualInterfaceGroupAssociation {
95940	s.LocalGatewayRouteTableArn = &v
95941	return s
95942}
95943
95944// SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
95945func (s *LocalGatewayRouteTableVirtualInterfaceGroupAssociation) SetLocalGatewayRouteTableId(v string) *LocalGatewayRouteTableVirtualInterfaceGroupAssociation {
95946	s.LocalGatewayRouteTableId = &v
95947	return s
95948}
95949
95950// SetLocalGatewayRouteTableVirtualInterfaceGroupAssociationId sets the LocalGatewayRouteTableVirtualInterfaceGroupAssociationId field's value.
95951func (s *LocalGatewayRouteTableVirtualInterfaceGroupAssociation) SetLocalGatewayRouteTableVirtualInterfaceGroupAssociationId(v string) *LocalGatewayRouteTableVirtualInterfaceGroupAssociation {
95952	s.LocalGatewayRouteTableVirtualInterfaceGroupAssociationId = &v
95953	return s
95954}
95955
95956// SetLocalGatewayVirtualInterfaceGroupId sets the LocalGatewayVirtualInterfaceGroupId field's value.
95957func (s *LocalGatewayRouteTableVirtualInterfaceGroupAssociation) SetLocalGatewayVirtualInterfaceGroupId(v string) *LocalGatewayRouteTableVirtualInterfaceGroupAssociation {
95958	s.LocalGatewayVirtualInterfaceGroupId = &v
95959	return s
95960}
95961
95962// SetOwnerId sets the OwnerId field's value.
95963func (s *LocalGatewayRouteTableVirtualInterfaceGroupAssociation) SetOwnerId(v string) *LocalGatewayRouteTableVirtualInterfaceGroupAssociation {
95964	s.OwnerId = &v
95965	return s
95966}
95967
95968// SetState sets the State field's value.
95969func (s *LocalGatewayRouteTableVirtualInterfaceGroupAssociation) SetState(v string) *LocalGatewayRouteTableVirtualInterfaceGroupAssociation {
95970	s.State = &v
95971	return s
95972}
95973
95974// SetTags sets the Tags field's value.
95975func (s *LocalGatewayRouteTableVirtualInterfaceGroupAssociation) SetTags(v []*Tag) *LocalGatewayRouteTableVirtualInterfaceGroupAssociation {
95976	s.Tags = v
95977	return s
95978}
95979
95980// Describes an association between a local gateway route table and a VPC.
95981type LocalGatewayRouteTableVpcAssociation struct {
95982	_ struct{} `type:"structure"`
95983
95984	// The ID of the local gateway.
95985	LocalGatewayId *string `locationName:"localGatewayId" type:"string"`
95986
95987	// The Amazon Resource Name (ARN) of the local gateway route table for the association.
95988	LocalGatewayRouteTableArn *string `locationName:"localGatewayRouteTableArn" min:"1" type:"string"`
95989
95990	// The ID of the local gateway route table.
95991	LocalGatewayRouteTableId *string `locationName:"localGatewayRouteTableId" type:"string"`
95992
95993	// The ID of the association.
95994	LocalGatewayRouteTableVpcAssociationId *string `locationName:"localGatewayRouteTableVpcAssociationId" type:"string"`
95995
95996	// The AWS account ID that owns the local gateway route table for the association.
95997	OwnerId *string `locationName:"ownerId" type:"string"`
95998
95999	// The state of the association.
96000	State *string `locationName:"state" type:"string"`
96001
96002	// The tags assigned to the association.
96003	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
96004
96005	// The ID of the VPC.
96006	VpcId *string `locationName:"vpcId" type:"string"`
96007}
96008
96009// String returns the string representation
96010func (s LocalGatewayRouteTableVpcAssociation) String() string {
96011	return awsutil.Prettify(s)
96012}
96013
96014// GoString returns the string representation
96015func (s LocalGatewayRouteTableVpcAssociation) GoString() string {
96016	return s.String()
96017}
96018
96019// SetLocalGatewayId sets the LocalGatewayId field's value.
96020func (s *LocalGatewayRouteTableVpcAssociation) SetLocalGatewayId(v string) *LocalGatewayRouteTableVpcAssociation {
96021	s.LocalGatewayId = &v
96022	return s
96023}
96024
96025// SetLocalGatewayRouteTableArn sets the LocalGatewayRouteTableArn field's value.
96026func (s *LocalGatewayRouteTableVpcAssociation) SetLocalGatewayRouteTableArn(v string) *LocalGatewayRouteTableVpcAssociation {
96027	s.LocalGatewayRouteTableArn = &v
96028	return s
96029}
96030
96031// SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
96032func (s *LocalGatewayRouteTableVpcAssociation) SetLocalGatewayRouteTableId(v string) *LocalGatewayRouteTableVpcAssociation {
96033	s.LocalGatewayRouteTableId = &v
96034	return s
96035}
96036
96037// SetLocalGatewayRouteTableVpcAssociationId sets the LocalGatewayRouteTableVpcAssociationId field's value.
96038func (s *LocalGatewayRouteTableVpcAssociation) SetLocalGatewayRouteTableVpcAssociationId(v string) *LocalGatewayRouteTableVpcAssociation {
96039	s.LocalGatewayRouteTableVpcAssociationId = &v
96040	return s
96041}
96042
96043// SetOwnerId sets the OwnerId field's value.
96044func (s *LocalGatewayRouteTableVpcAssociation) SetOwnerId(v string) *LocalGatewayRouteTableVpcAssociation {
96045	s.OwnerId = &v
96046	return s
96047}
96048
96049// SetState sets the State field's value.
96050func (s *LocalGatewayRouteTableVpcAssociation) SetState(v string) *LocalGatewayRouteTableVpcAssociation {
96051	s.State = &v
96052	return s
96053}
96054
96055// SetTags sets the Tags field's value.
96056func (s *LocalGatewayRouteTableVpcAssociation) SetTags(v []*Tag) *LocalGatewayRouteTableVpcAssociation {
96057	s.Tags = v
96058	return s
96059}
96060
96061// SetVpcId sets the VpcId field's value.
96062func (s *LocalGatewayRouteTableVpcAssociation) SetVpcId(v string) *LocalGatewayRouteTableVpcAssociation {
96063	s.VpcId = &v
96064	return s
96065}
96066
96067// Describes a local gateway virtual interface.
96068type LocalGatewayVirtualInterface struct {
96069	_ struct{} `type:"structure"`
96070
96071	// The local address.
96072	LocalAddress *string `locationName:"localAddress" type:"string"`
96073
96074	// The Border Gateway Protocol (BGP) Autonomous System Number (ASN) of the local
96075	// gateway.
96076	LocalBgpAsn *int64 `locationName:"localBgpAsn" type:"integer"`
96077
96078	// The ID of the local gateway.
96079	LocalGatewayId *string `locationName:"localGatewayId" type:"string"`
96080
96081	// The ID of the virtual interface.
96082	LocalGatewayVirtualInterfaceId *string `locationName:"localGatewayVirtualInterfaceId" type:"string"`
96083
96084	// The AWS account ID that owns the local gateway virtual interface.
96085	OwnerId *string `locationName:"ownerId" type:"string"`
96086
96087	// The peer address.
96088	PeerAddress *string `locationName:"peerAddress" type:"string"`
96089
96090	// The peer BGP ASN.
96091	PeerBgpAsn *int64 `locationName:"peerBgpAsn" type:"integer"`
96092
96093	// The tags assigned to the virtual interface.
96094	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
96095
96096	// The ID of the VLAN.
96097	Vlan *int64 `locationName:"vlan" type:"integer"`
96098}
96099
96100// String returns the string representation
96101func (s LocalGatewayVirtualInterface) String() string {
96102	return awsutil.Prettify(s)
96103}
96104
96105// GoString returns the string representation
96106func (s LocalGatewayVirtualInterface) GoString() string {
96107	return s.String()
96108}
96109
96110// SetLocalAddress sets the LocalAddress field's value.
96111func (s *LocalGatewayVirtualInterface) SetLocalAddress(v string) *LocalGatewayVirtualInterface {
96112	s.LocalAddress = &v
96113	return s
96114}
96115
96116// SetLocalBgpAsn sets the LocalBgpAsn field's value.
96117func (s *LocalGatewayVirtualInterface) SetLocalBgpAsn(v int64) *LocalGatewayVirtualInterface {
96118	s.LocalBgpAsn = &v
96119	return s
96120}
96121
96122// SetLocalGatewayId sets the LocalGatewayId field's value.
96123func (s *LocalGatewayVirtualInterface) SetLocalGatewayId(v string) *LocalGatewayVirtualInterface {
96124	s.LocalGatewayId = &v
96125	return s
96126}
96127
96128// SetLocalGatewayVirtualInterfaceId sets the LocalGatewayVirtualInterfaceId field's value.
96129func (s *LocalGatewayVirtualInterface) SetLocalGatewayVirtualInterfaceId(v string) *LocalGatewayVirtualInterface {
96130	s.LocalGatewayVirtualInterfaceId = &v
96131	return s
96132}
96133
96134// SetOwnerId sets the OwnerId field's value.
96135func (s *LocalGatewayVirtualInterface) SetOwnerId(v string) *LocalGatewayVirtualInterface {
96136	s.OwnerId = &v
96137	return s
96138}
96139
96140// SetPeerAddress sets the PeerAddress field's value.
96141func (s *LocalGatewayVirtualInterface) SetPeerAddress(v string) *LocalGatewayVirtualInterface {
96142	s.PeerAddress = &v
96143	return s
96144}
96145
96146// SetPeerBgpAsn sets the PeerBgpAsn field's value.
96147func (s *LocalGatewayVirtualInterface) SetPeerBgpAsn(v int64) *LocalGatewayVirtualInterface {
96148	s.PeerBgpAsn = &v
96149	return s
96150}
96151
96152// SetTags sets the Tags field's value.
96153func (s *LocalGatewayVirtualInterface) SetTags(v []*Tag) *LocalGatewayVirtualInterface {
96154	s.Tags = v
96155	return s
96156}
96157
96158// SetVlan sets the Vlan field's value.
96159func (s *LocalGatewayVirtualInterface) SetVlan(v int64) *LocalGatewayVirtualInterface {
96160	s.Vlan = &v
96161	return s
96162}
96163
96164// Describes a local gateway virtual interface group.
96165type LocalGatewayVirtualInterfaceGroup struct {
96166	_ struct{} `type:"structure"`
96167
96168	// The ID of the local gateway.
96169	LocalGatewayId *string `locationName:"localGatewayId" type:"string"`
96170
96171	// The ID of the virtual interface group.
96172	LocalGatewayVirtualInterfaceGroupId *string `locationName:"localGatewayVirtualInterfaceGroupId" type:"string"`
96173
96174	// The IDs of the virtual interfaces.
96175	LocalGatewayVirtualInterfaceIds []*string `locationName:"localGatewayVirtualInterfaceIdSet" locationNameList:"item" type:"list"`
96176
96177	// The AWS account ID that owns the local gateway virtual interface group.
96178	OwnerId *string `locationName:"ownerId" type:"string"`
96179
96180	// The tags assigned to the virtual interface group.
96181	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
96182}
96183
96184// String returns the string representation
96185func (s LocalGatewayVirtualInterfaceGroup) String() string {
96186	return awsutil.Prettify(s)
96187}
96188
96189// GoString returns the string representation
96190func (s LocalGatewayVirtualInterfaceGroup) GoString() string {
96191	return s.String()
96192}
96193
96194// SetLocalGatewayId sets the LocalGatewayId field's value.
96195func (s *LocalGatewayVirtualInterfaceGroup) SetLocalGatewayId(v string) *LocalGatewayVirtualInterfaceGroup {
96196	s.LocalGatewayId = &v
96197	return s
96198}
96199
96200// SetLocalGatewayVirtualInterfaceGroupId sets the LocalGatewayVirtualInterfaceGroupId field's value.
96201func (s *LocalGatewayVirtualInterfaceGroup) SetLocalGatewayVirtualInterfaceGroupId(v string) *LocalGatewayVirtualInterfaceGroup {
96202	s.LocalGatewayVirtualInterfaceGroupId = &v
96203	return s
96204}
96205
96206// SetLocalGatewayVirtualInterfaceIds sets the LocalGatewayVirtualInterfaceIds field's value.
96207func (s *LocalGatewayVirtualInterfaceGroup) SetLocalGatewayVirtualInterfaceIds(v []*string) *LocalGatewayVirtualInterfaceGroup {
96208	s.LocalGatewayVirtualInterfaceIds = v
96209	return s
96210}
96211
96212// SetOwnerId sets the OwnerId field's value.
96213func (s *LocalGatewayVirtualInterfaceGroup) SetOwnerId(v string) *LocalGatewayVirtualInterfaceGroup {
96214	s.OwnerId = &v
96215	return s
96216}
96217
96218// SetTags sets the Tags field's value.
96219func (s *LocalGatewayVirtualInterfaceGroup) SetTags(v []*Tag) *LocalGatewayVirtualInterfaceGroup {
96220	s.Tags = v
96221	return s
96222}
96223
96224// Describes a managed prefix list.
96225type ManagedPrefixList struct {
96226	_ struct{} `type:"structure"`
96227
96228	// The IP address version.
96229	AddressFamily *string `locationName:"addressFamily" type:"string"`
96230
96231	// The maximum number of entries for the prefix list.
96232	MaxEntries *int64 `locationName:"maxEntries" type:"integer"`
96233
96234	// The ID of the owner of the prefix list.
96235	OwnerId *string `locationName:"ownerId" type:"string"`
96236
96237	// The Amazon Resource Name (ARN) for the prefix list.
96238	PrefixListArn *string `locationName:"prefixListArn" min:"1" type:"string"`
96239
96240	// The ID of the prefix list.
96241	PrefixListId *string `locationName:"prefixListId" type:"string"`
96242
96243	// The name of the prefix list.
96244	PrefixListName *string `locationName:"prefixListName" type:"string"`
96245
96246	// The state of the prefix list.
96247	State *string `locationName:"state" type:"string" enum:"PrefixListState"`
96248
96249	// The state message.
96250	StateMessage *string `locationName:"stateMessage" type:"string"`
96251
96252	// The tags for the prefix list.
96253	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
96254
96255	// The version of the prefix list.
96256	Version *int64 `locationName:"version" type:"long"`
96257}
96258
96259// String returns the string representation
96260func (s ManagedPrefixList) String() string {
96261	return awsutil.Prettify(s)
96262}
96263
96264// GoString returns the string representation
96265func (s ManagedPrefixList) GoString() string {
96266	return s.String()
96267}
96268
96269// SetAddressFamily sets the AddressFamily field's value.
96270func (s *ManagedPrefixList) SetAddressFamily(v string) *ManagedPrefixList {
96271	s.AddressFamily = &v
96272	return s
96273}
96274
96275// SetMaxEntries sets the MaxEntries field's value.
96276func (s *ManagedPrefixList) SetMaxEntries(v int64) *ManagedPrefixList {
96277	s.MaxEntries = &v
96278	return s
96279}
96280
96281// SetOwnerId sets the OwnerId field's value.
96282func (s *ManagedPrefixList) SetOwnerId(v string) *ManagedPrefixList {
96283	s.OwnerId = &v
96284	return s
96285}
96286
96287// SetPrefixListArn sets the PrefixListArn field's value.
96288func (s *ManagedPrefixList) SetPrefixListArn(v string) *ManagedPrefixList {
96289	s.PrefixListArn = &v
96290	return s
96291}
96292
96293// SetPrefixListId sets the PrefixListId field's value.
96294func (s *ManagedPrefixList) SetPrefixListId(v string) *ManagedPrefixList {
96295	s.PrefixListId = &v
96296	return s
96297}
96298
96299// SetPrefixListName sets the PrefixListName field's value.
96300func (s *ManagedPrefixList) SetPrefixListName(v string) *ManagedPrefixList {
96301	s.PrefixListName = &v
96302	return s
96303}
96304
96305// SetState sets the State field's value.
96306func (s *ManagedPrefixList) SetState(v string) *ManagedPrefixList {
96307	s.State = &v
96308	return s
96309}
96310
96311// SetStateMessage sets the StateMessage field's value.
96312func (s *ManagedPrefixList) SetStateMessage(v string) *ManagedPrefixList {
96313	s.StateMessage = &v
96314	return s
96315}
96316
96317// SetTags sets the Tags field's value.
96318func (s *ManagedPrefixList) SetTags(v []*Tag) *ManagedPrefixList {
96319	s.Tags = v
96320	return s
96321}
96322
96323// SetVersion sets the Version field's value.
96324func (s *ManagedPrefixList) SetVersion(v int64) *ManagedPrefixList {
96325	s.Version = &v
96326	return s
96327}
96328
96329// Describes the memory for the instance type.
96330type MemoryInfo struct {
96331	_ struct{} `type:"structure"`
96332
96333	// The size of the memory, in MiB.
96334	SizeInMiB *int64 `locationName:"sizeInMiB" type:"long"`
96335}
96336
96337// String returns the string representation
96338func (s MemoryInfo) String() string {
96339	return awsutil.Prettify(s)
96340}
96341
96342// GoString returns the string representation
96343func (s MemoryInfo) GoString() string {
96344	return s.String()
96345}
96346
96347// SetSizeInMiB sets the SizeInMiB field's value.
96348func (s *MemoryInfo) SetSizeInMiB(v int64) *MemoryInfo {
96349	s.SizeInMiB = &v
96350	return s
96351}
96352
96353type ModifyAddressAttributeInput struct {
96354	_ struct{} `type:"structure"`
96355
96356	// [EC2-VPC] The allocation ID.
96357	//
96358	// AllocationId is a required field
96359	AllocationId *string `type:"string" required:"true"`
96360
96361	// The domain name to modify for the IP address.
96362	DomainName *string `type:"string"`
96363
96364	// Checks whether you have the required permissions for the action, without
96365	// actually making the request, and provides an error response. If you have
96366	// the required permissions, the error response is DryRunOperation. Otherwise,
96367	// it is UnauthorizedOperation.
96368	DryRun *bool `type:"boolean"`
96369}
96370
96371// String returns the string representation
96372func (s ModifyAddressAttributeInput) String() string {
96373	return awsutil.Prettify(s)
96374}
96375
96376// GoString returns the string representation
96377func (s ModifyAddressAttributeInput) GoString() string {
96378	return s.String()
96379}
96380
96381// Validate inspects the fields of the type to determine if they are valid.
96382func (s *ModifyAddressAttributeInput) Validate() error {
96383	invalidParams := request.ErrInvalidParams{Context: "ModifyAddressAttributeInput"}
96384	if s.AllocationId == nil {
96385		invalidParams.Add(request.NewErrParamRequired("AllocationId"))
96386	}
96387
96388	if invalidParams.Len() > 0 {
96389		return invalidParams
96390	}
96391	return nil
96392}
96393
96394// SetAllocationId sets the AllocationId field's value.
96395func (s *ModifyAddressAttributeInput) SetAllocationId(v string) *ModifyAddressAttributeInput {
96396	s.AllocationId = &v
96397	return s
96398}
96399
96400// SetDomainName sets the DomainName field's value.
96401func (s *ModifyAddressAttributeInput) SetDomainName(v string) *ModifyAddressAttributeInput {
96402	s.DomainName = &v
96403	return s
96404}
96405
96406// SetDryRun sets the DryRun field's value.
96407func (s *ModifyAddressAttributeInput) SetDryRun(v bool) *ModifyAddressAttributeInput {
96408	s.DryRun = &v
96409	return s
96410}
96411
96412type ModifyAddressAttributeOutput struct {
96413	_ struct{} `type:"structure"`
96414
96415	// Information about the Elastic IP address.
96416	Address *AddressAttribute `locationName:"address" type:"structure"`
96417}
96418
96419// String returns the string representation
96420func (s ModifyAddressAttributeOutput) String() string {
96421	return awsutil.Prettify(s)
96422}
96423
96424// GoString returns the string representation
96425func (s ModifyAddressAttributeOutput) GoString() string {
96426	return s.String()
96427}
96428
96429// SetAddress sets the Address field's value.
96430func (s *ModifyAddressAttributeOutput) SetAddress(v *AddressAttribute) *ModifyAddressAttributeOutput {
96431	s.Address = v
96432	return s
96433}
96434
96435type ModifyAvailabilityZoneGroupInput struct {
96436	_ struct{} `type:"structure"`
96437
96438	// Checks whether you have the required permissions for the action, without
96439	// actually making the request, and provides an error response. If you have
96440	// the required permissions, the error response is DryRunOperation. Otherwise,
96441	// it is UnauthorizedOperation.
96442	DryRun *bool `type:"boolean"`
96443
96444	// The name of the Availability Zone group, Local Zone group, or Wavelength
96445	// Zone group.
96446	//
96447	// GroupName is a required field
96448	GroupName *string `type:"string" required:"true"`
96449
96450	// Indicates whether you are opted in to the Local Zone group or Wavelength
96451	// Zone group. The only valid value is opted-in. You must contact AWS Support
96452	// (https://console.aws.amazon.com/support/home#/case/create%3FissueType=customer-service%26serviceCode=general-info%26getting-started%26categoryCode=using-aws%26services)
96453	// to opt out of a Local Zone group, or Wavelength Zone group.
96454	//
96455	// OptInStatus is a required field
96456	OptInStatus *string `type:"string" required:"true" enum:"ModifyAvailabilityZoneOptInStatus"`
96457}
96458
96459// String returns the string representation
96460func (s ModifyAvailabilityZoneGroupInput) String() string {
96461	return awsutil.Prettify(s)
96462}
96463
96464// GoString returns the string representation
96465func (s ModifyAvailabilityZoneGroupInput) GoString() string {
96466	return s.String()
96467}
96468
96469// Validate inspects the fields of the type to determine if they are valid.
96470func (s *ModifyAvailabilityZoneGroupInput) Validate() error {
96471	invalidParams := request.ErrInvalidParams{Context: "ModifyAvailabilityZoneGroupInput"}
96472	if s.GroupName == nil {
96473		invalidParams.Add(request.NewErrParamRequired("GroupName"))
96474	}
96475	if s.OptInStatus == nil {
96476		invalidParams.Add(request.NewErrParamRequired("OptInStatus"))
96477	}
96478
96479	if invalidParams.Len() > 0 {
96480		return invalidParams
96481	}
96482	return nil
96483}
96484
96485// SetDryRun sets the DryRun field's value.
96486func (s *ModifyAvailabilityZoneGroupInput) SetDryRun(v bool) *ModifyAvailabilityZoneGroupInput {
96487	s.DryRun = &v
96488	return s
96489}
96490
96491// SetGroupName sets the GroupName field's value.
96492func (s *ModifyAvailabilityZoneGroupInput) SetGroupName(v string) *ModifyAvailabilityZoneGroupInput {
96493	s.GroupName = &v
96494	return s
96495}
96496
96497// SetOptInStatus sets the OptInStatus field's value.
96498func (s *ModifyAvailabilityZoneGroupInput) SetOptInStatus(v string) *ModifyAvailabilityZoneGroupInput {
96499	s.OptInStatus = &v
96500	return s
96501}
96502
96503type ModifyAvailabilityZoneGroupOutput struct {
96504	_ struct{} `type:"structure"`
96505
96506	// Is true if the request succeeds, and an error otherwise.
96507	Return *bool `locationName:"return" type:"boolean"`
96508}
96509
96510// String returns the string representation
96511func (s ModifyAvailabilityZoneGroupOutput) String() string {
96512	return awsutil.Prettify(s)
96513}
96514
96515// GoString returns the string representation
96516func (s ModifyAvailabilityZoneGroupOutput) GoString() string {
96517	return s.String()
96518}
96519
96520// SetReturn sets the Return field's value.
96521func (s *ModifyAvailabilityZoneGroupOutput) SetReturn(v bool) *ModifyAvailabilityZoneGroupOutput {
96522	s.Return = &v
96523	return s
96524}
96525
96526type ModifyCapacityReservationInput struct {
96527	_ struct{} `type:"structure"`
96528
96529	// Reserved. Capacity Reservations you have created are accepted by default.
96530	Accept *bool `type:"boolean"`
96531
96532	// The ID of the Capacity Reservation.
96533	//
96534	// CapacityReservationId is a required field
96535	CapacityReservationId *string `type:"string" required:"true"`
96536
96537	// Checks whether you have the required permissions for the action, without
96538	// actually making the request, and provides an error response. If you have
96539	// the required permissions, the error response is DryRunOperation. Otherwise,
96540	// it is UnauthorizedOperation.
96541	DryRun *bool `type:"boolean"`
96542
96543	// The date and time at which the Capacity Reservation expires. When a Capacity
96544	// Reservation expires, the reserved capacity is released and you can no longer
96545	// launch instances into it. The Capacity Reservation's state changes to expired
96546	// when it reaches its end date and time.
96547	//
96548	// The Capacity Reservation is cancelled within an hour from the specified time.
96549	// For example, if you specify 5/31/2019, 13:30:55, the Capacity Reservation
96550	// is guaranteed to end between 13:30:55 and 14:30:55 on 5/31/2019.
96551	//
96552	// You must provide an EndDate value if EndDateType is limited. Omit EndDate
96553	// if EndDateType is unlimited.
96554	EndDate *time.Time `type:"timestamp"`
96555
96556	// Indicates the way in which the Capacity Reservation ends. A Capacity Reservation
96557	// can have one of the following end types:
96558	//
96559	//    * unlimited - The Capacity Reservation remains active until you explicitly
96560	//    cancel it. Do not provide an EndDate value if EndDateType is unlimited.
96561	//
96562	//    * limited - The Capacity Reservation expires automatically at a specified
96563	//    date and time. You must provide an EndDate value if EndDateType is limited.
96564	EndDateType *string `type:"string" enum:"EndDateType"`
96565
96566	// The number of instances for which to reserve capacity.
96567	InstanceCount *int64 `type:"integer"`
96568}
96569
96570// String returns the string representation
96571func (s ModifyCapacityReservationInput) String() string {
96572	return awsutil.Prettify(s)
96573}
96574
96575// GoString returns the string representation
96576func (s ModifyCapacityReservationInput) GoString() string {
96577	return s.String()
96578}
96579
96580// Validate inspects the fields of the type to determine if they are valid.
96581func (s *ModifyCapacityReservationInput) Validate() error {
96582	invalidParams := request.ErrInvalidParams{Context: "ModifyCapacityReservationInput"}
96583	if s.CapacityReservationId == nil {
96584		invalidParams.Add(request.NewErrParamRequired("CapacityReservationId"))
96585	}
96586
96587	if invalidParams.Len() > 0 {
96588		return invalidParams
96589	}
96590	return nil
96591}
96592
96593// SetAccept sets the Accept field's value.
96594func (s *ModifyCapacityReservationInput) SetAccept(v bool) *ModifyCapacityReservationInput {
96595	s.Accept = &v
96596	return s
96597}
96598
96599// SetCapacityReservationId sets the CapacityReservationId field's value.
96600func (s *ModifyCapacityReservationInput) SetCapacityReservationId(v string) *ModifyCapacityReservationInput {
96601	s.CapacityReservationId = &v
96602	return s
96603}
96604
96605// SetDryRun sets the DryRun field's value.
96606func (s *ModifyCapacityReservationInput) SetDryRun(v bool) *ModifyCapacityReservationInput {
96607	s.DryRun = &v
96608	return s
96609}
96610
96611// SetEndDate sets the EndDate field's value.
96612func (s *ModifyCapacityReservationInput) SetEndDate(v time.Time) *ModifyCapacityReservationInput {
96613	s.EndDate = &v
96614	return s
96615}
96616
96617// SetEndDateType sets the EndDateType field's value.
96618func (s *ModifyCapacityReservationInput) SetEndDateType(v string) *ModifyCapacityReservationInput {
96619	s.EndDateType = &v
96620	return s
96621}
96622
96623// SetInstanceCount sets the InstanceCount field's value.
96624func (s *ModifyCapacityReservationInput) SetInstanceCount(v int64) *ModifyCapacityReservationInput {
96625	s.InstanceCount = &v
96626	return s
96627}
96628
96629type ModifyCapacityReservationOutput struct {
96630	_ struct{} `type:"structure"`
96631
96632	// Returns true if the request succeeds; otherwise, it returns an error.
96633	Return *bool `locationName:"return" type:"boolean"`
96634}
96635
96636// String returns the string representation
96637func (s ModifyCapacityReservationOutput) String() string {
96638	return awsutil.Prettify(s)
96639}
96640
96641// GoString returns the string representation
96642func (s ModifyCapacityReservationOutput) GoString() string {
96643	return s.String()
96644}
96645
96646// SetReturn sets the Return field's value.
96647func (s *ModifyCapacityReservationOutput) SetReturn(v bool) *ModifyCapacityReservationOutput {
96648	s.Return = &v
96649	return s
96650}
96651
96652type ModifyClientVpnEndpointInput struct {
96653	_ struct{} `type:"structure"`
96654
96655	// The options for managing connection authorization for new client connections.
96656	ClientConnectOptions *ClientConnectOptions `type:"structure"`
96657
96658	// The ID of the Client VPN endpoint to modify.
96659	//
96660	// ClientVpnEndpointId is a required field
96661	ClientVpnEndpointId *string `type:"string" required:"true"`
96662
96663	// Information about the client connection logging options.
96664	//
96665	// If you enable client connection logging, data about client connections is
96666	// sent to a Cloudwatch Logs log stream. The following information is logged:
96667	//
96668	//    * Client connection requests
96669	//
96670	//    * Client connection results (successful and unsuccessful)
96671	//
96672	//    * Reasons for unsuccessful client connection requests
96673	//
96674	//    * Client connection termination time
96675	ConnectionLogOptions *ConnectionLogOptions `type:"structure"`
96676
96677	// A brief description of the Client VPN endpoint.
96678	Description *string `type:"string"`
96679
96680	// Information about the DNS servers to be used by Client VPN connections. A
96681	// Client VPN endpoint can have up to two DNS servers.
96682	DnsServers *DnsServersOptionsModifyStructure `type:"structure"`
96683
96684	// Checks whether you have the required permissions for the action, without
96685	// actually making the request, and provides an error response. If you have
96686	// the required permissions, the error response is DryRunOperation. Otherwise,
96687	// it is UnauthorizedOperation.
96688	DryRun *bool `type:"boolean"`
96689
96690	// The IDs of one or more security groups to apply to the target network.
96691	SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"item" type:"list"`
96692
96693	// Specify whether to enable the self-service portal for the Client VPN endpoint.
96694	SelfServicePortal *string `type:"string" enum:"SelfServicePortal"`
96695
96696	// The ARN of the server certificate to be used. The server certificate must
96697	// be provisioned in AWS Certificate Manager (ACM).
96698	ServerCertificateArn *string `type:"string"`
96699
96700	// Indicates whether the VPN is split-tunnel.
96701	//
96702	// For information about split-tunnel VPN endpoints, see Split-Tunnel AWS Client
96703	// VPN Endpoint (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/split-tunnel-vpn.html)
96704	// in the AWS Client VPN Administrator Guide.
96705	SplitTunnel *bool `type:"boolean"`
96706
96707	// The ID of the VPC to associate with the Client VPN endpoint.
96708	VpcId *string `type:"string"`
96709
96710	// The port number to assign to the Client VPN endpoint for TCP and UDP traffic.
96711	//
96712	// Valid Values: 443 | 1194
96713	//
96714	// Default Value: 443
96715	VpnPort *int64 `type:"integer"`
96716}
96717
96718// String returns the string representation
96719func (s ModifyClientVpnEndpointInput) String() string {
96720	return awsutil.Prettify(s)
96721}
96722
96723// GoString returns the string representation
96724func (s ModifyClientVpnEndpointInput) GoString() string {
96725	return s.String()
96726}
96727
96728// Validate inspects the fields of the type to determine if they are valid.
96729func (s *ModifyClientVpnEndpointInput) Validate() error {
96730	invalidParams := request.ErrInvalidParams{Context: "ModifyClientVpnEndpointInput"}
96731	if s.ClientVpnEndpointId == nil {
96732		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
96733	}
96734
96735	if invalidParams.Len() > 0 {
96736		return invalidParams
96737	}
96738	return nil
96739}
96740
96741// SetClientConnectOptions sets the ClientConnectOptions field's value.
96742func (s *ModifyClientVpnEndpointInput) SetClientConnectOptions(v *ClientConnectOptions) *ModifyClientVpnEndpointInput {
96743	s.ClientConnectOptions = v
96744	return s
96745}
96746
96747// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
96748func (s *ModifyClientVpnEndpointInput) SetClientVpnEndpointId(v string) *ModifyClientVpnEndpointInput {
96749	s.ClientVpnEndpointId = &v
96750	return s
96751}
96752
96753// SetConnectionLogOptions sets the ConnectionLogOptions field's value.
96754func (s *ModifyClientVpnEndpointInput) SetConnectionLogOptions(v *ConnectionLogOptions) *ModifyClientVpnEndpointInput {
96755	s.ConnectionLogOptions = v
96756	return s
96757}
96758
96759// SetDescription sets the Description field's value.
96760func (s *ModifyClientVpnEndpointInput) SetDescription(v string) *ModifyClientVpnEndpointInput {
96761	s.Description = &v
96762	return s
96763}
96764
96765// SetDnsServers sets the DnsServers field's value.
96766func (s *ModifyClientVpnEndpointInput) SetDnsServers(v *DnsServersOptionsModifyStructure) *ModifyClientVpnEndpointInput {
96767	s.DnsServers = v
96768	return s
96769}
96770
96771// SetDryRun sets the DryRun field's value.
96772func (s *ModifyClientVpnEndpointInput) SetDryRun(v bool) *ModifyClientVpnEndpointInput {
96773	s.DryRun = &v
96774	return s
96775}
96776
96777// SetSecurityGroupIds sets the SecurityGroupIds field's value.
96778func (s *ModifyClientVpnEndpointInput) SetSecurityGroupIds(v []*string) *ModifyClientVpnEndpointInput {
96779	s.SecurityGroupIds = v
96780	return s
96781}
96782
96783// SetSelfServicePortal sets the SelfServicePortal field's value.
96784func (s *ModifyClientVpnEndpointInput) SetSelfServicePortal(v string) *ModifyClientVpnEndpointInput {
96785	s.SelfServicePortal = &v
96786	return s
96787}
96788
96789// SetServerCertificateArn sets the ServerCertificateArn field's value.
96790func (s *ModifyClientVpnEndpointInput) SetServerCertificateArn(v string) *ModifyClientVpnEndpointInput {
96791	s.ServerCertificateArn = &v
96792	return s
96793}
96794
96795// SetSplitTunnel sets the SplitTunnel field's value.
96796func (s *ModifyClientVpnEndpointInput) SetSplitTunnel(v bool) *ModifyClientVpnEndpointInput {
96797	s.SplitTunnel = &v
96798	return s
96799}
96800
96801// SetVpcId sets the VpcId field's value.
96802func (s *ModifyClientVpnEndpointInput) SetVpcId(v string) *ModifyClientVpnEndpointInput {
96803	s.VpcId = &v
96804	return s
96805}
96806
96807// SetVpnPort sets the VpnPort field's value.
96808func (s *ModifyClientVpnEndpointInput) SetVpnPort(v int64) *ModifyClientVpnEndpointInput {
96809	s.VpnPort = &v
96810	return s
96811}
96812
96813type ModifyClientVpnEndpointOutput struct {
96814	_ struct{} `type:"structure"`
96815
96816	// Returns true if the request succeeds; otherwise, it returns an error.
96817	Return *bool `locationName:"return" type:"boolean"`
96818}
96819
96820// String returns the string representation
96821func (s ModifyClientVpnEndpointOutput) String() string {
96822	return awsutil.Prettify(s)
96823}
96824
96825// GoString returns the string representation
96826func (s ModifyClientVpnEndpointOutput) GoString() string {
96827	return s.String()
96828}
96829
96830// SetReturn sets the Return field's value.
96831func (s *ModifyClientVpnEndpointOutput) SetReturn(v bool) *ModifyClientVpnEndpointOutput {
96832	s.Return = &v
96833	return s
96834}
96835
96836type ModifyDefaultCreditSpecificationInput struct {
96837	_ struct{} `type:"structure"`
96838
96839	// The credit option for CPU usage of the instance family.
96840	//
96841	// Valid Values: standard | unlimited
96842	//
96843	// CpuCredits is a required field
96844	CpuCredits *string `type:"string" required:"true"`
96845
96846	// Checks whether you have the required permissions for the action, without
96847	// actually making the request, and provides an error response. If you have
96848	// the required permissions, the error response is DryRunOperation. Otherwise,
96849	// it is UnauthorizedOperation.
96850	DryRun *bool `type:"boolean"`
96851
96852	// The instance family.
96853	//
96854	// InstanceFamily is a required field
96855	InstanceFamily *string `type:"string" required:"true" enum:"UnlimitedSupportedInstanceFamily"`
96856}
96857
96858// String returns the string representation
96859func (s ModifyDefaultCreditSpecificationInput) String() string {
96860	return awsutil.Prettify(s)
96861}
96862
96863// GoString returns the string representation
96864func (s ModifyDefaultCreditSpecificationInput) GoString() string {
96865	return s.String()
96866}
96867
96868// Validate inspects the fields of the type to determine if they are valid.
96869func (s *ModifyDefaultCreditSpecificationInput) Validate() error {
96870	invalidParams := request.ErrInvalidParams{Context: "ModifyDefaultCreditSpecificationInput"}
96871	if s.CpuCredits == nil {
96872		invalidParams.Add(request.NewErrParamRequired("CpuCredits"))
96873	}
96874	if s.InstanceFamily == nil {
96875		invalidParams.Add(request.NewErrParamRequired("InstanceFamily"))
96876	}
96877
96878	if invalidParams.Len() > 0 {
96879		return invalidParams
96880	}
96881	return nil
96882}
96883
96884// SetCpuCredits sets the CpuCredits field's value.
96885func (s *ModifyDefaultCreditSpecificationInput) SetCpuCredits(v string) *ModifyDefaultCreditSpecificationInput {
96886	s.CpuCredits = &v
96887	return s
96888}
96889
96890// SetDryRun sets the DryRun field's value.
96891func (s *ModifyDefaultCreditSpecificationInput) SetDryRun(v bool) *ModifyDefaultCreditSpecificationInput {
96892	s.DryRun = &v
96893	return s
96894}
96895
96896// SetInstanceFamily sets the InstanceFamily field's value.
96897func (s *ModifyDefaultCreditSpecificationInput) SetInstanceFamily(v string) *ModifyDefaultCreditSpecificationInput {
96898	s.InstanceFamily = &v
96899	return s
96900}
96901
96902type ModifyDefaultCreditSpecificationOutput struct {
96903	_ struct{} `type:"structure"`
96904
96905	// The default credit option for CPU usage of the instance family.
96906	InstanceFamilyCreditSpecification *InstanceFamilyCreditSpecification `locationName:"instanceFamilyCreditSpecification" type:"structure"`
96907}
96908
96909// String returns the string representation
96910func (s ModifyDefaultCreditSpecificationOutput) String() string {
96911	return awsutil.Prettify(s)
96912}
96913
96914// GoString returns the string representation
96915func (s ModifyDefaultCreditSpecificationOutput) GoString() string {
96916	return s.String()
96917}
96918
96919// SetInstanceFamilyCreditSpecification sets the InstanceFamilyCreditSpecification field's value.
96920func (s *ModifyDefaultCreditSpecificationOutput) SetInstanceFamilyCreditSpecification(v *InstanceFamilyCreditSpecification) *ModifyDefaultCreditSpecificationOutput {
96921	s.InstanceFamilyCreditSpecification = v
96922	return s
96923}
96924
96925type ModifyEbsDefaultKmsKeyIdInput struct {
96926	_ struct{} `type:"structure"`
96927
96928	// Checks whether you have the required permissions for the action, without
96929	// actually making the request, and provides an error response. If you have
96930	// the required permissions, the error response is DryRunOperation. Otherwise,
96931	// it is UnauthorizedOperation.
96932	DryRun *bool `type:"boolean"`
96933
96934	// The identifier of the AWS Key Management Service (AWS KMS) customer master
96935	// key (CMK) to use for Amazon EBS encryption. If this parameter is not specified,
96936	// your AWS managed CMK for EBS is used. If KmsKeyId is specified, the encrypted
96937	// state must be true.
96938	//
96939	// You can specify the CMK using any of the following:
96940	//
96941	//    * Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.
96942	//
96943	//    * Key alias. For example, alias/ExampleAlias.
96944	//
96945	//    * Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.
96946	//
96947	//    * Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
96948	//
96949	// AWS authenticates the CMK asynchronously. Therefore, if you specify an ID,
96950	// alias, or ARN that is not valid, the action can appear to complete, but eventually
96951	// fails.
96952	//
96953	// Amazon EBS does not support asymmetric CMKs.
96954	//
96955	// KmsKeyId is a required field
96956	KmsKeyId *string `type:"string" required:"true"`
96957}
96958
96959// String returns the string representation
96960func (s ModifyEbsDefaultKmsKeyIdInput) String() string {
96961	return awsutil.Prettify(s)
96962}
96963
96964// GoString returns the string representation
96965func (s ModifyEbsDefaultKmsKeyIdInput) GoString() string {
96966	return s.String()
96967}
96968
96969// Validate inspects the fields of the type to determine if they are valid.
96970func (s *ModifyEbsDefaultKmsKeyIdInput) Validate() error {
96971	invalidParams := request.ErrInvalidParams{Context: "ModifyEbsDefaultKmsKeyIdInput"}
96972	if s.KmsKeyId == nil {
96973		invalidParams.Add(request.NewErrParamRequired("KmsKeyId"))
96974	}
96975
96976	if invalidParams.Len() > 0 {
96977		return invalidParams
96978	}
96979	return nil
96980}
96981
96982// SetDryRun sets the DryRun field's value.
96983func (s *ModifyEbsDefaultKmsKeyIdInput) SetDryRun(v bool) *ModifyEbsDefaultKmsKeyIdInput {
96984	s.DryRun = &v
96985	return s
96986}
96987
96988// SetKmsKeyId sets the KmsKeyId field's value.
96989func (s *ModifyEbsDefaultKmsKeyIdInput) SetKmsKeyId(v string) *ModifyEbsDefaultKmsKeyIdInput {
96990	s.KmsKeyId = &v
96991	return s
96992}
96993
96994type ModifyEbsDefaultKmsKeyIdOutput struct {
96995	_ struct{} `type:"structure"`
96996
96997	// The Amazon Resource Name (ARN) of the default CMK for encryption by default.
96998	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
96999}
97000
97001// String returns the string representation
97002func (s ModifyEbsDefaultKmsKeyIdOutput) String() string {
97003	return awsutil.Prettify(s)
97004}
97005
97006// GoString returns the string representation
97007func (s ModifyEbsDefaultKmsKeyIdOutput) GoString() string {
97008	return s.String()
97009}
97010
97011// SetKmsKeyId sets the KmsKeyId field's value.
97012func (s *ModifyEbsDefaultKmsKeyIdOutput) SetKmsKeyId(v string) *ModifyEbsDefaultKmsKeyIdOutput {
97013	s.KmsKeyId = &v
97014	return s
97015}
97016
97017type ModifyFleetInput struct {
97018	_ struct{} `type:"structure"`
97019
97020	// Checks whether you have the required permissions for the action, without
97021	// actually making the request, and provides an error response. If you have
97022	// the required permissions, the error response is DryRunOperation. Otherwise,
97023	// it is UnauthorizedOperation.
97024	DryRun *bool `type:"boolean"`
97025
97026	// Indicates whether running instances should be terminated if the total target
97027	// capacity of the EC2 Fleet is decreased below the current size of the EC2
97028	// Fleet.
97029	ExcessCapacityTerminationPolicy *string `type:"string" enum:"FleetExcessCapacityTerminationPolicy"`
97030
97031	// The ID of the EC2 Fleet.
97032	//
97033	// FleetId is a required field
97034	FleetId *string `type:"string" required:"true"`
97035
97036	// The launch template and overrides.
97037	LaunchTemplateConfigs []*FleetLaunchTemplateConfigRequest `locationName:"LaunchTemplateConfig" locationNameList:"item" type:"list"`
97038
97039	// The size of the EC2 Fleet.
97040	TargetCapacitySpecification *TargetCapacitySpecificationRequest `type:"structure"`
97041}
97042
97043// String returns the string representation
97044func (s ModifyFleetInput) String() string {
97045	return awsutil.Prettify(s)
97046}
97047
97048// GoString returns the string representation
97049func (s ModifyFleetInput) GoString() string {
97050	return s.String()
97051}
97052
97053// Validate inspects the fields of the type to determine if they are valid.
97054func (s *ModifyFleetInput) Validate() error {
97055	invalidParams := request.ErrInvalidParams{Context: "ModifyFleetInput"}
97056	if s.FleetId == nil {
97057		invalidParams.Add(request.NewErrParamRequired("FleetId"))
97058	}
97059	if s.LaunchTemplateConfigs != nil {
97060		for i, v := range s.LaunchTemplateConfigs {
97061			if v == nil {
97062				continue
97063			}
97064			if err := v.Validate(); err != nil {
97065				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LaunchTemplateConfigs", i), err.(request.ErrInvalidParams))
97066			}
97067		}
97068	}
97069	if s.TargetCapacitySpecification != nil {
97070		if err := s.TargetCapacitySpecification.Validate(); err != nil {
97071			invalidParams.AddNested("TargetCapacitySpecification", err.(request.ErrInvalidParams))
97072		}
97073	}
97074
97075	if invalidParams.Len() > 0 {
97076		return invalidParams
97077	}
97078	return nil
97079}
97080
97081// SetDryRun sets the DryRun field's value.
97082func (s *ModifyFleetInput) SetDryRun(v bool) *ModifyFleetInput {
97083	s.DryRun = &v
97084	return s
97085}
97086
97087// SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
97088func (s *ModifyFleetInput) SetExcessCapacityTerminationPolicy(v string) *ModifyFleetInput {
97089	s.ExcessCapacityTerminationPolicy = &v
97090	return s
97091}
97092
97093// SetFleetId sets the FleetId field's value.
97094func (s *ModifyFleetInput) SetFleetId(v string) *ModifyFleetInput {
97095	s.FleetId = &v
97096	return s
97097}
97098
97099// SetLaunchTemplateConfigs sets the LaunchTemplateConfigs field's value.
97100func (s *ModifyFleetInput) SetLaunchTemplateConfigs(v []*FleetLaunchTemplateConfigRequest) *ModifyFleetInput {
97101	s.LaunchTemplateConfigs = v
97102	return s
97103}
97104
97105// SetTargetCapacitySpecification sets the TargetCapacitySpecification field's value.
97106func (s *ModifyFleetInput) SetTargetCapacitySpecification(v *TargetCapacitySpecificationRequest) *ModifyFleetInput {
97107	s.TargetCapacitySpecification = v
97108	return s
97109}
97110
97111type ModifyFleetOutput struct {
97112	_ struct{} `type:"structure"`
97113
97114	// Is true if the request succeeds, and an error otherwise.
97115	Return *bool `locationName:"return" type:"boolean"`
97116}
97117
97118// String returns the string representation
97119func (s ModifyFleetOutput) String() string {
97120	return awsutil.Prettify(s)
97121}
97122
97123// GoString returns the string representation
97124func (s ModifyFleetOutput) GoString() string {
97125	return s.String()
97126}
97127
97128// SetReturn sets the Return field's value.
97129func (s *ModifyFleetOutput) SetReturn(v bool) *ModifyFleetOutput {
97130	s.Return = &v
97131	return s
97132}
97133
97134type ModifyFpgaImageAttributeInput struct {
97135	_ struct{} `type:"structure"`
97136
97137	// The name of the attribute.
97138	Attribute *string `type:"string" enum:"FpgaImageAttributeName"`
97139
97140	// A description for the AFI.
97141	Description *string `type:"string"`
97142
97143	// Checks whether you have the required permissions for the action, without
97144	// actually making the request, and provides an error response. If you have
97145	// the required permissions, the error response is DryRunOperation. Otherwise,
97146	// it is UnauthorizedOperation.
97147	DryRun *bool `type:"boolean"`
97148
97149	// The ID of the AFI.
97150	//
97151	// FpgaImageId is a required field
97152	FpgaImageId *string `type:"string" required:"true"`
97153
97154	// The load permission for the AFI.
97155	LoadPermission *LoadPermissionModifications `type:"structure"`
97156
97157	// A name for the AFI.
97158	Name *string `type:"string"`
97159
97160	// The operation type.
97161	OperationType *string `type:"string" enum:"OperationType"`
97162
97163	// The product codes. After you add a product code to an AFI, it can't be removed.
97164	// This parameter is valid only when modifying the productCodes attribute.
97165	ProductCodes []*string `locationName:"ProductCode" locationNameList:"ProductCode" type:"list"`
97166
97167	// The user groups. This parameter is valid only when modifying the loadPermission
97168	// attribute.
97169	UserGroups []*string `locationName:"UserGroup" locationNameList:"UserGroup" type:"list"`
97170
97171	// The AWS account IDs. This parameter is valid only when modifying the loadPermission
97172	// attribute.
97173	UserIds []*string `locationName:"UserId" locationNameList:"UserId" type:"list"`
97174}
97175
97176// String returns the string representation
97177func (s ModifyFpgaImageAttributeInput) String() string {
97178	return awsutil.Prettify(s)
97179}
97180
97181// GoString returns the string representation
97182func (s ModifyFpgaImageAttributeInput) GoString() string {
97183	return s.String()
97184}
97185
97186// Validate inspects the fields of the type to determine if they are valid.
97187func (s *ModifyFpgaImageAttributeInput) Validate() error {
97188	invalidParams := request.ErrInvalidParams{Context: "ModifyFpgaImageAttributeInput"}
97189	if s.FpgaImageId == nil {
97190		invalidParams.Add(request.NewErrParamRequired("FpgaImageId"))
97191	}
97192
97193	if invalidParams.Len() > 0 {
97194		return invalidParams
97195	}
97196	return nil
97197}
97198
97199// SetAttribute sets the Attribute field's value.
97200func (s *ModifyFpgaImageAttributeInput) SetAttribute(v string) *ModifyFpgaImageAttributeInput {
97201	s.Attribute = &v
97202	return s
97203}
97204
97205// SetDescription sets the Description field's value.
97206func (s *ModifyFpgaImageAttributeInput) SetDescription(v string) *ModifyFpgaImageAttributeInput {
97207	s.Description = &v
97208	return s
97209}
97210
97211// SetDryRun sets the DryRun field's value.
97212func (s *ModifyFpgaImageAttributeInput) SetDryRun(v bool) *ModifyFpgaImageAttributeInput {
97213	s.DryRun = &v
97214	return s
97215}
97216
97217// SetFpgaImageId sets the FpgaImageId field's value.
97218func (s *ModifyFpgaImageAttributeInput) SetFpgaImageId(v string) *ModifyFpgaImageAttributeInput {
97219	s.FpgaImageId = &v
97220	return s
97221}
97222
97223// SetLoadPermission sets the LoadPermission field's value.
97224func (s *ModifyFpgaImageAttributeInput) SetLoadPermission(v *LoadPermissionModifications) *ModifyFpgaImageAttributeInput {
97225	s.LoadPermission = v
97226	return s
97227}
97228
97229// SetName sets the Name field's value.
97230func (s *ModifyFpgaImageAttributeInput) SetName(v string) *ModifyFpgaImageAttributeInput {
97231	s.Name = &v
97232	return s
97233}
97234
97235// SetOperationType sets the OperationType field's value.
97236func (s *ModifyFpgaImageAttributeInput) SetOperationType(v string) *ModifyFpgaImageAttributeInput {
97237	s.OperationType = &v
97238	return s
97239}
97240
97241// SetProductCodes sets the ProductCodes field's value.
97242func (s *ModifyFpgaImageAttributeInput) SetProductCodes(v []*string) *ModifyFpgaImageAttributeInput {
97243	s.ProductCodes = v
97244	return s
97245}
97246
97247// SetUserGroups sets the UserGroups field's value.
97248func (s *ModifyFpgaImageAttributeInput) SetUserGroups(v []*string) *ModifyFpgaImageAttributeInput {
97249	s.UserGroups = v
97250	return s
97251}
97252
97253// SetUserIds sets the UserIds field's value.
97254func (s *ModifyFpgaImageAttributeInput) SetUserIds(v []*string) *ModifyFpgaImageAttributeInput {
97255	s.UserIds = v
97256	return s
97257}
97258
97259type ModifyFpgaImageAttributeOutput struct {
97260	_ struct{} `type:"structure"`
97261
97262	// Information about the attribute.
97263	FpgaImageAttribute *FpgaImageAttribute `locationName:"fpgaImageAttribute" type:"structure"`
97264}
97265
97266// String returns the string representation
97267func (s ModifyFpgaImageAttributeOutput) String() string {
97268	return awsutil.Prettify(s)
97269}
97270
97271// GoString returns the string representation
97272func (s ModifyFpgaImageAttributeOutput) GoString() string {
97273	return s.String()
97274}
97275
97276// SetFpgaImageAttribute sets the FpgaImageAttribute field's value.
97277func (s *ModifyFpgaImageAttributeOutput) SetFpgaImageAttribute(v *FpgaImageAttribute) *ModifyFpgaImageAttributeOutput {
97278	s.FpgaImageAttribute = v
97279	return s
97280}
97281
97282type ModifyHostsInput struct {
97283	_ struct{} `type:"structure"`
97284
97285	// Specify whether to enable or disable auto-placement.
97286	AutoPlacement *string `locationName:"autoPlacement" type:"string" enum:"AutoPlacement"`
97287
97288	// The IDs of the Dedicated Hosts to modify.
97289	//
97290	// HostIds is a required field
97291	HostIds []*string `locationName:"hostId" locationNameList:"item" type:"list" required:"true"`
97292
97293	// Indicates whether to enable or disable host recovery for the Dedicated Host.
97294	// For more information, see Host recovery (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-recovery.html)
97295	// in the Amazon EC2 User Guide.
97296	HostRecovery *string `type:"string" enum:"HostRecovery"`
97297
97298	// Specifies the instance family to be supported by the Dedicated Host. Specify
97299	// this parameter to modify a Dedicated Host to support multiple instance types
97300	// within its current instance family.
97301	//
97302	// If you want to modify a Dedicated Host to support a specific instance type
97303	// only, omit this parameter and specify InstanceType instead. You cannot specify
97304	// InstanceFamily and InstanceType in the same request.
97305	InstanceFamily *string `type:"string"`
97306
97307	// Specifies the instance type to be supported by the Dedicated Host. Specify
97308	// this parameter to modify a Dedicated Host to support only a specific instance
97309	// type.
97310	//
97311	// If you want to modify a Dedicated Host to support multiple instance types
97312	// in its current instance family, omit this parameter and specify InstanceFamily
97313	// instead. You cannot specify InstanceType and InstanceFamily in the same request.
97314	InstanceType *string `type:"string"`
97315}
97316
97317// String returns the string representation
97318func (s ModifyHostsInput) String() string {
97319	return awsutil.Prettify(s)
97320}
97321
97322// GoString returns the string representation
97323func (s ModifyHostsInput) GoString() string {
97324	return s.String()
97325}
97326
97327// Validate inspects the fields of the type to determine if they are valid.
97328func (s *ModifyHostsInput) Validate() error {
97329	invalidParams := request.ErrInvalidParams{Context: "ModifyHostsInput"}
97330	if s.HostIds == nil {
97331		invalidParams.Add(request.NewErrParamRequired("HostIds"))
97332	}
97333
97334	if invalidParams.Len() > 0 {
97335		return invalidParams
97336	}
97337	return nil
97338}
97339
97340// SetAutoPlacement sets the AutoPlacement field's value.
97341func (s *ModifyHostsInput) SetAutoPlacement(v string) *ModifyHostsInput {
97342	s.AutoPlacement = &v
97343	return s
97344}
97345
97346// SetHostIds sets the HostIds field's value.
97347func (s *ModifyHostsInput) SetHostIds(v []*string) *ModifyHostsInput {
97348	s.HostIds = v
97349	return s
97350}
97351
97352// SetHostRecovery sets the HostRecovery field's value.
97353func (s *ModifyHostsInput) SetHostRecovery(v string) *ModifyHostsInput {
97354	s.HostRecovery = &v
97355	return s
97356}
97357
97358// SetInstanceFamily sets the InstanceFamily field's value.
97359func (s *ModifyHostsInput) SetInstanceFamily(v string) *ModifyHostsInput {
97360	s.InstanceFamily = &v
97361	return s
97362}
97363
97364// SetInstanceType sets the InstanceType field's value.
97365func (s *ModifyHostsInput) SetInstanceType(v string) *ModifyHostsInput {
97366	s.InstanceType = &v
97367	return s
97368}
97369
97370type ModifyHostsOutput struct {
97371	_ struct{} `type:"structure"`
97372
97373	// The IDs of the Dedicated Hosts that were successfully modified.
97374	Successful []*string `locationName:"successful" locationNameList:"item" type:"list"`
97375
97376	// The IDs of the Dedicated Hosts that could not be modified. Check whether
97377	// the setting you requested can be used.
97378	Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
97379}
97380
97381// String returns the string representation
97382func (s ModifyHostsOutput) String() string {
97383	return awsutil.Prettify(s)
97384}
97385
97386// GoString returns the string representation
97387func (s ModifyHostsOutput) GoString() string {
97388	return s.String()
97389}
97390
97391// SetSuccessful sets the Successful field's value.
97392func (s *ModifyHostsOutput) SetSuccessful(v []*string) *ModifyHostsOutput {
97393	s.Successful = v
97394	return s
97395}
97396
97397// SetUnsuccessful sets the Unsuccessful field's value.
97398func (s *ModifyHostsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *ModifyHostsOutput {
97399	s.Unsuccessful = v
97400	return s
97401}
97402
97403type ModifyIdFormatInput struct {
97404	_ struct{} `type:"structure"`
97405
97406	// The type of resource: bundle | conversion-task | customer-gateway | dhcp-options
97407	// | elastic-ip-allocation | elastic-ip-association | export-task | flow-log
97408	// | image | import-task | internet-gateway | network-acl | network-acl-association
97409	// | network-interface | network-interface-attachment | prefix-list | route-table
97410	// | route-table-association | security-group | subnet | subnet-cidr-block-association
97411	// | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection
97412	// | vpn-connection | vpn-gateway.
97413	//
97414	// Alternatively, use the all-current option to include all resource types that
97415	// are currently within their opt-in period for longer IDs.
97416	//
97417	// Resource is a required field
97418	Resource *string `type:"string" required:"true"`
97419
97420	// Indicate whether the resource should use longer IDs (17-character IDs).
97421	//
97422	// UseLongIds is a required field
97423	UseLongIds *bool `type:"boolean" required:"true"`
97424}
97425
97426// String returns the string representation
97427func (s ModifyIdFormatInput) String() string {
97428	return awsutil.Prettify(s)
97429}
97430
97431// GoString returns the string representation
97432func (s ModifyIdFormatInput) GoString() string {
97433	return s.String()
97434}
97435
97436// Validate inspects the fields of the type to determine if they are valid.
97437func (s *ModifyIdFormatInput) Validate() error {
97438	invalidParams := request.ErrInvalidParams{Context: "ModifyIdFormatInput"}
97439	if s.Resource == nil {
97440		invalidParams.Add(request.NewErrParamRequired("Resource"))
97441	}
97442	if s.UseLongIds == nil {
97443		invalidParams.Add(request.NewErrParamRequired("UseLongIds"))
97444	}
97445
97446	if invalidParams.Len() > 0 {
97447		return invalidParams
97448	}
97449	return nil
97450}
97451
97452// SetResource sets the Resource field's value.
97453func (s *ModifyIdFormatInput) SetResource(v string) *ModifyIdFormatInput {
97454	s.Resource = &v
97455	return s
97456}
97457
97458// SetUseLongIds sets the UseLongIds field's value.
97459func (s *ModifyIdFormatInput) SetUseLongIds(v bool) *ModifyIdFormatInput {
97460	s.UseLongIds = &v
97461	return s
97462}
97463
97464type ModifyIdFormatOutput struct {
97465	_ struct{} `type:"structure"`
97466}
97467
97468// String returns the string representation
97469func (s ModifyIdFormatOutput) String() string {
97470	return awsutil.Prettify(s)
97471}
97472
97473// GoString returns the string representation
97474func (s ModifyIdFormatOutput) GoString() string {
97475	return s.String()
97476}
97477
97478type ModifyIdentityIdFormatInput struct {
97479	_ struct{} `type:"structure"`
97480
97481	// The ARN of the principal, which can be an IAM user, IAM role, or the root
97482	// user. Specify all to modify the ID format for all IAM users, IAM roles, and
97483	// the root user of the account.
97484	//
97485	// PrincipalArn is a required field
97486	PrincipalArn *string `locationName:"principalArn" type:"string" required:"true"`
97487
97488	// The type of resource: bundle | conversion-task | customer-gateway | dhcp-options
97489	// | elastic-ip-allocation | elastic-ip-association | export-task | flow-log
97490	// | image | import-task | internet-gateway | network-acl | network-acl-association
97491	// | network-interface | network-interface-attachment | prefix-list | route-table
97492	// | route-table-association | security-group | subnet | subnet-cidr-block-association
97493	// | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection
97494	// | vpn-connection | vpn-gateway.
97495	//
97496	// Alternatively, use the all-current option to include all resource types that
97497	// are currently within their opt-in period for longer IDs.
97498	//
97499	// Resource is a required field
97500	Resource *string `locationName:"resource" type:"string" required:"true"`
97501
97502	// Indicates whether the resource should use longer IDs (17-character IDs)
97503	//
97504	// UseLongIds is a required field
97505	UseLongIds *bool `locationName:"useLongIds" type:"boolean" required:"true"`
97506}
97507
97508// String returns the string representation
97509func (s ModifyIdentityIdFormatInput) String() string {
97510	return awsutil.Prettify(s)
97511}
97512
97513// GoString returns the string representation
97514func (s ModifyIdentityIdFormatInput) GoString() string {
97515	return s.String()
97516}
97517
97518// Validate inspects the fields of the type to determine if they are valid.
97519func (s *ModifyIdentityIdFormatInput) Validate() error {
97520	invalidParams := request.ErrInvalidParams{Context: "ModifyIdentityIdFormatInput"}
97521	if s.PrincipalArn == nil {
97522		invalidParams.Add(request.NewErrParamRequired("PrincipalArn"))
97523	}
97524	if s.Resource == nil {
97525		invalidParams.Add(request.NewErrParamRequired("Resource"))
97526	}
97527	if s.UseLongIds == nil {
97528		invalidParams.Add(request.NewErrParamRequired("UseLongIds"))
97529	}
97530
97531	if invalidParams.Len() > 0 {
97532		return invalidParams
97533	}
97534	return nil
97535}
97536
97537// SetPrincipalArn sets the PrincipalArn field's value.
97538func (s *ModifyIdentityIdFormatInput) SetPrincipalArn(v string) *ModifyIdentityIdFormatInput {
97539	s.PrincipalArn = &v
97540	return s
97541}
97542
97543// SetResource sets the Resource field's value.
97544func (s *ModifyIdentityIdFormatInput) SetResource(v string) *ModifyIdentityIdFormatInput {
97545	s.Resource = &v
97546	return s
97547}
97548
97549// SetUseLongIds sets the UseLongIds field's value.
97550func (s *ModifyIdentityIdFormatInput) SetUseLongIds(v bool) *ModifyIdentityIdFormatInput {
97551	s.UseLongIds = &v
97552	return s
97553}
97554
97555type ModifyIdentityIdFormatOutput struct {
97556	_ struct{} `type:"structure"`
97557}
97558
97559// String returns the string representation
97560func (s ModifyIdentityIdFormatOutput) String() string {
97561	return awsutil.Prettify(s)
97562}
97563
97564// GoString returns the string representation
97565func (s ModifyIdentityIdFormatOutput) GoString() string {
97566	return s.String()
97567}
97568
97569// Contains the parameters for ModifyImageAttribute.
97570type ModifyImageAttributeInput struct {
97571	_ struct{} `type:"structure"`
97572
97573	// The name of the attribute to modify. The valid values are description, launchPermission,
97574	// and productCodes.
97575	Attribute *string `type:"string"`
97576
97577	// A new description for the AMI.
97578	Description *AttributeValue `type:"structure"`
97579
97580	// Checks whether you have the required permissions for the action, without
97581	// actually making the request, and provides an error response. If you have
97582	// the required permissions, the error response is DryRunOperation. Otherwise,
97583	// it is UnauthorizedOperation.
97584	DryRun *bool `locationName:"dryRun" type:"boolean"`
97585
97586	// The ID of the AMI.
97587	//
97588	// ImageId is a required field
97589	ImageId *string `type:"string" required:"true"`
97590
97591	// A new launch permission for the AMI.
97592	LaunchPermission *LaunchPermissionModifications `type:"structure"`
97593
97594	// The operation type. This parameter can be used only when the Attribute parameter
97595	// is launchPermission.
97596	OperationType *string `type:"string" enum:"OperationType"`
97597
97598	// The DevPay product codes. After you add a product code to an AMI, it can't
97599	// be removed.
97600	ProductCodes []*string `locationName:"ProductCode" locationNameList:"ProductCode" type:"list"`
97601
97602	// The user groups. This parameter can be used only when the Attribute parameter
97603	// is launchPermission.
97604	UserGroups []*string `locationName:"UserGroup" locationNameList:"UserGroup" type:"list"`
97605
97606	// The AWS account IDs. This parameter can be used only when the Attribute parameter
97607	// is launchPermission.
97608	UserIds []*string `locationName:"UserId" locationNameList:"UserId" type:"list"`
97609
97610	// The value of the attribute being modified. This parameter can be used only
97611	// when the Attribute parameter is description or productCodes.
97612	Value *string `type:"string"`
97613}
97614
97615// String returns the string representation
97616func (s ModifyImageAttributeInput) String() string {
97617	return awsutil.Prettify(s)
97618}
97619
97620// GoString returns the string representation
97621func (s ModifyImageAttributeInput) GoString() string {
97622	return s.String()
97623}
97624
97625// Validate inspects the fields of the type to determine if they are valid.
97626func (s *ModifyImageAttributeInput) Validate() error {
97627	invalidParams := request.ErrInvalidParams{Context: "ModifyImageAttributeInput"}
97628	if s.ImageId == nil {
97629		invalidParams.Add(request.NewErrParamRequired("ImageId"))
97630	}
97631
97632	if invalidParams.Len() > 0 {
97633		return invalidParams
97634	}
97635	return nil
97636}
97637
97638// SetAttribute sets the Attribute field's value.
97639func (s *ModifyImageAttributeInput) SetAttribute(v string) *ModifyImageAttributeInput {
97640	s.Attribute = &v
97641	return s
97642}
97643
97644// SetDescription sets the Description field's value.
97645func (s *ModifyImageAttributeInput) SetDescription(v *AttributeValue) *ModifyImageAttributeInput {
97646	s.Description = v
97647	return s
97648}
97649
97650// SetDryRun sets the DryRun field's value.
97651func (s *ModifyImageAttributeInput) SetDryRun(v bool) *ModifyImageAttributeInput {
97652	s.DryRun = &v
97653	return s
97654}
97655
97656// SetImageId sets the ImageId field's value.
97657func (s *ModifyImageAttributeInput) SetImageId(v string) *ModifyImageAttributeInput {
97658	s.ImageId = &v
97659	return s
97660}
97661
97662// SetLaunchPermission sets the LaunchPermission field's value.
97663func (s *ModifyImageAttributeInput) SetLaunchPermission(v *LaunchPermissionModifications) *ModifyImageAttributeInput {
97664	s.LaunchPermission = v
97665	return s
97666}
97667
97668// SetOperationType sets the OperationType field's value.
97669func (s *ModifyImageAttributeInput) SetOperationType(v string) *ModifyImageAttributeInput {
97670	s.OperationType = &v
97671	return s
97672}
97673
97674// SetProductCodes sets the ProductCodes field's value.
97675func (s *ModifyImageAttributeInput) SetProductCodes(v []*string) *ModifyImageAttributeInput {
97676	s.ProductCodes = v
97677	return s
97678}
97679
97680// SetUserGroups sets the UserGroups field's value.
97681func (s *ModifyImageAttributeInput) SetUserGroups(v []*string) *ModifyImageAttributeInput {
97682	s.UserGroups = v
97683	return s
97684}
97685
97686// SetUserIds sets the UserIds field's value.
97687func (s *ModifyImageAttributeInput) SetUserIds(v []*string) *ModifyImageAttributeInput {
97688	s.UserIds = v
97689	return s
97690}
97691
97692// SetValue sets the Value field's value.
97693func (s *ModifyImageAttributeInput) SetValue(v string) *ModifyImageAttributeInput {
97694	s.Value = &v
97695	return s
97696}
97697
97698type ModifyImageAttributeOutput struct {
97699	_ struct{} `type:"structure"`
97700}
97701
97702// String returns the string representation
97703func (s ModifyImageAttributeOutput) String() string {
97704	return awsutil.Prettify(s)
97705}
97706
97707// GoString returns the string representation
97708func (s ModifyImageAttributeOutput) GoString() string {
97709	return s.String()
97710}
97711
97712type ModifyInstanceAttributeInput struct {
97713	_ struct{} `type:"structure"`
97714
97715	// The name of the attribute.
97716	Attribute *string `locationName:"attribute" type:"string" enum:"InstanceAttributeName"`
97717
97718	// Modifies the DeleteOnTermination attribute for volumes that are currently
97719	// attached. The volume must be owned by the caller. If no value is specified
97720	// for DeleteOnTermination, the default is true and the volume is deleted when
97721	// the instance is terminated.
97722	//
97723	// To add instance store volumes to an Amazon EBS-backed instance, you must
97724	// add them when you launch the instance. For more information, see Updating
97725	// the block device mapping when launching an instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html#Using_OverridingAMIBDM)
97726	// in the Amazon EC2 User Guide.
97727	BlockDeviceMappings []*InstanceBlockDeviceMappingSpecification `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
97728
97729	// If the value is true, you can't terminate the instance using the Amazon EC2
97730	// console, CLI, or API; otherwise, you can. You cannot use this parameter for
97731	// Spot Instances.
97732	DisableApiTermination *AttributeBooleanValue `locationName:"disableApiTermination" type:"structure"`
97733
97734	// Checks whether you have the required permissions for the action, without
97735	// actually making the request, and provides an error response. If you have
97736	// the required permissions, the error response is DryRunOperation. Otherwise,
97737	// it is UnauthorizedOperation.
97738	DryRun *bool `locationName:"dryRun" type:"boolean"`
97739
97740	// Specifies whether the instance is optimized for Amazon EBS I/O. This optimization
97741	// provides dedicated throughput to Amazon EBS and an optimized configuration
97742	// stack to provide optimal EBS I/O performance. This optimization isn't available
97743	// with all instance types. Additional usage charges apply when using an EBS
97744	// Optimized instance.
97745	EbsOptimized *AttributeBooleanValue `locationName:"ebsOptimized" type:"structure"`
97746
97747	// Set to true to enable enhanced networking with ENA for the instance.
97748	//
97749	// This option is supported only for HVM instances. Specifying this option with
97750	// a PV instance can make it unreachable.
97751	EnaSupport *AttributeBooleanValue `locationName:"enaSupport" type:"structure"`
97752
97753	// [EC2-VPC] Replaces the security groups of the instance with the specified
97754	// security groups. You must specify at least one security group, even if it's
97755	// just the default security group for the VPC. You must specify the security
97756	// group ID, not the security group name.
97757	Groups []*string `locationName:"GroupId" locationNameList:"groupId" type:"list"`
97758
97759	// The ID of the instance.
97760	//
97761	// InstanceId is a required field
97762	InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
97763
97764	// Specifies whether an instance stops or terminates when you initiate shutdown
97765	// from the instance (using the operating system command for system shutdown).
97766	InstanceInitiatedShutdownBehavior *AttributeValue `locationName:"instanceInitiatedShutdownBehavior" type:"structure"`
97767
97768	// Changes the instance type to the specified value. For more information, see
97769	// Instance types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
97770	// in the Amazon EC2 User Guide. If the instance type is not valid, the error
97771	// returned is InvalidInstanceAttributeValue.
97772	InstanceType *AttributeValue `locationName:"instanceType" type:"structure"`
97773
97774	// Changes the instance's kernel to the specified value. We recommend that you
97775	// use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB
97776	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html).
97777	Kernel *AttributeValue `locationName:"kernel" type:"structure"`
97778
97779	// Changes the instance's RAM disk to the specified value. We recommend that
97780	// you use PV-GRUB instead of kernels and RAM disks. For more information, see
97781	// PV-GRUB (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html).
97782	Ramdisk *AttributeValue `locationName:"ramdisk" type:"structure"`
97783
97784	// Enable or disable source/destination checks, which ensure that the instance
97785	// is either the source or the destination of any traffic that it receives.
97786	// If the value is true, source/destination checks are enabled; otherwise, they
97787	// are disabled. The default value is true. You must disable source/destination
97788	// checks if the instance runs services such as network address translation,
97789	// routing, or firewalls.
97790	SourceDestCheck *AttributeBooleanValue `type:"structure"`
97791
97792	// Set to simple to enable enhanced networking with the Intel 82599 Virtual
97793	// Function interface for the instance.
97794	//
97795	// There is no way to disable enhanced networking with the Intel 82599 Virtual
97796	// Function interface at this time.
97797	//
97798	// This option is supported only for HVM instances. Specifying this option with
97799	// a PV instance can make it unreachable.
97800	SriovNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"`
97801
97802	// Changes the instance's user data to the specified value. If you are using
97803	// an AWS SDK or command line tool, base64-encoding is performed for you, and
97804	// you can load the text from a file. Otherwise, you must provide base64-encoded
97805	// text.
97806	UserData *BlobAttributeValue `locationName:"userData" type:"structure"`
97807
97808	// A new value for the attribute. Use only with the kernel, ramdisk, userData,
97809	// disableApiTermination, or instanceInitiatedShutdownBehavior attribute.
97810	Value *string `locationName:"value" type:"string"`
97811}
97812
97813// String returns the string representation
97814func (s ModifyInstanceAttributeInput) String() string {
97815	return awsutil.Prettify(s)
97816}
97817
97818// GoString returns the string representation
97819func (s ModifyInstanceAttributeInput) GoString() string {
97820	return s.String()
97821}
97822
97823// Validate inspects the fields of the type to determine if they are valid.
97824func (s *ModifyInstanceAttributeInput) Validate() error {
97825	invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceAttributeInput"}
97826	if s.InstanceId == nil {
97827		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
97828	}
97829
97830	if invalidParams.Len() > 0 {
97831		return invalidParams
97832	}
97833	return nil
97834}
97835
97836// SetAttribute sets the Attribute field's value.
97837func (s *ModifyInstanceAttributeInput) SetAttribute(v string) *ModifyInstanceAttributeInput {
97838	s.Attribute = &v
97839	return s
97840}
97841
97842// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
97843func (s *ModifyInstanceAttributeInput) SetBlockDeviceMappings(v []*InstanceBlockDeviceMappingSpecification) *ModifyInstanceAttributeInput {
97844	s.BlockDeviceMappings = v
97845	return s
97846}
97847
97848// SetDisableApiTermination sets the DisableApiTermination field's value.
97849func (s *ModifyInstanceAttributeInput) SetDisableApiTermination(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
97850	s.DisableApiTermination = v
97851	return s
97852}
97853
97854// SetDryRun sets the DryRun field's value.
97855func (s *ModifyInstanceAttributeInput) SetDryRun(v bool) *ModifyInstanceAttributeInput {
97856	s.DryRun = &v
97857	return s
97858}
97859
97860// SetEbsOptimized sets the EbsOptimized field's value.
97861func (s *ModifyInstanceAttributeInput) SetEbsOptimized(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
97862	s.EbsOptimized = v
97863	return s
97864}
97865
97866// SetEnaSupport sets the EnaSupport field's value.
97867func (s *ModifyInstanceAttributeInput) SetEnaSupport(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
97868	s.EnaSupport = v
97869	return s
97870}
97871
97872// SetGroups sets the Groups field's value.
97873func (s *ModifyInstanceAttributeInput) SetGroups(v []*string) *ModifyInstanceAttributeInput {
97874	s.Groups = v
97875	return s
97876}
97877
97878// SetInstanceId sets the InstanceId field's value.
97879func (s *ModifyInstanceAttributeInput) SetInstanceId(v string) *ModifyInstanceAttributeInput {
97880	s.InstanceId = &v
97881	return s
97882}
97883
97884// SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
97885func (s *ModifyInstanceAttributeInput) SetInstanceInitiatedShutdownBehavior(v *AttributeValue) *ModifyInstanceAttributeInput {
97886	s.InstanceInitiatedShutdownBehavior = v
97887	return s
97888}
97889
97890// SetInstanceType sets the InstanceType field's value.
97891func (s *ModifyInstanceAttributeInput) SetInstanceType(v *AttributeValue) *ModifyInstanceAttributeInput {
97892	s.InstanceType = v
97893	return s
97894}
97895
97896// SetKernel sets the Kernel field's value.
97897func (s *ModifyInstanceAttributeInput) SetKernel(v *AttributeValue) *ModifyInstanceAttributeInput {
97898	s.Kernel = v
97899	return s
97900}
97901
97902// SetRamdisk sets the Ramdisk field's value.
97903func (s *ModifyInstanceAttributeInput) SetRamdisk(v *AttributeValue) *ModifyInstanceAttributeInput {
97904	s.Ramdisk = v
97905	return s
97906}
97907
97908// SetSourceDestCheck sets the SourceDestCheck field's value.
97909func (s *ModifyInstanceAttributeInput) SetSourceDestCheck(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
97910	s.SourceDestCheck = v
97911	return s
97912}
97913
97914// SetSriovNetSupport sets the SriovNetSupport field's value.
97915func (s *ModifyInstanceAttributeInput) SetSriovNetSupport(v *AttributeValue) *ModifyInstanceAttributeInput {
97916	s.SriovNetSupport = v
97917	return s
97918}
97919
97920// SetUserData sets the UserData field's value.
97921func (s *ModifyInstanceAttributeInput) SetUserData(v *BlobAttributeValue) *ModifyInstanceAttributeInput {
97922	s.UserData = v
97923	return s
97924}
97925
97926// SetValue sets the Value field's value.
97927func (s *ModifyInstanceAttributeInput) SetValue(v string) *ModifyInstanceAttributeInput {
97928	s.Value = &v
97929	return s
97930}
97931
97932type ModifyInstanceAttributeOutput struct {
97933	_ struct{} `type:"structure"`
97934}
97935
97936// String returns the string representation
97937func (s ModifyInstanceAttributeOutput) String() string {
97938	return awsutil.Prettify(s)
97939}
97940
97941// GoString returns the string representation
97942func (s ModifyInstanceAttributeOutput) GoString() string {
97943	return s.String()
97944}
97945
97946type ModifyInstanceCapacityReservationAttributesInput struct {
97947	_ struct{} `type:"structure"`
97948
97949	// Information about the Capacity Reservation targeting option.
97950	//
97951	// CapacityReservationSpecification is a required field
97952	CapacityReservationSpecification *CapacityReservationSpecification `type:"structure" required:"true"`
97953
97954	// Checks whether you have the required permissions for the action, without
97955	// actually making the request, and provides an error response. If you have
97956	// the required permissions, the error response is DryRunOperation. Otherwise,
97957	// it is UnauthorizedOperation.
97958	DryRun *bool `type:"boolean"`
97959
97960	// The ID of the instance to be modified.
97961	//
97962	// InstanceId is a required field
97963	InstanceId *string `type:"string" required:"true"`
97964}
97965
97966// String returns the string representation
97967func (s ModifyInstanceCapacityReservationAttributesInput) String() string {
97968	return awsutil.Prettify(s)
97969}
97970
97971// GoString returns the string representation
97972func (s ModifyInstanceCapacityReservationAttributesInput) GoString() string {
97973	return s.String()
97974}
97975
97976// Validate inspects the fields of the type to determine if they are valid.
97977func (s *ModifyInstanceCapacityReservationAttributesInput) Validate() error {
97978	invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceCapacityReservationAttributesInput"}
97979	if s.CapacityReservationSpecification == nil {
97980		invalidParams.Add(request.NewErrParamRequired("CapacityReservationSpecification"))
97981	}
97982	if s.InstanceId == nil {
97983		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
97984	}
97985
97986	if invalidParams.Len() > 0 {
97987		return invalidParams
97988	}
97989	return nil
97990}
97991
97992// SetCapacityReservationSpecification sets the CapacityReservationSpecification field's value.
97993func (s *ModifyInstanceCapacityReservationAttributesInput) SetCapacityReservationSpecification(v *CapacityReservationSpecification) *ModifyInstanceCapacityReservationAttributesInput {
97994	s.CapacityReservationSpecification = v
97995	return s
97996}
97997
97998// SetDryRun sets the DryRun field's value.
97999func (s *ModifyInstanceCapacityReservationAttributesInput) SetDryRun(v bool) *ModifyInstanceCapacityReservationAttributesInput {
98000	s.DryRun = &v
98001	return s
98002}
98003
98004// SetInstanceId sets the InstanceId field's value.
98005func (s *ModifyInstanceCapacityReservationAttributesInput) SetInstanceId(v string) *ModifyInstanceCapacityReservationAttributesInput {
98006	s.InstanceId = &v
98007	return s
98008}
98009
98010type ModifyInstanceCapacityReservationAttributesOutput struct {
98011	_ struct{} `type:"structure"`
98012
98013	// Returns true if the request succeeds; otherwise, it returns an error.
98014	Return *bool `locationName:"return" type:"boolean"`
98015}
98016
98017// String returns the string representation
98018func (s ModifyInstanceCapacityReservationAttributesOutput) String() string {
98019	return awsutil.Prettify(s)
98020}
98021
98022// GoString returns the string representation
98023func (s ModifyInstanceCapacityReservationAttributesOutput) GoString() string {
98024	return s.String()
98025}
98026
98027// SetReturn sets the Return field's value.
98028func (s *ModifyInstanceCapacityReservationAttributesOutput) SetReturn(v bool) *ModifyInstanceCapacityReservationAttributesOutput {
98029	s.Return = &v
98030	return s
98031}
98032
98033type ModifyInstanceCreditSpecificationInput struct {
98034	_ struct{} `type:"structure"`
98035
98036	// A unique, case-sensitive token that you provide to ensure idempotency of
98037	// your modification request. For more information, see Ensuring Idempotency
98038	// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
98039	ClientToken *string `type:"string"`
98040
98041	// Checks whether you have the required permissions for the action, without
98042	// actually making the request, and provides an error response. If you have
98043	// the required permissions, the error response is DryRunOperation. Otherwise,
98044	// it is UnauthorizedOperation.
98045	DryRun *bool `type:"boolean"`
98046
98047	// Information about the credit option for CPU usage.
98048	//
98049	// InstanceCreditSpecifications is a required field
98050	InstanceCreditSpecifications []*InstanceCreditSpecificationRequest `locationName:"InstanceCreditSpecification" locationNameList:"item" type:"list" required:"true"`
98051}
98052
98053// String returns the string representation
98054func (s ModifyInstanceCreditSpecificationInput) String() string {
98055	return awsutil.Prettify(s)
98056}
98057
98058// GoString returns the string representation
98059func (s ModifyInstanceCreditSpecificationInput) GoString() string {
98060	return s.String()
98061}
98062
98063// Validate inspects the fields of the type to determine if they are valid.
98064func (s *ModifyInstanceCreditSpecificationInput) Validate() error {
98065	invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceCreditSpecificationInput"}
98066	if s.InstanceCreditSpecifications == nil {
98067		invalidParams.Add(request.NewErrParamRequired("InstanceCreditSpecifications"))
98068	}
98069
98070	if invalidParams.Len() > 0 {
98071		return invalidParams
98072	}
98073	return nil
98074}
98075
98076// SetClientToken sets the ClientToken field's value.
98077func (s *ModifyInstanceCreditSpecificationInput) SetClientToken(v string) *ModifyInstanceCreditSpecificationInput {
98078	s.ClientToken = &v
98079	return s
98080}
98081
98082// SetDryRun sets the DryRun field's value.
98083func (s *ModifyInstanceCreditSpecificationInput) SetDryRun(v bool) *ModifyInstanceCreditSpecificationInput {
98084	s.DryRun = &v
98085	return s
98086}
98087
98088// SetInstanceCreditSpecifications sets the InstanceCreditSpecifications field's value.
98089func (s *ModifyInstanceCreditSpecificationInput) SetInstanceCreditSpecifications(v []*InstanceCreditSpecificationRequest) *ModifyInstanceCreditSpecificationInput {
98090	s.InstanceCreditSpecifications = v
98091	return s
98092}
98093
98094type ModifyInstanceCreditSpecificationOutput struct {
98095	_ struct{} `type:"structure"`
98096
98097	// Information about the instances whose credit option for CPU usage was successfully
98098	// modified.
98099	SuccessfulInstanceCreditSpecifications []*SuccessfulInstanceCreditSpecificationItem `locationName:"successfulInstanceCreditSpecificationSet" locationNameList:"item" type:"list"`
98100
98101	// Information about the instances whose credit option for CPU usage was not
98102	// modified.
98103	UnsuccessfulInstanceCreditSpecifications []*UnsuccessfulInstanceCreditSpecificationItem `locationName:"unsuccessfulInstanceCreditSpecificationSet" locationNameList:"item" type:"list"`
98104}
98105
98106// String returns the string representation
98107func (s ModifyInstanceCreditSpecificationOutput) String() string {
98108	return awsutil.Prettify(s)
98109}
98110
98111// GoString returns the string representation
98112func (s ModifyInstanceCreditSpecificationOutput) GoString() string {
98113	return s.String()
98114}
98115
98116// SetSuccessfulInstanceCreditSpecifications sets the SuccessfulInstanceCreditSpecifications field's value.
98117func (s *ModifyInstanceCreditSpecificationOutput) SetSuccessfulInstanceCreditSpecifications(v []*SuccessfulInstanceCreditSpecificationItem) *ModifyInstanceCreditSpecificationOutput {
98118	s.SuccessfulInstanceCreditSpecifications = v
98119	return s
98120}
98121
98122// SetUnsuccessfulInstanceCreditSpecifications sets the UnsuccessfulInstanceCreditSpecifications field's value.
98123func (s *ModifyInstanceCreditSpecificationOutput) SetUnsuccessfulInstanceCreditSpecifications(v []*UnsuccessfulInstanceCreditSpecificationItem) *ModifyInstanceCreditSpecificationOutput {
98124	s.UnsuccessfulInstanceCreditSpecifications = v
98125	return s
98126}
98127
98128type ModifyInstanceEventStartTimeInput struct {
98129	_ struct{} `type:"structure"`
98130
98131	// Checks whether you have the required permissions for the action, without
98132	// actually making the request, and provides an error response. If you have
98133	// the required permissions, the error response is DryRunOperation. Otherwise,
98134	// it is UnauthorizedOperation.
98135	DryRun *bool `type:"boolean"`
98136
98137	// The ID of the event whose date and time you are modifying.
98138	//
98139	// InstanceEventId is a required field
98140	InstanceEventId *string `type:"string" required:"true"`
98141
98142	// The ID of the instance with the scheduled event.
98143	//
98144	// InstanceId is a required field
98145	InstanceId *string `type:"string" required:"true"`
98146
98147	// The new date and time when the event will take place.
98148	//
98149	// NotBefore is a required field
98150	NotBefore *time.Time `type:"timestamp" required:"true"`
98151}
98152
98153// String returns the string representation
98154func (s ModifyInstanceEventStartTimeInput) String() string {
98155	return awsutil.Prettify(s)
98156}
98157
98158// GoString returns the string representation
98159func (s ModifyInstanceEventStartTimeInput) GoString() string {
98160	return s.String()
98161}
98162
98163// Validate inspects the fields of the type to determine if they are valid.
98164func (s *ModifyInstanceEventStartTimeInput) Validate() error {
98165	invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceEventStartTimeInput"}
98166	if s.InstanceEventId == nil {
98167		invalidParams.Add(request.NewErrParamRequired("InstanceEventId"))
98168	}
98169	if s.InstanceId == nil {
98170		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
98171	}
98172	if s.NotBefore == nil {
98173		invalidParams.Add(request.NewErrParamRequired("NotBefore"))
98174	}
98175
98176	if invalidParams.Len() > 0 {
98177		return invalidParams
98178	}
98179	return nil
98180}
98181
98182// SetDryRun sets the DryRun field's value.
98183func (s *ModifyInstanceEventStartTimeInput) SetDryRun(v bool) *ModifyInstanceEventStartTimeInput {
98184	s.DryRun = &v
98185	return s
98186}
98187
98188// SetInstanceEventId sets the InstanceEventId field's value.
98189func (s *ModifyInstanceEventStartTimeInput) SetInstanceEventId(v string) *ModifyInstanceEventStartTimeInput {
98190	s.InstanceEventId = &v
98191	return s
98192}
98193
98194// SetInstanceId sets the InstanceId field's value.
98195func (s *ModifyInstanceEventStartTimeInput) SetInstanceId(v string) *ModifyInstanceEventStartTimeInput {
98196	s.InstanceId = &v
98197	return s
98198}
98199
98200// SetNotBefore sets the NotBefore field's value.
98201func (s *ModifyInstanceEventStartTimeInput) SetNotBefore(v time.Time) *ModifyInstanceEventStartTimeInput {
98202	s.NotBefore = &v
98203	return s
98204}
98205
98206type ModifyInstanceEventStartTimeOutput struct {
98207	_ struct{} `type:"structure"`
98208
98209	// Describes a scheduled event for an instance.
98210	Event *InstanceStatusEvent `locationName:"event" type:"structure"`
98211}
98212
98213// String returns the string representation
98214func (s ModifyInstanceEventStartTimeOutput) String() string {
98215	return awsutil.Prettify(s)
98216}
98217
98218// GoString returns the string representation
98219func (s ModifyInstanceEventStartTimeOutput) GoString() string {
98220	return s.String()
98221}
98222
98223// SetEvent sets the Event field's value.
98224func (s *ModifyInstanceEventStartTimeOutput) SetEvent(v *InstanceStatusEvent) *ModifyInstanceEventStartTimeOutput {
98225	s.Event = v
98226	return s
98227}
98228
98229type ModifyInstanceMetadataOptionsInput struct {
98230	_ struct{} `type:"structure"`
98231
98232	// Checks whether you have the required permissions for the action, without
98233	// actually making the request, and provides an error response. If you have
98234	// the required permissions, the error response is DryRunOperation. Otherwise,
98235	// it is UnauthorizedOperation.
98236	DryRun *bool `type:"boolean"`
98237
98238	// This parameter enables or disables the HTTP metadata endpoint on your instances.
98239	// If the parameter is not specified, the existing state is maintained.
98240	//
98241	// If you specify a value of disabled, you will not be able to access your instance
98242	// metadata.
98243	HttpEndpoint *string `type:"string" enum:"InstanceMetadataEndpointState"`
98244
98245	// The desired HTTP PUT response hop limit for instance metadata requests. The
98246	// larger the number, the further instance metadata requests can travel. If
98247	// no parameter is specified, the existing state is maintained.
98248	//
98249	// Possible values: Integers from 1 to 64
98250	HttpPutResponseHopLimit *int64 `type:"integer"`
98251
98252	// The state of token usage for your instance metadata requests. If the parameter
98253	// is not specified in the request, the default state is optional.
98254	//
98255	// If the state is optional, you can choose to retrieve instance metadata with
98256	// or without a signed token header on your request. If you retrieve the IAM
98257	// role credentials without a token, the version 1.0 role credentials are returned.
98258	// If you retrieve the IAM role credentials using a valid signed token, the
98259	// version 2.0 role credentials are returned.
98260	//
98261	// If the state is required, you must send a signed token header with any instance
98262	// metadata retrieval requests. In this state, retrieving the IAM role credential
98263	// always returns the version 2.0 credentials; the version 1.0 credentials are
98264	// not available.
98265	HttpTokens *string `type:"string" enum:"HttpTokensState"`
98266
98267	// The ID of the instance.
98268	//
98269	// InstanceId is a required field
98270	InstanceId *string `type:"string" required:"true"`
98271}
98272
98273// String returns the string representation
98274func (s ModifyInstanceMetadataOptionsInput) String() string {
98275	return awsutil.Prettify(s)
98276}
98277
98278// GoString returns the string representation
98279func (s ModifyInstanceMetadataOptionsInput) GoString() string {
98280	return s.String()
98281}
98282
98283// Validate inspects the fields of the type to determine if they are valid.
98284func (s *ModifyInstanceMetadataOptionsInput) Validate() error {
98285	invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceMetadataOptionsInput"}
98286	if s.InstanceId == nil {
98287		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
98288	}
98289
98290	if invalidParams.Len() > 0 {
98291		return invalidParams
98292	}
98293	return nil
98294}
98295
98296// SetDryRun sets the DryRun field's value.
98297func (s *ModifyInstanceMetadataOptionsInput) SetDryRun(v bool) *ModifyInstanceMetadataOptionsInput {
98298	s.DryRun = &v
98299	return s
98300}
98301
98302// SetHttpEndpoint sets the HttpEndpoint field's value.
98303func (s *ModifyInstanceMetadataOptionsInput) SetHttpEndpoint(v string) *ModifyInstanceMetadataOptionsInput {
98304	s.HttpEndpoint = &v
98305	return s
98306}
98307
98308// SetHttpPutResponseHopLimit sets the HttpPutResponseHopLimit field's value.
98309func (s *ModifyInstanceMetadataOptionsInput) SetHttpPutResponseHopLimit(v int64) *ModifyInstanceMetadataOptionsInput {
98310	s.HttpPutResponseHopLimit = &v
98311	return s
98312}
98313
98314// SetHttpTokens sets the HttpTokens field's value.
98315func (s *ModifyInstanceMetadataOptionsInput) SetHttpTokens(v string) *ModifyInstanceMetadataOptionsInput {
98316	s.HttpTokens = &v
98317	return s
98318}
98319
98320// SetInstanceId sets the InstanceId field's value.
98321func (s *ModifyInstanceMetadataOptionsInput) SetInstanceId(v string) *ModifyInstanceMetadataOptionsInput {
98322	s.InstanceId = &v
98323	return s
98324}
98325
98326type ModifyInstanceMetadataOptionsOutput struct {
98327	_ struct{} `type:"structure"`
98328
98329	// The ID of the instance.
98330	InstanceId *string `locationName:"instanceId" type:"string"`
98331
98332	// The metadata options for the instance.
98333	InstanceMetadataOptions *InstanceMetadataOptionsResponse `locationName:"instanceMetadataOptions" type:"structure"`
98334}
98335
98336// String returns the string representation
98337func (s ModifyInstanceMetadataOptionsOutput) String() string {
98338	return awsutil.Prettify(s)
98339}
98340
98341// GoString returns the string representation
98342func (s ModifyInstanceMetadataOptionsOutput) GoString() string {
98343	return s.String()
98344}
98345
98346// SetInstanceId sets the InstanceId field's value.
98347func (s *ModifyInstanceMetadataOptionsOutput) SetInstanceId(v string) *ModifyInstanceMetadataOptionsOutput {
98348	s.InstanceId = &v
98349	return s
98350}
98351
98352// SetInstanceMetadataOptions sets the InstanceMetadataOptions field's value.
98353func (s *ModifyInstanceMetadataOptionsOutput) SetInstanceMetadataOptions(v *InstanceMetadataOptionsResponse) *ModifyInstanceMetadataOptionsOutput {
98354	s.InstanceMetadataOptions = v
98355	return s
98356}
98357
98358type ModifyInstancePlacementInput struct {
98359	_ struct{} `type:"structure"`
98360
98361	// The affinity setting for the instance.
98362	Affinity *string `locationName:"affinity" type:"string" enum:"Affinity"`
98363
98364	// The name of the placement group in which to place the instance. For spread
98365	// placement groups, the instance must have a tenancy of default. For cluster
98366	// and partition placement groups, the instance must have a tenancy of default
98367	// or dedicated.
98368	//
98369	// To remove an instance from a placement group, specify an empty string ("").
98370	GroupName *string `type:"string"`
98371
98372	// The ID of the Dedicated Host with which to associate the instance.
98373	HostId *string `locationName:"hostId" type:"string"`
98374
98375	// The ARN of the host resource group in which to place the instance.
98376	HostResourceGroupArn *string `type:"string"`
98377
98378	// The ID of the instance that you are modifying.
98379	//
98380	// InstanceId is a required field
98381	InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
98382
98383	// Reserved for future use.
98384	PartitionNumber *int64 `type:"integer"`
98385
98386	// The tenancy for the instance.
98387	Tenancy *string `locationName:"tenancy" type:"string" enum:"HostTenancy"`
98388}
98389
98390// String returns the string representation
98391func (s ModifyInstancePlacementInput) String() string {
98392	return awsutil.Prettify(s)
98393}
98394
98395// GoString returns the string representation
98396func (s ModifyInstancePlacementInput) GoString() string {
98397	return s.String()
98398}
98399
98400// Validate inspects the fields of the type to determine if they are valid.
98401func (s *ModifyInstancePlacementInput) Validate() error {
98402	invalidParams := request.ErrInvalidParams{Context: "ModifyInstancePlacementInput"}
98403	if s.InstanceId == nil {
98404		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
98405	}
98406
98407	if invalidParams.Len() > 0 {
98408		return invalidParams
98409	}
98410	return nil
98411}
98412
98413// SetAffinity sets the Affinity field's value.
98414func (s *ModifyInstancePlacementInput) SetAffinity(v string) *ModifyInstancePlacementInput {
98415	s.Affinity = &v
98416	return s
98417}
98418
98419// SetGroupName sets the GroupName field's value.
98420func (s *ModifyInstancePlacementInput) SetGroupName(v string) *ModifyInstancePlacementInput {
98421	s.GroupName = &v
98422	return s
98423}
98424
98425// SetHostId sets the HostId field's value.
98426func (s *ModifyInstancePlacementInput) SetHostId(v string) *ModifyInstancePlacementInput {
98427	s.HostId = &v
98428	return s
98429}
98430
98431// SetHostResourceGroupArn sets the HostResourceGroupArn field's value.
98432func (s *ModifyInstancePlacementInput) SetHostResourceGroupArn(v string) *ModifyInstancePlacementInput {
98433	s.HostResourceGroupArn = &v
98434	return s
98435}
98436
98437// SetInstanceId sets the InstanceId field's value.
98438func (s *ModifyInstancePlacementInput) SetInstanceId(v string) *ModifyInstancePlacementInput {
98439	s.InstanceId = &v
98440	return s
98441}
98442
98443// SetPartitionNumber sets the PartitionNumber field's value.
98444func (s *ModifyInstancePlacementInput) SetPartitionNumber(v int64) *ModifyInstancePlacementInput {
98445	s.PartitionNumber = &v
98446	return s
98447}
98448
98449// SetTenancy sets the Tenancy field's value.
98450func (s *ModifyInstancePlacementInput) SetTenancy(v string) *ModifyInstancePlacementInput {
98451	s.Tenancy = &v
98452	return s
98453}
98454
98455type ModifyInstancePlacementOutput struct {
98456	_ struct{} `type:"structure"`
98457
98458	// Is true if the request succeeds, and an error otherwise.
98459	Return *bool `locationName:"return" type:"boolean"`
98460}
98461
98462// String returns the string representation
98463func (s ModifyInstancePlacementOutput) String() string {
98464	return awsutil.Prettify(s)
98465}
98466
98467// GoString returns the string representation
98468func (s ModifyInstancePlacementOutput) GoString() string {
98469	return s.String()
98470}
98471
98472// SetReturn sets the Return field's value.
98473func (s *ModifyInstancePlacementOutput) SetReturn(v bool) *ModifyInstancePlacementOutput {
98474	s.Return = &v
98475	return s
98476}
98477
98478type ModifyLaunchTemplateInput struct {
98479	_ struct{} `type:"structure"`
98480
98481	// Unique, case-sensitive identifier you provide to ensure the idempotency of
98482	// the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
98483	//
98484	// Constraint: Maximum 128 ASCII characters.
98485	ClientToken *string `type:"string"`
98486
98487	// The version number of the launch template to set as the default version.
98488	DefaultVersion *string `locationName:"SetDefaultVersion" type:"string"`
98489
98490	// Checks whether you have the required permissions for the action, without
98491	// actually making the request, and provides an error response. If you have
98492	// the required permissions, the error response is DryRunOperation. Otherwise,
98493	// it is UnauthorizedOperation.
98494	DryRun *bool `type:"boolean"`
98495
98496	// The ID of the launch template. You must specify either the launch template
98497	// ID or launch template name in the request.
98498	LaunchTemplateId *string `type:"string"`
98499
98500	// The name of the launch template. You must specify either the launch template
98501	// ID or launch template name in the request.
98502	LaunchTemplateName *string `min:"3" type:"string"`
98503}
98504
98505// String returns the string representation
98506func (s ModifyLaunchTemplateInput) String() string {
98507	return awsutil.Prettify(s)
98508}
98509
98510// GoString returns the string representation
98511func (s ModifyLaunchTemplateInput) GoString() string {
98512	return s.String()
98513}
98514
98515// Validate inspects the fields of the type to determine if they are valid.
98516func (s *ModifyLaunchTemplateInput) Validate() error {
98517	invalidParams := request.ErrInvalidParams{Context: "ModifyLaunchTemplateInput"}
98518	if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
98519		invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
98520	}
98521
98522	if invalidParams.Len() > 0 {
98523		return invalidParams
98524	}
98525	return nil
98526}
98527
98528// SetClientToken sets the ClientToken field's value.
98529func (s *ModifyLaunchTemplateInput) SetClientToken(v string) *ModifyLaunchTemplateInput {
98530	s.ClientToken = &v
98531	return s
98532}
98533
98534// SetDefaultVersion sets the DefaultVersion field's value.
98535func (s *ModifyLaunchTemplateInput) SetDefaultVersion(v string) *ModifyLaunchTemplateInput {
98536	s.DefaultVersion = &v
98537	return s
98538}
98539
98540// SetDryRun sets the DryRun field's value.
98541func (s *ModifyLaunchTemplateInput) SetDryRun(v bool) *ModifyLaunchTemplateInput {
98542	s.DryRun = &v
98543	return s
98544}
98545
98546// SetLaunchTemplateId sets the LaunchTemplateId field's value.
98547func (s *ModifyLaunchTemplateInput) SetLaunchTemplateId(v string) *ModifyLaunchTemplateInput {
98548	s.LaunchTemplateId = &v
98549	return s
98550}
98551
98552// SetLaunchTemplateName sets the LaunchTemplateName field's value.
98553func (s *ModifyLaunchTemplateInput) SetLaunchTemplateName(v string) *ModifyLaunchTemplateInput {
98554	s.LaunchTemplateName = &v
98555	return s
98556}
98557
98558type ModifyLaunchTemplateOutput struct {
98559	_ struct{} `type:"structure"`
98560
98561	// Information about the launch template.
98562	LaunchTemplate *LaunchTemplate `locationName:"launchTemplate" type:"structure"`
98563}
98564
98565// String returns the string representation
98566func (s ModifyLaunchTemplateOutput) String() string {
98567	return awsutil.Prettify(s)
98568}
98569
98570// GoString returns the string representation
98571func (s ModifyLaunchTemplateOutput) GoString() string {
98572	return s.String()
98573}
98574
98575// SetLaunchTemplate sets the LaunchTemplate field's value.
98576func (s *ModifyLaunchTemplateOutput) SetLaunchTemplate(v *LaunchTemplate) *ModifyLaunchTemplateOutput {
98577	s.LaunchTemplate = v
98578	return s
98579}
98580
98581type ModifyManagedPrefixListInput struct {
98582	_ struct{} `type:"structure"`
98583
98584	// One or more entries to add to the prefix list.
98585	AddEntries []*AddPrefixListEntry `locationName:"AddEntry" type:"list"`
98586
98587	// The current version of the prefix list.
98588	CurrentVersion *int64 `type:"long"`
98589
98590	// Checks whether you have the required permissions for the action, without
98591	// actually making the request, and provides an error response. If you have
98592	// the required permissions, the error response is DryRunOperation. Otherwise,
98593	// it is UnauthorizedOperation.
98594	DryRun *bool `type:"boolean"`
98595
98596	// The ID of the prefix list.
98597	//
98598	// PrefixListId is a required field
98599	PrefixListId *string `type:"string" required:"true"`
98600
98601	// A name for the prefix list.
98602	PrefixListName *string `type:"string"`
98603
98604	// One or more entries to remove from the prefix list.
98605	RemoveEntries []*RemovePrefixListEntry `locationName:"RemoveEntry" type:"list"`
98606}
98607
98608// String returns the string representation
98609func (s ModifyManagedPrefixListInput) String() string {
98610	return awsutil.Prettify(s)
98611}
98612
98613// GoString returns the string representation
98614func (s ModifyManagedPrefixListInput) GoString() string {
98615	return s.String()
98616}
98617
98618// Validate inspects the fields of the type to determine if they are valid.
98619func (s *ModifyManagedPrefixListInput) Validate() error {
98620	invalidParams := request.ErrInvalidParams{Context: "ModifyManagedPrefixListInput"}
98621	if s.PrefixListId == nil {
98622		invalidParams.Add(request.NewErrParamRequired("PrefixListId"))
98623	}
98624	if s.AddEntries != nil {
98625		for i, v := range s.AddEntries {
98626			if v == nil {
98627				continue
98628			}
98629			if err := v.Validate(); err != nil {
98630				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AddEntries", i), err.(request.ErrInvalidParams))
98631			}
98632		}
98633	}
98634	if s.RemoveEntries != nil {
98635		for i, v := range s.RemoveEntries {
98636			if v == nil {
98637				continue
98638			}
98639			if err := v.Validate(); err != nil {
98640				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RemoveEntries", i), err.(request.ErrInvalidParams))
98641			}
98642		}
98643	}
98644
98645	if invalidParams.Len() > 0 {
98646		return invalidParams
98647	}
98648	return nil
98649}
98650
98651// SetAddEntries sets the AddEntries field's value.
98652func (s *ModifyManagedPrefixListInput) SetAddEntries(v []*AddPrefixListEntry) *ModifyManagedPrefixListInput {
98653	s.AddEntries = v
98654	return s
98655}
98656
98657// SetCurrentVersion sets the CurrentVersion field's value.
98658func (s *ModifyManagedPrefixListInput) SetCurrentVersion(v int64) *ModifyManagedPrefixListInput {
98659	s.CurrentVersion = &v
98660	return s
98661}
98662
98663// SetDryRun sets the DryRun field's value.
98664func (s *ModifyManagedPrefixListInput) SetDryRun(v bool) *ModifyManagedPrefixListInput {
98665	s.DryRun = &v
98666	return s
98667}
98668
98669// SetPrefixListId sets the PrefixListId field's value.
98670func (s *ModifyManagedPrefixListInput) SetPrefixListId(v string) *ModifyManagedPrefixListInput {
98671	s.PrefixListId = &v
98672	return s
98673}
98674
98675// SetPrefixListName sets the PrefixListName field's value.
98676func (s *ModifyManagedPrefixListInput) SetPrefixListName(v string) *ModifyManagedPrefixListInput {
98677	s.PrefixListName = &v
98678	return s
98679}
98680
98681// SetRemoveEntries sets the RemoveEntries field's value.
98682func (s *ModifyManagedPrefixListInput) SetRemoveEntries(v []*RemovePrefixListEntry) *ModifyManagedPrefixListInput {
98683	s.RemoveEntries = v
98684	return s
98685}
98686
98687type ModifyManagedPrefixListOutput struct {
98688	_ struct{} `type:"structure"`
98689
98690	// Information about the prefix list.
98691	PrefixList *ManagedPrefixList `locationName:"prefixList" type:"structure"`
98692}
98693
98694// String returns the string representation
98695func (s ModifyManagedPrefixListOutput) String() string {
98696	return awsutil.Prettify(s)
98697}
98698
98699// GoString returns the string representation
98700func (s ModifyManagedPrefixListOutput) GoString() string {
98701	return s.String()
98702}
98703
98704// SetPrefixList sets the PrefixList field's value.
98705func (s *ModifyManagedPrefixListOutput) SetPrefixList(v *ManagedPrefixList) *ModifyManagedPrefixListOutput {
98706	s.PrefixList = v
98707	return s
98708}
98709
98710// Contains the parameters for ModifyNetworkInterfaceAttribute.
98711type ModifyNetworkInterfaceAttributeInput struct {
98712	_ struct{} `type:"structure"`
98713
98714	// Information about the interface attachment. If modifying the 'delete on termination'
98715	// attribute, you must specify the ID of the interface attachment.
98716	Attachment *NetworkInterfaceAttachmentChanges `locationName:"attachment" type:"structure"`
98717
98718	// A description for the network interface.
98719	Description *AttributeValue `locationName:"description" type:"structure"`
98720
98721	// Checks whether you have the required permissions for the action, without
98722	// actually making the request, and provides an error response. If you have
98723	// the required permissions, the error response is DryRunOperation. Otherwise,
98724	// it is UnauthorizedOperation.
98725	DryRun *bool `locationName:"dryRun" type:"boolean"`
98726
98727	// Changes the security groups for the network interface. The new set of groups
98728	// you specify replaces the current set. You must specify at least one group,
98729	// even if it's just the default security group in the VPC. You must specify
98730	// the ID of the security group, not the name.
98731	Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
98732
98733	// The ID of the network interface.
98734	//
98735	// NetworkInterfaceId is a required field
98736	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
98737
98738	// Enable or disable source/destination checks, which ensure that the instance
98739	// is either the source or the destination of any traffic that it receives.
98740	// If the value is true, source/destination checks are enabled; otherwise, they
98741	// are disabled. The default value is true. You must disable source/destination
98742	// checks if the instance runs services such as network address translation,
98743	// routing, or firewalls.
98744	SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"`
98745}
98746
98747// String returns the string representation
98748func (s ModifyNetworkInterfaceAttributeInput) String() string {
98749	return awsutil.Prettify(s)
98750}
98751
98752// GoString returns the string representation
98753func (s ModifyNetworkInterfaceAttributeInput) GoString() string {
98754	return s.String()
98755}
98756
98757// Validate inspects the fields of the type to determine if they are valid.
98758func (s *ModifyNetworkInterfaceAttributeInput) Validate() error {
98759	invalidParams := request.ErrInvalidParams{Context: "ModifyNetworkInterfaceAttributeInput"}
98760	if s.NetworkInterfaceId == nil {
98761		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
98762	}
98763
98764	if invalidParams.Len() > 0 {
98765		return invalidParams
98766	}
98767	return nil
98768}
98769
98770// SetAttachment sets the Attachment field's value.
98771func (s *ModifyNetworkInterfaceAttributeInput) SetAttachment(v *NetworkInterfaceAttachmentChanges) *ModifyNetworkInterfaceAttributeInput {
98772	s.Attachment = v
98773	return s
98774}
98775
98776// SetDescription sets the Description field's value.
98777func (s *ModifyNetworkInterfaceAttributeInput) SetDescription(v *AttributeValue) *ModifyNetworkInterfaceAttributeInput {
98778	s.Description = v
98779	return s
98780}
98781
98782// SetDryRun sets the DryRun field's value.
98783func (s *ModifyNetworkInterfaceAttributeInput) SetDryRun(v bool) *ModifyNetworkInterfaceAttributeInput {
98784	s.DryRun = &v
98785	return s
98786}
98787
98788// SetGroups sets the Groups field's value.
98789func (s *ModifyNetworkInterfaceAttributeInput) SetGroups(v []*string) *ModifyNetworkInterfaceAttributeInput {
98790	s.Groups = v
98791	return s
98792}
98793
98794// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
98795func (s *ModifyNetworkInterfaceAttributeInput) SetNetworkInterfaceId(v string) *ModifyNetworkInterfaceAttributeInput {
98796	s.NetworkInterfaceId = &v
98797	return s
98798}
98799
98800// SetSourceDestCheck sets the SourceDestCheck field's value.
98801func (s *ModifyNetworkInterfaceAttributeInput) SetSourceDestCheck(v *AttributeBooleanValue) *ModifyNetworkInterfaceAttributeInput {
98802	s.SourceDestCheck = v
98803	return s
98804}
98805
98806type ModifyNetworkInterfaceAttributeOutput struct {
98807	_ struct{} `type:"structure"`
98808}
98809
98810// String returns the string representation
98811func (s ModifyNetworkInterfaceAttributeOutput) String() string {
98812	return awsutil.Prettify(s)
98813}
98814
98815// GoString returns the string representation
98816func (s ModifyNetworkInterfaceAttributeOutput) GoString() string {
98817	return s.String()
98818}
98819
98820// Contains the parameters for ModifyReservedInstances.
98821type ModifyReservedInstancesInput struct {
98822	_ struct{} `type:"structure"`
98823
98824	// A unique, case-sensitive token you provide to ensure idempotency of your
98825	// modification request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
98826	ClientToken *string `locationName:"clientToken" type:"string"`
98827
98828	// The IDs of the Reserved Instances to modify.
98829	//
98830	// ReservedInstancesIds is a required field
98831	ReservedInstancesIds []*string `locationName:"ReservedInstancesId" locationNameList:"ReservedInstancesId" type:"list" required:"true"`
98832
98833	// The configuration settings for the Reserved Instances to modify.
98834	//
98835	// TargetConfigurations is a required field
98836	TargetConfigurations []*ReservedInstancesConfiguration `locationName:"ReservedInstancesConfigurationSetItemType" locationNameList:"item" type:"list" required:"true"`
98837}
98838
98839// String returns the string representation
98840func (s ModifyReservedInstancesInput) String() string {
98841	return awsutil.Prettify(s)
98842}
98843
98844// GoString returns the string representation
98845func (s ModifyReservedInstancesInput) GoString() string {
98846	return s.String()
98847}
98848
98849// Validate inspects the fields of the type to determine if they are valid.
98850func (s *ModifyReservedInstancesInput) Validate() error {
98851	invalidParams := request.ErrInvalidParams{Context: "ModifyReservedInstancesInput"}
98852	if s.ReservedInstancesIds == nil {
98853		invalidParams.Add(request.NewErrParamRequired("ReservedInstancesIds"))
98854	}
98855	if s.TargetConfigurations == nil {
98856		invalidParams.Add(request.NewErrParamRequired("TargetConfigurations"))
98857	}
98858
98859	if invalidParams.Len() > 0 {
98860		return invalidParams
98861	}
98862	return nil
98863}
98864
98865// SetClientToken sets the ClientToken field's value.
98866func (s *ModifyReservedInstancesInput) SetClientToken(v string) *ModifyReservedInstancesInput {
98867	s.ClientToken = &v
98868	return s
98869}
98870
98871// SetReservedInstancesIds sets the ReservedInstancesIds field's value.
98872func (s *ModifyReservedInstancesInput) SetReservedInstancesIds(v []*string) *ModifyReservedInstancesInput {
98873	s.ReservedInstancesIds = v
98874	return s
98875}
98876
98877// SetTargetConfigurations sets the TargetConfigurations field's value.
98878func (s *ModifyReservedInstancesInput) SetTargetConfigurations(v []*ReservedInstancesConfiguration) *ModifyReservedInstancesInput {
98879	s.TargetConfigurations = v
98880	return s
98881}
98882
98883// Contains the output of ModifyReservedInstances.
98884type ModifyReservedInstancesOutput struct {
98885	_ struct{} `type:"structure"`
98886
98887	// The ID for the modification.
98888	ReservedInstancesModificationId *string `locationName:"reservedInstancesModificationId" type:"string"`
98889}
98890
98891// String returns the string representation
98892func (s ModifyReservedInstancesOutput) String() string {
98893	return awsutil.Prettify(s)
98894}
98895
98896// GoString returns the string representation
98897func (s ModifyReservedInstancesOutput) GoString() string {
98898	return s.String()
98899}
98900
98901// SetReservedInstancesModificationId sets the ReservedInstancesModificationId field's value.
98902func (s *ModifyReservedInstancesOutput) SetReservedInstancesModificationId(v string) *ModifyReservedInstancesOutput {
98903	s.ReservedInstancesModificationId = &v
98904	return s
98905}
98906
98907type ModifySnapshotAttributeInput struct {
98908	_ struct{} `type:"structure"`
98909
98910	// The snapshot attribute to modify. Only volume creation permissions can be
98911	// modified.
98912	Attribute *string `type:"string" enum:"SnapshotAttributeName"`
98913
98914	// A JSON representation of the snapshot attribute modification.
98915	CreateVolumePermission *CreateVolumePermissionModifications `type:"structure"`
98916
98917	// Checks whether you have the required permissions for the action, without
98918	// actually making the request, and provides an error response. If you have
98919	// the required permissions, the error response is DryRunOperation. Otherwise,
98920	// it is UnauthorizedOperation.
98921	DryRun *bool `locationName:"dryRun" type:"boolean"`
98922
98923	// The group to modify for the snapshot.
98924	GroupNames []*string `locationName:"UserGroup" locationNameList:"GroupName" type:"list"`
98925
98926	// The type of operation to perform to the attribute.
98927	OperationType *string `type:"string" enum:"OperationType"`
98928
98929	// The ID of the snapshot.
98930	//
98931	// SnapshotId is a required field
98932	SnapshotId *string `type:"string" required:"true"`
98933
98934	// The account ID to modify for the snapshot.
98935	UserIds []*string `locationName:"UserId" locationNameList:"UserId" type:"list"`
98936}
98937
98938// String returns the string representation
98939func (s ModifySnapshotAttributeInput) String() string {
98940	return awsutil.Prettify(s)
98941}
98942
98943// GoString returns the string representation
98944func (s ModifySnapshotAttributeInput) GoString() string {
98945	return s.String()
98946}
98947
98948// Validate inspects the fields of the type to determine if they are valid.
98949func (s *ModifySnapshotAttributeInput) Validate() error {
98950	invalidParams := request.ErrInvalidParams{Context: "ModifySnapshotAttributeInput"}
98951	if s.SnapshotId == nil {
98952		invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
98953	}
98954
98955	if invalidParams.Len() > 0 {
98956		return invalidParams
98957	}
98958	return nil
98959}
98960
98961// SetAttribute sets the Attribute field's value.
98962func (s *ModifySnapshotAttributeInput) SetAttribute(v string) *ModifySnapshotAttributeInput {
98963	s.Attribute = &v
98964	return s
98965}
98966
98967// SetCreateVolumePermission sets the CreateVolumePermission field's value.
98968func (s *ModifySnapshotAttributeInput) SetCreateVolumePermission(v *CreateVolumePermissionModifications) *ModifySnapshotAttributeInput {
98969	s.CreateVolumePermission = v
98970	return s
98971}
98972
98973// SetDryRun sets the DryRun field's value.
98974func (s *ModifySnapshotAttributeInput) SetDryRun(v bool) *ModifySnapshotAttributeInput {
98975	s.DryRun = &v
98976	return s
98977}
98978
98979// SetGroupNames sets the GroupNames field's value.
98980func (s *ModifySnapshotAttributeInput) SetGroupNames(v []*string) *ModifySnapshotAttributeInput {
98981	s.GroupNames = v
98982	return s
98983}
98984
98985// SetOperationType sets the OperationType field's value.
98986func (s *ModifySnapshotAttributeInput) SetOperationType(v string) *ModifySnapshotAttributeInput {
98987	s.OperationType = &v
98988	return s
98989}
98990
98991// SetSnapshotId sets the SnapshotId field's value.
98992func (s *ModifySnapshotAttributeInput) SetSnapshotId(v string) *ModifySnapshotAttributeInput {
98993	s.SnapshotId = &v
98994	return s
98995}
98996
98997// SetUserIds sets the UserIds field's value.
98998func (s *ModifySnapshotAttributeInput) SetUserIds(v []*string) *ModifySnapshotAttributeInput {
98999	s.UserIds = v
99000	return s
99001}
99002
99003type ModifySnapshotAttributeOutput struct {
99004	_ struct{} `type:"structure"`
99005}
99006
99007// String returns the string representation
99008func (s ModifySnapshotAttributeOutput) String() string {
99009	return awsutil.Prettify(s)
99010}
99011
99012// GoString returns the string representation
99013func (s ModifySnapshotAttributeOutput) GoString() string {
99014	return s.String()
99015}
99016
99017// Contains the parameters for ModifySpotFleetRequest.
99018type ModifySpotFleetRequestInput struct {
99019	_ struct{} `type:"structure"`
99020
99021	// Indicates whether running Spot Instances should be terminated if the target
99022	// capacity of the Spot Fleet request is decreased below the current size of
99023	// the Spot Fleet.
99024	ExcessCapacityTerminationPolicy *string `locationName:"excessCapacityTerminationPolicy" type:"string" enum:"ExcessCapacityTerminationPolicy"`
99025
99026	// The launch template and overrides. You can only use this parameter if you
99027	// specified a launch template (LaunchTemplateConfigs) in your Spot Fleet request.
99028	// If you specified LaunchSpecifications in your Spot Fleet request, then omit
99029	// this parameter.
99030	LaunchTemplateConfigs []*LaunchTemplateConfig `locationName:"LaunchTemplateConfig" locationNameList:"item" type:"list"`
99031
99032	// The number of On-Demand Instances in the fleet.
99033	OnDemandTargetCapacity *int64 `type:"integer"`
99034
99035	// The ID of the Spot Fleet request.
99036	//
99037	// SpotFleetRequestId is a required field
99038	SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
99039
99040	// The size of the fleet.
99041	TargetCapacity *int64 `locationName:"targetCapacity" type:"integer"`
99042}
99043
99044// String returns the string representation
99045func (s ModifySpotFleetRequestInput) String() string {
99046	return awsutil.Prettify(s)
99047}
99048
99049// GoString returns the string representation
99050func (s ModifySpotFleetRequestInput) GoString() string {
99051	return s.String()
99052}
99053
99054// Validate inspects the fields of the type to determine if they are valid.
99055func (s *ModifySpotFleetRequestInput) Validate() error {
99056	invalidParams := request.ErrInvalidParams{Context: "ModifySpotFleetRequestInput"}
99057	if s.SpotFleetRequestId == nil {
99058		invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestId"))
99059	}
99060	if s.LaunchTemplateConfigs != nil {
99061		for i, v := range s.LaunchTemplateConfigs {
99062			if v == nil {
99063				continue
99064			}
99065			if err := v.Validate(); err != nil {
99066				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LaunchTemplateConfigs", i), err.(request.ErrInvalidParams))
99067			}
99068		}
99069	}
99070
99071	if invalidParams.Len() > 0 {
99072		return invalidParams
99073	}
99074	return nil
99075}
99076
99077// SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
99078func (s *ModifySpotFleetRequestInput) SetExcessCapacityTerminationPolicy(v string) *ModifySpotFleetRequestInput {
99079	s.ExcessCapacityTerminationPolicy = &v
99080	return s
99081}
99082
99083// SetLaunchTemplateConfigs sets the LaunchTemplateConfigs field's value.
99084func (s *ModifySpotFleetRequestInput) SetLaunchTemplateConfigs(v []*LaunchTemplateConfig) *ModifySpotFleetRequestInput {
99085	s.LaunchTemplateConfigs = v
99086	return s
99087}
99088
99089// SetOnDemandTargetCapacity sets the OnDemandTargetCapacity field's value.
99090func (s *ModifySpotFleetRequestInput) SetOnDemandTargetCapacity(v int64) *ModifySpotFleetRequestInput {
99091	s.OnDemandTargetCapacity = &v
99092	return s
99093}
99094
99095// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
99096func (s *ModifySpotFleetRequestInput) SetSpotFleetRequestId(v string) *ModifySpotFleetRequestInput {
99097	s.SpotFleetRequestId = &v
99098	return s
99099}
99100
99101// SetTargetCapacity sets the TargetCapacity field's value.
99102func (s *ModifySpotFleetRequestInput) SetTargetCapacity(v int64) *ModifySpotFleetRequestInput {
99103	s.TargetCapacity = &v
99104	return s
99105}
99106
99107// Contains the output of ModifySpotFleetRequest.
99108type ModifySpotFleetRequestOutput struct {
99109	_ struct{} `type:"structure"`
99110
99111	// Is true if the request succeeds, and an error otherwise.
99112	Return *bool `locationName:"return" type:"boolean"`
99113}
99114
99115// String returns the string representation
99116func (s ModifySpotFleetRequestOutput) String() string {
99117	return awsutil.Prettify(s)
99118}
99119
99120// GoString returns the string representation
99121func (s ModifySpotFleetRequestOutput) GoString() string {
99122	return s.String()
99123}
99124
99125// SetReturn sets the Return field's value.
99126func (s *ModifySpotFleetRequestOutput) SetReturn(v bool) *ModifySpotFleetRequestOutput {
99127	s.Return = &v
99128	return s
99129}
99130
99131type ModifySubnetAttributeInput struct {
99132	_ struct{} `type:"structure"`
99133
99134	// Specify true to indicate that network interfaces created in the specified
99135	// subnet should be assigned an IPv6 address. This includes a network interface
99136	// that's created when launching an instance into the subnet (the instance therefore
99137	// receives an IPv6 address).
99138	//
99139	// If you enable the IPv6 addressing feature for your subnet, your network interface
99140	// or instance only receives an IPv6 address if it's created using version 2016-11-15
99141	// or later of the Amazon EC2 API.
99142	AssignIpv6AddressOnCreation *AttributeBooleanValue `type:"structure"`
99143
99144	// The customer-owned IPv4 address pool associated with the subnet.
99145	//
99146	// You must set this value when you specify true for MapCustomerOwnedIpOnLaunch.
99147	CustomerOwnedIpv4Pool *string `type:"string"`
99148
99149	// Specify true to indicate that network interfaces attached to instances created
99150	// in the specified subnet should be assigned a customer-owned IPv4 address.
99151	//
99152	// When this value is true, you must specify the customer-owned IP pool using
99153	// CustomerOwnedIpv4Pool.
99154	MapCustomerOwnedIpOnLaunch *AttributeBooleanValue `type:"structure"`
99155
99156	// Specify true to indicate that network interfaces attached to instances created
99157	// in the specified subnet should be assigned a public IPv4 address.
99158	MapPublicIpOnLaunch *AttributeBooleanValue `type:"structure"`
99159
99160	// The ID of the subnet.
99161	//
99162	// SubnetId is a required field
99163	SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
99164}
99165
99166// String returns the string representation
99167func (s ModifySubnetAttributeInput) String() string {
99168	return awsutil.Prettify(s)
99169}
99170
99171// GoString returns the string representation
99172func (s ModifySubnetAttributeInput) GoString() string {
99173	return s.String()
99174}
99175
99176// Validate inspects the fields of the type to determine if they are valid.
99177func (s *ModifySubnetAttributeInput) Validate() error {
99178	invalidParams := request.ErrInvalidParams{Context: "ModifySubnetAttributeInput"}
99179	if s.SubnetId == nil {
99180		invalidParams.Add(request.NewErrParamRequired("SubnetId"))
99181	}
99182
99183	if invalidParams.Len() > 0 {
99184		return invalidParams
99185	}
99186	return nil
99187}
99188
99189// SetAssignIpv6AddressOnCreation sets the AssignIpv6AddressOnCreation field's value.
99190func (s *ModifySubnetAttributeInput) SetAssignIpv6AddressOnCreation(v *AttributeBooleanValue) *ModifySubnetAttributeInput {
99191	s.AssignIpv6AddressOnCreation = v
99192	return s
99193}
99194
99195// SetCustomerOwnedIpv4Pool sets the CustomerOwnedIpv4Pool field's value.
99196func (s *ModifySubnetAttributeInput) SetCustomerOwnedIpv4Pool(v string) *ModifySubnetAttributeInput {
99197	s.CustomerOwnedIpv4Pool = &v
99198	return s
99199}
99200
99201// SetMapCustomerOwnedIpOnLaunch sets the MapCustomerOwnedIpOnLaunch field's value.
99202func (s *ModifySubnetAttributeInput) SetMapCustomerOwnedIpOnLaunch(v *AttributeBooleanValue) *ModifySubnetAttributeInput {
99203	s.MapCustomerOwnedIpOnLaunch = v
99204	return s
99205}
99206
99207// SetMapPublicIpOnLaunch sets the MapPublicIpOnLaunch field's value.
99208func (s *ModifySubnetAttributeInput) SetMapPublicIpOnLaunch(v *AttributeBooleanValue) *ModifySubnetAttributeInput {
99209	s.MapPublicIpOnLaunch = v
99210	return s
99211}
99212
99213// SetSubnetId sets the SubnetId field's value.
99214func (s *ModifySubnetAttributeInput) SetSubnetId(v string) *ModifySubnetAttributeInput {
99215	s.SubnetId = &v
99216	return s
99217}
99218
99219type ModifySubnetAttributeOutput struct {
99220	_ struct{} `type:"structure"`
99221}
99222
99223// String returns the string representation
99224func (s ModifySubnetAttributeOutput) String() string {
99225	return awsutil.Prettify(s)
99226}
99227
99228// GoString returns the string representation
99229func (s ModifySubnetAttributeOutput) GoString() string {
99230	return s.String()
99231}
99232
99233type ModifyTrafficMirrorFilterNetworkServicesInput struct {
99234	_ struct{} `type:"structure"`
99235
99236	// The network service, for example Amazon DNS, that you want to mirror.
99237	AddNetworkServices []*string `locationName:"AddNetworkService" locationNameList:"item" type:"list"`
99238
99239	// Checks whether you have the required permissions for the action, without
99240	// actually making the request, and provides an error response. If you have
99241	// the required permissions, the error response is DryRunOperation. Otherwise,
99242	// it is UnauthorizedOperation.
99243	DryRun *bool `type:"boolean"`
99244
99245	// The network service, for example Amazon DNS, that you no longer want to mirror.
99246	RemoveNetworkServices []*string `locationName:"RemoveNetworkService" locationNameList:"item" type:"list"`
99247
99248	// The ID of the Traffic Mirror filter.
99249	//
99250	// TrafficMirrorFilterId is a required field
99251	TrafficMirrorFilterId *string `type:"string" required:"true"`
99252}
99253
99254// String returns the string representation
99255func (s ModifyTrafficMirrorFilterNetworkServicesInput) String() string {
99256	return awsutil.Prettify(s)
99257}
99258
99259// GoString returns the string representation
99260func (s ModifyTrafficMirrorFilterNetworkServicesInput) GoString() string {
99261	return s.String()
99262}
99263
99264// Validate inspects the fields of the type to determine if they are valid.
99265func (s *ModifyTrafficMirrorFilterNetworkServicesInput) Validate() error {
99266	invalidParams := request.ErrInvalidParams{Context: "ModifyTrafficMirrorFilterNetworkServicesInput"}
99267	if s.TrafficMirrorFilterId == nil {
99268		invalidParams.Add(request.NewErrParamRequired("TrafficMirrorFilterId"))
99269	}
99270
99271	if invalidParams.Len() > 0 {
99272		return invalidParams
99273	}
99274	return nil
99275}
99276
99277// SetAddNetworkServices sets the AddNetworkServices field's value.
99278func (s *ModifyTrafficMirrorFilterNetworkServicesInput) SetAddNetworkServices(v []*string) *ModifyTrafficMirrorFilterNetworkServicesInput {
99279	s.AddNetworkServices = v
99280	return s
99281}
99282
99283// SetDryRun sets the DryRun field's value.
99284func (s *ModifyTrafficMirrorFilterNetworkServicesInput) SetDryRun(v bool) *ModifyTrafficMirrorFilterNetworkServicesInput {
99285	s.DryRun = &v
99286	return s
99287}
99288
99289// SetRemoveNetworkServices sets the RemoveNetworkServices field's value.
99290func (s *ModifyTrafficMirrorFilterNetworkServicesInput) SetRemoveNetworkServices(v []*string) *ModifyTrafficMirrorFilterNetworkServicesInput {
99291	s.RemoveNetworkServices = v
99292	return s
99293}
99294
99295// SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value.
99296func (s *ModifyTrafficMirrorFilterNetworkServicesInput) SetTrafficMirrorFilterId(v string) *ModifyTrafficMirrorFilterNetworkServicesInput {
99297	s.TrafficMirrorFilterId = &v
99298	return s
99299}
99300
99301type ModifyTrafficMirrorFilterNetworkServicesOutput struct {
99302	_ struct{} `type:"structure"`
99303
99304	// The Traffic Mirror filter that the network service is associated with.
99305	TrafficMirrorFilter *TrafficMirrorFilter `locationName:"trafficMirrorFilter" type:"structure"`
99306}
99307
99308// String returns the string representation
99309func (s ModifyTrafficMirrorFilterNetworkServicesOutput) String() string {
99310	return awsutil.Prettify(s)
99311}
99312
99313// GoString returns the string representation
99314func (s ModifyTrafficMirrorFilterNetworkServicesOutput) GoString() string {
99315	return s.String()
99316}
99317
99318// SetTrafficMirrorFilter sets the TrafficMirrorFilter field's value.
99319func (s *ModifyTrafficMirrorFilterNetworkServicesOutput) SetTrafficMirrorFilter(v *TrafficMirrorFilter) *ModifyTrafficMirrorFilterNetworkServicesOutput {
99320	s.TrafficMirrorFilter = v
99321	return s
99322}
99323
99324type ModifyTrafficMirrorFilterRuleInput struct {
99325	_ struct{} `type:"structure"`
99326
99327	// The description to assign to the Traffic Mirror rule.
99328	Description *string `type:"string"`
99329
99330	// The destination CIDR block to assign to the Traffic Mirror rule.
99331	DestinationCidrBlock *string `type:"string"`
99332
99333	// The destination ports that are associated with the Traffic Mirror rule.
99334	DestinationPortRange *TrafficMirrorPortRangeRequest `type:"structure"`
99335
99336	// Checks whether you have the required permissions for the action, without
99337	// actually making the request, and provides an error response. If you have
99338	// the required permissions, the error response is DryRunOperation. Otherwise,
99339	// it is UnauthorizedOperation.
99340	DryRun *bool `type:"boolean"`
99341
99342	// The protocol, for example TCP, to assign to the Traffic Mirror rule.
99343	Protocol *int64 `type:"integer"`
99344
99345	// The properties that you want to remove from the Traffic Mirror filter rule.
99346	//
99347	// When you remove a property from a Traffic Mirror filter rule, the property
99348	// is set to the default.
99349	RemoveFields []*string `locationName:"RemoveField" type:"list"`
99350
99351	// The action to assign to the rule.
99352	RuleAction *string `type:"string" enum:"TrafficMirrorRuleAction"`
99353
99354	// The number of the Traffic Mirror rule. This number must be unique for each
99355	// Traffic Mirror rule in a given direction. The rules are processed in ascending
99356	// order by rule number.
99357	RuleNumber *int64 `type:"integer"`
99358
99359	// The source CIDR block to assign to the Traffic Mirror rule.
99360	SourceCidrBlock *string `type:"string"`
99361
99362	// The port range to assign to the Traffic Mirror rule.
99363	SourcePortRange *TrafficMirrorPortRangeRequest `type:"structure"`
99364
99365	// The type of traffic (ingress | egress) to assign to the rule.
99366	TrafficDirection *string `type:"string" enum:"TrafficDirection"`
99367
99368	// The ID of the Traffic Mirror rule.
99369	//
99370	// TrafficMirrorFilterRuleId is a required field
99371	TrafficMirrorFilterRuleId *string `type:"string" required:"true"`
99372}
99373
99374// String returns the string representation
99375func (s ModifyTrafficMirrorFilterRuleInput) String() string {
99376	return awsutil.Prettify(s)
99377}
99378
99379// GoString returns the string representation
99380func (s ModifyTrafficMirrorFilterRuleInput) GoString() string {
99381	return s.String()
99382}
99383
99384// Validate inspects the fields of the type to determine if they are valid.
99385func (s *ModifyTrafficMirrorFilterRuleInput) Validate() error {
99386	invalidParams := request.ErrInvalidParams{Context: "ModifyTrafficMirrorFilterRuleInput"}
99387	if s.TrafficMirrorFilterRuleId == nil {
99388		invalidParams.Add(request.NewErrParamRequired("TrafficMirrorFilterRuleId"))
99389	}
99390
99391	if invalidParams.Len() > 0 {
99392		return invalidParams
99393	}
99394	return nil
99395}
99396
99397// SetDescription sets the Description field's value.
99398func (s *ModifyTrafficMirrorFilterRuleInput) SetDescription(v string) *ModifyTrafficMirrorFilterRuleInput {
99399	s.Description = &v
99400	return s
99401}
99402
99403// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
99404func (s *ModifyTrafficMirrorFilterRuleInput) SetDestinationCidrBlock(v string) *ModifyTrafficMirrorFilterRuleInput {
99405	s.DestinationCidrBlock = &v
99406	return s
99407}
99408
99409// SetDestinationPortRange sets the DestinationPortRange field's value.
99410func (s *ModifyTrafficMirrorFilterRuleInput) SetDestinationPortRange(v *TrafficMirrorPortRangeRequest) *ModifyTrafficMirrorFilterRuleInput {
99411	s.DestinationPortRange = v
99412	return s
99413}
99414
99415// SetDryRun sets the DryRun field's value.
99416func (s *ModifyTrafficMirrorFilterRuleInput) SetDryRun(v bool) *ModifyTrafficMirrorFilterRuleInput {
99417	s.DryRun = &v
99418	return s
99419}
99420
99421// SetProtocol sets the Protocol field's value.
99422func (s *ModifyTrafficMirrorFilterRuleInput) SetProtocol(v int64) *ModifyTrafficMirrorFilterRuleInput {
99423	s.Protocol = &v
99424	return s
99425}
99426
99427// SetRemoveFields sets the RemoveFields field's value.
99428func (s *ModifyTrafficMirrorFilterRuleInput) SetRemoveFields(v []*string) *ModifyTrafficMirrorFilterRuleInput {
99429	s.RemoveFields = v
99430	return s
99431}
99432
99433// SetRuleAction sets the RuleAction field's value.
99434func (s *ModifyTrafficMirrorFilterRuleInput) SetRuleAction(v string) *ModifyTrafficMirrorFilterRuleInput {
99435	s.RuleAction = &v
99436	return s
99437}
99438
99439// SetRuleNumber sets the RuleNumber field's value.
99440func (s *ModifyTrafficMirrorFilterRuleInput) SetRuleNumber(v int64) *ModifyTrafficMirrorFilterRuleInput {
99441	s.RuleNumber = &v
99442	return s
99443}
99444
99445// SetSourceCidrBlock sets the SourceCidrBlock field's value.
99446func (s *ModifyTrafficMirrorFilterRuleInput) SetSourceCidrBlock(v string) *ModifyTrafficMirrorFilterRuleInput {
99447	s.SourceCidrBlock = &v
99448	return s
99449}
99450
99451// SetSourcePortRange sets the SourcePortRange field's value.
99452func (s *ModifyTrafficMirrorFilterRuleInput) SetSourcePortRange(v *TrafficMirrorPortRangeRequest) *ModifyTrafficMirrorFilterRuleInput {
99453	s.SourcePortRange = v
99454	return s
99455}
99456
99457// SetTrafficDirection sets the TrafficDirection field's value.
99458func (s *ModifyTrafficMirrorFilterRuleInput) SetTrafficDirection(v string) *ModifyTrafficMirrorFilterRuleInput {
99459	s.TrafficDirection = &v
99460	return s
99461}
99462
99463// SetTrafficMirrorFilterRuleId sets the TrafficMirrorFilterRuleId field's value.
99464func (s *ModifyTrafficMirrorFilterRuleInput) SetTrafficMirrorFilterRuleId(v string) *ModifyTrafficMirrorFilterRuleInput {
99465	s.TrafficMirrorFilterRuleId = &v
99466	return s
99467}
99468
99469type ModifyTrafficMirrorFilterRuleOutput struct {
99470	_ struct{} `type:"structure"`
99471
99472	// Modifies a Traffic Mirror rule.
99473	TrafficMirrorFilterRule *TrafficMirrorFilterRule `locationName:"trafficMirrorFilterRule" type:"structure"`
99474}
99475
99476// String returns the string representation
99477func (s ModifyTrafficMirrorFilterRuleOutput) String() string {
99478	return awsutil.Prettify(s)
99479}
99480
99481// GoString returns the string representation
99482func (s ModifyTrafficMirrorFilterRuleOutput) GoString() string {
99483	return s.String()
99484}
99485
99486// SetTrafficMirrorFilterRule sets the TrafficMirrorFilterRule field's value.
99487func (s *ModifyTrafficMirrorFilterRuleOutput) SetTrafficMirrorFilterRule(v *TrafficMirrorFilterRule) *ModifyTrafficMirrorFilterRuleOutput {
99488	s.TrafficMirrorFilterRule = v
99489	return s
99490}
99491
99492type ModifyTrafficMirrorSessionInput struct {
99493	_ struct{} `type:"structure"`
99494
99495	// The description to assign to the Traffic Mirror session.
99496	Description *string `type:"string"`
99497
99498	// Checks whether you have the required permissions for the action, without
99499	// actually making the request, and provides an error response. If you have
99500	// the required permissions, the error response is DryRunOperation. Otherwise,
99501	// it is UnauthorizedOperation.
99502	DryRun *bool `type:"boolean"`
99503
99504	// The number of bytes in each packet to mirror. These are bytes after the VXLAN
99505	// header. To mirror a subset, set this to the length (in bytes) to mirror.
99506	// For example, if you set this value to 100, then the first 100 bytes that
99507	// meet the filter criteria are copied to the target. Do not specify this parameter
99508	// when you want to mirror the entire packet.
99509	PacketLength *int64 `type:"integer"`
99510
99511	// The properties that you want to remove from the Traffic Mirror session.
99512	//
99513	// When you remove a property from a Traffic Mirror session, the property is
99514	// set to the default.
99515	RemoveFields []*string `locationName:"RemoveField" type:"list"`
99516
99517	// The session number determines the order in which sessions are evaluated when
99518	// an interface is used by multiple sessions. The first session with a matching
99519	// filter is the one that mirrors the packets.
99520	//
99521	// Valid values are 1-32766.
99522	SessionNumber *int64 `type:"integer"`
99523
99524	// The ID of the Traffic Mirror filter.
99525	TrafficMirrorFilterId *string `type:"string"`
99526
99527	// The ID of the Traffic Mirror session.
99528	//
99529	// TrafficMirrorSessionId is a required field
99530	TrafficMirrorSessionId *string `type:"string" required:"true"`
99531
99532	// The Traffic Mirror target. The target must be in the same VPC as the source,
99533	// or have a VPC peering connection with the source.
99534	TrafficMirrorTargetId *string `type:"string"`
99535
99536	// The virtual network ID of the Traffic Mirror session.
99537	VirtualNetworkId *int64 `type:"integer"`
99538}
99539
99540// String returns the string representation
99541func (s ModifyTrafficMirrorSessionInput) String() string {
99542	return awsutil.Prettify(s)
99543}
99544
99545// GoString returns the string representation
99546func (s ModifyTrafficMirrorSessionInput) GoString() string {
99547	return s.String()
99548}
99549
99550// Validate inspects the fields of the type to determine if they are valid.
99551func (s *ModifyTrafficMirrorSessionInput) Validate() error {
99552	invalidParams := request.ErrInvalidParams{Context: "ModifyTrafficMirrorSessionInput"}
99553	if s.TrafficMirrorSessionId == nil {
99554		invalidParams.Add(request.NewErrParamRequired("TrafficMirrorSessionId"))
99555	}
99556
99557	if invalidParams.Len() > 0 {
99558		return invalidParams
99559	}
99560	return nil
99561}
99562
99563// SetDescription sets the Description field's value.
99564func (s *ModifyTrafficMirrorSessionInput) SetDescription(v string) *ModifyTrafficMirrorSessionInput {
99565	s.Description = &v
99566	return s
99567}
99568
99569// SetDryRun sets the DryRun field's value.
99570func (s *ModifyTrafficMirrorSessionInput) SetDryRun(v bool) *ModifyTrafficMirrorSessionInput {
99571	s.DryRun = &v
99572	return s
99573}
99574
99575// SetPacketLength sets the PacketLength field's value.
99576func (s *ModifyTrafficMirrorSessionInput) SetPacketLength(v int64) *ModifyTrafficMirrorSessionInput {
99577	s.PacketLength = &v
99578	return s
99579}
99580
99581// SetRemoveFields sets the RemoveFields field's value.
99582func (s *ModifyTrafficMirrorSessionInput) SetRemoveFields(v []*string) *ModifyTrafficMirrorSessionInput {
99583	s.RemoveFields = v
99584	return s
99585}
99586
99587// SetSessionNumber sets the SessionNumber field's value.
99588func (s *ModifyTrafficMirrorSessionInput) SetSessionNumber(v int64) *ModifyTrafficMirrorSessionInput {
99589	s.SessionNumber = &v
99590	return s
99591}
99592
99593// SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value.
99594func (s *ModifyTrafficMirrorSessionInput) SetTrafficMirrorFilterId(v string) *ModifyTrafficMirrorSessionInput {
99595	s.TrafficMirrorFilterId = &v
99596	return s
99597}
99598
99599// SetTrafficMirrorSessionId sets the TrafficMirrorSessionId field's value.
99600func (s *ModifyTrafficMirrorSessionInput) SetTrafficMirrorSessionId(v string) *ModifyTrafficMirrorSessionInput {
99601	s.TrafficMirrorSessionId = &v
99602	return s
99603}
99604
99605// SetTrafficMirrorTargetId sets the TrafficMirrorTargetId field's value.
99606func (s *ModifyTrafficMirrorSessionInput) SetTrafficMirrorTargetId(v string) *ModifyTrafficMirrorSessionInput {
99607	s.TrafficMirrorTargetId = &v
99608	return s
99609}
99610
99611// SetVirtualNetworkId sets the VirtualNetworkId field's value.
99612func (s *ModifyTrafficMirrorSessionInput) SetVirtualNetworkId(v int64) *ModifyTrafficMirrorSessionInput {
99613	s.VirtualNetworkId = &v
99614	return s
99615}
99616
99617type ModifyTrafficMirrorSessionOutput struct {
99618	_ struct{} `type:"structure"`
99619
99620	// Information about the Traffic Mirror session.
99621	TrafficMirrorSession *TrafficMirrorSession `locationName:"trafficMirrorSession" type:"structure"`
99622}
99623
99624// String returns the string representation
99625func (s ModifyTrafficMirrorSessionOutput) String() string {
99626	return awsutil.Prettify(s)
99627}
99628
99629// GoString returns the string representation
99630func (s ModifyTrafficMirrorSessionOutput) GoString() string {
99631	return s.String()
99632}
99633
99634// SetTrafficMirrorSession sets the TrafficMirrorSession field's value.
99635func (s *ModifyTrafficMirrorSessionOutput) SetTrafficMirrorSession(v *TrafficMirrorSession) *ModifyTrafficMirrorSessionOutput {
99636	s.TrafficMirrorSession = v
99637	return s
99638}
99639
99640type ModifyTransitGatewayInput struct {
99641	_ struct{} `type:"structure"`
99642
99643	// The description for the transit gateway.
99644	Description *string `type:"string"`
99645
99646	// Checks whether you have the required permissions for the action, without
99647	// actually making the request, and provides an error response. If you have
99648	// the required permissions, the error response is DryRunOperation. Otherwise,
99649	// it is UnauthorizedOperation.
99650	DryRun *bool `type:"boolean"`
99651
99652	// The options to modify.
99653	Options *ModifyTransitGatewayOptions `type:"structure"`
99654
99655	// The ID of the transit gateway.
99656	//
99657	// TransitGatewayId is a required field
99658	TransitGatewayId *string `type:"string" required:"true"`
99659}
99660
99661// String returns the string representation
99662func (s ModifyTransitGatewayInput) String() string {
99663	return awsutil.Prettify(s)
99664}
99665
99666// GoString returns the string representation
99667func (s ModifyTransitGatewayInput) GoString() string {
99668	return s.String()
99669}
99670
99671// Validate inspects the fields of the type to determine if they are valid.
99672func (s *ModifyTransitGatewayInput) Validate() error {
99673	invalidParams := request.ErrInvalidParams{Context: "ModifyTransitGatewayInput"}
99674	if s.TransitGatewayId == nil {
99675		invalidParams.Add(request.NewErrParamRequired("TransitGatewayId"))
99676	}
99677
99678	if invalidParams.Len() > 0 {
99679		return invalidParams
99680	}
99681	return nil
99682}
99683
99684// SetDescription sets the Description field's value.
99685func (s *ModifyTransitGatewayInput) SetDescription(v string) *ModifyTransitGatewayInput {
99686	s.Description = &v
99687	return s
99688}
99689
99690// SetDryRun sets the DryRun field's value.
99691func (s *ModifyTransitGatewayInput) SetDryRun(v bool) *ModifyTransitGatewayInput {
99692	s.DryRun = &v
99693	return s
99694}
99695
99696// SetOptions sets the Options field's value.
99697func (s *ModifyTransitGatewayInput) SetOptions(v *ModifyTransitGatewayOptions) *ModifyTransitGatewayInput {
99698	s.Options = v
99699	return s
99700}
99701
99702// SetTransitGatewayId sets the TransitGatewayId field's value.
99703func (s *ModifyTransitGatewayInput) SetTransitGatewayId(v string) *ModifyTransitGatewayInput {
99704	s.TransitGatewayId = &v
99705	return s
99706}
99707
99708// The transit gateway options.
99709type ModifyTransitGatewayOptions struct {
99710	_ struct{} `type:"structure"`
99711
99712	// Adds IPv4 or IPv6 CIDR blocks for the transit gateway. Must be a size /24
99713	// CIDR block or larger for IPv4, or a size /64 CIDR block or larger for IPv6.
99714	AddTransitGatewayCidrBlocks []*string `locationNameList:"item" type:"list"`
99715
99716	// The ID of the default association route table.
99717	AssociationDefaultRouteTableId *string `type:"string"`
99718
99719	// Enable or disable automatic acceptance of attachment requests.
99720	AutoAcceptSharedAttachments *string `type:"string" enum:"AutoAcceptSharedAttachmentsValue"`
99721
99722	// Enable or disable automatic association with the default association route
99723	// table.
99724	DefaultRouteTableAssociation *string `type:"string" enum:"DefaultRouteTableAssociationValue"`
99725
99726	// Enable or disable automatic propagation of routes to the default propagation
99727	// route table.
99728	DefaultRouteTablePropagation *string `type:"string" enum:"DefaultRouteTablePropagationValue"`
99729
99730	// Enable or disable DNS support.
99731	DnsSupport *string `type:"string" enum:"DnsSupportValue"`
99732
99733	// The ID of the default propagation route table.
99734	PropagationDefaultRouteTableId *string `type:"string"`
99735
99736	// Removes CIDR blocks for the transit gateway.
99737	RemoveTransitGatewayCidrBlocks []*string `locationNameList:"item" type:"list"`
99738
99739	// Enable or disable Equal Cost Multipath Protocol support.
99740	VpnEcmpSupport *string `type:"string" enum:"VpnEcmpSupportValue"`
99741}
99742
99743// String returns the string representation
99744func (s ModifyTransitGatewayOptions) String() string {
99745	return awsutil.Prettify(s)
99746}
99747
99748// GoString returns the string representation
99749func (s ModifyTransitGatewayOptions) GoString() string {
99750	return s.String()
99751}
99752
99753// SetAddTransitGatewayCidrBlocks sets the AddTransitGatewayCidrBlocks field's value.
99754func (s *ModifyTransitGatewayOptions) SetAddTransitGatewayCidrBlocks(v []*string) *ModifyTransitGatewayOptions {
99755	s.AddTransitGatewayCidrBlocks = v
99756	return s
99757}
99758
99759// SetAssociationDefaultRouteTableId sets the AssociationDefaultRouteTableId field's value.
99760func (s *ModifyTransitGatewayOptions) SetAssociationDefaultRouteTableId(v string) *ModifyTransitGatewayOptions {
99761	s.AssociationDefaultRouteTableId = &v
99762	return s
99763}
99764
99765// SetAutoAcceptSharedAttachments sets the AutoAcceptSharedAttachments field's value.
99766func (s *ModifyTransitGatewayOptions) SetAutoAcceptSharedAttachments(v string) *ModifyTransitGatewayOptions {
99767	s.AutoAcceptSharedAttachments = &v
99768	return s
99769}
99770
99771// SetDefaultRouteTableAssociation sets the DefaultRouteTableAssociation field's value.
99772func (s *ModifyTransitGatewayOptions) SetDefaultRouteTableAssociation(v string) *ModifyTransitGatewayOptions {
99773	s.DefaultRouteTableAssociation = &v
99774	return s
99775}
99776
99777// SetDefaultRouteTablePropagation sets the DefaultRouteTablePropagation field's value.
99778func (s *ModifyTransitGatewayOptions) SetDefaultRouteTablePropagation(v string) *ModifyTransitGatewayOptions {
99779	s.DefaultRouteTablePropagation = &v
99780	return s
99781}
99782
99783// SetDnsSupport sets the DnsSupport field's value.
99784func (s *ModifyTransitGatewayOptions) SetDnsSupport(v string) *ModifyTransitGatewayOptions {
99785	s.DnsSupport = &v
99786	return s
99787}
99788
99789// SetPropagationDefaultRouteTableId sets the PropagationDefaultRouteTableId field's value.
99790func (s *ModifyTransitGatewayOptions) SetPropagationDefaultRouteTableId(v string) *ModifyTransitGatewayOptions {
99791	s.PropagationDefaultRouteTableId = &v
99792	return s
99793}
99794
99795// SetRemoveTransitGatewayCidrBlocks sets the RemoveTransitGatewayCidrBlocks field's value.
99796func (s *ModifyTransitGatewayOptions) SetRemoveTransitGatewayCidrBlocks(v []*string) *ModifyTransitGatewayOptions {
99797	s.RemoveTransitGatewayCidrBlocks = v
99798	return s
99799}
99800
99801// SetVpnEcmpSupport sets the VpnEcmpSupport field's value.
99802func (s *ModifyTransitGatewayOptions) SetVpnEcmpSupport(v string) *ModifyTransitGatewayOptions {
99803	s.VpnEcmpSupport = &v
99804	return s
99805}
99806
99807type ModifyTransitGatewayOutput struct {
99808	_ struct{} `type:"structure"`
99809
99810	// Describes a transit gateway.
99811	TransitGateway *TransitGateway `locationName:"transitGateway" type:"structure"`
99812}
99813
99814// String returns the string representation
99815func (s ModifyTransitGatewayOutput) String() string {
99816	return awsutil.Prettify(s)
99817}
99818
99819// GoString returns the string representation
99820func (s ModifyTransitGatewayOutput) GoString() string {
99821	return s.String()
99822}
99823
99824// SetTransitGateway sets the TransitGateway field's value.
99825func (s *ModifyTransitGatewayOutput) SetTransitGateway(v *TransitGateway) *ModifyTransitGatewayOutput {
99826	s.TransitGateway = v
99827	return s
99828}
99829
99830type ModifyTransitGatewayPrefixListReferenceInput struct {
99831	_ struct{} `type:"structure"`
99832
99833	// Indicates whether to drop traffic that matches this route.
99834	Blackhole *bool `type:"boolean"`
99835
99836	// Checks whether you have the required permissions for the action, without
99837	// actually making the request, and provides an error response. If you have
99838	// the required permissions, the error response is DryRunOperation. Otherwise,
99839	// it is UnauthorizedOperation.
99840	DryRun *bool `type:"boolean"`
99841
99842	// The ID of the prefix list.
99843	//
99844	// PrefixListId is a required field
99845	PrefixListId *string `type:"string" required:"true"`
99846
99847	// The ID of the attachment to which traffic is routed.
99848	TransitGatewayAttachmentId *string `type:"string"`
99849
99850	// The ID of the transit gateway route table.
99851	//
99852	// TransitGatewayRouteTableId is a required field
99853	TransitGatewayRouteTableId *string `type:"string" required:"true"`
99854}
99855
99856// String returns the string representation
99857func (s ModifyTransitGatewayPrefixListReferenceInput) String() string {
99858	return awsutil.Prettify(s)
99859}
99860
99861// GoString returns the string representation
99862func (s ModifyTransitGatewayPrefixListReferenceInput) GoString() string {
99863	return s.String()
99864}
99865
99866// Validate inspects the fields of the type to determine if they are valid.
99867func (s *ModifyTransitGatewayPrefixListReferenceInput) Validate() error {
99868	invalidParams := request.ErrInvalidParams{Context: "ModifyTransitGatewayPrefixListReferenceInput"}
99869	if s.PrefixListId == nil {
99870		invalidParams.Add(request.NewErrParamRequired("PrefixListId"))
99871	}
99872	if s.TransitGatewayRouteTableId == nil {
99873		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
99874	}
99875
99876	if invalidParams.Len() > 0 {
99877		return invalidParams
99878	}
99879	return nil
99880}
99881
99882// SetBlackhole sets the Blackhole field's value.
99883func (s *ModifyTransitGatewayPrefixListReferenceInput) SetBlackhole(v bool) *ModifyTransitGatewayPrefixListReferenceInput {
99884	s.Blackhole = &v
99885	return s
99886}
99887
99888// SetDryRun sets the DryRun field's value.
99889func (s *ModifyTransitGatewayPrefixListReferenceInput) SetDryRun(v bool) *ModifyTransitGatewayPrefixListReferenceInput {
99890	s.DryRun = &v
99891	return s
99892}
99893
99894// SetPrefixListId sets the PrefixListId field's value.
99895func (s *ModifyTransitGatewayPrefixListReferenceInput) SetPrefixListId(v string) *ModifyTransitGatewayPrefixListReferenceInput {
99896	s.PrefixListId = &v
99897	return s
99898}
99899
99900// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
99901func (s *ModifyTransitGatewayPrefixListReferenceInput) SetTransitGatewayAttachmentId(v string) *ModifyTransitGatewayPrefixListReferenceInput {
99902	s.TransitGatewayAttachmentId = &v
99903	return s
99904}
99905
99906// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
99907func (s *ModifyTransitGatewayPrefixListReferenceInput) SetTransitGatewayRouteTableId(v string) *ModifyTransitGatewayPrefixListReferenceInput {
99908	s.TransitGatewayRouteTableId = &v
99909	return s
99910}
99911
99912type ModifyTransitGatewayPrefixListReferenceOutput struct {
99913	_ struct{} `type:"structure"`
99914
99915	// Information about the prefix list reference.
99916	TransitGatewayPrefixListReference *TransitGatewayPrefixListReference `locationName:"transitGatewayPrefixListReference" type:"structure"`
99917}
99918
99919// String returns the string representation
99920func (s ModifyTransitGatewayPrefixListReferenceOutput) String() string {
99921	return awsutil.Prettify(s)
99922}
99923
99924// GoString returns the string representation
99925func (s ModifyTransitGatewayPrefixListReferenceOutput) GoString() string {
99926	return s.String()
99927}
99928
99929// SetTransitGatewayPrefixListReference sets the TransitGatewayPrefixListReference field's value.
99930func (s *ModifyTransitGatewayPrefixListReferenceOutput) SetTransitGatewayPrefixListReference(v *TransitGatewayPrefixListReference) *ModifyTransitGatewayPrefixListReferenceOutput {
99931	s.TransitGatewayPrefixListReference = v
99932	return s
99933}
99934
99935type ModifyTransitGatewayVpcAttachmentInput struct {
99936	_ struct{} `type:"structure"`
99937
99938	// The IDs of one or more subnets to add. You can specify at most one subnet
99939	// per Availability Zone.
99940	AddSubnetIds []*string `locationNameList:"item" type:"list"`
99941
99942	// Checks whether you have the required permissions for the action, without
99943	// actually making the request, and provides an error response. If you have
99944	// the required permissions, the error response is DryRunOperation. Otherwise,
99945	// it is UnauthorizedOperation.
99946	DryRun *bool `type:"boolean"`
99947
99948	// The new VPC attachment options.
99949	//
99950	// You cannot modify the IPv6 options.
99951	Options *ModifyTransitGatewayVpcAttachmentRequestOptions `type:"structure"`
99952
99953	// The IDs of one or more subnets to remove.
99954	RemoveSubnetIds []*string `locationNameList:"item" type:"list"`
99955
99956	// The ID of the attachment.
99957	//
99958	// TransitGatewayAttachmentId is a required field
99959	TransitGatewayAttachmentId *string `type:"string" required:"true"`
99960}
99961
99962// String returns the string representation
99963func (s ModifyTransitGatewayVpcAttachmentInput) String() string {
99964	return awsutil.Prettify(s)
99965}
99966
99967// GoString returns the string representation
99968func (s ModifyTransitGatewayVpcAttachmentInput) GoString() string {
99969	return s.String()
99970}
99971
99972// Validate inspects the fields of the type to determine if they are valid.
99973func (s *ModifyTransitGatewayVpcAttachmentInput) Validate() error {
99974	invalidParams := request.ErrInvalidParams{Context: "ModifyTransitGatewayVpcAttachmentInput"}
99975	if s.TransitGatewayAttachmentId == nil {
99976		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
99977	}
99978
99979	if invalidParams.Len() > 0 {
99980		return invalidParams
99981	}
99982	return nil
99983}
99984
99985// SetAddSubnetIds sets the AddSubnetIds field's value.
99986func (s *ModifyTransitGatewayVpcAttachmentInput) SetAddSubnetIds(v []*string) *ModifyTransitGatewayVpcAttachmentInput {
99987	s.AddSubnetIds = v
99988	return s
99989}
99990
99991// SetDryRun sets the DryRun field's value.
99992func (s *ModifyTransitGatewayVpcAttachmentInput) SetDryRun(v bool) *ModifyTransitGatewayVpcAttachmentInput {
99993	s.DryRun = &v
99994	return s
99995}
99996
99997// SetOptions sets the Options field's value.
99998func (s *ModifyTransitGatewayVpcAttachmentInput) SetOptions(v *ModifyTransitGatewayVpcAttachmentRequestOptions) *ModifyTransitGatewayVpcAttachmentInput {
99999	s.Options = v
100000	return s
100001}
100002
100003// SetRemoveSubnetIds sets the RemoveSubnetIds field's value.
100004func (s *ModifyTransitGatewayVpcAttachmentInput) SetRemoveSubnetIds(v []*string) *ModifyTransitGatewayVpcAttachmentInput {
100005	s.RemoveSubnetIds = v
100006	return s
100007}
100008
100009// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
100010func (s *ModifyTransitGatewayVpcAttachmentInput) SetTransitGatewayAttachmentId(v string) *ModifyTransitGatewayVpcAttachmentInput {
100011	s.TransitGatewayAttachmentId = &v
100012	return s
100013}
100014
100015type ModifyTransitGatewayVpcAttachmentOutput struct {
100016	_ struct{} `type:"structure"`
100017
100018	// Information about the modified attachment.
100019	TransitGatewayVpcAttachment *TransitGatewayVpcAttachment `locationName:"transitGatewayVpcAttachment" type:"structure"`
100020}
100021
100022// String returns the string representation
100023func (s ModifyTransitGatewayVpcAttachmentOutput) String() string {
100024	return awsutil.Prettify(s)
100025}
100026
100027// GoString returns the string representation
100028func (s ModifyTransitGatewayVpcAttachmentOutput) GoString() string {
100029	return s.String()
100030}
100031
100032// SetTransitGatewayVpcAttachment sets the TransitGatewayVpcAttachment field's value.
100033func (s *ModifyTransitGatewayVpcAttachmentOutput) SetTransitGatewayVpcAttachment(v *TransitGatewayVpcAttachment) *ModifyTransitGatewayVpcAttachmentOutput {
100034	s.TransitGatewayVpcAttachment = v
100035	return s
100036}
100037
100038// Describes the options for a VPC attachment.
100039type ModifyTransitGatewayVpcAttachmentRequestOptions struct {
100040	_ struct{} `type:"structure"`
100041
100042	// Enable or disable support for appliance mode. If enabled, a traffic flow
100043	// between a source and destination uses the same Availability Zone for the
100044	// VPC attachment for the lifetime of that flow. The default is disable.
100045	ApplianceModeSupport *string `type:"string" enum:"ApplianceModeSupportValue"`
100046
100047	// Enable or disable DNS support. The default is enable.
100048	DnsSupport *string `type:"string" enum:"DnsSupportValue"`
100049
100050	// Enable or disable IPv6 support. The default is enable.
100051	Ipv6Support *string `type:"string" enum:"Ipv6SupportValue"`
100052}
100053
100054// String returns the string representation
100055func (s ModifyTransitGatewayVpcAttachmentRequestOptions) String() string {
100056	return awsutil.Prettify(s)
100057}
100058
100059// GoString returns the string representation
100060func (s ModifyTransitGatewayVpcAttachmentRequestOptions) GoString() string {
100061	return s.String()
100062}
100063
100064// SetApplianceModeSupport sets the ApplianceModeSupport field's value.
100065func (s *ModifyTransitGatewayVpcAttachmentRequestOptions) SetApplianceModeSupport(v string) *ModifyTransitGatewayVpcAttachmentRequestOptions {
100066	s.ApplianceModeSupport = &v
100067	return s
100068}
100069
100070// SetDnsSupport sets the DnsSupport field's value.
100071func (s *ModifyTransitGatewayVpcAttachmentRequestOptions) SetDnsSupport(v string) *ModifyTransitGatewayVpcAttachmentRequestOptions {
100072	s.DnsSupport = &v
100073	return s
100074}
100075
100076// SetIpv6Support sets the Ipv6Support field's value.
100077func (s *ModifyTransitGatewayVpcAttachmentRequestOptions) SetIpv6Support(v string) *ModifyTransitGatewayVpcAttachmentRequestOptions {
100078	s.Ipv6Support = &v
100079	return s
100080}
100081
100082type ModifyVolumeAttributeInput struct {
100083	_ struct{} `type:"structure"`
100084
100085	// Indicates whether the volume should be auto-enabled for I/O operations.
100086	AutoEnableIO *AttributeBooleanValue `type:"structure"`
100087
100088	// Checks whether you have the required permissions for the action, without
100089	// actually making the request, and provides an error response. If you have
100090	// the required permissions, the error response is DryRunOperation. Otherwise,
100091	// it is UnauthorizedOperation.
100092	DryRun *bool `locationName:"dryRun" type:"boolean"`
100093
100094	// The ID of the volume.
100095	//
100096	// VolumeId is a required field
100097	VolumeId *string `type:"string" required:"true"`
100098}
100099
100100// String returns the string representation
100101func (s ModifyVolumeAttributeInput) String() string {
100102	return awsutil.Prettify(s)
100103}
100104
100105// GoString returns the string representation
100106func (s ModifyVolumeAttributeInput) GoString() string {
100107	return s.String()
100108}
100109
100110// Validate inspects the fields of the type to determine if they are valid.
100111func (s *ModifyVolumeAttributeInput) Validate() error {
100112	invalidParams := request.ErrInvalidParams{Context: "ModifyVolumeAttributeInput"}
100113	if s.VolumeId == nil {
100114		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
100115	}
100116
100117	if invalidParams.Len() > 0 {
100118		return invalidParams
100119	}
100120	return nil
100121}
100122
100123// SetAutoEnableIO sets the AutoEnableIO field's value.
100124func (s *ModifyVolumeAttributeInput) SetAutoEnableIO(v *AttributeBooleanValue) *ModifyVolumeAttributeInput {
100125	s.AutoEnableIO = v
100126	return s
100127}
100128
100129// SetDryRun sets the DryRun field's value.
100130func (s *ModifyVolumeAttributeInput) SetDryRun(v bool) *ModifyVolumeAttributeInput {
100131	s.DryRun = &v
100132	return s
100133}
100134
100135// SetVolumeId sets the VolumeId field's value.
100136func (s *ModifyVolumeAttributeInput) SetVolumeId(v string) *ModifyVolumeAttributeInput {
100137	s.VolumeId = &v
100138	return s
100139}
100140
100141type ModifyVolumeAttributeOutput struct {
100142	_ struct{} `type:"structure"`
100143}
100144
100145// String returns the string representation
100146func (s ModifyVolumeAttributeOutput) String() string {
100147	return awsutil.Prettify(s)
100148}
100149
100150// GoString returns the string representation
100151func (s ModifyVolumeAttributeOutput) GoString() string {
100152	return s.String()
100153}
100154
100155type ModifyVolumeInput struct {
100156	_ struct{} `type:"structure"`
100157
100158	// Checks whether you have the required permissions for the action, without
100159	// actually making the request, and provides an error response. If you have
100160	// the required permissions, the error response is DryRunOperation. Otherwise,
100161	// it is UnauthorizedOperation.
100162	DryRun *bool `type:"boolean"`
100163
100164	// The target IOPS rate of the volume. This parameter is valid only for gp3,
100165	// io1, and io2 volumes.
100166	//
100167	// The following are the supported values for each volume type:
100168	//
100169	//    * gp3: 3,000-16,000 IOPS
100170	//
100171	//    * io1: 100-64,000 IOPS
100172	//
100173	//    * io2: 100-64,000 IOPS
100174	//
100175	// Default: If no IOPS value is specified, the existing value is retained, unless
100176	// a volume type is modified that supports different values.
100177	Iops *int64 `type:"integer"`
100178
100179	// Specifies whether to enable Amazon EBS Multi-Attach. If you enable Multi-Attach,
100180	// you can attach the volume to up to 16 Nitro-based instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances)
100181	// in the same Availability Zone. This parameter is supported with io1 and io2
100182	// volumes only. For more information, see Amazon EBS Multi-Attach (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volumes-multi.html)
100183	// in the Amazon Elastic Compute Cloud User Guide.
100184	MultiAttachEnabled *bool `type:"boolean"`
100185
100186	// The target size of the volume, in GiB. The target volume size must be greater
100187	// than or equal to the existing size of the volume.
100188	//
100189	// The following are the supported volumes sizes for each volume type:
100190	//
100191	//    * gp2 and gp3: 1-16,384
100192	//
100193	//    * io1 and io2: 4-16,384
100194	//
100195	//    * st1 and sc1: 125-16,384
100196	//
100197	//    * standard: 1-1,024
100198	//
100199	// Default: If no size is specified, the existing size is retained.
100200	Size *int64 `type:"integer"`
100201
100202	// The target throughput of the volume, in MiB/s. This parameter is valid only
100203	// for gp3 volumes. The maximum value is 1,000.
100204	//
100205	// Default: If no throughput value is specified, the existing value is retained.
100206	//
100207	// Valid Range: Minimum value of 125. Maximum value of 1000.
100208	Throughput *int64 `type:"integer"`
100209
100210	// The ID of the volume.
100211	//
100212	// VolumeId is a required field
100213	VolumeId *string `type:"string" required:"true"`
100214
100215	// The target EBS volume type of the volume. For more information, see Amazon
100216	// EBS volume types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
100217	// in the Amazon Elastic Compute Cloud User Guide.
100218	//
100219	// Default: If no type is specified, the existing type is retained.
100220	VolumeType *string `type:"string" enum:"VolumeType"`
100221}
100222
100223// String returns the string representation
100224func (s ModifyVolumeInput) String() string {
100225	return awsutil.Prettify(s)
100226}
100227
100228// GoString returns the string representation
100229func (s ModifyVolumeInput) GoString() string {
100230	return s.String()
100231}
100232
100233// Validate inspects the fields of the type to determine if they are valid.
100234func (s *ModifyVolumeInput) Validate() error {
100235	invalidParams := request.ErrInvalidParams{Context: "ModifyVolumeInput"}
100236	if s.VolumeId == nil {
100237		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
100238	}
100239
100240	if invalidParams.Len() > 0 {
100241		return invalidParams
100242	}
100243	return nil
100244}
100245
100246// SetDryRun sets the DryRun field's value.
100247func (s *ModifyVolumeInput) SetDryRun(v bool) *ModifyVolumeInput {
100248	s.DryRun = &v
100249	return s
100250}
100251
100252// SetIops sets the Iops field's value.
100253func (s *ModifyVolumeInput) SetIops(v int64) *ModifyVolumeInput {
100254	s.Iops = &v
100255	return s
100256}
100257
100258// SetMultiAttachEnabled sets the MultiAttachEnabled field's value.
100259func (s *ModifyVolumeInput) SetMultiAttachEnabled(v bool) *ModifyVolumeInput {
100260	s.MultiAttachEnabled = &v
100261	return s
100262}
100263
100264// SetSize sets the Size field's value.
100265func (s *ModifyVolumeInput) SetSize(v int64) *ModifyVolumeInput {
100266	s.Size = &v
100267	return s
100268}
100269
100270// SetThroughput sets the Throughput field's value.
100271func (s *ModifyVolumeInput) SetThroughput(v int64) *ModifyVolumeInput {
100272	s.Throughput = &v
100273	return s
100274}
100275
100276// SetVolumeId sets the VolumeId field's value.
100277func (s *ModifyVolumeInput) SetVolumeId(v string) *ModifyVolumeInput {
100278	s.VolumeId = &v
100279	return s
100280}
100281
100282// SetVolumeType sets the VolumeType field's value.
100283func (s *ModifyVolumeInput) SetVolumeType(v string) *ModifyVolumeInput {
100284	s.VolumeType = &v
100285	return s
100286}
100287
100288type ModifyVolumeOutput struct {
100289	_ struct{} `type:"structure"`
100290
100291	// Information about the volume modification.
100292	VolumeModification *VolumeModification `locationName:"volumeModification" type:"structure"`
100293}
100294
100295// String returns the string representation
100296func (s ModifyVolumeOutput) String() string {
100297	return awsutil.Prettify(s)
100298}
100299
100300// GoString returns the string representation
100301func (s ModifyVolumeOutput) GoString() string {
100302	return s.String()
100303}
100304
100305// SetVolumeModification sets the VolumeModification field's value.
100306func (s *ModifyVolumeOutput) SetVolumeModification(v *VolumeModification) *ModifyVolumeOutput {
100307	s.VolumeModification = v
100308	return s
100309}
100310
100311type ModifyVpcAttributeInput struct {
100312	_ struct{} `type:"structure"`
100313
100314	// Indicates whether the instances launched in the VPC get DNS hostnames. If
100315	// enabled, instances in the VPC get DNS hostnames; otherwise, they do not.
100316	//
100317	// You cannot modify the DNS resolution and DNS hostnames attributes in the
100318	// same request. Use separate requests for each attribute. You can only enable
100319	// DNS hostnames if you've enabled DNS support.
100320	EnableDnsHostnames *AttributeBooleanValue `type:"structure"`
100321
100322	// Indicates whether the DNS resolution is supported for the VPC. If enabled,
100323	// queries to the Amazon provided DNS server at the 169.254.169.253 IP address,
100324	// or the reserved IP address at the base of the VPC network range "plus two"
100325	// succeed. If disabled, the Amazon provided DNS service in the VPC that resolves
100326	// public DNS hostnames to IP addresses is not enabled.
100327	//
100328	// You cannot modify the DNS resolution and DNS hostnames attributes in the
100329	// same request. Use separate requests for each attribute.
100330	EnableDnsSupport *AttributeBooleanValue `type:"structure"`
100331
100332	// The ID of the VPC.
100333	//
100334	// VpcId is a required field
100335	VpcId *string `locationName:"vpcId" type:"string" required:"true"`
100336}
100337
100338// String returns the string representation
100339func (s ModifyVpcAttributeInput) String() string {
100340	return awsutil.Prettify(s)
100341}
100342
100343// GoString returns the string representation
100344func (s ModifyVpcAttributeInput) GoString() string {
100345	return s.String()
100346}
100347
100348// Validate inspects the fields of the type to determine if they are valid.
100349func (s *ModifyVpcAttributeInput) Validate() error {
100350	invalidParams := request.ErrInvalidParams{Context: "ModifyVpcAttributeInput"}
100351	if s.VpcId == nil {
100352		invalidParams.Add(request.NewErrParamRequired("VpcId"))
100353	}
100354
100355	if invalidParams.Len() > 0 {
100356		return invalidParams
100357	}
100358	return nil
100359}
100360
100361// SetEnableDnsHostnames sets the EnableDnsHostnames field's value.
100362func (s *ModifyVpcAttributeInput) SetEnableDnsHostnames(v *AttributeBooleanValue) *ModifyVpcAttributeInput {
100363	s.EnableDnsHostnames = v
100364	return s
100365}
100366
100367// SetEnableDnsSupport sets the EnableDnsSupport field's value.
100368func (s *ModifyVpcAttributeInput) SetEnableDnsSupport(v *AttributeBooleanValue) *ModifyVpcAttributeInput {
100369	s.EnableDnsSupport = v
100370	return s
100371}
100372
100373// SetVpcId sets the VpcId field's value.
100374func (s *ModifyVpcAttributeInput) SetVpcId(v string) *ModifyVpcAttributeInput {
100375	s.VpcId = &v
100376	return s
100377}
100378
100379type ModifyVpcAttributeOutput struct {
100380	_ struct{} `type:"structure"`
100381}
100382
100383// String returns the string representation
100384func (s ModifyVpcAttributeOutput) String() string {
100385	return awsutil.Prettify(s)
100386}
100387
100388// GoString returns the string representation
100389func (s ModifyVpcAttributeOutput) GoString() string {
100390	return s.String()
100391}
100392
100393type ModifyVpcEndpointConnectionNotificationInput struct {
100394	_ struct{} `type:"structure"`
100395
100396	// One or more events for the endpoint. Valid values are Accept, Connect, Delete,
100397	// and Reject.
100398	ConnectionEvents []*string `locationNameList:"item" type:"list"`
100399
100400	// The ARN for the SNS topic for the notification.
100401	ConnectionNotificationArn *string `type:"string"`
100402
100403	// The ID of the notification.
100404	//
100405	// ConnectionNotificationId is a required field
100406	ConnectionNotificationId *string `type:"string" required:"true"`
100407
100408	// Checks whether you have the required permissions for the action, without
100409	// actually making the request, and provides an error response. If you have
100410	// the required permissions, the error response is DryRunOperation. Otherwise,
100411	// it is UnauthorizedOperation.
100412	DryRun *bool `type:"boolean"`
100413}
100414
100415// String returns the string representation
100416func (s ModifyVpcEndpointConnectionNotificationInput) String() string {
100417	return awsutil.Prettify(s)
100418}
100419
100420// GoString returns the string representation
100421func (s ModifyVpcEndpointConnectionNotificationInput) GoString() string {
100422	return s.String()
100423}
100424
100425// Validate inspects the fields of the type to determine if they are valid.
100426func (s *ModifyVpcEndpointConnectionNotificationInput) Validate() error {
100427	invalidParams := request.ErrInvalidParams{Context: "ModifyVpcEndpointConnectionNotificationInput"}
100428	if s.ConnectionNotificationId == nil {
100429		invalidParams.Add(request.NewErrParamRequired("ConnectionNotificationId"))
100430	}
100431
100432	if invalidParams.Len() > 0 {
100433		return invalidParams
100434	}
100435	return nil
100436}
100437
100438// SetConnectionEvents sets the ConnectionEvents field's value.
100439func (s *ModifyVpcEndpointConnectionNotificationInput) SetConnectionEvents(v []*string) *ModifyVpcEndpointConnectionNotificationInput {
100440	s.ConnectionEvents = v
100441	return s
100442}
100443
100444// SetConnectionNotificationArn sets the ConnectionNotificationArn field's value.
100445func (s *ModifyVpcEndpointConnectionNotificationInput) SetConnectionNotificationArn(v string) *ModifyVpcEndpointConnectionNotificationInput {
100446	s.ConnectionNotificationArn = &v
100447	return s
100448}
100449
100450// SetConnectionNotificationId sets the ConnectionNotificationId field's value.
100451func (s *ModifyVpcEndpointConnectionNotificationInput) SetConnectionNotificationId(v string) *ModifyVpcEndpointConnectionNotificationInput {
100452	s.ConnectionNotificationId = &v
100453	return s
100454}
100455
100456// SetDryRun sets the DryRun field's value.
100457func (s *ModifyVpcEndpointConnectionNotificationInput) SetDryRun(v bool) *ModifyVpcEndpointConnectionNotificationInput {
100458	s.DryRun = &v
100459	return s
100460}
100461
100462type ModifyVpcEndpointConnectionNotificationOutput struct {
100463	_ struct{} `type:"structure"`
100464
100465	// Returns true if the request succeeds; otherwise, it returns an error.
100466	ReturnValue *bool `locationName:"return" type:"boolean"`
100467}
100468
100469// String returns the string representation
100470func (s ModifyVpcEndpointConnectionNotificationOutput) String() string {
100471	return awsutil.Prettify(s)
100472}
100473
100474// GoString returns the string representation
100475func (s ModifyVpcEndpointConnectionNotificationOutput) GoString() string {
100476	return s.String()
100477}
100478
100479// SetReturnValue sets the ReturnValue field's value.
100480func (s *ModifyVpcEndpointConnectionNotificationOutput) SetReturnValue(v bool) *ModifyVpcEndpointConnectionNotificationOutput {
100481	s.ReturnValue = &v
100482	return s
100483}
100484
100485// Contains the parameters for ModifyVpcEndpoint.
100486type ModifyVpcEndpointInput struct {
100487	_ struct{} `type:"structure"`
100488
100489	// (Gateway endpoint) One or more route tables IDs to associate with the endpoint.
100490	AddRouteTableIds []*string `locationName:"AddRouteTableId" locationNameList:"item" type:"list"`
100491
100492	// (Interface endpoint) One or more security group IDs to associate with the
100493	// network interface.
100494	AddSecurityGroupIds []*string `locationName:"AddSecurityGroupId" locationNameList:"item" type:"list"`
100495
100496	// (Interface and Gateway Load Balancer endpoints) One or more subnet IDs in
100497	// which to serve the endpoint. For a Gateway Load Balancer endpoint, you can
100498	// specify only one subnet.
100499	AddSubnetIds []*string `locationName:"AddSubnetId" locationNameList:"item" type:"list"`
100500
100501	// Checks whether you have the required permissions for the action, without
100502	// actually making the request, and provides an error response. If you have
100503	// the required permissions, the error response is DryRunOperation. Otherwise,
100504	// it is UnauthorizedOperation.
100505	DryRun *bool `type:"boolean"`
100506
100507	// (Interface and gateway endpoints) A policy to attach to the endpoint that
100508	// controls access to the service. The policy must be in valid JSON format.
100509	PolicyDocument *string `type:"string"`
100510
100511	// (Interface endpoint) Indicates whether a private hosted zone is associated
100512	// with the VPC.
100513	PrivateDnsEnabled *bool `type:"boolean"`
100514
100515	// (Gateway endpoint) One or more route table IDs to disassociate from the endpoint.
100516	RemoveRouteTableIds []*string `locationName:"RemoveRouteTableId" locationNameList:"item" type:"list"`
100517
100518	// (Interface endpoint) One or more security group IDs to disassociate from
100519	// the network interface.
100520	RemoveSecurityGroupIds []*string `locationName:"RemoveSecurityGroupId" locationNameList:"item" type:"list"`
100521
100522	// (Interface endpoint) One or more subnets IDs in which to remove the endpoint.
100523	RemoveSubnetIds []*string `locationName:"RemoveSubnetId" locationNameList:"item" type:"list"`
100524
100525	// (Gateway endpoint) Specify true to reset the policy document to the default
100526	// policy. The default policy allows full access to the service.
100527	ResetPolicy *bool `type:"boolean"`
100528
100529	// The ID of the endpoint.
100530	//
100531	// VpcEndpointId is a required field
100532	VpcEndpointId *string `type:"string" required:"true"`
100533}
100534
100535// String returns the string representation
100536func (s ModifyVpcEndpointInput) String() string {
100537	return awsutil.Prettify(s)
100538}
100539
100540// GoString returns the string representation
100541func (s ModifyVpcEndpointInput) GoString() string {
100542	return s.String()
100543}
100544
100545// Validate inspects the fields of the type to determine if they are valid.
100546func (s *ModifyVpcEndpointInput) Validate() error {
100547	invalidParams := request.ErrInvalidParams{Context: "ModifyVpcEndpointInput"}
100548	if s.VpcEndpointId == nil {
100549		invalidParams.Add(request.NewErrParamRequired("VpcEndpointId"))
100550	}
100551
100552	if invalidParams.Len() > 0 {
100553		return invalidParams
100554	}
100555	return nil
100556}
100557
100558// SetAddRouteTableIds sets the AddRouteTableIds field's value.
100559func (s *ModifyVpcEndpointInput) SetAddRouteTableIds(v []*string) *ModifyVpcEndpointInput {
100560	s.AddRouteTableIds = v
100561	return s
100562}
100563
100564// SetAddSecurityGroupIds sets the AddSecurityGroupIds field's value.
100565func (s *ModifyVpcEndpointInput) SetAddSecurityGroupIds(v []*string) *ModifyVpcEndpointInput {
100566	s.AddSecurityGroupIds = v
100567	return s
100568}
100569
100570// SetAddSubnetIds sets the AddSubnetIds field's value.
100571func (s *ModifyVpcEndpointInput) SetAddSubnetIds(v []*string) *ModifyVpcEndpointInput {
100572	s.AddSubnetIds = v
100573	return s
100574}
100575
100576// SetDryRun sets the DryRun field's value.
100577func (s *ModifyVpcEndpointInput) SetDryRun(v bool) *ModifyVpcEndpointInput {
100578	s.DryRun = &v
100579	return s
100580}
100581
100582// SetPolicyDocument sets the PolicyDocument field's value.
100583func (s *ModifyVpcEndpointInput) SetPolicyDocument(v string) *ModifyVpcEndpointInput {
100584	s.PolicyDocument = &v
100585	return s
100586}
100587
100588// SetPrivateDnsEnabled sets the PrivateDnsEnabled field's value.
100589func (s *ModifyVpcEndpointInput) SetPrivateDnsEnabled(v bool) *ModifyVpcEndpointInput {
100590	s.PrivateDnsEnabled = &v
100591	return s
100592}
100593
100594// SetRemoveRouteTableIds sets the RemoveRouteTableIds field's value.
100595func (s *ModifyVpcEndpointInput) SetRemoveRouteTableIds(v []*string) *ModifyVpcEndpointInput {
100596	s.RemoveRouteTableIds = v
100597	return s
100598}
100599
100600// SetRemoveSecurityGroupIds sets the RemoveSecurityGroupIds field's value.
100601func (s *ModifyVpcEndpointInput) SetRemoveSecurityGroupIds(v []*string) *ModifyVpcEndpointInput {
100602	s.RemoveSecurityGroupIds = v
100603	return s
100604}
100605
100606// SetRemoveSubnetIds sets the RemoveSubnetIds field's value.
100607func (s *ModifyVpcEndpointInput) SetRemoveSubnetIds(v []*string) *ModifyVpcEndpointInput {
100608	s.RemoveSubnetIds = v
100609	return s
100610}
100611
100612// SetResetPolicy sets the ResetPolicy field's value.
100613func (s *ModifyVpcEndpointInput) SetResetPolicy(v bool) *ModifyVpcEndpointInput {
100614	s.ResetPolicy = &v
100615	return s
100616}
100617
100618// SetVpcEndpointId sets the VpcEndpointId field's value.
100619func (s *ModifyVpcEndpointInput) SetVpcEndpointId(v string) *ModifyVpcEndpointInput {
100620	s.VpcEndpointId = &v
100621	return s
100622}
100623
100624type ModifyVpcEndpointOutput struct {
100625	_ struct{} `type:"structure"`
100626
100627	// Returns true if the request succeeds; otherwise, it returns an error.
100628	Return *bool `locationName:"return" type:"boolean"`
100629}
100630
100631// String returns the string representation
100632func (s ModifyVpcEndpointOutput) String() string {
100633	return awsutil.Prettify(s)
100634}
100635
100636// GoString returns the string representation
100637func (s ModifyVpcEndpointOutput) GoString() string {
100638	return s.String()
100639}
100640
100641// SetReturn sets the Return field's value.
100642func (s *ModifyVpcEndpointOutput) SetReturn(v bool) *ModifyVpcEndpointOutput {
100643	s.Return = &v
100644	return s
100645}
100646
100647type ModifyVpcEndpointServiceConfigurationInput struct {
100648	_ struct{} `type:"structure"`
100649
100650	// Indicates whether requests to create an endpoint to your service must be
100651	// accepted.
100652	AcceptanceRequired *bool `type:"boolean"`
100653
100654	// The Amazon Resource Names (ARNs) of Gateway Load Balancers to add to your
100655	// service configuration.
100656	AddGatewayLoadBalancerArns []*string `locationName:"AddGatewayLoadBalancerArn" locationNameList:"item" type:"list"`
100657
100658	// The Amazon Resource Names (ARNs) of Network Load Balancers to add to your
100659	// service configuration.
100660	AddNetworkLoadBalancerArns []*string `locationName:"AddNetworkLoadBalancerArn" locationNameList:"item" type:"list"`
100661
100662	// Checks whether you have the required permissions for the action, without
100663	// actually making the request, and provides an error response. If you have
100664	// the required permissions, the error response is DryRunOperation. Otherwise,
100665	// it is UnauthorizedOperation.
100666	DryRun *bool `type:"boolean"`
100667
100668	// (Interface endpoint configuration) The private DNS name to assign to the
100669	// endpoint service.
100670	PrivateDnsName *string `type:"string"`
100671
100672	// The Amazon Resource Names (ARNs) of Gateway Load Balancers to remove from
100673	// your service configuration.
100674	RemoveGatewayLoadBalancerArns []*string `locationName:"RemoveGatewayLoadBalancerArn" locationNameList:"item" type:"list"`
100675
100676	// The Amazon Resource Names (ARNs) of Network Load Balancers to remove from
100677	// your service configuration.
100678	RemoveNetworkLoadBalancerArns []*string `locationName:"RemoveNetworkLoadBalancerArn" locationNameList:"item" type:"list"`
100679
100680	// (Interface endpoint configuration) Removes the private DNS name of the endpoint
100681	// service.
100682	RemovePrivateDnsName *bool `type:"boolean"`
100683
100684	// The ID of the service.
100685	//
100686	// ServiceId is a required field
100687	ServiceId *string `type:"string" required:"true"`
100688}
100689
100690// String returns the string representation
100691func (s ModifyVpcEndpointServiceConfigurationInput) String() string {
100692	return awsutil.Prettify(s)
100693}
100694
100695// GoString returns the string representation
100696func (s ModifyVpcEndpointServiceConfigurationInput) GoString() string {
100697	return s.String()
100698}
100699
100700// Validate inspects the fields of the type to determine if they are valid.
100701func (s *ModifyVpcEndpointServiceConfigurationInput) Validate() error {
100702	invalidParams := request.ErrInvalidParams{Context: "ModifyVpcEndpointServiceConfigurationInput"}
100703	if s.ServiceId == nil {
100704		invalidParams.Add(request.NewErrParamRequired("ServiceId"))
100705	}
100706
100707	if invalidParams.Len() > 0 {
100708		return invalidParams
100709	}
100710	return nil
100711}
100712
100713// SetAcceptanceRequired sets the AcceptanceRequired field's value.
100714func (s *ModifyVpcEndpointServiceConfigurationInput) SetAcceptanceRequired(v bool) *ModifyVpcEndpointServiceConfigurationInput {
100715	s.AcceptanceRequired = &v
100716	return s
100717}
100718
100719// SetAddGatewayLoadBalancerArns sets the AddGatewayLoadBalancerArns field's value.
100720func (s *ModifyVpcEndpointServiceConfigurationInput) SetAddGatewayLoadBalancerArns(v []*string) *ModifyVpcEndpointServiceConfigurationInput {
100721	s.AddGatewayLoadBalancerArns = v
100722	return s
100723}
100724
100725// SetAddNetworkLoadBalancerArns sets the AddNetworkLoadBalancerArns field's value.
100726func (s *ModifyVpcEndpointServiceConfigurationInput) SetAddNetworkLoadBalancerArns(v []*string) *ModifyVpcEndpointServiceConfigurationInput {
100727	s.AddNetworkLoadBalancerArns = v
100728	return s
100729}
100730
100731// SetDryRun sets the DryRun field's value.
100732func (s *ModifyVpcEndpointServiceConfigurationInput) SetDryRun(v bool) *ModifyVpcEndpointServiceConfigurationInput {
100733	s.DryRun = &v
100734	return s
100735}
100736
100737// SetPrivateDnsName sets the PrivateDnsName field's value.
100738func (s *ModifyVpcEndpointServiceConfigurationInput) SetPrivateDnsName(v string) *ModifyVpcEndpointServiceConfigurationInput {
100739	s.PrivateDnsName = &v
100740	return s
100741}
100742
100743// SetRemoveGatewayLoadBalancerArns sets the RemoveGatewayLoadBalancerArns field's value.
100744func (s *ModifyVpcEndpointServiceConfigurationInput) SetRemoveGatewayLoadBalancerArns(v []*string) *ModifyVpcEndpointServiceConfigurationInput {
100745	s.RemoveGatewayLoadBalancerArns = v
100746	return s
100747}
100748
100749// SetRemoveNetworkLoadBalancerArns sets the RemoveNetworkLoadBalancerArns field's value.
100750func (s *ModifyVpcEndpointServiceConfigurationInput) SetRemoveNetworkLoadBalancerArns(v []*string) *ModifyVpcEndpointServiceConfigurationInput {
100751	s.RemoveNetworkLoadBalancerArns = v
100752	return s
100753}
100754
100755// SetRemovePrivateDnsName sets the RemovePrivateDnsName field's value.
100756func (s *ModifyVpcEndpointServiceConfigurationInput) SetRemovePrivateDnsName(v bool) *ModifyVpcEndpointServiceConfigurationInput {
100757	s.RemovePrivateDnsName = &v
100758	return s
100759}
100760
100761// SetServiceId sets the ServiceId field's value.
100762func (s *ModifyVpcEndpointServiceConfigurationInput) SetServiceId(v string) *ModifyVpcEndpointServiceConfigurationInput {
100763	s.ServiceId = &v
100764	return s
100765}
100766
100767type ModifyVpcEndpointServiceConfigurationOutput struct {
100768	_ struct{} `type:"structure"`
100769
100770	// Returns true if the request succeeds; otherwise, it returns an error.
100771	Return *bool `locationName:"return" type:"boolean"`
100772}
100773
100774// String returns the string representation
100775func (s ModifyVpcEndpointServiceConfigurationOutput) String() string {
100776	return awsutil.Prettify(s)
100777}
100778
100779// GoString returns the string representation
100780func (s ModifyVpcEndpointServiceConfigurationOutput) GoString() string {
100781	return s.String()
100782}
100783
100784// SetReturn sets the Return field's value.
100785func (s *ModifyVpcEndpointServiceConfigurationOutput) SetReturn(v bool) *ModifyVpcEndpointServiceConfigurationOutput {
100786	s.Return = &v
100787	return s
100788}
100789
100790type ModifyVpcEndpointServicePermissionsInput struct {
100791	_ struct{} `type:"structure"`
100792
100793	// The Amazon Resource Names (ARN) of one or more principals. Permissions are
100794	// granted to the principals in this list. To grant permissions to all principals,
100795	// specify an asterisk (*).
100796	AddAllowedPrincipals []*string `locationNameList:"item" type:"list"`
100797
100798	// Checks whether you have the required permissions for the action, without
100799	// actually making the request, and provides an error response. If you have
100800	// the required permissions, the error response is DryRunOperation. Otherwise,
100801	// it is UnauthorizedOperation.
100802	DryRun *bool `type:"boolean"`
100803
100804	// The Amazon Resource Names (ARN) of one or more principals. Permissions are
100805	// revoked for principals in this list.
100806	RemoveAllowedPrincipals []*string `locationNameList:"item" type:"list"`
100807
100808	// The ID of the service.
100809	//
100810	// ServiceId is a required field
100811	ServiceId *string `type:"string" required:"true"`
100812}
100813
100814// String returns the string representation
100815func (s ModifyVpcEndpointServicePermissionsInput) String() string {
100816	return awsutil.Prettify(s)
100817}
100818
100819// GoString returns the string representation
100820func (s ModifyVpcEndpointServicePermissionsInput) GoString() string {
100821	return s.String()
100822}
100823
100824// Validate inspects the fields of the type to determine if they are valid.
100825func (s *ModifyVpcEndpointServicePermissionsInput) Validate() error {
100826	invalidParams := request.ErrInvalidParams{Context: "ModifyVpcEndpointServicePermissionsInput"}
100827	if s.ServiceId == nil {
100828		invalidParams.Add(request.NewErrParamRequired("ServiceId"))
100829	}
100830
100831	if invalidParams.Len() > 0 {
100832		return invalidParams
100833	}
100834	return nil
100835}
100836
100837// SetAddAllowedPrincipals sets the AddAllowedPrincipals field's value.
100838func (s *ModifyVpcEndpointServicePermissionsInput) SetAddAllowedPrincipals(v []*string) *ModifyVpcEndpointServicePermissionsInput {
100839	s.AddAllowedPrincipals = v
100840	return s
100841}
100842
100843// SetDryRun sets the DryRun field's value.
100844func (s *ModifyVpcEndpointServicePermissionsInput) SetDryRun(v bool) *ModifyVpcEndpointServicePermissionsInput {
100845	s.DryRun = &v
100846	return s
100847}
100848
100849// SetRemoveAllowedPrincipals sets the RemoveAllowedPrincipals field's value.
100850func (s *ModifyVpcEndpointServicePermissionsInput) SetRemoveAllowedPrincipals(v []*string) *ModifyVpcEndpointServicePermissionsInput {
100851	s.RemoveAllowedPrincipals = v
100852	return s
100853}
100854
100855// SetServiceId sets the ServiceId field's value.
100856func (s *ModifyVpcEndpointServicePermissionsInput) SetServiceId(v string) *ModifyVpcEndpointServicePermissionsInput {
100857	s.ServiceId = &v
100858	return s
100859}
100860
100861type ModifyVpcEndpointServicePermissionsOutput struct {
100862	_ struct{} `type:"structure"`
100863
100864	// Returns true if the request succeeds; otherwise, it returns an error.
100865	ReturnValue *bool `locationName:"return" type:"boolean"`
100866}
100867
100868// String returns the string representation
100869func (s ModifyVpcEndpointServicePermissionsOutput) String() string {
100870	return awsutil.Prettify(s)
100871}
100872
100873// GoString returns the string representation
100874func (s ModifyVpcEndpointServicePermissionsOutput) GoString() string {
100875	return s.String()
100876}
100877
100878// SetReturnValue sets the ReturnValue field's value.
100879func (s *ModifyVpcEndpointServicePermissionsOutput) SetReturnValue(v bool) *ModifyVpcEndpointServicePermissionsOutput {
100880	s.ReturnValue = &v
100881	return s
100882}
100883
100884type ModifyVpcPeeringConnectionOptionsInput struct {
100885	_ struct{} `type:"structure"`
100886
100887	// The VPC peering connection options for the accepter VPC.
100888	AccepterPeeringConnectionOptions *PeeringConnectionOptionsRequest `type:"structure"`
100889
100890	// Checks whether you have the required permissions for the action, without
100891	// actually making the request, and provides an error response. If you have
100892	// the required permissions, the error response is DryRunOperation. Otherwise,
100893	// it is UnauthorizedOperation.
100894	DryRun *bool `type:"boolean"`
100895
100896	// The VPC peering connection options for the requester VPC.
100897	RequesterPeeringConnectionOptions *PeeringConnectionOptionsRequest `type:"structure"`
100898
100899	// The ID of the VPC peering connection.
100900	//
100901	// VpcPeeringConnectionId is a required field
100902	VpcPeeringConnectionId *string `type:"string" required:"true"`
100903}
100904
100905// String returns the string representation
100906func (s ModifyVpcPeeringConnectionOptionsInput) String() string {
100907	return awsutil.Prettify(s)
100908}
100909
100910// GoString returns the string representation
100911func (s ModifyVpcPeeringConnectionOptionsInput) GoString() string {
100912	return s.String()
100913}
100914
100915// Validate inspects the fields of the type to determine if they are valid.
100916func (s *ModifyVpcPeeringConnectionOptionsInput) Validate() error {
100917	invalidParams := request.ErrInvalidParams{Context: "ModifyVpcPeeringConnectionOptionsInput"}
100918	if s.VpcPeeringConnectionId == nil {
100919		invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId"))
100920	}
100921
100922	if invalidParams.Len() > 0 {
100923		return invalidParams
100924	}
100925	return nil
100926}
100927
100928// SetAccepterPeeringConnectionOptions sets the AccepterPeeringConnectionOptions field's value.
100929func (s *ModifyVpcPeeringConnectionOptionsInput) SetAccepterPeeringConnectionOptions(v *PeeringConnectionOptionsRequest) *ModifyVpcPeeringConnectionOptionsInput {
100930	s.AccepterPeeringConnectionOptions = v
100931	return s
100932}
100933
100934// SetDryRun sets the DryRun field's value.
100935func (s *ModifyVpcPeeringConnectionOptionsInput) SetDryRun(v bool) *ModifyVpcPeeringConnectionOptionsInput {
100936	s.DryRun = &v
100937	return s
100938}
100939
100940// SetRequesterPeeringConnectionOptions sets the RequesterPeeringConnectionOptions field's value.
100941func (s *ModifyVpcPeeringConnectionOptionsInput) SetRequesterPeeringConnectionOptions(v *PeeringConnectionOptionsRequest) *ModifyVpcPeeringConnectionOptionsInput {
100942	s.RequesterPeeringConnectionOptions = v
100943	return s
100944}
100945
100946// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
100947func (s *ModifyVpcPeeringConnectionOptionsInput) SetVpcPeeringConnectionId(v string) *ModifyVpcPeeringConnectionOptionsInput {
100948	s.VpcPeeringConnectionId = &v
100949	return s
100950}
100951
100952type ModifyVpcPeeringConnectionOptionsOutput struct {
100953	_ struct{} `type:"structure"`
100954
100955	// Information about the VPC peering connection options for the accepter VPC.
100956	AccepterPeeringConnectionOptions *PeeringConnectionOptions `locationName:"accepterPeeringConnectionOptions" type:"structure"`
100957
100958	// Information about the VPC peering connection options for the requester VPC.
100959	RequesterPeeringConnectionOptions *PeeringConnectionOptions `locationName:"requesterPeeringConnectionOptions" type:"structure"`
100960}
100961
100962// String returns the string representation
100963func (s ModifyVpcPeeringConnectionOptionsOutput) String() string {
100964	return awsutil.Prettify(s)
100965}
100966
100967// GoString returns the string representation
100968func (s ModifyVpcPeeringConnectionOptionsOutput) GoString() string {
100969	return s.String()
100970}
100971
100972// SetAccepterPeeringConnectionOptions sets the AccepterPeeringConnectionOptions field's value.
100973func (s *ModifyVpcPeeringConnectionOptionsOutput) SetAccepterPeeringConnectionOptions(v *PeeringConnectionOptions) *ModifyVpcPeeringConnectionOptionsOutput {
100974	s.AccepterPeeringConnectionOptions = v
100975	return s
100976}
100977
100978// SetRequesterPeeringConnectionOptions sets the RequesterPeeringConnectionOptions field's value.
100979func (s *ModifyVpcPeeringConnectionOptionsOutput) SetRequesterPeeringConnectionOptions(v *PeeringConnectionOptions) *ModifyVpcPeeringConnectionOptionsOutput {
100980	s.RequesterPeeringConnectionOptions = v
100981	return s
100982}
100983
100984type ModifyVpcTenancyInput struct {
100985	_ struct{} `type:"structure"`
100986
100987	// Checks whether you have the required permissions for the action, without
100988	// actually making the request, and provides an error response. If you have
100989	// the required permissions, the error response is DryRunOperation. Otherwise,
100990	// it is UnauthorizedOperation.
100991	DryRun *bool `type:"boolean"`
100992
100993	// The instance tenancy attribute for the VPC.
100994	//
100995	// InstanceTenancy is a required field
100996	InstanceTenancy *string `type:"string" required:"true" enum:"VpcTenancy"`
100997
100998	// The ID of the VPC.
100999	//
101000	// VpcId is a required field
101001	VpcId *string `type:"string" required:"true"`
101002}
101003
101004// String returns the string representation
101005func (s ModifyVpcTenancyInput) String() string {
101006	return awsutil.Prettify(s)
101007}
101008
101009// GoString returns the string representation
101010func (s ModifyVpcTenancyInput) GoString() string {
101011	return s.String()
101012}
101013
101014// Validate inspects the fields of the type to determine if they are valid.
101015func (s *ModifyVpcTenancyInput) Validate() error {
101016	invalidParams := request.ErrInvalidParams{Context: "ModifyVpcTenancyInput"}
101017	if s.InstanceTenancy == nil {
101018		invalidParams.Add(request.NewErrParamRequired("InstanceTenancy"))
101019	}
101020	if s.VpcId == nil {
101021		invalidParams.Add(request.NewErrParamRequired("VpcId"))
101022	}
101023
101024	if invalidParams.Len() > 0 {
101025		return invalidParams
101026	}
101027	return nil
101028}
101029
101030// SetDryRun sets the DryRun field's value.
101031func (s *ModifyVpcTenancyInput) SetDryRun(v bool) *ModifyVpcTenancyInput {
101032	s.DryRun = &v
101033	return s
101034}
101035
101036// SetInstanceTenancy sets the InstanceTenancy field's value.
101037func (s *ModifyVpcTenancyInput) SetInstanceTenancy(v string) *ModifyVpcTenancyInput {
101038	s.InstanceTenancy = &v
101039	return s
101040}
101041
101042// SetVpcId sets the VpcId field's value.
101043func (s *ModifyVpcTenancyInput) SetVpcId(v string) *ModifyVpcTenancyInput {
101044	s.VpcId = &v
101045	return s
101046}
101047
101048type ModifyVpcTenancyOutput struct {
101049	_ struct{} `type:"structure"`
101050
101051	// Returns true if the request succeeds; otherwise, returns an error.
101052	ReturnValue *bool `locationName:"return" type:"boolean"`
101053}
101054
101055// String returns the string representation
101056func (s ModifyVpcTenancyOutput) String() string {
101057	return awsutil.Prettify(s)
101058}
101059
101060// GoString returns the string representation
101061func (s ModifyVpcTenancyOutput) GoString() string {
101062	return s.String()
101063}
101064
101065// SetReturnValue sets the ReturnValue field's value.
101066func (s *ModifyVpcTenancyOutput) SetReturnValue(v bool) *ModifyVpcTenancyOutput {
101067	s.ReturnValue = &v
101068	return s
101069}
101070
101071type ModifyVpnConnectionInput struct {
101072	_ struct{} `type:"structure"`
101073
101074	// The ID of the customer gateway at your end of the VPN connection.
101075	CustomerGatewayId *string `type:"string"`
101076
101077	// Checks whether you have the required permissions for the action, without
101078	// actually making the request, and provides an error response. If you have
101079	// the required permissions, the error response is DryRunOperation. Otherwise,
101080	// it is UnauthorizedOperation.
101081	DryRun *bool `type:"boolean"`
101082
101083	// The ID of the transit gateway.
101084	TransitGatewayId *string `type:"string"`
101085
101086	// The ID of the VPN connection.
101087	//
101088	// VpnConnectionId is a required field
101089	VpnConnectionId *string `type:"string" required:"true"`
101090
101091	// The ID of the virtual private gateway at the AWS side of the VPN connection.
101092	VpnGatewayId *string `type:"string"`
101093}
101094
101095// String returns the string representation
101096func (s ModifyVpnConnectionInput) String() string {
101097	return awsutil.Prettify(s)
101098}
101099
101100// GoString returns the string representation
101101func (s ModifyVpnConnectionInput) GoString() string {
101102	return s.String()
101103}
101104
101105// Validate inspects the fields of the type to determine if they are valid.
101106func (s *ModifyVpnConnectionInput) Validate() error {
101107	invalidParams := request.ErrInvalidParams{Context: "ModifyVpnConnectionInput"}
101108	if s.VpnConnectionId == nil {
101109		invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
101110	}
101111
101112	if invalidParams.Len() > 0 {
101113		return invalidParams
101114	}
101115	return nil
101116}
101117
101118// SetCustomerGatewayId sets the CustomerGatewayId field's value.
101119func (s *ModifyVpnConnectionInput) SetCustomerGatewayId(v string) *ModifyVpnConnectionInput {
101120	s.CustomerGatewayId = &v
101121	return s
101122}
101123
101124// SetDryRun sets the DryRun field's value.
101125func (s *ModifyVpnConnectionInput) SetDryRun(v bool) *ModifyVpnConnectionInput {
101126	s.DryRun = &v
101127	return s
101128}
101129
101130// SetTransitGatewayId sets the TransitGatewayId field's value.
101131func (s *ModifyVpnConnectionInput) SetTransitGatewayId(v string) *ModifyVpnConnectionInput {
101132	s.TransitGatewayId = &v
101133	return s
101134}
101135
101136// SetVpnConnectionId sets the VpnConnectionId field's value.
101137func (s *ModifyVpnConnectionInput) SetVpnConnectionId(v string) *ModifyVpnConnectionInput {
101138	s.VpnConnectionId = &v
101139	return s
101140}
101141
101142// SetVpnGatewayId sets the VpnGatewayId field's value.
101143func (s *ModifyVpnConnectionInput) SetVpnGatewayId(v string) *ModifyVpnConnectionInput {
101144	s.VpnGatewayId = &v
101145	return s
101146}
101147
101148type ModifyVpnConnectionOptionsInput struct {
101149	_ struct{} `type:"structure"`
101150
101151	// Checks whether you have the required permissions for the action, without
101152	// actually making the request, and provides an error response. If you have
101153	// the required permissions, the error response is DryRunOperation. Otherwise,
101154	// it is UnauthorizedOperation.
101155	DryRun *bool `type:"boolean"`
101156
101157	// The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.
101158	//
101159	// Default: 0.0.0.0/0
101160	LocalIpv4NetworkCidr *string `type:"string"`
101161
101162	// The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.
101163	//
101164	// Default: ::/0
101165	LocalIpv6NetworkCidr *string `type:"string"`
101166
101167	// The IPv4 CIDR on the AWS side of the VPN connection.
101168	//
101169	// Default: 0.0.0.0/0
101170	RemoteIpv4NetworkCidr *string `type:"string"`
101171
101172	// The IPv6 CIDR on the AWS side of the VPN connection.
101173	//
101174	// Default: ::/0
101175	RemoteIpv6NetworkCidr *string `type:"string"`
101176
101177	// The ID of the Site-to-Site VPN connection.
101178	//
101179	// VpnConnectionId is a required field
101180	VpnConnectionId *string `type:"string" required:"true"`
101181}
101182
101183// String returns the string representation
101184func (s ModifyVpnConnectionOptionsInput) String() string {
101185	return awsutil.Prettify(s)
101186}
101187
101188// GoString returns the string representation
101189func (s ModifyVpnConnectionOptionsInput) GoString() string {
101190	return s.String()
101191}
101192
101193// Validate inspects the fields of the type to determine if they are valid.
101194func (s *ModifyVpnConnectionOptionsInput) Validate() error {
101195	invalidParams := request.ErrInvalidParams{Context: "ModifyVpnConnectionOptionsInput"}
101196	if s.VpnConnectionId == nil {
101197		invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
101198	}
101199
101200	if invalidParams.Len() > 0 {
101201		return invalidParams
101202	}
101203	return nil
101204}
101205
101206// SetDryRun sets the DryRun field's value.
101207func (s *ModifyVpnConnectionOptionsInput) SetDryRun(v bool) *ModifyVpnConnectionOptionsInput {
101208	s.DryRun = &v
101209	return s
101210}
101211
101212// SetLocalIpv4NetworkCidr sets the LocalIpv4NetworkCidr field's value.
101213func (s *ModifyVpnConnectionOptionsInput) SetLocalIpv4NetworkCidr(v string) *ModifyVpnConnectionOptionsInput {
101214	s.LocalIpv4NetworkCidr = &v
101215	return s
101216}
101217
101218// SetLocalIpv6NetworkCidr sets the LocalIpv6NetworkCidr field's value.
101219func (s *ModifyVpnConnectionOptionsInput) SetLocalIpv6NetworkCidr(v string) *ModifyVpnConnectionOptionsInput {
101220	s.LocalIpv6NetworkCidr = &v
101221	return s
101222}
101223
101224// SetRemoteIpv4NetworkCidr sets the RemoteIpv4NetworkCidr field's value.
101225func (s *ModifyVpnConnectionOptionsInput) SetRemoteIpv4NetworkCidr(v string) *ModifyVpnConnectionOptionsInput {
101226	s.RemoteIpv4NetworkCidr = &v
101227	return s
101228}
101229
101230// SetRemoteIpv6NetworkCidr sets the RemoteIpv6NetworkCidr field's value.
101231func (s *ModifyVpnConnectionOptionsInput) SetRemoteIpv6NetworkCidr(v string) *ModifyVpnConnectionOptionsInput {
101232	s.RemoteIpv6NetworkCidr = &v
101233	return s
101234}
101235
101236// SetVpnConnectionId sets the VpnConnectionId field's value.
101237func (s *ModifyVpnConnectionOptionsInput) SetVpnConnectionId(v string) *ModifyVpnConnectionOptionsInput {
101238	s.VpnConnectionId = &v
101239	return s
101240}
101241
101242type ModifyVpnConnectionOptionsOutput struct {
101243	_ struct{} `type:"structure"`
101244
101245	// Describes a VPN connection.
101246	VpnConnection *VpnConnection `locationName:"vpnConnection" type:"structure"`
101247}
101248
101249// String returns the string representation
101250func (s ModifyVpnConnectionOptionsOutput) String() string {
101251	return awsutil.Prettify(s)
101252}
101253
101254// GoString returns the string representation
101255func (s ModifyVpnConnectionOptionsOutput) GoString() string {
101256	return s.String()
101257}
101258
101259// SetVpnConnection sets the VpnConnection field's value.
101260func (s *ModifyVpnConnectionOptionsOutput) SetVpnConnection(v *VpnConnection) *ModifyVpnConnectionOptionsOutput {
101261	s.VpnConnection = v
101262	return s
101263}
101264
101265type ModifyVpnConnectionOutput struct {
101266	_ struct{} `type:"structure"`
101267
101268	// Describes a VPN connection.
101269	VpnConnection *VpnConnection `locationName:"vpnConnection" type:"structure"`
101270}
101271
101272// String returns the string representation
101273func (s ModifyVpnConnectionOutput) String() string {
101274	return awsutil.Prettify(s)
101275}
101276
101277// GoString returns the string representation
101278func (s ModifyVpnConnectionOutput) GoString() string {
101279	return s.String()
101280}
101281
101282// SetVpnConnection sets the VpnConnection field's value.
101283func (s *ModifyVpnConnectionOutput) SetVpnConnection(v *VpnConnection) *ModifyVpnConnectionOutput {
101284	s.VpnConnection = v
101285	return s
101286}
101287
101288type ModifyVpnTunnelCertificateInput struct {
101289	_ struct{} `type:"structure"`
101290
101291	// Checks whether you have the required permissions for the action, without
101292	// actually making the request, and provides an error response. If you have
101293	// the required permissions, the error response is DryRunOperation. Otherwise,
101294	// it is UnauthorizedOperation.
101295	DryRun *bool `type:"boolean"`
101296
101297	// The ID of the AWS Site-to-Site VPN connection.
101298	//
101299	// VpnConnectionId is a required field
101300	VpnConnectionId *string `type:"string" required:"true"`
101301
101302	// The external IP address of the VPN tunnel.
101303	//
101304	// VpnTunnelOutsideIpAddress is a required field
101305	VpnTunnelOutsideIpAddress *string `type:"string" required:"true"`
101306}
101307
101308// String returns the string representation
101309func (s ModifyVpnTunnelCertificateInput) String() string {
101310	return awsutil.Prettify(s)
101311}
101312
101313// GoString returns the string representation
101314func (s ModifyVpnTunnelCertificateInput) GoString() string {
101315	return s.String()
101316}
101317
101318// Validate inspects the fields of the type to determine if they are valid.
101319func (s *ModifyVpnTunnelCertificateInput) Validate() error {
101320	invalidParams := request.ErrInvalidParams{Context: "ModifyVpnTunnelCertificateInput"}
101321	if s.VpnConnectionId == nil {
101322		invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
101323	}
101324	if s.VpnTunnelOutsideIpAddress == nil {
101325		invalidParams.Add(request.NewErrParamRequired("VpnTunnelOutsideIpAddress"))
101326	}
101327
101328	if invalidParams.Len() > 0 {
101329		return invalidParams
101330	}
101331	return nil
101332}
101333
101334// SetDryRun sets the DryRun field's value.
101335func (s *ModifyVpnTunnelCertificateInput) SetDryRun(v bool) *ModifyVpnTunnelCertificateInput {
101336	s.DryRun = &v
101337	return s
101338}
101339
101340// SetVpnConnectionId sets the VpnConnectionId field's value.
101341func (s *ModifyVpnTunnelCertificateInput) SetVpnConnectionId(v string) *ModifyVpnTunnelCertificateInput {
101342	s.VpnConnectionId = &v
101343	return s
101344}
101345
101346// SetVpnTunnelOutsideIpAddress sets the VpnTunnelOutsideIpAddress field's value.
101347func (s *ModifyVpnTunnelCertificateInput) SetVpnTunnelOutsideIpAddress(v string) *ModifyVpnTunnelCertificateInput {
101348	s.VpnTunnelOutsideIpAddress = &v
101349	return s
101350}
101351
101352type ModifyVpnTunnelCertificateOutput struct {
101353	_ struct{} `type:"structure"`
101354
101355	// Describes a VPN connection.
101356	VpnConnection *VpnConnection `locationName:"vpnConnection" type:"structure"`
101357}
101358
101359// String returns the string representation
101360func (s ModifyVpnTunnelCertificateOutput) String() string {
101361	return awsutil.Prettify(s)
101362}
101363
101364// GoString returns the string representation
101365func (s ModifyVpnTunnelCertificateOutput) GoString() string {
101366	return s.String()
101367}
101368
101369// SetVpnConnection sets the VpnConnection field's value.
101370func (s *ModifyVpnTunnelCertificateOutput) SetVpnConnection(v *VpnConnection) *ModifyVpnTunnelCertificateOutput {
101371	s.VpnConnection = v
101372	return s
101373}
101374
101375type ModifyVpnTunnelOptionsInput struct {
101376	_ struct{} `type:"structure"`
101377
101378	// Checks whether you have the required permissions for the action, without
101379	// actually making the request, and provides an error response. If you have
101380	// the required permissions, the error response is DryRunOperation. Otherwise,
101381	// it is UnauthorizedOperation.
101382	DryRun *bool `type:"boolean"`
101383
101384	// The tunnel options to modify.
101385	//
101386	// TunnelOptions is a required field
101387	TunnelOptions *ModifyVpnTunnelOptionsSpecification `type:"structure" required:"true"`
101388
101389	// The ID of the AWS Site-to-Site VPN connection.
101390	//
101391	// VpnConnectionId is a required field
101392	VpnConnectionId *string `type:"string" required:"true"`
101393
101394	// The external IP address of the VPN tunnel.
101395	//
101396	// VpnTunnelOutsideIpAddress is a required field
101397	VpnTunnelOutsideIpAddress *string `type:"string" required:"true"`
101398}
101399
101400// String returns the string representation
101401func (s ModifyVpnTunnelOptionsInput) String() string {
101402	return awsutil.Prettify(s)
101403}
101404
101405// GoString returns the string representation
101406func (s ModifyVpnTunnelOptionsInput) GoString() string {
101407	return s.String()
101408}
101409
101410// Validate inspects the fields of the type to determine if they are valid.
101411func (s *ModifyVpnTunnelOptionsInput) Validate() error {
101412	invalidParams := request.ErrInvalidParams{Context: "ModifyVpnTunnelOptionsInput"}
101413	if s.TunnelOptions == nil {
101414		invalidParams.Add(request.NewErrParamRequired("TunnelOptions"))
101415	}
101416	if s.VpnConnectionId == nil {
101417		invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
101418	}
101419	if s.VpnTunnelOutsideIpAddress == nil {
101420		invalidParams.Add(request.NewErrParamRequired("VpnTunnelOutsideIpAddress"))
101421	}
101422
101423	if invalidParams.Len() > 0 {
101424		return invalidParams
101425	}
101426	return nil
101427}
101428
101429// SetDryRun sets the DryRun field's value.
101430func (s *ModifyVpnTunnelOptionsInput) SetDryRun(v bool) *ModifyVpnTunnelOptionsInput {
101431	s.DryRun = &v
101432	return s
101433}
101434
101435// SetTunnelOptions sets the TunnelOptions field's value.
101436func (s *ModifyVpnTunnelOptionsInput) SetTunnelOptions(v *ModifyVpnTunnelOptionsSpecification) *ModifyVpnTunnelOptionsInput {
101437	s.TunnelOptions = v
101438	return s
101439}
101440
101441// SetVpnConnectionId sets the VpnConnectionId field's value.
101442func (s *ModifyVpnTunnelOptionsInput) SetVpnConnectionId(v string) *ModifyVpnTunnelOptionsInput {
101443	s.VpnConnectionId = &v
101444	return s
101445}
101446
101447// SetVpnTunnelOutsideIpAddress sets the VpnTunnelOutsideIpAddress field's value.
101448func (s *ModifyVpnTunnelOptionsInput) SetVpnTunnelOutsideIpAddress(v string) *ModifyVpnTunnelOptionsInput {
101449	s.VpnTunnelOutsideIpAddress = &v
101450	return s
101451}
101452
101453type ModifyVpnTunnelOptionsOutput struct {
101454	_ struct{} `type:"structure"`
101455
101456	// Describes a VPN connection.
101457	VpnConnection *VpnConnection `locationName:"vpnConnection" type:"structure"`
101458}
101459
101460// String returns the string representation
101461func (s ModifyVpnTunnelOptionsOutput) String() string {
101462	return awsutil.Prettify(s)
101463}
101464
101465// GoString returns the string representation
101466func (s ModifyVpnTunnelOptionsOutput) GoString() string {
101467	return s.String()
101468}
101469
101470// SetVpnConnection sets the VpnConnection field's value.
101471func (s *ModifyVpnTunnelOptionsOutput) SetVpnConnection(v *VpnConnection) *ModifyVpnTunnelOptionsOutput {
101472	s.VpnConnection = v
101473	return s
101474}
101475
101476// The AWS Site-to-Site VPN tunnel options to modify.
101477type ModifyVpnTunnelOptionsSpecification struct {
101478	_ struct{} `type:"structure"`
101479
101480	// The action to take after DPD timeout occurs. Specify restart to restart the
101481	// IKE initiation. Specify clear to end the IKE session.
101482	//
101483	// Valid Values: clear | none | restart
101484	//
101485	// Default: clear
101486	DPDTimeoutAction *string `type:"string"`
101487
101488	// The number of seconds after which a DPD timeout occurs.
101489	//
101490	// Constraints: A value between 0 and 30.
101491	//
101492	// Default: 30
101493	DPDTimeoutSeconds *int64 `type:"integer"`
101494
101495	// The IKE versions that are permitted for the VPN tunnel.
101496	//
101497	// Valid values: ikev1 | ikev2
101498	IKEVersions []*IKEVersionsRequestListValue `locationName:"IKEVersion" locationNameList:"item" type:"list"`
101499
101500	// One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel
101501	// for phase 1 IKE negotiations.
101502	//
101503	// Valid values: 2 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24
101504	Phase1DHGroupNumbers []*Phase1DHGroupNumbersRequestListValue `locationName:"Phase1DHGroupNumber" locationNameList:"item" type:"list"`
101505
101506	// One or more encryption algorithms that are permitted for the VPN tunnel for
101507	// phase 1 IKE negotiations.
101508	//
101509	// Valid values: AES128 | AES256 | AES128-GCM-16 | AES256-GCM-16
101510	Phase1EncryptionAlgorithms []*Phase1EncryptionAlgorithmsRequestListValue `locationName:"Phase1EncryptionAlgorithm" locationNameList:"item" type:"list"`
101511
101512	// One or more integrity algorithms that are permitted for the VPN tunnel for
101513	// phase 1 IKE negotiations.
101514	//
101515	// Valid values: SHA1 | SHA2-256 | SHA2-384 | SHA2-512
101516	Phase1IntegrityAlgorithms []*Phase1IntegrityAlgorithmsRequestListValue `locationName:"Phase1IntegrityAlgorithm" locationNameList:"item" type:"list"`
101517
101518	// The lifetime for phase 1 of the IKE negotiation, in seconds.
101519	//
101520	// Constraints: A value between 900 and 28,800.
101521	//
101522	// Default: 28800
101523	Phase1LifetimeSeconds *int64 `type:"integer"`
101524
101525	// One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel
101526	// for phase 2 IKE negotiations.
101527	//
101528	// Valid values: 2 | 5 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24
101529	Phase2DHGroupNumbers []*Phase2DHGroupNumbersRequestListValue `locationName:"Phase2DHGroupNumber" locationNameList:"item" type:"list"`
101530
101531	// One or more encryption algorithms that are permitted for the VPN tunnel for
101532	// phase 2 IKE negotiations.
101533	//
101534	// Valid values: AES128 | AES256 | AES128-GCM-16 | AES256-GCM-16
101535	Phase2EncryptionAlgorithms []*Phase2EncryptionAlgorithmsRequestListValue `locationName:"Phase2EncryptionAlgorithm" locationNameList:"item" type:"list"`
101536
101537	// One or more integrity algorithms that are permitted for the VPN tunnel for
101538	// phase 2 IKE negotiations.
101539	//
101540	// Valid values: SHA1 | SHA2-256 | SHA2-384 | SHA2-512
101541	Phase2IntegrityAlgorithms []*Phase2IntegrityAlgorithmsRequestListValue `locationName:"Phase2IntegrityAlgorithm" locationNameList:"item" type:"list"`
101542
101543	// The lifetime for phase 2 of the IKE negotiation, in seconds.
101544	//
101545	// Constraints: A value between 900 and 3,600. The value must be less than the
101546	// value for Phase1LifetimeSeconds.
101547	//
101548	// Default: 3600
101549	Phase2LifetimeSeconds *int64 `type:"integer"`
101550
101551	// The pre-shared key (PSK) to establish initial authentication between the
101552	// virtual private gateway and the customer gateway.
101553	//
101554	// Constraints: Allowed characters are alphanumeric characters, periods (.),
101555	// and underscores (_). Must be between 8 and 64 characters in length and cannot
101556	// start with zero (0).
101557	PreSharedKey *string `type:"string"`
101558
101559	// The percentage of the rekey window (determined by RekeyMarginTimeSeconds)
101560	// during which the rekey time is randomly selected.
101561	//
101562	// Constraints: A value between 0 and 100.
101563	//
101564	// Default: 100
101565	RekeyFuzzPercentage *int64 `type:"integer"`
101566
101567	// The margin time, in seconds, before the phase 2 lifetime expires, during
101568	// which the AWS side of the VPN connection performs an IKE rekey. The exact
101569	// time of the rekey is randomly selected based on the value for RekeyFuzzPercentage.
101570	//
101571	// Constraints: A value between 60 and half of Phase2LifetimeSeconds.
101572	//
101573	// Default: 540
101574	RekeyMarginTimeSeconds *int64 `type:"integer"`
101575
101576	// The number of packets in an IKE replay window.
101577	//
101578	// Constraints: A value between 64 and 2048.
101579	//
101580	// Default: 1024
101581	ReplayWindowSize *int64 `type:"integer"`
101582
101583	// The action to take when the establishing the tunnel for the VPN connection.
101584	// By default, your customer gateway device must initiate the IKE negotiation
101585	// and bring up the tunnel. Specify start for AWS to initiate the IKE negotiation.
101586	//
101587	// Valid Values: add | start
101588	//
101589	// Default: add
101590	StartupAction *string `type:"string"`
101591
101592	// The range of inside IPv4 addresses for the tunnel. Any specified CIDR blocks
101593	// must be unique across all VPN connections that use the same virtual private
101594	// gateway.
101595	//
101596	// Constraints: A size /30 CIDR block from the 169.254.0.0/16 range. The following
101597	// CIDR blocks are reserved and cannot be used:
101598	//
101599	//    * 169.254.0.0/30
101600	//
101601	//    * 169.254.1.0/30
101602	//
101603	//    * 169.254.2.0/30
101604	//
101605	//    * 169.254.3.0/30
101606	//
101607	//    * 169.254.4.0/30
101608	//
101609	//    * 169.254.5.0/30
101610	//
101611	//    * 169.254.169.252/30
101612	TunnelInsideCidr *string `type:"string"`
101613
101614	// The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks
101615	// must be unique across all VPN connections that use the same transit gateway.
101616	//
101617	// Constraints: A size /126 CIDR block from the local fd00::/8 range.
101618	TunnelInsideIpv6Cidr *string `type:"string"`
101619}
101620
101621// String returns the string representation
101622func (s ModifyVpnTunnelOptionsSpecification) String() string {
101623	return awsutil.Prettify(s)
101624}
101625
101626// GoString returns the string representation
101627func (s ModifyVpnTunnelOptionsSpecification) GoString() string {
101628	return s.String()
101629}
101630
101631// SetDPDTimeoutAction sets the DPDTimeoutAction field's value.
101632func (s *ModifyVpnTunnelOptionsSpecification) SetDPDTimeoutAction(v string) *ModifyVpnTunnelOptionsSpecification {
101633	s.DPDTimeoutAction = &v
101634	return s
101635}
101636
101637// SetDPDTimeoutSeconds sets the DPDTimeoutSeconds field's value.
101638func (s *ModifyVpnTunnelOptionsSpecification) SetDPDTimeoutSeconds(v int64) *ModifyVpnTunnelOptionsSpecification {
101639	s.DPDTimeoutSeconds = &v
101640	return s
101641}
101642
101643// SetIKEVersions sets the IKEVersions field's value.
101644func (s *ModifyVpnTunnelOptionsSpecification) SetIKEVersions(v []*IKEVersionsRequestListValue) *ModifyVpnTunnelOptionsSpecification {
101645	s.IKEVersions = v
101646	return s
101647}
101648
101649// SetPhase1DHGroupNumbers sets the Phase1DHGroupNumbers field's value.
101650func (s *ModifyVpnTunnelOptionsSpecification) SetPhase1DHGroupNumbers(v []*Phase1DHGroupNumbersRequestListValue) *ModifyVpnTunnelOptionsSpecification {
101651	s.Phase1DHGroupNumbers = v
101652	return s
101653}
101654
101655// SetPhase1EncryptionAlgorithms sets the Phase1EncryptionAlgorithms field's value.
101656func (s *ModifyVpnTunnelOptionsSpecification) SetPhase1EncryptionAlgorithms(v []*Phase1EncryptionAlgorithmsRequestListValue) *ModifyVpnTunnelOptionsSpecification {
101657	s.Phase1EncryptionAlgorithms = v
101658	return s
101659}
101660
101661// SetPhase1IntegrityAlgorithms sets the Phase1IntegrityAlgorithms field's value.
101662func (s *ModifyVpnTunnelOptionsSpecification) SetPhase1IntegrityAlgorithms(v []*Phase1IntegrityAlgorithmsRequestListValue) *ModifyVpnTunnelOptionsSpecification {
101663	s.Phase1IntegrityAlgorithms = v
101664	return s
101665}
101666
101667// SetPhase1LifetimeSeconds sets the Phase1LifetimeSeconds field's value.
101668func (s *ModifyVpnTunnelOptionsSpecification) SetPhase1LifetimeSeconds(v int64) *ModifyVpnTunnelOptionsSpecification {
101669	s.Phase1LifetimeSeconds = &v
101670	return s
101671}
101672
101673// SetPhase2DHGroupNumbers sets the Phase2DHGroupNumbers field's value.
101674func (s *ModifyVpnTunnelOptionsSpecification) SetPhase2DHGroupNumbers(v []*Phase2DHGroupNumbersRequestListValue) *ModifyVpnTunnelOptionsSpecification {
101675	s.Phase2DHGroupNumbers = v
101676	return s
101677}
101678
101679// SetPhase2EncryptionAlgorithms sets the Phase2EncryptionAlgorithms field's value.
101680func (s *ModifyVpnTunnelOptionsSpecification) SetPhase2EncryptionAlgorithms(v []*Phase2EncryptionAlgorithmsRequestListValue) *ModifyVpnTunnelOptionsSpecification {
101681	s.Phase2EncryptionAlgorithms = v
101682	return s
101683}
101684
101685// SetPhase2IntegrityAlgorithms sets the Phase2IntegrityAlgorithms field's value.
101686func (s *ModifyVpnTunnelOptionsSpecification) SetPhase2IntegrityAlgorithms(v []*Phase2IntegrityAlgorithmsRequestListValue) *ModifyVpnTunnelOptionsSpecification {
101687	s.Phase2IntegrityAlgorithms = v
101688	return s
101689}
101690
101691// SetPhase2LifetimeSeconds sets the Phase2LifetimeSeconds field's value.
101692func (s *ModifyVpnTunnelOptionsSpecification) SetPhase2LifetimeSeconds(v int64) *ModifyVpnTunnelOptionsSpecification {
101693	s.Phase2LifetimeSeconds = &v
101694	return s
101695}
101696
101697// SetPreSharedKey sets the PreSharedKey field's value.
101698func (s *ModifyVpnTunnelOptionsSpecification) SetPreSharedKey(v string) *ModifyVpnTunnelOptionsSpecification {
101699	s.PreSharedKey = &v
101700	return s
101701}
101702
101703// SetRekeyFuzzPercentage sets the RekeyFuzzPercentage field's value.
101704func (s *ModifyVpnTunnelOptionsSpecification) SetRekeyFuzzPercentage(v int64) *ModifyVpnTunnelOptionsSpecification {
101705	s.RekeyFuzzPercentage = &v
101706	return s
101707}
101708
101709// SetRekeyMarginTimeSeconds sets the RekeyMarginTimeSeconds field's value.
101710func (s *ModifyVpnTunnelOptionsSpecification) SetRekeyMarginTimeSeconds(v int64) *ModifyVpnTunnelOptionsSpecification {
101711	s.RekeyMarginTimeSeconds = &v
101712	return s
101713}
101714
101715// SetReplayWindowSize sets the ReplayWindowSize field's value.
101716func (s *ModifyVpnTunnelOptionsSpecification) SetReplayWindowSize(v int64) *ModifyVpnTunnelOptionsSpecification {
101717	s.ReplayWindowSize = &v
101718	return s
101719}
101720
101721// SetStartupAction sets the StartupAction field's value.
101722func (s *ModifyVpnTunnelOptionsSpecification) SetStartupAction(v string) *ModifyVpnTunnelOptionsSpecification {
101723	s.StartupAction = &v
101724	return s
101725}
101726
101727// SetTunnelInsideCidr sets the TunnelInsideCidr field's value.
101728func (s *ModifyVpnTunnelOptionsSpecification) SetTunnelInsideCidr(v string) *ModifyVpnTunnelOptionsSpecification {
101729	s.TunnelInsideCidr = &v
101730	return s
101731}
101732
101733// SetTunnelInsideIpv6Cidr sets the TunnelInsideIpv6Cidr field's value.
101734func (s *ModifyVpnTunnelOptionsSpecification) SetTunnelInsideIpv6Cidr(v string) *ModifyVpnTunnelOptionsSpecification {
101735	s.TunnelInsideIpv6Cidr = &v
101736	return s
101737}
101738
101739type MonitorInstancesInput struct {
101740	_ struct{} `type:"structure"`
101741
101742	// Checks whether you have the required permissions for the action, without
101743	// actually making the request, and provides an error response. If you have
101744	// the required permissions, the error response is DryRunOperation. Otherwise,
101745	// it is UnauthorizedOperation.
101746	DryRun *bool `locationName:"dryRun" type:"boolean"`
101747
101748	// The IDs of the instances.
101749	//
101750	// InstanceIds is a required field
101751	InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
101752}
101753
101754// String returns the string representation
101755func (s MonitorInstancesInput) String() string {
101756	return awsutil.Prettify(s)
101757}
101758
101759// GoString returns the string representation
101760func (s MonitorInstancesInput) GoString() string {
101761	return s.String()
101762}
101763
101764// Validate inspects the fields of the type to determine if they are valid.
101765func (s *MonitorInstancesInput) Validate() error {
101766	invalidParams := request.ErrInvalidParams{Context: "MonitorInstancesInput"}
101767	if s.InstanceIds == nil {
101768		invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
101769	}
101770
101771	if invalidParams.Len() > 0 {
101772		return invalidParams
101773	}
101774	return nil
101775}
101776
101777// SetDryRun sets the DryRun field's value.
101778func (s *MonitorInstancesInput) SetDryRun(v bool) *MonitorInstancesInput {
101779	s.DryRun = &v
101780	return s
101781}
101782
101783// SetInstanceIds sets the InstanceIds field's value.
101784func (s *MonitorInstancesInput) SetInstanceIds(v []*string) *MonitorInstancesInput {
101785	s.InstanceIds = v
101786	return s
101787}
101788
101789type MonitorInstancesOutput struct {
101790	_ struct{} `type:"structure"`
101791
101792	// The monitoring information.
101793	InstanceMonitorings []*InstanceMonitoring `locationName:"instancesSet" locationNameList:"item" type:"list"`
101794}
101795
101796// String returns the string representation
101797func (s MonitorInstancesOutput) String() string {
101798	return awsutil.Prettify(s)
101799}
101800
101801// GoString returns the string representation
101802func (s MonitorInstancesOutput) GoString() string {
101803	return s.String()
101804}
101805
101806// SetInstanceMonitorings sets the InstanceMonitorings field's value.
101807func (s *MonitorInstancesOutput) SetInstanceMonitorings(v []*InstanceMonitoring) *MonitorInstancesOutput {
101808	s.InstanceMonitorings = v
101809	return s
101810}
101811
101812// Describes the monitoring of an instance.
101813type Monitoring struct {
101814	_ struct{} `type:"structure"`
101815
101816	// Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring
101817	// is enabled.
101818	State *string `locationName:"state" type:"string" enum:"MonitoringState"`
101819}
101820
101821// String returns the string representation
101822func (s Monitoring) String() string {
101823	return awsutil.Prettify(s)
101824}
101825
101826// GoString returns the string representation
101827func (s Monitoring) GoString() string {
101828	return s.String()
101829}
101830
101831// SetState sets the State field's value.
101832func (s *Monitoring) SetState(v string) *Monitoring {
101833	s.State = &v
101834	return s
101835}
101836
101837type MoveAddressToVpcInput struct {
101838	_ struct{} `type:"structure"`
101839
101840	// Checks whether you have the required permissions for the action, without
101841	// actually making the request, and provides an error response. If you have
101842	// the required permissions, the error response is DryRunOperation. Otherwise,
101843	// it is UnauthorizedOperation.
101844	DryRun *bool `locationName:"dryRun" type:"boolean"`
101845
101846	// The Elastic IP address.
101847	//
101848	// PublicIp is a required field
101849	PublicIp *string `locationName:"publicIp" type:"string" required:"true"`
101850}
101851
101852// String returns the string representation
101853func (s MoveAddressToVpcInput) String() string {
101854	return awsutil.Prettify(s)
101855}
101856
101857// GoString returns the string representation
101858func (s MoveAddressToVpcInput) GoString() string {
101859	return s.String()
101860}
101861
101862// Validate inspects the fields of the type to determine if they are valid.
101863func (s *MoveAddressToVpcInput) Validate() error {
101864	invalidParams := request.ErrInvalidParams{Context: "MoveAddressToVpcInput"}
101865	if s.PublicIp == nil {
101866		invalidParams.Add(request.NewErrParamRequired("PublicIp"))
101867	}
101868
101869	if invalidParams.Len() > 0 {
101870		return invalidParams
101871	}
101872	return nil
101873}
101874
101875// SetDryRun sets the DryRun field's value.
101876func (s *MoveAddressToVpcInput) SetDryRun(v bool) *MoveAddressToVpcInput {
101877	s.DryRun = &v
101878	return s
101879}
101880
101881// SetPublicIp sets the PublicIp field's value.
101882func (s *MoveAddressToVpcInput) SetPublicIp(v string) *MoveAddressToVpcInput {
101883	s.PublicIp = &v
101884	return s
101885}
101886
101887type MoveAddressToVpcOutput struct {
101888	_ struct{} `type:"structure"`
101889
101890	// The allocation ID for the Elastic IP address.
101891	AllocationId *string `locationName:"allocationId" type:"string"`
101892
101893	// The status of the move of the IP address.
101894	Status *string `locationName:"status" type:"string" enum:"Status"`
101895}
101896
101897// String returns the string representation
101898func (s MoveAddressToVpcOutput) String() string {
101899	return awsutil.Prettify(s)
101900}
101901
101902// GoString returns the string representation
101903func (s MoveAddressToVpcOutput) GoString() string {
101904	return s.String()
101905}
101906
101907// SetAllocationId sets the AllocationId field's value.
101908func (s *MoveAddressToVpcOutput) SetAllocationId(v string) *MoveAddressToVpcOutput {
101909	s.AllocationId = &v
101910	return s
101911}
101912
101913// SetStatus sets the Status field's value.
101914func (s *MoveAddressToVpcOutput) SetStatus(v string) *MoveAddressToVpcOutput {
101915	s.Status = &v
101916	return s
101917}
101918
101919// Describes the status of a moving Elastic IP address.
101920type MovingAddressStatus struct {
101921	_ struct{} `type:"structure"`
101922
101923	// The status of the Elastic IP address that's being moved to the EC2-VPC platform,
101924	// or restored to the EC2-Classic platform.
101925	MoveStatus *string `locationName:"moveStatus" type:"string" enum:"MoveStatus"`
101926
101927	// The Elastic IP address.
101928	PublicIp *string `locationName:"publicIp" type:"string"`
101929}
101930
101931// String returns the string representation
101932func (s MovingAddressStatus) String() string {
101933	return awsutil.Prettify(s)
101934}
101935
101936// GoString returns the string representation
101937func (s MovingAddressStatus) GoString() string {
101938	return s.String()
101939}
101940
101941// SetMoveStatus sets the MoveStatus field's value.
101942func (s *MovingAddressStatus) SetMoveStatus(v string) *MovingAddressStatus {
101943	s.MoveStatus = &v
101944	return s
101945}
101946
101947// SetPublicIp sets the PublicIp field's value.
101948func (s *MovingAddressStatus) SetPublicIp(v string) *MovingAddressStatus {
101949	s.PublicIp = &v
101950	return s
101951}
101952
101953// Describes a NAT gateway.
101954type NatGateway struct {
101955	_ struct{} `type:"structure"`
101956
101957	// The date and time the NAT gateway was created.
101958	CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
101959
101960	// The date and time the NAT gateway was deleted, if applicable.
101961	DeleteTime *time.Time `locationName:"deleteTime" type:"timestamp"`
101962
101963	// If the NAT gateway could not be created, specifies the error code for the
101964	// failure. (InsufficientFreeAddressesInSubnet | Gateway.NotAttached | InvalidAllocationID.NotFound
101965	// | Resource.AlreadyAssociated | InternalError | InvalidSubnetID.NotFound)
101966	FailureCode *string `locationName:"failureCode" type:"string"`
101967
101968	// If the NAT gateway could not be created, specifies the error message for
101969	// the failure, that corresponds to the error code.
101970	//
101971	//    * For InsufficientFreeAddressesInSubnet: "Subnet has insufficient free
101972	//    addresses to create this NAT gateway"
101973	//
101974	//    * For Gateway.NotAttached: "Network vpc-xxxxxxxx has no Internet gateway
101975	//    attached"
101976	//
101977	//    * For InvalidAllocationID.NotFound: "Elastic IP address eipalloc-xxxxxxxx
101978	//    could not be associated with this NAT gateway"
101979	//
101980	//    * For Resource.AlreadyAssociated: "Elastic IP address eipalloc-xxxxxxxx
101981	//    is already associated"
101982	//
101983	//    * For InternalError: "Network interface eni-xxxxxxxx, created and used
101984	//    internally by this NAT gateway is in an invalid state. Please try again."
101985	//
101986	//    * For InvalidSubnetID.NotFound: "The specified subnet subnet-xxxxxxxx
101987	//    does not exist or could not be found."
101988	FailureMessage *string `locationName:"failureMessage" type:"string"`
101989
101990	// Information about the IP addresses and network interface associated with
101991	// the NAT gateway.
101992	NatGatewayAddresses []*NatGatewayAddress `locationName:"natGatewayAddressSet" locationNameList:"item" type:"list"`
101993
101994	// The ID of the NAT gateway.
101995	NatGatewayId *string `locationName:"natGatewayId" type:"string"`
101996
101997	// Reserved. If you need to sustain traffic greater than the documented limits
101998	// (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html),
101999	// contact us through the Support Center (https://console.aws.amazon.com/support/home?).
102000	ProvisionedBandwidth *ProvisionedBandwidth `locationName:"provisionedBandwidth" type:"structure"`
102001
102002	// The state of the NAT gateway.
102003	//
102004	//    * pending: The NAT gateway is being created and is not ready to process
102005	//    traffic.
102006	//
102007	//    * failed: The NAT gateway could not be created. Check the failureCode
102008	//    and failureMessage fields for the reason.
102009	//
102010	//    * available: The NAT gateway is able to process traffic. This status remains
102011	//    until you delete the NAT gateway, and does not indicate the health of
102012	//    the NAT gateway.
102013	//
102014	//    * deleting: The NAT gateway is in the process of being terminated and
102015	//    may still be processing traffic.
102016	//
102017	//    * deleted: The NAT gateway has been terminated and is no longer processing
102018	//    traffic.
102019	State *string `locationName:"state" type:"string" enum:"NatGatewayState"`
102020
102021	// The ID of the subnet in which the NAT gateway is located.
102022	SubnetId *string `locationName:"subnetId" type:"string"`
102023
102024	// The tags for the NAT gateway.
102025	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
102026
102027	// The ID of the VPC in which the NAT gateway is located.
102028	VpcId *string `locationName:"vpcId" type:"string"`
102029}
102030
102031// String returns the string representation
102032func (s NatGateway) String() string {
102033	return awsutil.Prettify(s)
102034}
102035
102036// GoString returns the string representation
102037func (s NatGateway) GoString() string {
102038	return s.String()
102039}
102040
102041// SetCreateTime sets the CreateTime field's value.
102042func (s *NatGateway) SetCreateTime(v time.Time) *NatGateway {
102043	s.CreateTime = &v
102044	return s
102045}
102046
102047// SetDeleteTime sets the DeleteTime field's value.
102048func (s *NatGateway) SetDeleteTime(v time.Time) *NatGateway {
102049	s.DeleteTime = &v
102050	return s
102051}
102052
102053// SetFailureCode sets the FailureCode field's value.
102054func (s *NatGateway) SetFailureCode(v string) *NatGateway {
102055	s.FailureCode = &v
102056	return s
102057}
102058
102059// SetFailureMessage sets the FailureMessage field's value.
102060func (s *NatGateway) SetFailureMessage(v string) *NatGateway {
102061	s.FailureMessage = &v
102062	return s
102063}
102064
102065// SetNatGatewayAddresses sets the NatGatewayAddresses field's value.
102066func (s *NatGateway) SetNatGatewayAddresses(v []*NatGatewayAddress) *NatGateway {
102067	s.NatGatewayAddresses = v
102068	return s
102069}
102070
102071// SetNatGatewayId sets the NatGatewayId field's value.
102072func (s *NatGateway) SetNatGatewayId(v string) *NatGateway {
102073	s.NatGatewayId = &v
102074	return s
102075}
102076
102077// SetProvisionedBandwidth sets the ProvisionedBandwidth field's value.
102078func (s *NatGateway) SetProvisionedBandwidth(v *ProvisionedBandwidth) *NatGateway {
102079	s.ProvisionedBandwidth = v
102080	return s
102081}
102082
102083// SetState sets the State field's value.
102084func (s *NatGateway) SetState(v string) *NatGateway {
102085	s.State = &v
102086	return s
102087}
102088
102089// SetSubnetId sets the SubnetId field's value.
102090func (s *NatGateway) SetSubnetId(v string) *NatGateway {
102091	s.SubnetId = &v
102092	return s
102093}
102094
102095// SetTags sets the Tags field's value.
102096func (s *NatGateway) SetTags(v []*Tag) *NatGateway {
102097	s.Tags = v
102098	return s
102099}
102100
102101// SetVpcId sets the VpcId field's value.
102102func (s *NatGateway) SetVpcId(v string) *NatGateway {
102103	s.VpcId = &v
102104	return s
102105}
102106
102107// Describes the IP addresses and network interface associated with a NAT gateway.
102108type NatGatewayAddress struct {
102109	_ struct{} `type:"structure"`
102110
102111	// The allocation ID of the Elastic IP address that's associated with the NAT
102112	// gateway.
102113	AllocationId *string `locationName:"allocationId" type:"string"`
102114
102115	// The ID of the network interface associated with the NAT gateway.
102116	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
102117
102118	// The private IP address associated with the Elastic IP address.
102119	PrivateIp *string `locationName:"privateIp" type:"string"`
102120
102121	// The Elastic IP address associated with the NAT gateway.
102122	PublicIp *string `locationName:"publicIp" type:"string"`
102123}
102124
102125// String returns the string representation
102126func (s NatGatewayAddress) String() string {
102127	return awsutil.Prettify(s)
102128}
102129
102130// GoString returns the string representation
102131func (s NatGatewayAddress) GoString() string {
102132	return s.String()
102133}
102134
102135// SetAllocationId sets the AllocationId field's value.
102136func (s *NatGatewayAddress) SetAllocationId(v string) *NatGatewayAddress {
102137	s.AllocationId = &v
102138	return s
102139}
102140
102141// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
102142func (s *NatGatewayAddress) SetNetworkInterfaceId(v string) *NatGatewayAddress {
102143	s.NetworkInterfaceId = &v
102144	return s
102145}
102146
102147// SetPrivateIp sets the PrivateIp field's value.
102148func (s *NatGatewayAddress) SetPrivateIp(v string) *NatGatewayAddress {
102149	s.PrivateIp = &v
102150	return s
102151}
102152
102153// SetPublicIp sets the PublicIp field's value.
102154func (s *NatGatewayAddress) SetPublicIp(v string) *NatGatewayAddress {
102155	s.PublicIp = &v
102156	return s
102157}
102158
102159// Describes a network ACL.
102160type NetworkAcl struct {
102161	_ struct{} `type:"structure"`
102162
102163	// Any associations between the network ACL and one or more subnets
102164	Associations []*NetworkAclAssociation `locationName:"associationSet" locationNameList:"item" type:"list"`
102165
102166	// One or more entries (rules) in the network ACL.
102167	Entries []*NetworkAclEntry `locationName:"entrySet" locationNameList:"item" type:"list"`
102168
102169	// Indicates whether this is the default network ACL for the VPC.
102170	IsDefault *bool `locationName:"default" type:"boolean"`
102171
102172	// The ID of the network ACL.
102173	NetworkAclId *string `locationName:"networkAclId" type:"string"`
102174
102175	// The ID of the AWS account that owns the network ACL.
102176	OwnerId *string `locationName:"ownerId" type:"string"`
102177
102178	// Any tags assigned to the network ACL.
102179	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
102180
102181	// The ID of the VPC for the network ACL.
102182	VpcId *string `locationName:"vpcId" type:"string"`
102183}
102184
102185// String returns the string representation
102186func (s NetworkAcl) String() string {
102187	return awsutil.Prettify(s)
102188}
102189
102190// GoString returns the string representation
102191func (s NetworkAcl) GoString() string {
102192	return s.String()
102193}
102194
102195// SetAssociations sets the Associations field's value.
102196func (s *NetworkAcl) SetAssociations(v []*NetworkAclAssociation) *NetworkAcl {
102197	s.Associations = v
102198	return s
102199}
102200
102201// SetEntries sets the Entries field's value.
102202func (s *NetworkAcl) SetEntries(v []*NetworkAclEntry) *NetworkAcl {
102203	s.Entries = v
102204	return s
102205}
102206
102207// SetIsDefault sets the IsDefault field's value.
102208func (s *NetworkAcl) SetIsDefault(v bool) *NetworkAcl {
102209	s.IsDefault = &v
102210	return s
102211}
102212
102213// SetNetworkAclId sets the NetworkAclId field's value.
102214func (s *NetworkAcl) SetNetworkAclId(v string) *NetworkAcl {
102215	s.NetworkAclId = &v
102216	return s
102217}
102218
102219// SetOwnerId sets the OwnerId field's value.
102220func (s *NetworkAcl) SetOwnerId(v string) *NetworkAcl {
102221	s.OwnerId = &v
102222	return s
102223}
102224
102225// SetTags sets the Tags field's value.
102226func (s *NetworkAcl) SetTags(v []*Tag) *NetworkAcl {
102227	s.Tags = v
102228	return s
102229}
102230
102231// SetVpcId sets the VpcId field's value.
102232func (s *NetworkAcl) SetVpcId(v string) *NetworkAcl {
102233	s.VpcId = &v
102234	return s
102235}
102236
102237// Describes an association between a network ACL and a subnet.
102238type NetworkAclAssociation struct {
102239	_ struct{} `type:"structure"`
102240
102241	// The ID of the association between a network ACL and a subnet.
102242	NetworkAclAssociationId *string `locationName:"networkAclAssociationId" type:"string"`
102243
102244	// The ID of the network ACL.
102245	NetworkAclId *string `locationName:"networkAclId" type:"string"`
102246
102247	// The ID of the subnet.
102248	SubnetId *string `locationName:"subnetId" type:"string"`
102249}
102250
102251// String returns the string representation
102252func (s NetworkAclAssociation) String() string {
102253	return awsutil.Prettify(s)
102254}
102255
102256// GoString returns the string representation
102257func (s NetworkAclAssociation) GoString() string {
102258	return s.String()
102259}
102260
102261// SetNetworkAclAssociationId sets the NetworkAclAssociationId field's value.
102262func (s *NetworkAclAssociation) SetNetworkAclAssociationId(v string) *NetworkAclAssociation {
102263	s.NetworkAclAssociationId = &v
102264	return s
102265}
102266
102267// SetNetworkAclId sets the NetworkAclId field's value.
102268func (s *NetworkAclAssociation) SetNetworkAclId(v string) *NetworkAclAssociation {
102269	s.NetworkAclId = &v
102270	return s
102271}
102272
102273// SetSubnetId sets the SubnetId field's value.
102274func (s *NetworkAclAssociation) SetSubnetId(v string) *NetworkAclAssociation {
102275	s.SubnetId = &v
102276	return s
102277}
102278
102279// Describes an entry in a network ACL.
102280type NetworkAclEntry struct {
102281	_ struct{} `type:"structure"`
102282
102283	// The IPv4 network range to allow or deny, in CIDR notation.
102284	CidrBlock *string `locationName:"cidrBlock" type:"string"`
102285
102286	// Indicates whether the rule is an egress rule (applied to traffic leaving
102287	// the subnet).
102288	Egress *bool `locationName:"egress" type:"boolean"`
102289
102290	// ICMP protocol: The ICMP type and code.
102291	IcmpTypeCode *IcmpTypeCode `locationName:"icmpTypeCode" type:"structure"`
102292
102293	// The IPv6 network range to allow or deny, in CIDR notation.
102294	Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
102295
102296	// TCP or UDP protocols: The range of ports the rule applies to.
102297	PortRange *PortRange `locationName:"portRange" type:"structure"`
102298
102299	// The protocol number. A value of "-1" means all protocols.
102300	Protocol *string `locationName:"protocol" type:"string"`
102301
102302	// Indicates whether to allow or deny the traffic that matches the rule.
102303	RuleAction *string `locationName:"ruleAction" type:"string" enum:"RuleAction"`
102304
102305	// The rule number for the entry. ACL entries are processed in ascending order
102306	// by rule number.
102307	RuleNumber *int64 `locationName:"ruleNumber" type:"integer"`
102308}
102309
102310// String returns the string representation
102311func (s NetworkAclEntry) String() string {
102312	return awsutil.Prettify(s)
102313}
102314
102315// GoString returns the string representation
102316func (s NetworkAclEntry) GoString() string {
102317	return s.String()
102318}
102319
102320// SetCidrBlock sets the CidrBlock field's value.
102321func (s *NetworkAclEntry) SetCidrBlock(v string) *NetworkAclEntry {
102322	s.CidrBlock = &v
102323	return s
102324}
102325
102326// SetEgress sets the Egress field's value.
102327func (s *NetworkAclEntry) SetEgress(v bool) *NetworkAclEntry {
102328	s.Egress = &v
102329	return s
102330}
102331
102332// SetIcmpTypeCode sets the IcmpTypeCode field's value.
102333func (s *NetworkAclEntry) SetIcmpTypeCode(v *IcmpTypeCode) *NetworkAclEntry {
102334	s.IcmpTypeCode = v
102335	return s
102336}
102337
102338// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
102339func (s *NetworkAclEntry) SetIpv6CidrBlock(v string) *NetworkAclEntry {
102340	s.Ipv6CidrBlock = &v
102341	return s
102342}
102343
102344// SetPortRange sets the PortRange field's value.
102345func (s *NetworkAclEntry) SetPortRange(v *PortRange) *NetworkAclEntry {
102346	s.PortRange = v
102347	return s
102348}
102349
102350// SetProtocol sets the Protocol field's value.
102351func (s *NetworkAclEntry) SetProtocol(v string) *NetworkAclEntry {
102352	s.Protocol = &v
102353	return s
102354}
102355
102356// SetRuleAction sets the RuleAction field's value.
102357func (s *NetworkAclEntry) SetRuleAction(v string) *NetworkAclEntry {
102358	s.RuleAction = &v
102359	return s
102360}
102361
102362// SetRuleNumber sets the RuleNumber field's value.
102363func (s *NetworkAclEntry) SetRuleNumber(v int64) *NetworkAclEntry {
102364	s.RuleNumber = &v
102365	return s
102366}
102367
102368// Describes the network card support of the instance type.
102369type NetworkCardInfo struct {
102370	_ struct{} `type:"structure"`
102371
102372	// The maximum number of network interfaces for the network card.
102373	MaximumNetworkInterfaces *int64 `locationName:"maximumNetworkInterfaces" type:"integer"`
102374
102375	// The index of the network card.
102376	NetworkCardIndex *int64 `locationName:"networkCardIndex" type:"integer"`
102377
102378	// The network performance of the network card.
102379	NetworkPerformance *string `locationName:"networkPerformance" type:"string"`
102380}
102381
102382// String returns the string representation
102383func (s NetworkCardInfo) String() string {
102384	return awsutil.Prettify(s)
102385}
102386
102387// GoString returns the string representation
102388func (s NetworkCardInfo) GoString() string {
102389	return s.String()
102390}
102391
102392// SetMaximumNetworkInterfaces sets the MaximumNetworkInterfaces field's value.
102393func (s *NetworkCardInfo) SetMaximumNetworkInterfaces(v int64) *NetworkCardInfo {
102394	s.MaximumNetworkInterfaces = &v
102395	return s
102396}
102397
102398// SetNetworkCardIndex sets the NetworkCardIndex field's value.
102399func (s *NetworkCardInfo) SetNetworkCardIndex(v int64) *NetworkCardInfo {
102400	s.NetworkCardIndex = &v
102401	return s
102402}
102403
102404// SetNetworkPerformance sets the NetworkPerformance field's value.
102405func (s *NetworkCardInfo) SetNetworkPerformance(v string) *NetworkCardInfo {
102406	s.NetworkPerformance = &v
102407	return s
102408}
102409
102410// Describes the networking features of the instance type.
102411type NetworkInfo struct {
102412	_ struct{} `type:"structure"`
102413
102414	// The index of the default network card, starting at 0.
102415	DefaultNetworkCardIndex *int64 `locationName:"defaultNetworkCardIndex" type:"integer"`
102416
102417	// Describes the Elastic Fabric Adapters for the instance type.
102418	EfaInfo *EfaInfo `locationName:"efaInfo" type:"structure"`
102419
102420	// Indicates whether Elastic Fabric Adapter (EFA) is supported.
102421	EfaSupported *bool `locationName:"efaSupported" type:"boolean"`
102422
102423	// Indicates whether Elastic Network Adapter (ENA) is supported.
102424	EnaSupport *string `locationName:"enaSupport" type:"string" enum:"EnaSupport"`
102425
102426	// The maximum number of IPv4 addresses per network interface.
102427	Ipv4AddressesPerInterface *int64 `locationName:"ipv4AddressesPerInterface" type:"integer"`
102428
102429	// The maximum number of IPv6 addresses per network interface.
102430	Ipv6AddressesPerInterface *int64 `locationName:"ipv6AddressesPerInterface" type:"integer"`
102431
102432	// Indicates whether IPv6 is supported.
102433	Ipv6Supported *bool `locationName:"ipv6Supported" type:"boolean"`
102434
102435	// The maximum number of physical network cards that can be allocated to the
102436	// instance.
102437	MaximumNetworkCards *int64 `locationName:"maximumNetworkCards" type:"integer"`
102438
102439	// The maximum number of network interfaces for the instance type.
102440	MaximumNetworkInterfaces *int64 `locationName:"maximumNetworkInterfaces" type:"integer"`
102441
102442	// Describes the network cards for the instance type.
102443	NetworkCards []*NetworkCardInfo `locationName:"networkCards" locationNameList:"item" type:"list"`
102444
102445	// The network performance.
102446	NetworkPerformance *string `locationName:"networkPerformance" type:"string"`
102447}
102448
102449// String returns the string representation
102450func (s NetworkInfo) String() string {
102451	return awsutil.Prettify(s)
102452}
102453
102454// GoString returns the string representation
102455func (s NetworkInfo) GoString() string {
102456	return s.String()
102457}
102458
102459// SetDefaultNetworkCardIndex sets the DefaultNetworkCardIndex field's value.
102460func (s *NetworkInfo) SetDefaultNetworkCardIndex(v int64) *NetworkInfo {
102461	s.DefaultNetworkCardIndex = &v
102462	return s
102463}
102464
102465// SetEfaInfo sets the EfaInfo field's value.
102466func (s *NetworkInfo) SetEfaInfo(v *EfaInfo) *NetworkInfo {
102467	s.EfaInfo = v
102468	return s
102469}
102470
102471// SetEfaSupported sets the EfaSupported field's value.
102472func (s *NetworkInfo) SetEfaSupported(v bool) *NetworkInfo {
102473	s.EfaSupported = &v
102474	return s
102475}
102476
102477// SetEnaSupport sets the EnaSupport field's value.
102478func (s *NetworkInfo) SetEnaSupport(v string) *NetworkInfo {
102479	s.EnaSupport = &v
102480	return s
102481}
102482
102483// SetIpv4AddressesPerInterface sets the Ipv4AddressesPerInterface field's value.
102484func (s *NetworkInfo) SetIpv4AddressesPerInterface(v int64) *NetworkInfo {
102485	s.Ipv4AddressesPerInterface = &v
102486	return s
102487}
102488
102489// SetIpv6AddressesPerInterface sets the Ipv6AddressesPerInterface field's value.
102490func (s *NetworkInfo) SetIpv6AddressesPerInterface(v int64) *NetworkInfo {
102491	s.Ipv6AddressesPerInterface = &v
102492	return s
102493}
102494
102495// SetIpv6Supported sets the Ipv6Supported field's value.
102496func (s *NetworkInfo) SetIpv6Supported(v bool) *NetworkInfo {
102497	s.Ipv6Supported = &v
102498	return s
102499}
102500
102501// SetMaximumNetworkCards sets the MaximumNetworkCards field's value.
102502func (s *NetworkInfo) SetMaximumNetworkCards(v int64) *NetworkInfo {
102503	s.MaximumNetworkCards = &v
102504	return s
102505}
102506
102507// SetMaximumNetworkInterfaces sets the MaximumNetworkInterfaces field's value.
102508func (s *NetworkInfo) SetMaximumNetworkInterfaces(v int64) *NetworkInfo {
102509	s.MaximumNetworkInterfaces = &v
102510	return s
102511}
102512
102513// SetNetworkCards sets the NetworkCards field's value.
102514func (s *NetworkInfo) SetNetworkCards(v []*NetworkCardInfo) *NetworkInfo {
102515	s.NetworkCards = v
102516	return s
102517}
102518
102519// SetNetworkPerformance sets the NetworkPerformance field's value.
102520func (s *NetworkInfo) SetNetworkPerformance(v string) *NetworkInfo {
102521	s.NetworkPerformance = &v
102522	return s
102523}
102524
102525// Describes a network insights analysis.
102526type NetworkInsightsAnalysis struct {
102527	_ struct{} `type:"structure"`
102528
102529	// Potential intermediate components.
102530	AlternatePathHints []*AlternatePathHint `locationName:"alternatePathHintSet" locationNameList:"item" type:"list"`
102531
102532	// The explanations. For more information, see Reachability Analyzer explanation
102533	// codes (https://docs.aws.amazon.com/vpc/latest/reachability/explanation-codes.html).
102534	Explanations []*Explanation `locationName:"explanationSet" locationNameList:"item" type:"list"`
102535
102536	// The Amazon Resource Names (ARN) of the AWS resources that the path must traverse.
102537	FilterInArns []*string `locationName:"filterInArnSet" locationNameList:"item" type:"list"`
102538
102539	// The components in the path from source to destination.
102540	ForwardPathComponents []*PathComponent `locationName:"forwardPathComponentSet" locationNameList:"item" type:"list"`
102541
102542	// The Amazon Resource Name (ARN) of the network insights analysis.
102543	NetworkInsightsAnalysisArn *string `locationName:"networkInsightsAnalysisArn" min:"1" type:"string"`
102544
102545	// The ID of the network insights analysis.
102546	NetworkInsightsAnalysisId *string `locationName:"networkInsightsAnalysisId" type:"string"`
102547
102548	// The ID of the path.
102549	NetworkInsightsPathId *string `locationName:"networkInsightsPathId" type:"string"`
102550
102551	// Indicates whether the destination is reachable from the source.
102552	NetworkPathFound *bool `locationName:"networkPathFound" type:"boolean"`
102553
102554	// The components in the path from destination to source.
102555	ReturnPathComponents []*PathComponent `locationName:"returnPathComponentSet" locationNameList:"item" type:"list"`
102556
102557	// The time the analysis started.
102558	StartDate *time.Time `locationName:"startDate" type:"timestamp"`
102559
102560	// The status of the network insights analysis.
102561	Status *string `locationName:"status" type:"string" enum:"AnalysisStatus"`
102562
102563	// The status message, if the status is failed.
102564	StatusMessage *string `locationName:"statusMessage" type:"string"`
102565
102566	// The tags.
102567	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
102568}
102569
102570// String returns the string representation
102571func (s NetworkInsightsAnalysis) String() string {
102572	return awsutil.Prettify(s)
102573}
102574
102575// GoString returns the string representation
102576func (s NetworkInsightsAnalysis) GoString() string {
102577	return s.String()
102578}
102579
102580// SetAlternatePathHints sets the AlternatePathHints field's value.
102581func (s *NetworkInsightsAnalysis) SetAlternatePathHints(v []*AlternatePathHint) *NetworkInsightsAnalysis {
102582	s.AlternatePathHints = v
102583	return s
102584}
102585
102586// SetExplanations sets the Explanations field's value.
102587func (s *NetworkInsightsAnalysis) SetExplanations(v []*Explanation) *NetworkInsightsAnalysis {
102588	s.Explanations = v
102589	return s
102590}
102591
102592// SetFilterInArns sets the FilterInArns field's value.
102593func (s *NetworkInsightsAnalysis) SetFilterInArns(v []*string) *NetworkInsightsAnalysis {
102594	s.FilterInArns = v
102595	return s
102596}
102597
102598// SetForwardPathComponents sets the ForwardPathComponents field's value.
102599func (s *NetworkInsightsAnalysis) SetForwardPathComponents(v []*PathComponent) *NetworkInsightsAnalysis {
102600	s.ForwardPathComponents = v
102601	return s
102602}
102603
102604// SetNetworkInsightsAnalysisArn sets the NetworkInsightsAnalysisArn field's value.
102605func (s *NetworkInsightsAnalysis) SetNetworkInsightsAnalysisArn(v string) *NetworkInsightsAnalysis {
102606	s.NetworkInsightsAnalysisArn = &v
102607	return s
102608}
102609
102610// SetNetworkInsightsAnalysisId sets the NetworkInsightsAnalysisId field's value.
102611func (s *NetworkInsightsAnalysis) SetNetworkInsightsAnalysisId(v string) *NetworkInsightsAnalysis {
102612	s.NetworkInsightsAnalysisId = &v
102613	return s
102614}
102615
102616// SetNetworkInsightsPathId sets the NetworkInsightsPathId field's value.
102617func (s *NetworkInsightsAnalysis) SetNetworkInsightsPathId(v string) *NetworkInsightsAnalysis {
102618	s.NetworkInsightsPathId = &v
102619	return s
102620}
102621
102622// SetNetworkPathFound sets the NetworkPathFound field's value.
102623func (s *NetworkInsightsAnalysis) SetNetworkPathFound(v bool) *NetworkInsightsAnalysis {
102624	s.NetworkPathFound = &v
102625	return s
102626}
102627
102628// SetReturnPathComponents sets the ReturnPathComponents field's value.
102629func (s *NetworkInsightsAnalysis) SetReturnPathComponents(v []*PathComponent) *NetworkInsightsAnalysis {
102630	s.ReturnPathComponents = v
102631	return s
102632}
102633
102634// SetStartDate sets the StartDate field's value.
102635func (s *NetworkInsightsAnalysis) SetStartDate(v time.Time) *NetworkInsightsAnalysis {
102636	s.StartDate = &v
102637	return s
102638}
102639
102640// SetStatus sets the Status field's value.
102641func (s *NetworkInsightsAnalysis) SetStatus(v string) *NetworkInsightsAnalysis {
102642	s.Status = &v
102643	return s
102644}
102645
102646// SetStatusMessage sets the StatusMessage field's value.
102647func (s *NetworkInsightsAnalysis) SetStatusMessage(v string) *NetworkInsightsAnalysis {
102648	s.StatusMessage = &v
102649	return s
102650}
102651
102652// SetTags sets the Tags field's value.
102653func (s *NetworkInsightsAnalysis) SetTags(v []*Tag) *NetworkInsightsAnalysis {
102654	s.Tags = v
102655	return s
102656}
102657
102658// Describes a path.
102659type NetworkInsightsPath struct {
102660	_ struct{} `type:"structure"`
102661
102662	// The time stamp when the path was created.
102663	CreatedDate *time.Time `locationName:"createdDate" type:"timestamp"`
102664
102665	// The AWS resource that is the destination of the path.
102666	Destination *string `locationName:"destination" type:"string"`
102667
102668	// The IP address of the AWS resource that is the destination of the path.
102669	DestinationIp *string `locationName:"destinationIp" type:"string"`
102670
102671	// The destination port.
102672	DestinationPort *int64 `locationName:"destinationPort" type:"integer"`
102673
102674	// The Amazon Resource Name (ARN) of the path.
102675	NetworkInsightsPathArn *string `locationName:"networkInsightsPathArn" min:"1" type:"string"`
102676
102677	// The ID of the path.
102678	NetworkInsightsPathId *string `locationName:"networkInsightsPathId" type:"string"`
102679
102680	// The protocol.
102681	Protocol *string `locationName:"protocol" type:"string" enum:"Protocol"`
102682
102683	// The AWS resource that is the source of the path.
102684	Source *string `locationName:"source" type:"string"`
102685
102686	// The IP address of the AWS resource that is the source of the path.
102687	SourceIp *string `locationName:"sourceIp" type:"string"`
102688
102689	// The tags associated with the path.
102690	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
102691}
102692
102693// String returns the string representation
102694func (s NetworkInsightsPath) String() string {
102695	return awsutil.Prettify(s)
102696}
102697
102698// GoString returns the string representation
102699func (s NetworkInsightsPath) GoString() string {
102700	return s.String()
102701}
102702
102703// SetCreatedDate sets the CreatedDate field's value.
102704func (s *NetworkInsightsPath) SetCreatedDate(v time.Time) *NetworkInsightsPath {
102705	s.CreatedDate = &v
102706	return s
102707}
102708
102709// SetDestination sets the Destination field's value.
102710func (s *NetworkInsightsPath) SetDestination(v string) *NetworkInsightsPath {
102711	s.Destination = &v
102712	return s
102713}
102714
102715// SetDestinationIp sets the DestinationIp field's value.
102716func (s *NetworkInsightsPath) SetDestinationIp(v string) *NetworkInsightsPath {
102717	s.DestinationIp = &v
102718	return s
102719}
102720
102721// SetDestinationPort sets the DestinationPort field's value.
102722func (s *NetworkInsightsPath) SetDestinationPort(v int64) *NetworkInsightsPath {
102723	s.DestinationPort = &v
102724	return s
102725}
102726
102727// SetNetworkInsightsPathArn sets the NetworkInsightsPathArn field's value.
102728func (s *NetworkInsightsPath) SetNetworkInsightsPathArn(v string) *NetworkInsightsPath {
102729	s.NetworkInsightsPathArn = &v
102730	return s
102731}
102732
102733// SetNetworkInsightsPathId sets the NetworkInsightsPathId field's value.
102734func (s *NetworkInsightsPath) SetNetworkInsightsPathId(v string) *NetworkInsightsPath {
102735	s.NetworkInsightsPathId = &v
102736	return s
102737}
102738
102739// SetProtocol sets the Protocol field's value.
102740func (s *NetworkInsightsPath) SetProtocol(v string) *NetworkInsightsPath {
102741	s.Protocol = &v
102742	return s
102743}
102744
102745// SetSource sets the Source field's value.
102746func (s *NetworkInsightsPath) SetSource(v string) *NetworkInsightsPath {
102747	s.Source = &v
102748	return s
102749}
102750
102751// SetSourceIp sets the SourceIp field's value.
102752func (s *NetworkInsightsPath) SetSourceIp(v string) *NetworkInsightsPath {
102753	s.SourceIp = &v
102754	return s
102755}
102756
102757// SetTags sets the Tags field's value.
102758func (s *NetworkInsightsPath) SetTags(v []*Tag) *NetworkInsightsPath {
102759	s.Tags = v
102760	return s
102761}
102762
102763// Describes a network interface.
102764type NetworkInterface struct {
102765	_ struct{} `type:"structure"`
102766
102767	// The association information for an Elastic IP address (IPv4) associated with
102768	// the network interface.
102769	Association *NetworkInterfaceAssociation `locationName:"association" type:"structure"`
102770
102771	// The network interface attachment.
102772	Attachment *NetworkInterfaceAttachment `locationName:"attachment" type:"structure"`
102773
102774	// The Availability Zone.
102775	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
102776
102777	// A description.
102778	Description *string `locationName:"description" type:"string"`
102779
102780	// Any security groups for the network interface.
102781	Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
102782
102783	// The type of network interface.
102784	InterfaceType *string `locationName:"interfaceType" type:"string" enum:"NetworkInterfaceType"`
102785
102786	// The IPv6 addresses associated with the network interface.
102787	Ipv6Addresses []*NetworkInterfaceIpv6Address `locationName:"ipv6AddressesSet" locationNameList:"item" type:"list"`
102788
102789	// The MAC address.
102790	MacAddress *string `locationName:"macAddress" type:"string"`
102791
102792	// The ID of the network interface.
102793	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
102794
102795	// The Amazon Resource Name (ARN) of the Outpost.
102796	OutpostArn *string `locationName:"outpostArn" type:"string"`
102797
102798	// The AWS account ID of the owner of the network interface.
102799	OwnerId *string `locationName:"ownerId" type:"string"`
102800
102801	// The private DNS name.
102802	PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
102803
102804	// The IPv4 address of the network interface within the subnet.
102805	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
102806
102807	// The private IPv4 addresses associated with the network interface.
102808	PrivateIpAddresses []*NetworkInterfacePrivateIpAddress `locationName:"privateIpAddressesSet" locationNameList:"item" type:"list"`
102809
102810	// The alias or AWS account ID of the principal or service that created the
102811	// network interface.
102812	RequesterId *string `locationName:"requesterId" type:"string"`
102813
102814	// Indicates whether the network interface is being managed by AWS.
102815	RequesterManaged *bool `locationName:"requesterManaged" type:"boolean"`
102816
102817	// Indicates whether source/destination checking is enabled.
102818	SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"`
102819
102820	// The status of the network interface.
102821	Status *string `locationName:"status" type:"string" enum:"NetworkInterfaceStatus"`
102822
102823	// The ID of the subnet.
102824	SubnetId *string `locationName:"subnetId" type:"string"`
102825
102826	// Any tags assigned to the network interface.
102827	TagSet []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
102828
102829	// The ID of the VPC.
102830	VpcId *string `locationName:"vpcId" type:"string"`
102831}
102832
102833// String returns the string representation
102834func (s NetworkInterface) String() string {
102835	return awsutil.Prettify(s)
102836}
102837
102838// GoString returns the string representation
102839func (s NetworkInterface) GoString() string {
102840	return s.String()
102841}
102842
102843// SetAssociation sets the Association field's value.
102844func (s *NetworkInterface) SetAssociation(v *NetworkInterfaceAssociation) *NetworkInterface {
102845	s.Association = v
102846	return s
102847}
102848
102849// SetAttachment sets the Attachment field's value.
102850func (s *NetworkInterface) SetAttachment(v *NetworkInterfaceAttachment) *NetworkInterface {
102851	s.Attachment = v
102852	return s
102853}
102854
102855// SetAvailabilityZone sets the AvailabilityZone field's value.
102856func (s *NetworkInterface) SetAvailabilityZone(v string) *NetworkInterface {
102857	s.AvailabilityZone = &v
102858	return s
102859}
102860
102861// SetDescription sets the Description field's value.
102862func (s *NetworkInterface) SetDescription(v string) *NetworkInterface {
102863	s.Description = &v
102864	return s
102865}
102866
102867// SetGroups sets the Groups field's value.
102868func (s *NetworkInterface) SetGroups(v []*GroupIdentifier) *NetworkInterface {
102869	s.Groups = v
102870	return s
102871}
102872
102873// SetInterfaceType sets the InterfaceType field's value.
102874func (s *NetworkInterface) SetInterfaceType(v string) *NetworkInterface {
102875	s.InterfaceType = &v
102876	return s
102877}
102878
102879// SetIpv6Addresses sets the Ipv6Addresses field's value.
102880func (s *NetworkInterface) SetIpv6Addresses(v []*NetworkInterfaceIpv6Address) *NetworkInterface {
102881	s.Ipv6Addresses = v
102882	return s
102883}
102884
102885// SetMacAddress sets the MacAddress field's value.
102886func (s *NetworkInterface) SetMacAddress(v string) *NetworkInterface {
102887	s.MacAddress = &v
102888	return s
102889}
102890
102891// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
102892func (s *NetworkInterface) SetNetworkInterfaceId(v string) *NetworkInterface {
102893	s.NetworkInterfaceId = &v
102894	return s
102895}
102896
102897// SetOutpostArn sets the OutpostArn field's value.
102898func (s *NetworkInterface) SetOutpostArn(v string) *NetworkInterface {
102899	s.OutpostArn = &v
102900	return s
102901}
102902
102903// SetOwnerId sets the OwnerId field's value.
102904func (s *NetworkInterface) SetOwnerId(v string) *NetworkInterface {
102905	s.OwnerId = &v
102906	return s
102907}
102908
102909// SetPrivateDnsName sets the PrivateDnsName field's value.
102910func (s *NetworkInterface) SetPrivateDnsName(v string) *NetworkInterface {
102911	s.PrivateDnsName = &v
102912	return s
102913}
102914
102915// SetPrivateIpAddress sets the PrivateIpAddress field's value.
102916func (s *NetworkInterface) SetPrivateIpAddress(v string) *NetworkInterface {
102917	s.PrivateIpAddress = &v
102918	return s
102919}
102920
102921// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
102922func (s *NetworkInterface) SetPrivateIpAddresses(v []*NetworkInterfacePrivateIpAddress) *NetworkInterface {
102923	s.PrivateIpAddresses = v
102924	return s
102925}
102926
102927// SetRequesterId sets the RequesterId field's value.
102928func (s *NetworkInterface) SetRequesterId(v string) *NetworkInterface {
102929	s.RequesterId = &v
102930	return s
102931}
102932
102933// SetRequesterManaged sets the RequesterManaged field's value.
102934func (s *NetworkInterface) SetRequesterManaged(v bool) *NetworkInterface {
102935	s.RequesterManaged = &v
102936	return s
102937}
102938
102939// SetSourceDestCheck sets the SourceDestCheck field's value.
102940func (s *NetworkInterface) SetSourceDestCheck(v bool) *NetworkInterface {
102941	s.SourceDestCheck = &v
102942	return s
102943}
102944
102945// SetStatus sets the Status field's value.
102946func (s *NetworkInterface) SetStatus(v string) *NetworkInterface {
102947	s.Status = &v
102948	return s
102949}
102950
102951// SetSubnetId sets the SubnetId field's value.
102952func (s *NetworkInterface) SetSubnetId(v string) *NetworkInterface {
102953	s.SubnetId = &v
102954	return s
102955}
102956
102957// SetTagSet sets the TagSet field's value.
102958func (s *NetworkInterface) SetTagSet(v []*Tag) *NetworkInterface {
102959	s.TagSet = v
102960	return s
102961}
102962
102963// SetVpcId sets the VpcId field's value.
102964func (s *NetworkInterface) SetVpcId(v string) *NetworkInterface {
102965	s.VpcId = &v
102966	return s
102967}
102968
102969// Describes association information for an Elastic IP address (IPv4 only),
102970// or a Carrier IP address (for a network interface which resides in a subnet
102971// in a Wavelength Zone).
102972type NetworkInterfaceAssociation struct {
102973	_ struct{} `type:"structure"`
102974
102975	// The allocation ID.
102976	AllocationId *string `locationName:"allocationId" type:"string"`
102977
102978	// The association ID.
102979	AssociationId *string `locationName:"associationId" type:"string"`
102980
102981	// The carrier IP address associated with the network interface.
102982	//
102983	// This option is only available when the network interface is in a subnet which
102984	// is associated with a Wavelength Zone.
102985	CarrierIp *string `locationName:"carrierIp" type:"string"`
102986
102987	// The customer-owned IP address associated with the network interface.
102988	CustomerOwnedIp *string `locationName:"customerOwnedIp" type:"string"`
102989
102990	// The ID of the Elastic IP address owner.
102991	IpOwnerId *string `locationName:"ipOwnerId" type:"string"`
102992
102993	// The public DNS name.
102994	PublicDnsName *string `locationName:"publicDnsName" type:"string"`
102995
102996	// The address of the Elastic IP address bound to the network interface.
102997	PublicIp *string `locationName:"publicIp" type:"string"`
102998}
102999
103000// String returns the string representation
103001func (s NetworkInterfaceAssociation) String() string {
103002	return awsutil.Prettify(s)
103003}
103004
103005// GoString returns the string representation
103006func (s NetworkInterfaceAssociation) GoString() string {
103007	return s.String()
103008}
103009
103010// SetAllocationId sets the AllocationId field's value.
103011func (s *NetworkInterfaceAssociation) SetAllocationId(v string) *NetworkInterfaceAssociation {
103012	s.AllocationId = &v
103013	return s
103014}
103015
103016// SetAssociationId sets the AssociationId field's value.
103017func (s *NetworkInterfaceAssociation) SetAssociationId(v string) *NetworkInterfaceAssociation {
103018	s.AssociationId = &v
103019	return s
103020}
103021
103022// SetCarrierIp sets the CarrierIp field's value.
103023func (s *NetworkInterfaceAssociation) SetCarrierIp(v string) *NetworkInterfaceAssociation {
103024	s.CarrierIp = &v
103025	return s
103026}
103027
103028// SetCustomerOwnedIp sets the CustomerOwnedIp field's value.
103029func (s *NetworkInterfaceAssociation) SetCustomerOwnedIp(v string) *NetworkInterfaceAssociation {
103030	s.CustomerOwnedIp = &v
103031	return s
103032}
103033
103034// SetIpOwnerId sets the IpOwnerId field's value.
103035func (s *NetworkInterfaceAssociation) SetIpOwnerId(v string) *NetworkInterfaceAssociation {
103036	s.IpOwnerId = &v
103037	return s
103038}
103039
103040// SetPublicDnsName sets the PublicDnsName field's value.
103041func (s *NetworkInterfaceAssociation) SetPublicDnsName(v string) *NetworkInterfaceAssociation {
103042	s.PublicDnsName = &v
103043	return s
103044}
103045
103046// SetPublicIp sets the PublicIp field's value.
103047func (s *NetworkInterfaceAssociation) SetPublicIp(v string) *NetworkInterfaceAssociation {
103048	s.PublicIp = &v
103049	return s
103050}
103051
103052// Describes a network interface attachment.
103053type NetworkInterfaceAttachment struct {
103054	_ struct{} `type:"structure"`
103055
103056	// The timestamp indicating when the attachment initiated.
103057	AttachTime *time.Time `locationName:"attachTime" type:"timestamp"`
103058
103059	// The ID of the network interface attachment.
103060	AttachmentId *string `locationName:"attachmentId" type:"string"`
103061
103062	// Indicates whether the network interface is deleted when the instance is terminated.
103063	DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
103064
103065	// The device index of the network interface attachment on the instance.
103066	DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
103067
103068	// The ID of the instance.
103069	InstanceId *string `locationName:"instanceId" type:"string"`
103070
103071	// The AWS account ID of the owner of the instance.
103072	InstanceOwnerId *string `locationName:"instanceOwnerId" type:"string"`
103073
103074	// The index of the network card.
103075	NetworkCardIndex *int64 `locationName:"networkCardIndex" type:"integer"`
103076
103077	// The attachment state.
103078	Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
103079}
103080
103081// String returns the string representation
103082func (s NetworkInterfaceAttachment) String() string {
103083	return awsutil.Prettify(s)
103084}
103085
103086// GoString returns the string representation
103087func (s NetworkInterfaceAttachment) GoString() string {
103088	return s.String()
103089}
103090
103091// SetAttachTime sets the AttachTime field's value.
103092func (s *NetworkInterfaceAttachment) SetAttachTime(v time.Time) *NetworkInterfaceAttachment {
103093	s.AttachTime = &v
103094	return s
103095}
103096
103097// SetAttachmentId sets the AttachmentId field's value.
103098func (s *NetworkInterfaceAttachment) SetAttachmentId(v string) *NetworkInterfaceAttachment {
103099	s.AttachmentId = &v
103100	return s
103101}
103102
103103// SetDeleteOnTermination sets the DeleteOnTermination field's value.
103104func (s *NetworkInterfaceAttachment) SetDeleteOnTermination(v bool) *NetworkInterfaceAttachment {
103105	s.DeleteOnTermination = &v
103106	return s
103107}
103108
103109// SetDeviceIndex sets the DeviceIndex field's value.
103110func (s *NetworkInterfaceAttachment) SetDeviceIndex(v int64) *NetworkInterfaceAttachment {
103111	s.DeviceIndex = &v
103112	return s
103113}
103114
103115// SetInstanceId sets the InstanceId field's value.
103116func (s *NetworkInterfaceAttachment) SetInstanceId(v string) *NetworkInterfaceAttachment {
103117	s.InstanceId = &v
103118	return s
103119}
103120
103121// SetInstanceOwnerId sets the InstanceOwnerId field's value.
103122func (s *NetworkInterfaceAttachment) SetInstanceOwnerId(v string) *NetworkInterfaceAttachment {
103123	s.InstanceOwnerId = &v
103124	return s
103125}
103126
103127// SetNetworkCardIndex sets the NetworkCardIndex field's value.
103128func (s *NetworkInterfaceAttachment) SetNetworkCardIndex(v int64) *NetworkInterfaceAttachment {
103129	s.NetworkCardIndex = &v
103130	return s
103131}
103132
103133// SetStatus sets the Status field's value.
103134func (s *NetworkInterfaceAttachment) SetStatus(v string) *NetworkInterfaceAttachment {
103135	s.Status = &v
103136	return s
103137}
103138
103139// Describes an attachment change.
103140type NetworkInterfaceAttachmentChanges struct {
103141	_ struct{} `type:"structure"`
103142
103143	// The ID of the network interface attachment.
103144	AttachmentId *string `locationName:"attachmentId" type:"string"`
103145
103146	// Indicates whether the network interface is deleted when the instance is terminated.
103147	DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
103148}
103149
103150// String returns the string representation
103151func (s NetworkInterfaceAttachmentChanges) String() string {
103152	return awsutil.Prettify(s)
103153}
103154
103155// GoString returns the string representation
103156func (s NetworkInterfaceAttachmentChanges) GoString() string {
103157	return s.String()
103158}
103159
103160// SetAttachmentId sets the AttachmentId field's value.
103161func (s *NetworkInterfaceAttachmentChanges) SetAttachmentId(v string) *NetworkInterfaceAttachmentChanges {
103162	s.AttachmentId = &v
103163	return s
103164}
103165
103166// SetDeleteOnTermination sets the DeleteOnTermination field's value.
103167func (s *NetworkInterfaceAttachmentChanges) SetDeleteOnTermination(v bool) *NetworkInterfaceAttachmentChanges {
103168	s.DeleteOnTermination = &v
103169	return s
103170}
103171
103172// Describes an IPv6 address associated with a network interface.
103173type NetworkInterfaceIpv6Address struct {
103174	_ struct{} `type:"structure"`
103175
103176	// The IPv6 address.
103177	Ipv6Address *string `locationName:"ipv6Address" type:"string"`
103178}
103179
103180// String returns the string representation
103181func (s NetworkInterfaceIpv6Address) String() string {
103182	return awsutil.Prettify(s)
103183}
103184
103185// GoString returns the string representation
103186func (s NetworkInterfaceIpv6Address) GoString() string {
103187	return s.String()
103188}
103189
103190// SetIpv6Address sets the Ipv6Address field's value.
103191func (s *NetworkInterfaceIpv6Address) SetIpv6Address(v string) *NetworkInterfaceIpv6Address {
103192	s.Ipv6Address = &v
103193	return s
103194}
103195
103196// Describes a permission for a network interface.
103197type NetworkInterfacePermission struct {
103198	_ struct{} `type:"structure"`
103199
103200	// The AWS account ID.
103201	AwsAccountId *string `locationName:"awsAccountId" type:"string"`
103202
103203	// The AWS service.
103204	AwsService *string `locationName:"awsService" type:"string"`
103205
103206	// The ID of the network interface.
103207	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
103208
103209	// The ID of the network interface permission.
103210	NetworkInterfacePermissionId *string `locationName:"networkInterfacePermissionId" type:"string"`
103211
103212	// The type of permission.
103213	Permission *string `locationName:"permission" type:"string" enum:"InterfacePermissionType"`
103214
103215	// Information about the state of the permission.
103216	PermissionState *NetworkInterfacePermissionState `locationName:"permissionState" type:"structure"`
103217}
103218
103219// String returns the string representation
103220func (s NetworkInterfacePermission) String() string {
103221	return awsutil.Prettify(s)
103222}
103223
103224// GoString returns the string representation
103225func (s NetworkInterfacePermission) GoString() string {
103226	return s.String()
103227}
103228
103229// SetAwsAccountId sets the AwsAccountId field's value.
103230func (s *NetworkInterfacePermission) SetAwsAccountId(v string) *NetworkInterfacePermission {
103231	s.AwsAccountId = &v
103232	return s
103233}
103234
103235// SetAwsService sets the AwsService field's value.
103236func (s *NetworkInterfacePermission) SetAwsService(v string) *NetworkInterfacePermission {
103237	s.AwsService = &v
103238	return s
103239}
103240
103241// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
103242func (s *NetworkInterfacePermission) SetNetworkInterfaceId(v string) *NetworkInterfacePermission {
103243	s.NetworkInterfaceId = &v
103244	return s
103245}
103246
103247// SetNetworkInterfacePermissionId sets the NetworkInterfacePermissionId field's value.
103248func (s *NetworkInterfacePermission) SetNetworkInterfacePermissionId(v string) *NetworkInterfacePermission {
103249	s.NetworkInterfacePermissionId = &v
103250	return s
103251}
103252
103253// SetPermission sets the Permission field's value.
103254func (s *NetworkInterfacePermission) SetPermission(v string) *NetworkInterfacePermission {
103255	s.Permission = &v
103256	return s
103257}
103258
103259// SetPermissionState sets the PermissionState field's value.
103260func (s *NetworkInterfacePermission) SetPermissionState(v *NetworkInterfacePermissionState) *NetworkInterfacePermission {
103261	s.PermissionState = v
103262	return s
103263}
103264
103265// Describes the state of a network interface permission.
103266type NetworkInterfacePermissionState struct {
103267	_ struct{} `type:"structure"`
103268
103269	// The state of the permission.
103270	State *string `locationName:"state" type:"string" enum:"NetworkInterfacePermissionStateCode"`
103271
103272	// A status message, if applicable.
103273	StatusMessage *string `locationName:"statusMessage" type:"string"`
103274}
103275
103276// String returns the string representation
103277func (s NetworkInterfacePermissionState) String() string {
103278	return awsutil.Prettify(s)
103279}
103280
103281// GoString returns the string representation
103282func (s NetworkInterfacePermissionState) GoString() string {
103283	return s.String()
103284}
103285
103286// SetState sets the State field's value.
103287func (s *NetworkInterfacePermissionState) SetState(v string) *NetworkInterfacePermissionState {
103288	s.State = &v
103289	return s
103290}
103291
103292// SetStatusMessage sets the StatusMessage field's value.
103293func (s *NetworkInterfacePermissionState) SetStatusMessage(v string) *NetworkInterfacePermissionState {
103294	s.StatusMessage = &v
103295	return s
103296}
103297
103298// Describes the private IPv4 address of a network interface.
103299type NetworkInterfacePrivateIpAddress struct {
103300	_ struct{} `type:"structure"`
103301
103302	// The association information for an Elastic IP address (IPv4) associated with
103303	// the network interface.
103304	Association *NetworkInterfaceAssociation `locationName:"association" type:"structure"`
103305
103306	// Indicates whether this IPv4 address is the primary private IPv4 address of
103307	// the network interface.
103308	Primary *bool `locationName:"primary" type:"boolean"`
103309
103310	// The private DNS name.
103311	PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
103312
103313	// The private IPv4 address.
103314	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
103315}
103316
103317// String returns the string representation
103318func (s NetworkInterfacePrivateIpAddress) String() string {
103319	return awsutil.Prettify(s)
103320}
103321
103322// GoString returns the string representation
103323func (s NetworkInterfacePrivateIpAddress) GoString() string {
103324	return s.String()
103325}
103326
103327// SetAssociation sets the Association field's value.
103328func (s *NetworkInterfacePrivateIpAddress) SetAssociation(v *NetworkInterfaceAssociation) *NetworkInterfacePrivateIpAddress {
103329	s.Association = v
103330	return s
103331}
103332
103333// SetPrimary sets the Primary field's value.
103334func (s *NetworkInterfacePrivateIpAddress) SetPrimary(v bool) *NetworkInterfacePrivateIpAddress {
103335	s.Primary = &v
103336	return s
103337}
103338
103339// SetPrivateDnsName sets the PrivateDnsName field's value.
103340func (s *NetworkInterfacePrivateIpAddress) SetPrivateDnsName(v string) *NetworkInterfacePrivateIpAddress {
103341	s.PrivateDnsName = &v
103342	return s
103343}
103344
103345// SetPrivateIpAddress sets the PrivateIpAddress field's value.
103346func (s *NetworkInterfacePrivateIpAddress) SetPrivateIpAddress(v string) *NetworkInterfacePrivateIpAddress {
103347	s.PrivateIpAddress = &v
103348	return s
103349}
103350
103351type NewDhcpConfiguration struct {
103352	_ struct{} `type:"structure"`
103353
103354	Key *string `locationName:"key" type:"string"`
103355
103356	Values []*string `locationName:"Value" locationNameList:"item" type:"list"`
103357}
103358
103359// String returns the string representation
103360func (s NewDhcpConfiguration) String() string {
103361	return awsutil.Prettify(s)
103362}
103363
103364// GoString returns the string representation
103365func (s NewDhcpConfiguration) GoString() string {
103366	return s.String()
103367}
103368
103369// SetKey sets the Key field's value.
103370func (s *NewDhcpConfiguration) SetKey(v string) *NewDhcpConfiguration {
103371	s.Key = &v
103372	return s
103373}
103374
103375// SetValues sets the Values field's value.
103376func (s *NewDhcpConfiguration) SetValues(v []*string) *NewDhcpConfiguration {
103377	s.Values = v
103378	return s
103379}
103380
103381// Describes the configuration of On-Demand Instances in an EC2 Fleet.
103382type OnDemandOptions struct {
103383	_ struct{} `type:"structure"`
103384
103385	// The order of the launch template overrides to use in fulfilling On-Demand
103386	// capacity. If you specify lowest-price, EC2 Fleet uses price to determine
103387	// the order, launching the lowest price first. If you specify prioritized,
103388	// EC2 Fleet uses the priority that you assigned to each launch template override,
103389	// launching the highest priority first. If you do not specify a value, EC2
103390	// Fleet defaults to lowest-price.
103391	AllocationStrategy *string `locationName:"allocationStrategy" type:"string" enum:"FleetOnDemandAllocationStrategy"`
103392
103393	// The strategy for using unused Capacity Reservations for fulfilling On-Demand
103394	// capacity. Supported only for fleets of type instant.
103395	CapacityReservationOptions *CapacityReservationOptions `locationName:"capacityReservationOptions" type:"structure"`
103396
103397	// The maximum amount per hour for On-Demand Instances that you're willing to
103398	// pay.
103399	MaxTotalPrice *string `locationName:"maxTotalPrice" type:"string"`
103400
103401	// The minimum target capacity for On-Demand Instances in the fleet. If the
103402	// minimum target capacity is not reached, the fleet launches no instances.
103403	MinTargetCapacity *int64 `locationName:"minTargetCapacity" type:"integer"`
103404
103405	// Indicates that the fleet launches all On-Demand Instances into a single Availability
103406	// Zone. Supported only for fleets of type instant.
103407	SingleAvailabilityZone *bool `locationName:"singleAvailabilityZone" type:"boolean"`
103408
103409	// Indicates that the fleet uses a single instance type to launch all On-Demand
103410	// Instances in the fleet. Supported only for fleets of type instant.
103411	SingleInstanceType *bool `locationName:"singleInstanceType" type:"boolean"`
103412}
103413
103414// String returns the string representation
103415func (s OnDemandOptions) String() string {
103416	return awsutil.Prettify(s)
103417}
103418
103419// GoString returns the string representation
103420func (s OnDemandOptions) GoString() string {
103421	return s.String()
103422}
103423
103424// SetAllocationStrategy sets the AllocationStrategy field's value.
103425func (s *OnDemandOptions) SetAllocationStrategy(v string) *OnDemandOptions {
103426	s.AllocationStrategy = &v
103427	return s
103428}
103429
103430// SetCapacityReservationOptions sets the CapacityReservationOptions field's value.
103431func (s *OnDemandOptions) SetCapacityReservationOptions(v *CapacityReservationOptions) *OnDemandOptions {
103432	s.CapacityReservationOptions = v
103433	return s
103434}
103435
103436// SetMaxTotalPrice sets the MaxTotalPrice field's value.
103437func (s *OnDemandOptions) SetMaxTotalPrice(v string) *OnDemandOptions {
103438	s.MaxTotalPrice = &v
103439	return s
103440}
103441
103442// SetMinTargetCapacity sets the MinTargetCapacity field's value.
103443func (s *OnDemandOptions) SetMinTargetCapacity(v int64) *OnDemandOptions {
103444	s.MinTargetCapacity = &v
103445	return s
103446}
103447
103448// SetSingleAvailabilityZone sets the SingleAvailabilityZone field's value.
103449func (s *OnDemandOptions) SetSingleAvailabilityZone(v bool) *OnDemandOptions {
103450	s.SingleAvailabilityZone = &v
103451	return s
103452}
103453
103454// SetSingleInstanceType sets the SingleInstanceType field's value.
103455func (s *OnDemandOptions) SetSingleInstanceType(v bool) *OnDemandOptions {
103456	s.SingleInstanceType = &v
103457	return s
103458}
103459
103460// Describes the configuration of On-Demand Instances in an EC2 Fleet.
103461type OnDemandOptionsRequest struct {
103462	_ struct{} `type:"structure"`
103463
103464	// The order of the launch template overrides to use in fulfilling On-Demand
103465	// capacity. If you specify lowest-price, EC2 Fleet uses price to determine
103466	// the order, launching the lowest price first. If you specify prioritized,
103467	// EC2 Fleet uses the priority that you assigned to each launch template override,
103468	// launching the highest priority first. If you do not specify a value, EC2
103469	// Fleet defaults to lowest-price.
103470	AllocationStrategy *string `type:"string" enum:"FleetOnDemandAllocationStrategy"`
103471
103472	// The strategy for using unused Capacity Reservations for fulfilling On-Demand
103473	// capacity. Supported only for fleets of type instant.
103474	CapacityReservationOptions *CapacityReservationOptionsRequest `type:"structure"`
103475
103476	// The maximum amount per hour for On-Demand Instances that you're willing to
103477	// pay.
103478	MaxTotalPrice *string `type:"string"`
103479
103480	// The minimum target capacity for On-Demand Instances in the fleet. If the
103481	// minimum target capacity is not reached, the fleet launches no instances.
103482	MinTargetCapacity *int64 `type:"integer"`
103483
103484	// Indicates that the fleet launches all On-Demand Instances into a single Availability
103485	// Zone. Supported only for fleets of type instant.
103486	SingleAvailabilityZone *bool `type:"boolean"`
103487
103488	// Indicates that the fleet uses a single instance type to launch all On-Demand
103489	// Instances in the fleet. Supported only for fleets of type instant.
103490	SingleInstanceType *bool `type:"boolean"`
103491}
103492
103493// String returns the string representation
103494func (s OnDemandOptionsRequest) String() string {
103495	return awsutil.Prettify(s)
103496}
103497
103498// GoString returns the string representation
103499func (s OnDemandOptionsRequest) GoString() string {
103500	return s.String()
103501}
103502
103503// SetAllocationStrategy sets the AllocationStrategy field's value.
103504func (s *OnDemandOptionsRequest) SetAllocationStrategy(v string) *OnDemandOptionsRequest {
103505	s.AllocationStrategy = &v
103506	return s
103507}
103508
103509// SetCapacityReservationOptions sets the CapacityReservationOptions field's value.
103510func (s *OnDemandOptionsRequest) SetCapacityReservationOptions(v *CapacityReservationOptionsRequest) *OnDemandOptionsRequest {
103511	s.CapacityReservationOptions = v
103512	return s
103513}
103514
103515// SetMaxTotalPrice sets the MaxTotalPrice field's value.
103516func (s *OnDemandOptionsRequest) SetMaxTotalPrice(v string) *OnDemandOptionsRequest {
103517	s.MaxTotalPrice = &v
103518	return s
103519}
103520
103521// SetMinTargetCapacity sets the MinTargetCapacity field's value.
103522func (s *OnDemandOptionsRequest) SetMinTargetCapacity(v int64) *OnDemandOptionsRequest {
103523	s.MinTargetCapacity = &v
103524	return s
103525}
103526
103527// SetSingleAvailabilityZone sets the SingleAvailabilityZone field's value.
103528func (s *OnDemandOptionsRequest) SetSingleAvailabilityZone(v bool) *OnDemandOptionsRequest {
103529	s.SingleAvailabilityZone = &v
103530	return s
103531}
103532
103533// SetSingleInstanceType sets the SingleInstanceType field's value.
103534func (s *OnDemandOptionsRequest) SetSingleInstanceType(v bool) *OnDemandOptionsRequest {
103535	s.SingleInstanceType = &v
103536	return s
103537}
103538
103539// Describes a path component.
103540type PathComponent struct {
103541	_ struct{} `type:"structure"`
103542
103543	// The network ACL rule.
103544	AclRule *AnalysisAclRule `locationName:"aclRule" type:"structure"`
103545
103546	// The component.
103547	Component *AnalysisComponent `locationName:"component" type:"structure"`
103548
103549	// The destination VPC.
103550	DestinationVpc *AnalysisComponent `locationName:"destinationVpc" type:"structure"`
103551
103552	// The inbound header.
103553	InboundHeader *AnalysisPacketHeader `locationName:"inboundHeader" type:"structure"`
103554
103555	// The outbound header.
103556	OutboundHeader *AnalysisPacketHeader `locationName:"outboundHeader" type:"structure"`
103557
103558	// The route table route.
103559	RouteTableRoute *AnalysisRouteTableRoute `locationName:"routeTableRoute" type:"structure"`
103560
103561	// The security group rule.
103562	SecurityGroupRule *AnalysisSecurityGroupRule `locationName:"securityGroupRule" type:"structure"`
103563
103564	// The sequence number.
103565	SequenceNumber *int64 `locationName:"sequenceNumber" type:"integer"`
103566
103567	// The source VPC.
103568	SourceVpc *AnalysisComponent `locationName:"sourceVpc" type:"structure"`
103569
103570	// The subnet.
103571	Subnet *AnalysisComponent `locationName:"subnet" type:"structure"`
103572
103573	// The component VPC.
103574	Vpc *AnalysisComponent `locationName:"vpc" type:"structure"`
103575}
103576
103577// String returns the string representation
103578func (s PathComponent) String() string {
103579	return awsutil.Prettify(s)
103580}
103581
103582// GoString returns the string representation
103583func (s PathComponent) GoString() string {
103584	return s.String()
103585}
103586
103587// SetAclRule sets the AclRule field's value.
103588func (s *PathComponent) SetAclRule(v *AnalysisAclRule) *PathComponent {
103589	s.AclRule = v
103590	return s
103591}
103592
103593// SetComponent sets the Component field's value.
103594func (s *PathComponent) SetComponent(v *AnalysisComponent) *PathComponent {
103595	s.Component = v
103596	return s
103597}
103598
103599// SetDestinationVpc sets the DestinationVpc field's value.
103600func (s *PathComponent) SetDestinationVpc(v *AnalysisComponent) *PathComponent {
103601	s.DestinationVpc = v
103602	return s
103603}
103604
103605// SetInboundHeader sets the InboundHeader field's value.
103606func (s *PathComponent) SetInboundHeader(v *AnalysisPacketHeader) *PathComponent {
103607	s.InboundHeader = v
103608	return s
103609}
103610
103611// SetOutboundHeader sets the OutboundHeader field's value.
103612func (s *PathComponent) SetOutboundHeader(v *AnalysisPacketHeader) *PathComponent {
103613	s.OutboundHeader = v
103614	return s
103615}
103616
103617// SetRouteTableRoute sets the RouteTableRoute field's value.
103618func (s *PathComponent) SetRouteTableRoute(v *AnalysisRouteTableRoute) *PathComponent {
103619	s.RouteTableRoute = v
103620	return s
103621}
103622
103623// SetSecurityGroupRule sets the SecurityGroupRule field's value.
103624func (s *PathComponent) SetSecurityGroupRule(v *AnalysisSecurityGroupRule) *PathComponent {
103625	s.SecurityGroupRule = v
103626	return s
103627}
103628
103629// SetSequenceNumber sets the SequenceNumber field's value.
103630func (s *PathComponent) SetSequenceNumber(v int64) *PathComponent {
103631	s.SequenceNumber = &v
103632	return s
103633}
103634
103635// SetSourceVpc sets the SourceVpc field's value.
103636func (s *PathComponent) SetSourceVpc(v *AnalysisComponent) *PathComponent {
103637	s.SourceVpc = v
103638	return s
103639}
103640
103641// SetSubnet sets the Subnet field's value.
103642func (s *PathComponent) SetSubnet(v *AnalysisComponent) *PathComponent {
103643	s.Subnet = v
103644	return s
103645}
103646
103647// SetVpc sets the Vpc field's value.
103648func (s *PathComponent) SetVpc(v *AnalysisComponent) *PathComponent {
103649	s.Vpc = v
103650	return s
103651}
103652
103653// Describes the data that identifies an Amazon FPGA image (AFI) on the PCI
103654// bus.
103655type PciId struct {
103656	_ struct{} `type:"structure"`
103657
103658	// The ID of the device.
103659	DeviceId *string `type:"string"`
103660
103661	// The ID of the subsystem.
103662	SubsystemId *string `type:"string"`
103663
103664	// The ID of the vendor for the subsystem.
103665	SubsystemVendorId *string `type:"string"`
103666
103667	// The ID of the vendor.
103668	VendorId *string `type:"string"`
103669}
103670
103671// String returns the string representation
103672func (s PciId) String() string {
103673	return awsutil.Prettify(s)
103674}
103675
103676// GoString returns the string representation
103677func (s PciId) GoString() string {
103678	return s.String()
103679}
103680
103681// SetDeviceId sets the DeviceId field's value.
103682func (s *PciId) SetDeviceId(v string) *PciId {
103683	s.DeviceId = &v
103684	return s
103685}
103686
103687// SetSubsystemId sets the SubsystemId field's value.
103688func (s *PciId) SetSubsystemId(v string) *PciId {
103689	s.SubsystemId = &v
103690	return s
103691}
103692
103693// SetSubsystemVendorId sets the SubsystemVendorId field's value.
103694func (s *PciId) SetSubsystemVendorId(v string) *PciId {
103695	s.SubsystemVendorId = &v
103696	return s
103697}
103698
103699// SetVendorId sets the VendorId field's value.
103700func (s *PciId) SetVendorId(v string) *PciId {
103701	s.VendorId = &v
103702	return s
103703}
103704
103705// The status of the transit gateway peering attachment.
103706type PeeringAttachmentStatus struct {
103707	_ struct{} `type:"structure"`
103708
103709	// The status code.
103710	Code *string `locationName:"code" type:"string"`
103711
103712	// The status message, if applicable.
103713	Message *string `locationName:"message" type:"string"`
103714}
103715
103716// String returns the string representation
103717func (s PeeringAttachmentStatus) String() string {
103718	return awsutil.Prettify(s)
103719}
103720
103721// GoString returns the string representation
103722func (s PeeringAttachmentStatus) GoString() string {
103723	return s.String()
103724}
103725
103726// SetCode sets the Code field's value.
103727func (s *PeeringAttachmentStatus) SetCode(v string) *PeeringAttachmentStatus {
103728	s.Code = &v
103729	return s
103730}
103731
103732// SetMessage sets the Message field's value.
103733func (s *PeeringAttachmentStatus) SetMessage(v string) *PeeringAttachmentStatus {
103734	s.Message = &v
103735	return s
103736}
103737
103738// Describes the VPC peering connection options.
103739type PeeringConnectionOptions struct {
103740	_ struct{} `type:"structure"`
103741
103742	// If true, the public DNS hostnames of instances in the specified VPC resolve
103743	// to private IP addresses when queried from instances in the peer VPC.
103744	AllowDnsResolutionFromRemoteVpc *bool `locationName:"allowDnsResolutionFromRemoteVpc" type:"boolean"`
103745
103746	// If true, enables outbound communication from an EC2-Classic instance that's
103747	// linked to a local VPC using ClassicLink to instances in a peer VPC.
103748	AllowEgressFromLocalClassicLinkToRemoteVpc *bool `locationName:"allowEgressFromLocalClassicLinkToRemoteVpc" type:"boolean"`
103749
103750	// If true, enables outbound communication from instances in a local VPC to
103751	// an EC2-Classic instance that's linked to a peer VPC using ClassicLink.
103752	AllowEgressFromLocalVpcToRemoteClassicLink *bool `locationName:"allowEgressFromLocalVpcToRemoteClassicLink" type:"boolean"`
103753}
103754
103755// String returns the string representation
103756func (s PeeringConnectionOptions) String() string {
103757	return awsutil.Prettify(s)
103758}
103759
103760// GoString returns the string representation
103761func (s PeeringConnectionOptions) GoString() string {
103762	return s.String()
103763}
103764
103765// SetAllowDnsResolutionFromRemoteVpc sets the AllowDnsResolutionFromRemoteVpc field's value.
103766func (s *PeeringConnectionOptions) SetAllowDnsResolutionFromRemoteVpc(v bool) *PeeringConnectionOptions {
103767	s.AllowDnsResolutionFromRemoteVpc = &v
103768	return s
103769}
103770
103771// SetAllowEgressFromLocalClassicLinkToRemoteVpc sets the AllowEgressFromLocalClassicLinkToRemoteVpc field's value.
103772func (s *PeeringConnectionOptions) SetAllowEgressFromLocalClassicLinkToRemoteVpc(v bool) *PeeringConnectionOptions {
103773	s.AllowEgressFromLocalClassicLinkToRemoteVpc = &v
103774	return s
103775}
103776
103777// SetAllowEgressFromLocalVpcToRemoteClassicLink sets the AllowEgressFromLocalVpcToRemoteClassicLink field's value.
103778func (s *PeeringConnectionOptions) SetAllowEgressFromLocalVpcToRemoteClassicLink(v bool) *PeeringConnectionOptions {
103779	s.AllowEgressFromLocalVpcToRemoteClassicLink = &v
103780	return s
103781}
103782
103783// The VPC peering connection options.
103784type PeeringConnectionOptionsRequest struct {
103785	_ struct{} `type:"structure"`
103786
103787	// If true, enables a local VPC to resolve public DNS hostnames to private IP
103788	// addresses when queried from instances in the peer VPC.
103789	AllowDnsResolutionFromRemoteVpc *bool `type:"boolean"`
103790
103791	// If true, enables outbound communication from an EC2-Classic instance that's
103792	// linked to a local VPC using ClassicLink to instances in a peer VPC.
103793	AllowEgressFromLocalClassicLinkToRemoteVpc *bool `type:"boolean"`
103794
103795	// If true, enables outbound communication from instances in a local VPC to
103796	// an EC2-Classic instance that's linked to a peer VPC using ClassicLink.
103797	AllowEgressFromLocalVpcToRemoteClassicLink *bool `type:"boolean"`
103798}
103799
103800// String returns the string representation
103801func (s PeeringConnectionOptionsRequest) String() string {
103802	return awsutil.Prettify(s)
103803}
103804
103805// GoString returns the string representation
103806func (s PeeringConnectionOptionsRequest) GoString() string {
103807	return s.String()
103808}
103809
103810// SetAllowDnsResolutionFromRemoteVpc sets the AllowDnsResolutionFromRemoteVpc field's value.
103811func (s *PeeringConnectionOptionsRequest) SetAllowDnsResolutionFromRemoteVpc(v bool) *PeeringConnectionOptionsRequest {
103812	s.AllowDnsResolutionFromRemoteVpc = &v
103813	return s
103814}
103815
103816// SetAllowEgressFromLocalClassicLinkToRemoteVpc sets the AllowEgressFromLocalClassicLinkToRemoteVpc field's value.
103817func (s *PeeringConnectionOptionsRequest) SetAllowEgressFromLocalClassicLinkToRemoteVpc(v bool) *PeeringConnectionOptionsRequest {
103818	s.AllowEgressFromLocalClassicLinkToRemoteVpc = &v
103819	return s
103820}
103821
103822// SetAllowEgressFromLocalVpcToRemoteClassicLink sets the AllowEgressFromLocalVpcToRemoteClassicLink field's value.
103823func (s *PeeringConnectionOptionsRequest) SetAllowEgressFromLocalVpcToRemoteClassicLink(v bool) *PeeringConnectionOptionsRequest {
103824	s.AllowEgressFromLocalVpcToRemoteClassicLink = &v
103825	return s
103826}
103827
103828// Information about the transit gateway in the peering attachment.
103829type PeeringTgwInfo struct {
103830	_ struct{} `type:"structure"`
103831
103832	// The AWS account ID of the owner of the transit gateway.
103833	OwnerId *string `locationName:"ownerId" type:"string"`
103834
103835	// The Region of the transit gateway.
103836	Region *string `locationName:"region" type:"string"`
103837
103838	// The ID of the transit gateway.
103839	TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
103840}
103841
103842// String returns the string representation
103843func (s PeeringTgwInfo) String() string {
103844	return awsutil.Prettify(s)
103845}
103846
103847// GoString returns the string representation
103848func (s PeeringTgwInfo) GoString() string {
103849	return s.String()
103850}
103851
103852// SetOwnerId sets the OwnerId field's value.
103853func (s *PeeringTgwInfo) SetOwnerId(v string) *PeeringTgwInfo {
103854	s.OwnerId = &v
103855	return s
103856}
103857
103858// SetRegion sets the Region field's value.
103859func (s *PeeringTgwInfo) SetRegion(v string) *PeeringTgwInfo {
103860	s.Region = &v
103861	return s
103862}
103863
103864// SetTransitGatewayId sets the TransitGatewayId field's value.
103865func (s *PeeringTgwInfo) SetTransitGatewayId(v string) *PeeringTgwInfo {
103866	s.TransitGatewayId = &v
103867	return s
103868}
103869
103870// The Diffie-Hellmann group number for phase 1 IKE negotiations.
103871type Phase1DHGroupNumbersListValue struct {
103872	_ struct{} `type:"structure"`
103873
103874	// The Diffie-Hellmann group number.
103875	Value *int64 `locationName:"value" type:"integer"`
103876}
103877
103878// String returns the string representation
103879func (s Phase1DHGroupNumbersListValue) String() string {
103880	return awsutil.Prettify(s)
103881}
103882
103883// GoString returns the string representation
103884func (s Phase1DHGroupNumbersListValue) GoString() string {
103885	return s.String()
103886}
103887
103888// SetValue sets the Value field's value.
103889func (s *Phase1DHGroupNumbersListValue) SetValue(v int64) *Phase1DHGroupNumbersListValue {
103890	s.Value = &v
103891	return s
103892}
103893
103894// Specifies a Diffie-Hellman group number for the VPN tunnel for phase 1 IKE
103895// negotiations.
103896type Phase1DHGroupNumbersRequestListValue struct {
103897	_ struct{} `type:"structure"`
103898
103899	// The Diffie-Hellmann group number.
103900	Value *int64 `type:"integer"`
103901}
103902
103903// String returns the string representation
103904func (s Phase1DHGroupNumbersRequestListValue) String() string {
103905	return awsutil.Prettify(s)
103906}
103907
103908// GoString returns the string representation
103909func (s Phase1DHGroupNumbersRequestListValue) GoString() string {
103910	return s.String()
103911}
103912
103913// SetValue sets the Value field's value.
103914func (s *Phase1DHGroupNumbersRequestListValue) SetValue(v int64) *Phase1DHGroupNumbersRequestListValue {
103915	s.Value = &v
103916	return s
103917}
103918
103919// The encryption algorithm for phase 1 IKE negotiations.
103920type Phase1EncryptionAlgorithmsListValue struct {
103921	_ struct{} `type:"structure"`
103922
103923	// The value for the encryption algorithm.
103924	Value *string `locationName:"value" type:"string"`
103925}
103926
103927// String returns the string representation
103928func (s Phase1EncryptionAlgorithmsListValue) String() string {
103929	return awsutil.Prettify(s)
103930}
103931
103932// GoString returns the string representation
103933func (s Phase1EncryptionAlgorithmsListValue) GoString() string {
103934	return s.String()
103935}
103936
103937// SetValue sets the Value field's value.
103938func (s *Phase1EncryptionAlgorithmsListValue) SetValue(v string) *Phase1EncryptionAlgorithmsListValue {
103939	s.Value = &v
103940	return s
103941}
103942
103943// Specifies the encryption algorithm for the VPN tunnel for phase 1 IKE negotiations.
103944type Phase1EncryptionAlgorithmsRequestListValue struct {
103945	_ struct{} `type:"structure"`
103946
103947	// The value for the encryption algorithm.
103948	Value *string `type:"string"`
103949}
103950
103951// String returns the string representation
103952func (s Phase1EncryptionAlgorithmsRequestListValue) String() string {
103953	return awsutil.Prettify(s)
103954}
103955
103956// GoString returns the string representation
103957func (s Phase1EncryptionAlgorithmsRequestListValue) GoString() string {
103958	return s.String()
103959}
103960
103961// SetValue sets the Value field's value.
103962func (s *Phase1EncryptionAlgorithmsRequestListValue) SetValue(v string) *Phase1EncryptionAlgorithmsRequestListValue {
103963	s.Value = &v
103964	return s
103965}
103966
103967// The integrity algorithm for phase 1 IKE negotiations.
103968type Phase1IntegrityAlgorithmsListValue struct {
103969	_ struct{} `type:"structure"`
103970
103971	// The value for the integrity algorithm.
103972	Value *string `locationName:"value" type:"string"`
103973}
103974
103975// String returns the string representation
103976func (s Phase1IntegrityAlgorithmsListValue) String() string {
103977	return awsutil.Prettify(s)
103978}
103979
103980// GoString returns the string representation
103981func (s Phase1IntegrityAlgorithmsListValue) GoString() string {
103982	return s.String()
103983}
103984
103985// SetValue sets the Value field's value.
103986func (s *Phase1IntegrityAlgorithmsListValue) SetValue(v string) *Phase1IntegrityAlgorithmsListValue {
103987	s.Value = &v
103988	return s
103989}
103990
103991// Specifies the integrity algorithm for the VPN tunnel for phase 1 IKE negotiations.
103992type Phase1IntegrityAlgorithmsRequestListValue struct {
103993	_ struct{} `type:"structure"`
103994
103995	// The value for the integrity algorithm.
103996	Value *string `type:"string"`
103997}
103998
103999// String returns the string representation
104000func (s Phase1IntegrityAlgorithmsRequestListValue) String() string {
104001	return awsutil.Prettify(s)
104002}
104003
104004// GoString returns the string representation
104005func (s Phase1IntegrityAlgorithmsRequestListValue) GoString() string {
104006	return s.String()
104007}
104008
104009// SetValue sets the Value field's value.
104010func (s *Phase1IntegrityAlgorithmsRequestListValue) SetValue(v string) *Phase1IntegrityAlgorithmsRequestListValue {
104011	s.Value = &v
104012	return s
104013}
104014
104015// The Diffie-Hellmann group number for phase 2 IKE negotiations.
104016type Phase2DHGroupNumbersListValue struct {
104017	_ struct{} `type:"structure"`
104018
104019	// The Diffie-Hellmann group number.
104020	Value *int64 `locationName:"value" type:"integer"`
104021}
104022
104023// String returns the string representation
104024func (s Phase2DHGroupNumbersListValue) String() string {
104025	return awsutil.Prettify(s)
104026}
104027
104028// GoString returns the string representation
104029func (s Phase2DHGroupNumbersListValue) GoString() string {
104030	return s.String()
104031}
104032
104033// SetValue sets the Value field's value.
104034func (s *Phase2DHGroupNumbersListValue) SetValue(v int64) *Phase2DHGroupNumbersListValue {
104035	s.Value = &v
104036	return s
104037}
104038
104039// Specifies a Diffie-Hellman group number for the VPN tunnel for phase 2 IKE
104040// negotiations.
104041type Phase2DHGroupNumbersRequestListValue struct {
104042	_ struct{} `type:"structure"`
104043
104044	// The Diffie-Hellmann group number.
104045	Value *int64 `type:"integer"`
104046}
104047
104048// String returns the string representation
104049func (s Phase2DHGroupNumbersRequestListValue) String() string {
104050	return awsutil.Prettify(s)
104051}
104052
104053// GoString returns the string representation
104054func (s Phase2DHGroupNumbersRequestListValue) GoString() string {
104055	return s.String()
104056}
104057
104058// SetValue sets the Value field's value.
104059func (s *Phase2DHGroupNumbersRequestListValue) SetValue(v int64) *Phase2DHGroupNumbersRequestListValue {
104060	s.Value = &v
104061	return s
104062}
104063
104064// The encryption algorithm for phase 2 IKE negotiations.
104065type Phase2EncryptionAlgorithmsListValue struct {
104066	_ struct{} `type:"structure"`
104067
104068	// The encryption algorithm.
104069	Value *string `locationName:"value" type:"string"`
104070}
104071
104072// String returns the string representation
104073func (s Phase2EncryptionAlgorithmsListValue) String() string {
104074	return awsutil.Prettify(s)
104075}
104076
104077// GoString returns the string representation
104078func (s Phase2EncryptionAlgorithmsListValue) GoString() string {
104079	return s.String()
104080}
104081
104082// SetValue sets the Value field's value.
104083func (s *Phase2EncryptionAlgorithmsListValue) SetValue(v string) *Phase2EncryptionAlgorithmsListValue {
104084	s.Value = &v
104085	return s
104086}
104087
104088// Specifies the encryption algorithm for the VPN tunnel for phase 2 IKE negotiations.
104089type Phase2EncryptionAlgorithmsRequestListValue struct {
104090	_ struct{} `type:"structure"`
104091
104092	// The encryption algorithm.
104093	Value *string `type:"string"`
104094}
104095
104096// String returns the string representation
104097func (s Phase2EncryptionAlgorithmsRequestListValue) String() string {
104098	return awsutil.Prettify(s)
104099}
104100
104101// GoString returns the string representation
104102func (s Phase2EncryptionAlgorithmsRequestListValue) GoString() string {
104103	return s.String()
104104}
104105
104106// SetValue sets the Value field's value.
104107func (s *Phase2EncryptionAlgorithmsRequestListValue) SetValue(v string) *Phase2EncryptionAlgorithmsRequestListValue {
104108	s.Value = &v
104109	return s
104110}
104111
104112// The integrity algorithm for phase 2 IKE negotiations.
104113type Phase2IntegrityAlgorithmsListValue struct {
104114	_ struct{} `type:"structure"`
104115
104116	// The integrity algorithm.
104117	Value *string `locationName:"value" type:"string"`
104118}
104119
104120// String returns the string representation
104121func (s Phase2IntegrityAlgorithmsListValue) String() string {
104122	return awsutil.Prettify(s)
104123}
104124
104125// GoString returns the string representation
104126func (s Phase2IntegrityAlgorithmsListValue) GoString() string {
104127	return s.String()
104128}
104129
104130// SetValue sets the Value field's value.
104131func (s *Phase2IntegrityAlgorithmsListValue) SetValue(v string) *Phase2IntegrityAlgorithmsListValue {
104132	s.Value = &v
104133	return s
104134}
104135
104136// Specifies the integrity algorithm for the VPN tunnel for phase 2 IKE negotiations.
104137type Phase2IntegrityAlgorithmsRequestListValue struct {
104138	_ struct{} `type:"structure"`
104139
104140	// The integrity algorithm.
104141	Value *string `type:"string"`
104142}
104143
104144// String returns the string representation
104145func (s Phase2IntegrityAlgorithmsRequestListValue) String() string {
104146	return awsutil.Prettify(s)
104147}
104148
104149// GoString returns the string representation
104150func (s Phase2IntegrityAlgorithmsRequestListValue) GoString() string {
104151	return s.String()
104152}
104153
104154// SetValue sets the Value field's value.
104155func (s *Phase2IntegrityAlgorithmsRequestListValue) SetValue(v string) *Phase2IntegrityAlgorithmsRequestListValue {
104156	s.Value = &v
104157	return s
104158}
104159
104160// Describes the placement of an instance.
104161type Placement struct {
104162	_ struct{} `type:"structure"`
104163
104164	// The affinity setting for the instance on the Dedicated Host. This parameter
104165	// is not supported for the ImportInstance (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportInstance.html)
104166	// command.
104167	//
104168	// This parameter is not supported by CreateFleet (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet).
104169	Affinity *string `locationName:"affinity" type:"string"`
104170
104171	// The Availability Zone of the instance.
104172	//
104173	// If not specified, an Availability Zone will be automatically chosen for you
104174	// based on the load balancing criteria for the Region.
104175	//
104176	// This parameter is not supported by CreateFleet (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet).
104177	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
104178
104179	// The name of the placement group the instance is in.
104180	GroupName *string `locationName:"groupName" type:"string"`
104181
104182	// The ID of the Dedicated Host on which the instance resides. This parameter
104183	// is not supported for the ImportInstance (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportInstance.html)
104184	// command.
104185	//
104186	// This parameter is not supported by CreateFleet (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet).
104187	HostId *string `locationName:"hostId" type:"string"`
104188
104189	// The ARN of the host resource group in which to launch the instances. If you
104190	// specify a host resource group ARN, omit the Tenancy parameter or set it to
104191	// host.
104192	//
104193	// This parameter is not supported by CreateFleet (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet).
104194	HostResourceGroupArn *string `locationName:"hostResourceGroupArn" type:"string"`
104195
104196	// The number of the partition the instance is in. Valid only if the placement
104197	// group strategy is set to partition.
104198	//
104199	// This parameter is not supported by CreateFleet (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet).
104200	PartitionNumber *int64 `locationName:"partitionNumber" type:"integer"`
104201
104202	// Reserved for future use.
104203	//
104204	// This parameter is not supported by CreateFleet (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet).
104205	SpreadDomain *string `locationName:"spreadDomain" type:"string"`
104206
104207	// The tenancy of the instance (if the instance is running in a VPC). An instance
104208	// with a tenancy of dedicated runs on single-tenant hardware. The host tenancy
104209	// is not supported for the ImportInstance (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportInstance.html)
104210	// command.
104211	//
104212	// This parameter is not supported by CreateFleet (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet).
104213	Tenancy *string `locationName:"tenancy" type:"string" enum:"Tenancy"`
104214}
104215
104216// String returns the string representation
104217func (s Placement) String() string {
104218	return awsutil.Prettify(s)
104219}
104220
104221// GoString returns the string representation
104222func (s Placement) GoString() string {
104223	return s.String()
104224}
104225
104226// SetAffinity sets the Affinity field's value.
104227func (s *Placement) SetAffinity(v string) *Placement {
104228	s.Affinity = &v
104229	return s
104230}
104231
104232// SetAvailabilityZone sets the AvailabilityZone field's value.
104233func (s *Placement) SetAvailabilityZone(v string) *Placement {
104234	s.AvailabilityZone = &v
104235	return s
104236}
104237
104238// SetGroupName sets the GroupName field's value.
104239func (s *Placement) SetGroupName(v string) *Placement {
104240	s.GroupName = &v
104241	return s
104242}
104243
104244// SetHostId sets the HostId field's value.
104245func (s *Placement) SetHostId(v string) *Placement {
104246	s.HostId = &v
104247	return s
104248}
104249
104250// SetHostResourceGroupArn sets the HostResourceGroupArn field's value.
104251func (s *Placement) SetHostResourceGroupArn(v string) *Placement {
104252	s.HostResourceGroupArn = &v
104253	return s
104254}
104255
104256// SetPartitionNumber sets the PartitionNumber field's value.
104257func (s *Placement) SetPartitionNumber(v int64) *Placement {
104258	s.PartitionNumber = &v
104259	return s
104260}
104261
104262// SetSpreadDomain sets the SpreadDomain field's value.
104263func (s *Placement) SetSpreadDomain(v string) *Placement {
104264	s.SpreadDomain = &v
104265	return s
104266}
104267
104268// SetTenancy sets the Tenancy field's value.
104269func (s *Placement) SetTenancy(v string) *Placement {
104270	s.Tenancy = &v
104271	return s
104272}
104273
104274// Describes a placement group.
104275type PlacementGroup struct {
104276	_ struct{} `type:"structure"`
104277
104278	// The ID of the placement group.
104279	GroupId *string `locationName:"groupId" type:"string"`
104280
104281	// The name of the placement group.
104282	GroupName *string `locationName:"groupName" type:"string"`
104283
104284	// The number of partitions. Valid only if strategy is set to partition.
104285	PartitionCount *int64 `locationName:"partitionCount" type:"integer"`
104286
104287	// The state of the placement group.
104288	State *string `locationName:"state" type:"string" enum:"PlacementGroupState"`
104289
104290	// The placement strategy.
104291	Strategy *string `locationName:"strategy" type:"string" enum:"PlacementStrategy"`
104292
104293	// Any tags applied to the placement group.
104294	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
104295}
104296
104297// String returns the string representation
104298func (s PlacementGroup) String() string {
104299	return awsutil.Prettify(s)
104300}
104301
104302// GoString returns the string representation
104303func (s PlacementGroup) GoString() string {
104304	return s.String()
104305}
104306
104307// SetGroupId sets the GroupId field's value.
104308func (s *PlacementGroup) SetGroupId(v string) *PlacementGroup {
104309	s.GroupId = &v
104310	return s
104311}
104312
104313// SetGroupName sets the GroupName field's value.
104314func (s *PlacementGroup) SetGroupName(v string) *PlacementGroup {
104315	s.GroupName = &v
104316	return s
104317}
104318
104319// SetPartitionCount sets the PartitionCount field's value.
104320func (s *PlacementGroup) SetPartitionCount(v int64) *PlacementGroup {
104321	s.PartitionCount = &v
104322	return s
104323}
104324
104325// SetState sets the State field's value.
104326func (s *PlacementGroup) SetState(v string) *PlacementGroup {
104327	s.State = &v
104328	return s
104329}
104330
104331// SetStrategy sets the Strategy field's value.
104332func (s *PlacementGroup) SetStrategy(v string) *PlacementGroup {
104333	s.Strategy = &v
104334	return s
104335}
104336
104337// SetTags sets the Tags field's value.
104338func (s *PlacementGroup) SetTags(v []*Tag) *PlacementGroup {
104339	s.Tags = v
104340	return s
104341}
104342
104343// Describes the placement group support of the instance type.
104344type PlacementGroupInfo struct {
104345	_ struct{} `type:"structure"`
104346
104347	// The supported placement group types.
104348	SupportedStrategies []*string `locationName:"supportedStrategies" locationNameList:"item" type:"list"`
104349}
104350
104351// String returns the string representation
104352func (s PlacementGroupInfo) String() string {
104353	return awsutil.Prettify(s)
104354}
104355
104356// GoString returns the string representation
104357func (s PlacementGroupInfo) GoString() string {
104358	return s.String()
104359}
104360
104361// SetSupportedStrategies sets the SupportedStrategies field's value.
104362func (s *PlacementGroupInfo) SetSupportedStrategies(v []*string) *PlacementGroupInfo {
104363	s.SupportedStrategies = v
104364	return s
104365}
104366
104367// Describes the placement of an instance.
104368type PlacementResponse struct {
104369	_ struct{} `type:"structure"`
104370
104371	// The name of the placement group that the instance is in.
104372	GroupName *string `locationName:"groupName" type:"string"`
104373}
104374
104375// String returns the string representation
104376func (s PlacementResponse) String() string {
104377	return awsutil.Prettify(s)
104378}
104379
104380// GoString returns the string representation
104381func (s PlacementResponse) GoString() string {
104382	return s.String()
104383}
104384
104385// SetGroupName sets the GroupName field's value.
104386func (s *PlacementResponse) SetGroupName(v string) *PlacementResponse {
104387	s.GroupName = &v
104388	return s
104389}
104390
104391// Describes a CIDR block for an address pool.
104392type PoolCidrBlock struct {
104393	_ struct{} `type:"structure"`
104394
104395	// The CIDR block.
104396	Cidr *string `locationName:"poolCidrBlock" type:"string"`
104397}
104398
104399// String returns the string representation
104400func (s PoolCidrBlock) String() string {
104401	return awsutil.Prettify(s)
104402}
104403
104404// GoString returns the string representation
104405func (s PoolCidrBlock) GoString() string {
104406	return s.String()
104407}
104408
104409// SetCidr sets the Cidr field's value.
104410func (s *PoolCidrBlock) SetCidr(v string) *PoolCidrBlock {
104411	s.Cidr = &v
104412	return s
104413}
104414
104415// Describes a range of ports.
104416type PortRange struct {
104417	_ struct{} `type:"structure"`
104418
104419	// The first port in the range.
104420	From *int64 `locationName:"from" type:"integer"`
104421
104422	// The last port in the range.
104423	To *int64 `locationName:"to" type:"integer"`
104424}
104425
104426// String returns the string representation
104427func (s PortRange) String() string {
104428	return awsutil.Prettify(s)
104429}
104430
104431// GoString returns the string representation
104432func (s PortRange) GoString() string {
104433	return s.String()
104434}
104435
104436// SetFrom sets the From field's value.
104437func (s *PortRange) SetFrom(v int64) *PortRange {
104438	s.From = &v
104439	return s
104440}
104441
104442// SetTo sets the To field's value.
104443func (s *PortRange) SetTo(v int64) *PortRange {
104444	s.To = &v
104445	return s
104446}
104447
104448// Describes prefixes for AWS services.
104449type PrefixList struct {
104450	_ struct{} `type:"structure"`
104451
104452	// The IP address range of the AWS service.
104453	Cidrs []*string `locationName:"cidrSet" locationNameList:"item" type:"list"`
104454
104455	// The ID of the prefix.
104456	PrefixListId *string `locationName:"prefixListId" type:"string"`
104457
104458	// The name of the prefix.
104459	PrefixListName *string `locationName:"prefixListName" type:"string"`
104460}
104461
104462// String returns the string representation
104463func (s PrefixList) String() string {
104464	return awsutil.Prettify(s)
104465}
104466
104467// GoString returns the string representation
104468func (s PrefixList) GoString() string {
104469	return s.String()
104470}
104471
104472// SetCidrs sets the Cidrs field's value.
104473func (s *PrefixList) SetCidrs(v []*string) *PrefixList {
104474	s.Cidrs = v
104475	return s
104476}
104477
104478// SetPrefixListId sets the PrefixListId field's value.
104479func (s *PrefixList) SetPrefixListId(v string) *PrefixList {
104480	s.PrefixListId = &v
104481	return s
104482}
104483
104484// SetPrefixListName sets the PrefixListName field's value.
104485func (s *PrefixList) SetPrefixListName(v string) *PrefixList {
104486	s.PrefixListName = &v
104487	return s
104488}
104489
104490// Describes the resource with which a prefix list is associated.
104491type PrefixListAssociation struct {
104492	_ struct{} `type:"structure"`
104493
104494	// The ID of the resource.
104495	ResourceId *string `locationName:"resourceId" type:"string"`
104496
104497	// The owner of the resource.
104498	ResourceOwner *string `locationName:"resourceOwner" type:"string"`
104499}
104500
104501// String returns the string representation
104502func (s PrefixListAssociation) String() string {
104503	return awsutil.Prettify(s)
104504}
104505
104506// GoString returns the string representation
104507func (s PrefixListAssociation) GoString() string {
104508	return s.String()
104509}
104510
104511// SetResourceId sets the ResourceId field's value.
104512func (s *PrefixListAssociation) SetResourceId(v string) *PrefixListAssociation {
104513	s.ResourceId = &v
104514	return s
104515}
104516
104517// SetResourceOwner sets the ResourceOwner field's value.
104518func (s *PrefixListAssociation) SetResourceOwner(v string) *PrefixListAssociation {
104519	s.ResourceOwner = &v
104520	return s
104521}
104522
104523// Describes a prefix list entry.
104524type PrefixListEntry struct {
104525	_ struct{} `type:"structure"`
104526
104527	// The CIDR block.
104528	Cidr *string `locationName:"cidr" type:"string"`
104529
104530	// The description.
104531	Description *string `locationName:"description" type:"string"`
104532}
104533
104534// String returns the string representation
104535func (s PrefixListEntry) String() string {
104536	return awsutil.Prettify(s)
104537}
104538
104539// GoString returns the string representation
104540func (s PrefixListEntry) GoString() string {
104541	return s.String()
104542}
104543
104544// SetCidr sets the Cidr field's value.
104545func (s *PrefixListEntry) SetCidr(v string) *PrefixListEntry {
104546	s.Cidr = &v
104547	return s
104548}
104549
104550// SetDescription sets the Description field's value.
104551func (s *PrefixListEntry) SetDescription(v string) *PrefixListEntry {
104552	s.Description = &v
104553	return s
104554}
104555
104556// Describes a prefix list ID.
104557type PrefixListId struct {
104558	_ struct{} `type:"structure"`
104559
104560	// A description for the security group rule that references this prefix list
104561	// ID.
104562	//
104563	// Constraints: Up to 255 characters in length. Allowed characters are a-z,
104564	// A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*
104565	Description *string `locationName:"description" type:"string"`
104566
104567	// The ID of the prefix.
104568	PrefixListId *string `locationName:"prefixListId" type:"string"`
104569}
104570
104571// String returns the string representation
104572func (s PrefixListId) String() string {
104573	return awsutil.Prettify(s)
104574}
104575
104576// GoString returns the string representation
104577func (s PrefixListId) GoString() string {
104578	return s.String()
104579}
104580
104581// SetDescription sets the Description field's value.
104582func (s *PrefixListId) SetDescription(v string) *PrefixListId {
104583	s.Description = &v
104584	return s
104585}
104586
104587// SetPrefixListId sets the PrefixListId field's value.
104588func (s *PrefixListId) SetPrefixListId(v string) *PrefixListId {
104589	s.PrefixListId = &v
104590	return s
104591}
104592
104593// Describes the price for a Reserved Instance.
104594type PriceSchedule struct {
104595	_ struct{} `type:"structure"`
104596
104597	// The current price schedule, as determined by the term remaining for the Reserved
104598	// Instance in the listing.
104599	//
104600	// A specific price schedule is always in effect, but only one price schedule
104601	// can be active at any time. Take, for example, a Reserved Instance listing
104602	// that has five months remaining in its term. When you specify price schedules
104603	// for five months and two months, this means that schedule 1, covering the
104604	// first three months of the remaining term, will be active during months 5,
104605	// 4, and 3. Then schedule 2, covering the last two months of the term, will
104606	// be active for months 2 and 1.
104607	Active *bool `locationName:"active" type:"boolean"`
104608
104609	// The currency for transacting the Reserved Instance resale. At this time,
104610	// the only supported currency is USD.
104611	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
104612
104613	// The fixed price for the term.
104614	Price *float64 `locationName:"price" type:"double"`
104615
104616	// The number of months remaining in the reservation. For example, 2 is the
104617	// second to the last month before the capacity reservation expires.
104618	Term *int64 `locationName:"term" type:"long"`
104619}
104620
104621// String returns the string representation
104622func (s PriceSchedule) String() string {
104623	return awsutil.Prettify(s)
104624}
104625
104626// GoString returns the string representation
104627func (s PriceSchedule) GoString() string {
104628	return s.String()
104629}
104630
104631// SetActive sets the Active field's value.
104632func (s *PriceSchedule) SetActive(v bool) *PriceSchedule {
104633	s.Active = &v
104634	return s
104635}
104636
104637// SetCurrencyCode sets the CurrencyCode field's value.
104638func (s *PriceSchedule) SetCurrencyCode(v string) *PriceSchedule {
104639	s.CurrencyCode = &v
104640	return s
104641}
104642
104643// SetPrice sets the Price field's value.
104644func (s *PriceSchedule) SetPrice(v float64) *PriceSchedule {
104645	s.Price = &v
104646	return s
104647}
104648
104649// SetTerm sets the Term field's value.
104650func (s *PriceSchedule) SetTerm(v int64) *PriceSchedule {
104651	s.Term = &v
104652	return s
104653}
104654
104655// Describes the price for a Reserved Instance.
104656type PriceScheduleSpecification struct {
104657	_ struct{} `type:"structure"`
104658
104659	// The currency for transacting the Reserved Instance resale. At this time,
104660	// the only supported currency is USD.
104661	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
104662
104663	// The fixed price for the term.
104664	Price *float64 `locationName:"price" type:"double"`
104665
104666	// The number of months remaining in the reservation. For example, 2 is the
104667	// second to the last month before the capacity reservation expires.
104668	Term *int64 `locationName:"term" type:"long"`
104669}
104670
104671// String returns the string representation
104672func (s PriceScheduleSpecification) String() string {
104673	return awsutil.Prettify(s)
104674}
104675
104676// GoString returns the string representation
104677func (s PriceScheduleSpecification) GoString() string {
104678	return s.String()
104679}
104680
104681// SetCurrencyCode sets the CurrencyCode field's value.
104682func (s *PriceScheduleSpecification) SetCurrencyCode(v string) *PriceScheduleSpecification {
104683	s.CurrencyCode = &v
104684	return s
104685}
104686
104687// SetPrice sets the Price field's value.
104688func (s *PriceScheduleSpecification) SetPrice(v float64) *PriceScheduleSpecification {
104689	s.Price = &v
104690	return s
104691}
104692
104693// SetTerm sets the Term field's value.
104694func (s *PriceScheduleSpecification) SetTerm(v int64) *PriceScheduleSpecification {
104695	s.Term = &v
104696	return s
104697}
104698
104699// Describes a Reserved Instance offering.
104700type PricingDetail struct {
104701	_ struct{} `type:"structure"`
104702
104703	// The number of reservations available for the price.
104704	Count *int64 `locationName:"count" type:"integer"`
104705
104706	// The price per instance.
104707	Price *float64 `locationName:"price" type:"double"`
104708}
104709
104710// String returns the string representation
104711func (s PricingDetail) String() string {
104712	return awsutil.Prettify(s)
104713}
104714
104715// GoString returns the string representation
104716func (s PricingDetail) GoString() string {
104717	return s.String()
104718}
104719
104720// SetCount sets the Count field's value.
104721func (s *PricingDetail) SetCount(v int64) *PricingDetail {
104722	s.Count = &v
104723	return s
104724}
104725
104726// SetPrice sets the Price field's value.
104727func (s *PricingDetail) SetPrice(v float64) *PricingDetail {
104728	s.Price = &v
104729	return s
104730}
104731
104732// PrincipalIdFormat description
104733type PrincipalIdFormat struct {
104734	_ struct{} `type:"structure"`
104735
104736	// PrincipalIdFormatARN description
104737	Arn *string `locationName:"arn" type:"string"`
104738
104739	// PrincipalIdFormatStatuses description
104740	Statuses []*IdFormat `locationName:"statusSet" locationNameList:"item" type:"list"`
104741}
104742
104743// String returns the string representation
104744func (s PrincipalIdFormat) String() string {
104745	return awsutil.Prettify(s)
104746}
104747
104748// GoString returns the string representation
104749func (s PrincipalIdFormat) GoString() string {
104750	return s.String()
104751}
104752
104753// SetArn sets the Arn field's value.
104754func (s *PrincipalIdFormat) SetArn(v string) *PrincipalIdFormat {
104755	s.Arn = &v
104756	return s
104757}
104758
104759// SetStatuses sets the Statuses field's value.
104760func (s *PrincipalIdFormat) SetStatuses(v []*IdFormat) *PrincipalIdFormat {
104761	s.Statuses = v
104762	return s
104763}
104764
104765// Information about the Private DNS name for interface endpoints.
104766type PrivateDnsDetails struct {
104767	_ struct{} `type:"structure"`
104768
104769	// The private DNS name assigned to the VPC endpoint service.
104770	PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
104771}
104772
104773// String returns the string representation
104774func (s PrivateDnsDetails) String() string {
104775	return awsutil.Prettify(s)
104776}
104777
104778// GoString returns the string representation
104779func (s PrivateDnsDetails) GoString() string {
104780	return s.String()
104781}
104782
104783// SetPrivateDnsName sets the PrivateDnsName field's value.
104784func (s *PrivateDnsDetails) SetPrivateDnsName(v string) *PrivateDnsDetails {
104785	s.PrivateDnsName = &v
104786	return s
104787}
104788
104789// Information about the private DNS name for the service endpoint. For more
104790// information about these parameters, see VPC Endpoint Service Private DNS
104791// Name Verification (https://docs.aws.amazon.com/vpc/latest/userguide/ndpoint-services-dns-validation.html)
104792// in the Amazon Virtual Private Cloud User Guide.
104793type PrivateDnsNameConfiguration struct {
104794	_ struct{} `type:"structure"`
104795
104796	// The name of the record subdomain the service provider needs to create. The
104797	// service provider adds the value text to the name.
104798	Name *string `locationName:"name" type:"string"`
104799
104800	// The verification state of the VPC endpoint service.
104801	//
104802	// >Consumers of the endpoint service can use the private name only when the
104803	// state is verified.
104804	State *string `locationName:"state" type:"string" enum:"DnsNameState"`
104805
104806	// The endpoint service verification type, for example TXT.
104807	Type *string `locationName:"type" type:"string"`
104808
104809	// The value the service provider adds to the private DNS name domain record
104810	// before verification.
104811	Value *string `locationName:"value" type:"string"`
104812}
104813
104814// String returns the string representation
104815func (s PrivateDnsNameConfiguration) String() string {
104816	return awsutil.Prettify(s)
104817}
104818
104819// GoString returns the string representation
104820func (s PrivateDnsNameConfiguration) GoString() string {
104821	return s.String()
104822}
104823
104824// SetName sets the Name field's value.
104825func (s *PrivateDnsNameConfiguration) SetName(v string) *PrivateDnsNameConfiguration {
104826	s.Name = &v
104827	return s
104828}
104829
104830// SetState sets the State field's value.
104831func (s *PrivateDnsNameConfiguration) SetState(v string) *PrivateDnsNameConfiguration {
104832	s.State = &v
104833	return s
104834}
104835
104836// SetType sets the Type field's value.
104837func (s *PrivateDnsNameConfiguration) SetType(v string) *PrivateDnsNameConfiguration {
104838	s.Type = &v
104839	return s
104840}
104841
104842// SetValue sets the Value field's value.
104843func (s *PrivateDnsNameConfiguration) SetValue(v string) *PrivateDnsNameConfiguration {
104844	s.Value = &v
104845	return s
104846}
104847
104848// Describes a secondary private IPv4 address for a network interface.
104849type PrivateIpAddressSpecification struct {
104850	_ struct{} `type:"structure"`
104851
104852	// Indicates whether the private IPv4 address is the primary private IPv4 address.
104853	// Only one IPv4 address can be designated as primary.
104854	Primary *bool `locationName:"primary" type:"boolean"`
104855
104856	// The private IPv4 addresses.
104857	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
104858}
104859
104860// String returns the string representation
104861func (s PrivateIpAddressSpecification) String() string {
104862	return awsutil.Prettify(s)
104863}
104864
104865// GoString returns the string representation
104866func (s PrivateIpAddressSpecification) GoString() string {
104867	return s.String()
104868}
104869
104870// SetPrimary sets the Primary field's value.
104871func (s *PrivateIpAddressSpecification) SetPrimary(v bool) *PrivateIpAddressSpecification {
104872	s.Primary = &v
104873	return s
104874}
104875
104876// SetPrivateIpAddress sets the PrivateIpAddress field's value.
104877func (s *PrivateIpAddressSpecification) SetPrivateIpAddress(v string) *PrivateIpAddressSpecification {
104878	s.PrivateIpAddress = &v
104879	return s
104880}
104881
104882// Describes the processor used by the instance type.
104883type ProcessorInfo struct {
104884	_ struct{} `type:"structure"`
104885
104886	// The architectures supported by the instance type.
104887	SupportedArchitectures []*string `locationName:"supportedArchitectures" locationNameList:"item" type:"list"`
104888
104889	// The speed of the processor, in GHz.
104890	SustainedClockSpeedInGhz *float64 `locationName:"sustainedClockSpeedInGhz" type:"double"`
104891}
104892
104893// String returns the string representation
104894func (s ProcessorInfo) String() string {
104895	return awsutil.Prettify(s)
104896}
104897
104898// GoString returns the string representation
104899func (s ProcessorInfo) GoString() string {
104900	return s.String()
104901}
104902
104903// SetSupportedArchitectures sets the SupportedArchitectures field's value.
104904func (s *ProcessorInfo) SetSupportedArchitectures(v []*string) *ProcessorInfo {
104905	s.SupportedArchitectures = v
104906	return s
104907}
104908
104909// SetSustainedClockSpeedInGhz sets the SustainedClockSpeedInGhz field's value.
104910func (s *ProcessorInfo) SetSustainedClockSpeedInGhz(v float64) *ProcessorInfo {
104911	s.SustainedClockSpeedInGhz = &v
104912	return s
104913}
104914
104915// Describes a product code.
104916type ProductCode struct {
104917	_ struct{} `type:"structure"`
104918
104919	// The product code.
104920	ProductCodeId *string `locationName:"productCode" type:"string"`
104921
104922	// The type of product code.
104923	ProductCodeType *string `locationName:"type" type:"string" enum:"ProductCodeValues"`
104924}
104925
104926// String returns the string representation
104927func (s ProductCode) String() string {
104928	return awsutil.Prettify(s)
104929}
104930
104931// GoString returns the string representation
104932func (s ProductCode) GoString() string {
104933	return s.String()
104934}
104935
104936// SetProductCodeId sets the ProductCodeId field's value.
104937func (s *ProductCode) SetProductCodeId(v string) *ProductCode {
104938	s.ProductCodeId = &v
104939	return s
104940}
104941
104942// SetProductCodeType sets the ProductCodeType field's value.
104943func (s *ProductCode) SetProductCodeType(v string) *ProductCode {
104944	s.ProductCodeType = &v
104945	return s
104946}
104947
104948// Describes a virtual private gateway propagating route.
104949type PropagatingVgw struct {
104950	_ struct{} `type:"structure"`
104951
104952	// The ID of the virtual private gateway.
104953	GatewayId *string `locationName:"gatewayId" type:"string"`
104954}
104955
104956// String returns the string representation
104957func (s PropagatingVgw) String() string {
104958	return awsutil.Prettify(s)
104959}
104960
104961// GoString returns the string representation
104962func (s PropagatingVgw) GoString() string {
104963	return s.String()
104964}
104965
104966// SetGatewayId sets the GatewayId field's value.
104967func (s *PropagatingVgw) SetGatewayId(v string) *PropagatingVgw {
104968	s.GatewayId = &v
104969	return s
104970}
104971
104972type ProvisionByoipCidrInput struct {
104973	_ struct{} `type:"structure"`
104974
104975	// The public IPv4 or IPv6 address range, in CIDR notation. The most specific
104976	// IPv4 prefix that you can specify is /24. The most specific IPv6 prefix you
104977	// can specify is /56. The address range cannot overlap with another address
104978	// range that you've brought to this or another Region.
104979	//
104980	// Cidr is a required field
104981	Cidr *string `type:"string" required:"true"`
104982
104983	// A signed document that proves that you are authorized to bring the specified
104984	// IP address range to Amazon using BYOIP.
104985	CidrAuthorizationContext *CidrAuthorizationContext `type:"structure"`
104986
104987	// A description for the address range and the address pool.
104988	Description *string `type:"string"`
104989
104990	// Checks whether you have the required permissions for the action, without
104991	// actually making the request, and provides an error response. If you have
104992	// the required permissions, the error response is DryRunOperation. Otherwise,
104993	// it is UnauthorizedOperation.
104994	DryRun *bool `type:"boolean"`
104995
104996	// The tags to apply to the address pool.
104997	PoolTagSpecifications []*TagSpecification `locationName:"PoolTagSpecification" locationNameList:"item" type:"list"`
104998
104999	// (IPv6 only) Indicate whether the address range will be publicly advertised
105000	// to the internet.
105001	//
105002	// Default: true
105003	PubliclyAdvertisable *bool `type:"boolean"`
105004}
105005
105006// String returns the string representation
105007func (s ProvisionByoipCidrInput) String() string {
105008	return awsutil.Prettify(s)
105009}
105010
105011// GoString returns the string representation
105012func (s ProvisionByoipCidrInput) GoString() string {
105013	return s.String()
105014}
105015
105016// Validate inspects the fields of the type to determine if they are valid.
105017func (s *ProvisionByoipCidrInput) Validate() error {
105018	invalidParams := request.ErrInvalidParams{Context: "ProvisionByoipCidrInput"}
105019	if s.Cidr == nil {
105020		invalidParams.Add(request.NewErrParamRequired("Cidr"))
105021	}
105022	if s.CidrAuthorizationContext != nil {
105023		if err := s.CidrAuthorizationContext.Validate(); err != nil {
105024			invalidParams.AddNested("CidrAuthorizationContext", err.(request.ErrInvalidParams))
105025		}
105026	}
105027
105028	if invalidParams.Len() > 0 {
105029		return invalidParams
105030	}
105031	return nil
105032}
105033
105034// SetCidr sets the Cidr field's value.
105035func (s *ProvisionByoipCidrInput) SetCidr(v string) *ProvisionByoipCidrInput {
105036	s.Cidr = &v
105037	return s
105038}
105039
105040// SetCidrAuthorizationContext sets the CidrAuthorizationContext field's value.
105041func (s *ProvisionByoipCidrInput) SetCidrAuthorizationContext(v *CidrAuthorizationContext) *ProvisionByoipCidrInput {
105042	s.CidrAuthorizationContext = v
105043	return s
105044}
105045
105046// SetDescription sets the Description field's value.
105047func (s *ProvisionByoipCidrInput) SetDescription(v string) *ProvisionByoipCidrInput {
105048	s.Description = &v
105049	return s
105050}
105051
105052// SetDryRun sets the DryRun field's value.
105053func (s *ProvisionByoipCidrInput) SetDryRun(v bool) *ProvisionByoipCidrInput {
105054	s.DryRun = &v
105055	return s
105056}
105057
105058// SetPoolTagSpecifications sets the PoolTagSpecifications field's value.
105059func (s *ProvisionByoipCidrInput) SetPoolTagSpecifications(v []*TagSpecification) *ProvisionByoipCidrInput {
105060	s.PoolTagSpecifications = v
105061	return s
105062}
105063
105064// SetPubliclyAdvertisable sets the PubliclyAdvertisable field's value.
105065func (s *ProvisionByoipCidrInput) SetPubliclyAdvertisable(v bool) *ProvisionByoipCidrInput {
105066	s.PubliclyAdvertisable = &v
105067	return s
105068}
105069
105070type ProvisionByoipCidrOutput struct {
105071	_ struct{} `type:"structure"`
105072
105073	// Information about the address range.
105074	ByoipCidr *ByoipCidr `locationName:"byoipCidr" type:"structure"`
105075}
105076
105077// String returns the string representation
105078func (s ProvisionByoipCidrOutput) String() string {
105079	return awsutil.Prettify(s)
105080}
105081
105082// GoString returns the string representation
105083func (s ProvisionByoipCidrOutput) GoString() string {
105084	return s.String()
105085}
105086
105087// SetByoipCidr sets the ByoipCidr field's value.
105088func (s *ProvisionByoipCidrOutput) SetByoipCidr(v *ByoipCidr) *ProvisionByoipCidrOutput {
105089	s.ByoipCidr = v
105090	return s
105091}
105092
105093// Reserved. If you need to sustain traffic greater than the documented limits
105094// (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html),
105095// contact us through the Support Center (https://console.aws.amazon.com/support/home?).
105096type ProvisionedBandwidth struct {
105097	_ struct{} `type:"structure"`
105098
105099	// Reserved. If you need to sustain traffic greater than the documented limits
105100	// (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html),
105101	// contact us through the Support Center (https://console.aws.amazon.com/support/home?).
105102	ProvisionTime *time.Time `locationName:"provisionTime" type:"timestamp"`
105103
105104	// Reserved. If you need to sustain traffic greater than the documented limits
105105	// (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html),
105106	// contact us through the Support Center (https://console.aws.amazon.com/support/home?).
105107	Provisioned *string `locationName:"provisioned" type:"string"`
105108
105109	// Reserved. If you need to sustain traffic greater than the documented limits
105110	// (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html),
105111	// contact us through the Support Center (https://console.aws.amazon.com/support/home?).
105112	RequestTime *time.Time `locationName:"requestTime" type:"timestamp"`
105113
105114	// Reserved. If you need to sustain traffic greater than the documented limits
105115	// (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html),
105116	// contact us through the Support Center (https://console.aws.amazon.com/support/home?).
105117	Requested *string `locationName:"requested" type:"string"`
105118
105119	// Reserved. If you need to sustain traffic greater than the documented limits
105120	// (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html),
105121	// contact us through the Support Center (https://console.aws.amazon.com/support/home?).
105122	Status *string `locationName:"status" type:"string"`
105123}
105124
105125// String returns the string representation
105126func (s ProvisionedBandwidth) String() string {
105127	return awsutil.Prettify(s)
105128}
105129
105130// GoString returns the string representation
105131func (s ProvisionedBandwidth) GoString() string {
105132	return s.String()
105133}
105134
105135// SetProvisionTime sets the ProvisionTime field's value.
105136func (s *ProvisionedBandwidth) SetProvisionTime(v time.Time) *ProvisionedBandwidth {
105137	s.ProvisionTime = &v
105138	return s
105139}
105140
105141// SetProvisioned sets the Provisioned field's value.
105142func (s *ProvisionedBandwidth) SetProvisioned(v string) *ProvisionedBandwidth {
105143	s.Provisioned = &v
105144	return s
105145}
105146
105147// SetRequestTime sets the RequestTime field's value.
105148func (s *ProvisionedBandwidth) SetRequestTime(v time.Time) *ProvisionedBandwidth {
105149	s.RequestTime = &v
105150	return s
105151}
105152
105153// SetRequested sets the Requested field's value.
105154func (s *ProvisionedBandwidth) SetRequested(v string) *ProvisionedBandwidth {
105155	s.Requested = &v
105156	return s
105157}
105158
105159// SetStatus sets the Status field's value.
105160func (s *ProvisionedBandwidth) SetStatus(v string) *ProvisionedBandwidth {
105161	s.Status = &v
105162	return s
105163}
105164
105165// The status of an updated pointer (PTR) record for an Elastic IP address.
105166type PtrUpdateStatus struct {
105167	_ struct{} `type:"structure"`
105168
105169	// The reason for the PTR record update.
105170	Reason *string `locationName:"reason" type:"string"`
105171
105172	// The status of the PTR record update.
105173	Status *string `locationName:"status" type:"string"`
105174
105175	// The value for the PTR record update.
105176	Value *string `locationName:"value" type:"string"`
105177}
105178
105179// String returns the string representation
105180func (s PtrUpdateStatus) String() string {
105181	return awsutil.Prettify(s)
105182}
105183
105184// GoString returns the string representation
105185func (s PtrUpdateStatus) GoString() string {
105186	return s.String()
105187}
105188
105189// SetReason sets the Reason field's value.
105190func (s *PtrUpdateStatus) SetReason(v string) *PtrUpdateStatus {
105191	s.Reason = &v
105192	return s
105193}
105194
105195// SetStatus sets the Status field's value.
105196func (s *PtrUpdateStatus) SetStatus(v string) *PtrUpdateStatus {
105197	s.Status = &v
105198	return s
105199}
105200
105201// SetValue sets the Value field's value.
105202func (s *PtrUpdateStatus) SetValue(v string) *PtrUpdateStatus {
105203	s.Value = &v
105204	return s
105205}
105206
105207// Describes an IPv4 address pool.
105208type PublicIpv4Pool struct {
105209	_ struct{} `type:"structure"`
105210
105211	// A description of the address pool.
105212	Description *string `locationName:"description" type:"string"`
105213
105214	// The name of the location from which the address pool is advertised. A network
105215	// border group is a unique set of Availability Zones or Local Zones from where
105216	// AWS advertises public IP addresses.
105217	NetworkBorderGroup *string `locationName:"networkBorderGroup" type:"string"`
105218
105219	// The address ranges.
105220	PoolAddressRanges []*PublicIpv4PoolRange `locationName:"poolAddressRangeSet" locationNameList:"item" type:"list"`
105221
105222	// The ID of the address pool.
105223	PoolId *string `locationName:"poolId" type:"string"`
105224
105225	// Any tags for the address pool.
105226	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
105227
105228	// The total number of addresses.
105229	TotalAddressCount *int64 `locationName:"totalAddressCount" type:"integer"`
105230
105231	// The total number of available addresses.
105232	TotalAvailableAddressCount *int64 `locationName:"totalAvailableAddressCount" type:"integer"`
105233}
105234
105235// String returns the string representation
105236func (s PublicIpv4Pool) String() string {
105237	return awsutil.Prettify(s)
105238}
105239
105240// GoString returns the string representation
105241func (s PublicIpv4Pool) GoString() string {
105242	return s.String()
105243}
105244
105245// SetDescription sets the Description field's value.
105246func (s *PublicIpv4Pool) SetDescription(v string) *PublicIpv4Pool {
105247	s.Description = &v
105248	return s
105249}
105250
105251// SetNetworkBorderGroup sets the NetworkBorderGroup field's value.
105252func (s *PublicIpv4Pool) SetNetworkBorderGroup(v string) *PublicIpv4Pool {
105253	s.NetworkBorderGroup = &v
105254	return s
105255}
105256
105257// SetPoolAddressRanges sets the PoolAddressRanges field's value.
105258func (s *PublicIpv4Pool) SetPoolAddressRanges(v []*PublicIpv4PoolRange) *PublicIpv4Pool {
105259	s.PoolAddressRanges = v
105260	return s
105261}
105262
105263// SetPoolId sets the PoolId field's value.
105264func (s *PublicIpv4Pool) SetPoolId(v string) *PublicIpv4Pool {
105265	s.PoolId = &v
105266	return s
105267}
105268
105269// SetTags sets the Tags field's value.
105270func (s *PublicIpv4Pool) SetTags(v []*Tag) *PublicIpv4Pool {
105271	s.Tags = v
105272	return s
105273}
105274
105275// SetTotalAddressCount sets the TotalAddressCount field's value.
105276func (s *PublicIpv4Pool) SetTotalAddressCount(v int64) *PublicIpv4Pool {
105277	s.TotalAddressCount = &v
105278	return s
105279}
105280
105281// SetTotalAvailableAddressCount sets the TotalAvailableAddressCount field's value.
105282func (s *PublicIpv4Pool) SetTotalAvailableAddressCount(v int64) *PublicIpv4Pool {
105283	s.TotalAvailableAddressCount = &v
105284	return s
105285}
105286
105287// Describes an address range of an IPv4 address pool.
105288type PublicIpv4PoolRange struct {
105289	_ struct{} `type:"structure"`
105290
105291	// The number of addresses in the range.
105292	AddressCount *int64 `locationName:"addressCount" type:"integer"`
105293
105294	// The number of available addresses in the range.
105295	AvailableAddressCount *int64 `locationName:"availableAddressCount" type:"integer"`
105296
105297	// The first IP address in the range.
105298	FirstAddress *string `locationName:"firstAddress" type:"string"`
105299
105300	// The last IP address in the range.
105301	LastAddress *string `locationName:"lastAddress" type:"string"`
105302}
105303
105304// String returns the string representation
105305func (s PublicIpv4PoolRange) String() string {
105306	return awsutil.Prettify(s)
105307}
105308
105309// GoString returns the string representation
105310func (s PublicIpv4PoolRange) GoString() string {
105311	return s.String()
105312}
105313
105314// SetAddressCount sets the AddressCount field's value.
105315func (s *PublicIpv4PoolRange) SetAddressCount(v int64) *PublicIpv4PoolRange {
105316	s.AddressCount = &v
105317	return s
105318}
105319
105320// SetAvailableAddressCount sets the AvailableAddressCount field's value.
105321func (s *PublicIpv4PoolRange) SetAvailableAddressCount(v int64) *PublicIpv4PoolRange {
105322	s.AvailableAddressCount = &v
105323	return s
105324}
105325
105326// SetFirstAddress sets the FirstAddress field's value.
105327func (s *PublicIpv4PoolRange) SetFirstAddress(v string) *PublicIpv4PoolRange {
105328	s.FirstAddress = &v
105329	return s
105330}
105331
105332// SetLastAddress sets the LastAddress field's value.
105333func (s *PublicIpv4PoolRange) SetLastAddress(v string) *PublicIpv4PoolRange {
105334	s.LastAddress = &v
105335	return s
105336}
105337
105338// Describes the result of the purchase.
105339type Purchase struct {
105340	_ struct{} `type:"structure"`
105341
105342	// The currency in which the UpfrontPrice and HourlyPrice amounts are specified.
105343	// At this time, the only supported currency is USD.
105344	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
105345
105346	// The duration of the reservation's term in seconds.
105347	Duration *int64 `locationName:"duration" type:"integer"`
105348
105349	// The IDs of the Dedicated Hosts associated with the reservation.
105350	HostIdSet []*string `locationName:"hostIdSet" locationNameList:"item" type:"list"`
105351
105352	// The ID of the reservation.
105353	HostReservationId *string `locationName:"hostReservationId" type:"string"`
105354
105355	// The hourly price of the reservation per hour.
105356	HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
105357
105358	// The instance family on the Dedicated Host that the reservation can be associated
105359	// with.
105360	InstanceFamily *string `locationName:"instanceFamily" type:"string"`
105361
105362	// The payment option for the reservation.
105363	PaymentOption *string `locationName:"paymentOption" type:"string" enum:"PaymentOption"`
105364
105365	// The upfront price of the reservation.
105366	UpfrontPrice *string `locationName:"upfrontPrice" type:"string"`
105367}
105368
105369// String returns the string representation
105370func (s Purchase) String() string {
105371	return awsutil.Prettify(s)
105372}
105373
105374// GoString returns the string representation
105375func (s Purchase) GoString() string {
105376	return s.String()
105377}
105378
105379// SetCurrencyCode sets the CurrencyCode field's value.
105380func (s *Purchase) SetCurrencyCode(v string) *Purchase {
105381	s.CurrencyCode = &v
105382	return s
105383}
105384
105385// SetDuration sets the Duration field's value.
105386func (s *Purchase) SetDuration(v int64) *Purchase {
105387	s.Duration = &v
105388	return s
105389}
105390
105391// SetHostIdSet sets the HostIdSet field's value.
105392func (s *Purchase) SetHostIdSet(v []*string) *Purchase {
105393	s.HostIdSet = v
105394	return s
105395}
105396
105397// SetHostReservationId sets the HostReservationId field's value.
105398func (s *Purchase) SetHostReservationId(v string) *Purchase {
105399	s.HostReservationId = &v
105400	return s
105401}
105402
105403// SetHourlyPrice sets the HourlyPrice field's value.
105404func (s *Purchase) SetHourlyPrice(v string) *Purchase {
105405	s.HourlyPrice = &v
105406	return s
105407}
105408
105409// SetInstanceFamily sets the InstanceFamily field's value.
105410func (s *Purchase) SetInstanceFamily(v string) *Purchase {
105411	s.InstanceFamily = &v
105412	return s
105413}
105414
105415// SetPaymentOption sets the PaymentOption field's value.
105416func (s *Purchase) SetPaymentOption(v string) *Purchase {
105417	s.PaymentOption = &v
105418	return s
105419}
105420
105421// SetUpfrontPrice sets the UpfrontPrice field's value.
105422func (s *Purchase) SetUpfrontPrice(v string) *Purchase {
105423	s.UpfrontPrice = &v
105424	return s
105425}
105426
105427type PurchaseHostReservationInput struct {
105428	_ struct{} `type:"structure"`
105429
105430	// Unique, case-sensitive identifier that you provide to ensure the idempotency
105431	// of the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
105432	ClientToken *string `type:"string"`
105433
105434	// The currency in which the totalUpfrontPrice, LimitPrice, and totalHourlyPrice
105435	// amounts are specified. At this time, the only supported currency is USD.
105436	CurrencyCode *string `type:"string" enum:"CurrencyCodeValues"`
105437
105438	// The IDs of the Dedicated Hosts with which the reservation will be associated.
105439	//
105440	// HostIdSet is a required field
105441	HostIdSet []*string `locationNameList:"item" type:"list" required:"true"`
105442
105443	// The specified limit is checked against the total upfront cost of the reservation
105444	// (calculated as the offering's upfront cost multiplied by the host count).
105445	// If the total upfront cost is greater than the specified price limit, the
105446	// request fails. This is used to ensure that the purchase does not exceed the
105447	// expected upfront cost of the purchase. At this time, the only supported currency
105448	// is USD. For example, to indicate a limit price of USD 100, specify 100.00.
105449	LimitPrice *string `type:"string"`
105450
105451	// The ID of the offering.
105452	//
105453	// OfferingId is a required field
105454	OfferingId *string `type:"string" required:"true"`
105455
105456	// The tags to apply to the Dedicated Host Reservation during purchase.
105457	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
105458}
105459
105460// String returns the string representation
105461func (s PurchaseHostReservationInput) String() string {
105462	return awsutil.Prettify(s)
105463}
105464
105465// GoString returns the string representation
105466func (s PurchaseHostReservationInput) GoString() string {
105467	return s.String()
105468}
105469
105470// Validate inspects the fields of the type to determine if they are valid.
105471func (s *PurchaseHostReservationInput) Validate() error {
105472	invalidParams := request.ErrInvalidParams{Context: "PurchaseHostReservationInput"}
105473	if s.HostIdSet == nil {
105474		invalidParams.Add(request.NewErrParamRequired("HostIdSet"))
105475	}
105476	if s.OfferingId == nil {
105477		invalidParams.Add(request.NewErrParamRequired("OfferingId"))
105478	}
105479
105480	if invalidParams.Len() > 0 {
105481		return invalidParams
105482	}
105483	return nil
105484}
105485
105486// SetClientToken sets the ClientToken field's value.
105487func (s *PurchaseHostReservationInput) SetClientToken(v string) *PurchaseHostReservationInput {
105488	s.ClientToken = &v
105489	return s
105490}
105491
105492// SetCurrencyCode sets the CurrencyCode field's value.
105493func (s *PurchaseHostReservationInput) SetCurrencyCode(v string) *PurchaseHostReservationInput {
105494	s.CurrencyCode = &v
105495	return s
105496}
105497
105498// SetHostIdSet sets the HostIdSet field's value.
105499func (s *PurchaseHostReservationInput) SetHostIdSet(v []*string) *PurchaseHostReservationInput {
105500	s.HostIdSet = v
105501	return s
105502}
105503
105504// SetLimitPrice sets the LimitPrice field's value.
105505func (s *PurchaseHostReservationInput) SetLimitPrice(v string) *PurchaseHostReservationInput {
105506	s.LimitPrice = &v
105507	return s
105508}
105509
105510// SetOfferingId sets the OfferingId field's value.
105511func (s *PurchaseHostReservationInput) SetOfferingId(v string) *PurchaseHostReservationInput {
105512	s.OfferingId = &v
105513	return s
105514}
105515
105516// SetTagSpecifications sets the TagSpecifications field's value.
105517func (s *PurchaseHostReservationInput) SetTagSpecifications(v []*TagSpecification) *PurchaseHostReservationInput {
105518	s.TagSpecifications = v
105519	return s
105520}
105521
105522type PurchaseHostReservationOutput struct {
105523	_ struct{} `type:"structure"`
105524
105525	// Unique, case-sensitive identifier that you provide to ensure the idempotency
105526	// of the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
105527	ClientToken *string `locationName:"clientToken" type:"string"`
105528
105529	// The currency in which the totalUpfrontPrice and totalHourlyPrice amounts
105530	// are specified. At this time, the only supported currency is USD.
105531	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
105532
105533	// Describes the details of the purchase.
105534	Purchase []*Purchase `locationName:"purchase" locationNameList:"item" type:"list"`
105535
105536	// The total hourly price of the reservation calculated per hour.
105537	TotalHourlyPrice *string `locationName:"totalHourlyPrice" type:"string"`
105538
105539	// The total amount charged to your account when you purchase the reservation.
105540	TotalUpfrontPrice *string `locationName:"totalUpfrontPrice" type:"string"`
105541}
105542
105543// String returns the string representation
105544func (s PurchaseHostReservationOutput) String() string {
105545	return awsutil.Prettify(s)
105546}
105547
105548// GoString returns the string representation
105549func (s PurchaseHostReservationOutput) GoString() string {
105550	return s.String()
105551}
105552
105553// SetClientToken sets the ClientToken field's value.
105554func (s *PurchaseHostReservationOutput) SetClientToken(v string) *PurchaseHostReservationOutput {
105555	s.ClientToken = &v
105556	return s
105557}
105558
105559// SetCurrencyCode sets the CurrencyCode field's value.
105560func (s *PurchaseHostReservationOutput) SetCurrencyCode(v string) *PurchaseHostReservationOutput {
105561	s.CurrencyCode = &v
105562	return s
105563}
105564
105565// SetPurchase sets the Purchase field's value.
105566func (s *PurchaseHostReservationOutput) SetPurchase(v []*Purchase) *PurchaseHostReservationOutput {
105567	s.Purchase = v
105568	return s
105569}
105570
105571// SetTotalHourlyPrice sets the TotalHourlyPrice field's value.
105572func (s *PurchaseHostReservationOutput) SetTotalHourlyPrice(v string) *PurchaseHostReservationOutput {
105573	s.TotalHourlyPrice = &v
105574	return s
105575}
105576
105577// SetTotalUpfrontPrice sets the TotalUpfrontPrice field's value.
105578func (s *PurchaseHostReservationOutput) SetTotalUpfrontPrice(v string) *PurchaseHostReservationOutput {
105579	s.TotalUpfrontPrice = &v
105580	return s
105581}
105582
105583// Describes a request to purchase Scheduled Instances.
105584type PurchaseRequest struct {
105585	_ struct{} `type:"structure"`
105586
105587	// The number of instances.
105588	//
105589	// InstanceCount is a required field
105590	InstanceCount *int64 `type:"integer" required:"true"`
105591
105592	// The purchase token.
105593	//
105594	// PurchaseToken is a required field
105595	PurchaseToken *string `type:"string" required:"true"`
105596}
105597
105598// String returns the string representation
105599func (s PurchaseRequest) String() string {
105600	return awsutil.Prettify(s)
105601}
105602
105603// GoString returns the string representation
105604func (s PurchaseRequest) GoString() string {
105605	return s.String()
105606}
105607
105608// Validate inspects the fields of the type to determine if they are valid.
105609func (s *PurchaseRequest) Validate() error {
105610	invalidParams := request.ErrInvalidParams{Context: "PurchaseRequest"}
105611	if s.InstanceCount == nil {
105612		invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
105613	}
105614	if s.PurchaseToken == nil {
105615		invalidParams.Add(request.NewErrParamRequired("PurchaseToken"))
105616	}
105617
105618	if invalidParams.Len() > 0 {
105619		return invalidParams
105620	}
105621	return nil
105622}
105623
105624// SetInstanceCount sets the InstanceCount field's value.
105625func (s *PurchaseRequest) SetInstanceCount(v int64) *PurchaseRequest {
105626	s.InstanceCount = &v
105627	return s
105628}
105629
105630// SetPurchaseToken sets the PurchaseToken field's value.
105631func (s *PurchaseRequest) SetPurchaseToken(v string) *PurchaseRequest {
105632	s.PurchaseToken = &v
105633	return s
105634}
105635
105636// Contains the parameters for PurchaseReservedInstancesOffering.
105637type PurchaseReservedInstancesOfferingInput struct {
105638	_ struct{} `type:"structure"`
105639
105640	// Checks whether you have the required permissions for the action, without
105641	// actually making the request, and provides an error response. If you have
105642	// the required permissions, the error response is DryRunOperation. Otherwise,
105643	// it is UnauthorizedOperation.
105644	DryRun *bool `locationName:"dryRun" type:"boolean"`
105645
105646	// The number of Reserved Instances to purchase.
105647	//
105648	// InstanceCount is a required field
105649	InstanceCount *int64 `type:"integer" required:"true"`
105650
105651	// Specified for Reserved Instance Marketplace offerings to limit the total
105652	// order and ensure that the Reserved Instances are not purchased at unexpected
105653	// prices.
105654	LimitPrice *ReservedInstanceLimitPrice `locationName:"limitPrice" type:"structure"`
105655
105656	// The time at which to purchase the Reserved Instance, in UTC format (for example,
105657	// YYYY-MM-DDTHH:MM:SSZ).
105658	PurchaseTime *time.Time `type:"timestamp"`
105659
105660	// The ID of the Reserved Instance offering to purchase.
105661	//
105662	// ReservedInstancesOfferingId is a required field
105663	ReservedInstancesOfferingId *string `type:"string" required:"true"`
105664}
105665
105666// String returns the string representation
105667func (s PurchaseReservedInstancesOfferingInput) String() string {
105668	return awsutil.Prettify(s)
105669}
105670
105671// GoString returns the string representation
105672func (s PurchaseReservedInstancesOfferingInput) GoString() string {
105673	return s.String()
105674}
105675
105676// Validate inspects the fields of the type to determine if they are valid.
105677func (s *PurchaseReservedInstancesOfferingInput) Validate() error {
105678	invalidParams := request.ErrInvalidParams{Context: "PurchaseReservedInstancesOfferingInput"}
105679	if s.InstanceCount == nil {
105680		invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
105681	}
105682	if s.ReservedInstancesOfferingId == nil {
105683		invalidParams.Add(request.NewErrParamRequired("ReservedInstancesOfferingId"))
105684	}
105685
105686	if invalidParams.Len() > 0 {
105687		return invalidParams
105688	}
105689	return nil
105690}
105691
105692// SetDryRun sets the DryRun field's value.
105693func (s *PurchaseReservedInstancesOfferingInput) SetDryRun(v bool) *PurchaseReservedInstancesOfferingInput {
105694	s.DryRun = &v
105695	return s
105696}
105697
105698// SetInstanceCount sets the InstanceCount field's value.
105699func (s *PurchaseReservedInstancesOfferingInput) SetInstanceCount(v int64) *PurchaseReservedInstancesOfferingInput {
105700	s.InstanceCount = &v
105701	return s
105702}
105703
105704// SetLimitPrice sets the LimitPrice field's value.
105705func (s *PurchaseReservedInstancesOfferingInput) SetLimitPrice(v *ReservedInstanceLimitPrice) *PurchaseReservedInstancesOfferingInput {
105706	s.LimitPrice = v
105707	return s
105708}
105709
105710// SetPurchaseTime sets the PurchaseTime field's value.
105711func (s *PurchaseReservedInstancesOfferingInput) SetPurchaseTime(v time.Time) *PurchaseReservedInstancesOfferingInput {
105712	s.PurchaseTime = &v
105713	return s
105714}
105715
105716// SetReservedInstancesOfferingId sets the ReservedInstancesOfferingId field's value.
105717func (s *PurchaseReservedInstancesOfferingInput) SetReservedInstancesOfferingId(v string) *PurchaseReservedInstancesOfferingInput {
105718	s.ReservedInstancesOfferingId = &v
105719	return s
105720}
105721
105722// Contains the output of PurchaseReservedInstancesOffering.
105723type PurchaseReservedInstancesOfferingOutput struct {
105724	_ struct{} `type:"structure"`
105725
105726	// The IDs of the purchased Reserved Instances.
105727	ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
105728}
105729
105730// String returns the string representation
105731func (s PurchaseReservedInstancesOfferingOutput) String() string {
105732	return awsutil.Prettify(s)
105733}
105734
105735// GoString returns the string representation
105736func (s PurchaseReservedInstancesOfferingOutput) GoString() string {
105737	return s.String()
105738}
105739
105740// SetReservedInstancesId sets the ReservedInstancesId field's value.
105741func (s *PurchaseReservedInstancesOfferingOutput) SetReservedInstancesId(v string) *PurchaseReservedInstancesOfferingOutput {
105742	s.ReservedInstancesId = &v
105743	return s
105744}
105745
105746// Contains the parameters for PurchaseScheduledInstances.
105747type PurchaseScheduledInstancesInput struct {
105748	_ struct{} `type:"structure"`
105749
105750	// Unique, case-sensitive identifier that ensures the idempotency of the request.
105751	// For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
105752	ClientToken *string `type:"string" idempotencyToken:"true"`
105753
105754	// Checks whether you have the required permissions for the action, without
105755	// actually making the request, and provides an error response. If you have
105756	// the required permissions, the error response is DryRunOperation. Otherwise,
105757	// it is UnauthorizedOperation.
105758	DryRun *bool `type:"boolean"`
105759
105760	// The purchase requests.
105761	//
105762	// PurchaseRequests is a required field
105763	PurchaseRequests []*PurchaseRequest `locationName:"PurchaseRequest" locationNameList:"PurchaseRequest" min:"1" type:"list" required:"true"`
105764}
105765
105766// String returns the string representation
105767func (s PurchaseScheduledInstancesInput) String() string {
105768	return awsutil.Prettify(s)
105769}
105770
105771// GoString returns the string representation
105772func (s PurchaseScheduledInstancesInput) GoString() string {
105773	return s.String()
105774}
105775
105776// Validate inspects the fields of the type to determine if they are valid.
105777func (s *PurchaseScheduledInstancesInput) Validate() error {
105778	invalidParams := request.ErrInvalidParams{Context: "PurchaseScheduledInstancesInput"}
105779	if s.PurchaseRequests == nil {
105780		invalidParams.Add(request.NewErrParamRequired("PurchaseRequests"))
105781	}
105782	if s.PurchaseRequests != nil && len(s.PurchaseRequests) < 1 {
105783		invalidParams.Add(request.NewErrParamMinLen("PurchaseRequests", 1))
105784	}
105785	if s.PurchaseRequests != nil {
105786		for i, v := range s.PurchaseRequests {
105787			if v == nil {
105788				continue
105789			}
105790			if err := v.Validate(); err != nil {
105791				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PurchaseRequests", i), err.(request.ErrInvalidParams))
105792			}
105793		}
105794	}
105795
105796	if invalidParams.Len() > 0 {
105797		return invalidParams
105798	}
105799	return nil
105800}
105801
105802// SetClientToken sets the ClientToken field's value.
105803func (s *PurchaseScheduledInstancesInput) SetClientToken(v string) *PurchaseScheduledInstancesInput {
105804	s.ClientToken = &v
105805	return s
105806}
105807
105808// SetDryRun sets the DryRun field's value.
105809func (s *PurchaseScheduledInstancesInput) SetDryRun(v bool) *PurchaseScheduledInstancesInput {
105810	s.DryRun = &v
105811	return s
105812}
105813
105814// SetPurchaseRequests sets the PurchaseRequests field's value.
105815func (s *PurchaseScheduledInstancesInput) SetPurchaseRequests(v []*PurchaseRequest) *PurchaseScheduledInstancesInput {
105816	s.PurchaseRequests = v
105817	return s
105818}
105819
105820// Contains the output of PurchaseScheduledInstances.
105821type PurchaseScheduledInstancesOutput struct {
105822	_ struct{} `type:"structure"`
105823
105824	// Information about the Scheduled Instances.
105825	ScheduledInstanceSet []*ScheduledInstance `locationName:"scheduledInstanceSet" locationNameList:"item" type:"list"`
105826}
105827
105828// String returns the string representation
105829func (s PurchaseScheduledInstancesOutput) String() string {
105830	return awsutil.Prettify(s)
105831}
105832
105833// GoString returns the string representation
105834func (s PurchaseScheduledInstancesOutput) GoString() string {
105835	return s.String()
105836}
105837
105838// SetScheduledInstanceSet sets the ScheduledInstanceSet field's value.
105839func (s *PurchaseScheduledInstancesOutput) SetScheduledInstanceSet(v []*ScheduledInstance) *PurchaseScheduledInstancesOutput {
105840	s.ScheduledInstanceSet = v
105841	return s
105842}
105843
105844type RebootInstancesInput struct {
105845	_ struct{} `type:"structure"`
105846
105847	// Checks whether you have the required permissions for the action, without
105848	// actually making the request, and provides an error response. If you have
105849	// the required permissions, the error response is DryRunOperation. Otherwise,
105850	// it is UnauthorizedOperation.
105851	DryRun *bool `locationName:"dryRun" type:"boolean"`
105852
105853	// The instance IDs.
105854	//
105855	// InstanceIds is a required field
105856	InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
105857}
105858
105859// String returns the string representation
105860func (s RebootInstancesInput) String() string {
105861	return awsutil.Prettify(s)
105862}
105863
105864// GoString returns the string representation
105865func (s RebootInstancesInput) GoString() string {
105866	return s.String()
105867}
105868
105869// Validate inspects the fields of the type to determine if they are valid.
105870func (s *RebootInstancesInput) Validate() error {
105871	invalidParams := request.ErrInvalidParams{Context: "RebootInstancesInput"}
105872	if s.InstanceIds == nil {
105873		invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
105874	}
105875
105876	if invalidParams.Len() > 0 {
105877		return invalidParams
105878	}
105879	return nil
105880}
105881
105882// SetDryRun sets the DryRun field's value.
105883func (s *RebootInstancesInput) SetDryRun(v bool) *RebootInstancesInput {
105884	s.DryRun = &v
105885	return s
105886}
105887
105888// SetInstanceIds sets the InstanceIds field's value.
105889func (s *RebootInstancesInput) SetInstanceIds(v []*string) *RebootInstancesInput {
105890	s.InstanceIds = v
105891	return s
105892}
105893
105894type RebootInstancesOutput struct {
105895	_ struct{} `type:"structure"`
105896}
105897
105898// String returns the string representation
105899func (s RebootInstancesOutput) String() string {
105900	return awsutil.Prettify(s)
105901}
105902
105903// GoString returns the string representation
105904func (s RebootInstancesOutput) GoString() string {
105905	return s.String()
105906}
105907
105908// Describes a recurring charge.
105909type RecurringCharge struct {
105910	_ struct{} `type:"structure"`
105911
105912	// The amount of the recurring charge.
105913	Amount *float64 `locationName:"amount" type:"double"`
105914
105915	// The frequency of the recurring charge.
105916	Frequency *string `locationName:"frequency" type:"string" enum:"RecurringChargeFrequency"`
105917}
105918
105919// String returns the string representation
105920func (s RecurringCharge) String() string {
105921	return awsutil.Prettify(s)
105922}
105923
105924// GoString returns the string representation
105925func (s RecurringCharge) GoString() string {
105926	return s.String()
105927}
105928
105929// SetAmount sets the Amount field's value.
105930func (s *RecurringCharge) SetAmount(v float64) *RecurringCharge {
105931	s.Amount = &v
105932	return s
105933}
105934
105935// SetFrequency sets the Frequency field's value.
105936func (s *RecurringCharge) SetFrequency(v string) *RecurringCharge {
105937	s.Frequency = &v
105938	return s
105939}
105940
105941// Describes a Region.
105942type Region struct {
105943	_ struct{} `type:"structure"`
105944
105945	// The Region service endpoint.
105946	Endpoint *string `locationName:"regionEndpoint" type:"string"`
105947
105948	// The Region opt-in status. The possible values are opt-in-not-required, opted-in,
105949	// and not-opted-in.
105950	OptInStatus *string `locationName:"optInStatus" type:"string"`
105951
105952	// The name of the Region.
105953	RegionName *string `locationName:"regionName" type:"string"`
105954}
105955
105956// String returns the string representation
105957func (s Region) String() string {
105958	return awsutil.Prettify(s)
105959}
105960
105961// GoString returns the string representation
105962func (s Region) GoString() string {
105963	return s.String()
105964}
105965
105966// SetEndpoint sets the Endpoint field's value.
105967func (s *Region) SetEndpoint(v string) *Region {
105968	s.Endpoint = &v
105969	return s
105970}
105971
105972// SetOptInStatus sets the OptInStatus field's value.
105973func (s *Region) SetOptInStatus(v string) *Region {
105974	s.OptInStatus = &v
105975	return s
105976}
105977
105978// SetRegionName sets the RegionName field's value.
105979func (s *Region) SetRegionName(v string) *Region {
105980	s.RegionName = &v
105981	return s
105982}
105983
105984// Contains the parameters for RegisterImage.
105985type RegisterImageInput struct {
105986	_ struct{} `type:"structure"`
105987
105988	// The architecture of the AMI.
105989	//
105990	// Default: For Amazon EBS-backed AMIs, i386. For instance store-backed AMIs,
105991	// the architecture specified in the manifest file.
105992	Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
105993
105994	// The billing product codes. Your account must be authorized to specify billing
105995	// product codes. Otherwise, you can use the AWS Marketplace to bill for the
105996	// use of an AMI.
105997	BillingProducts []*string `locationName:"BillingProduct" locationNameList:"item" type:"list"`
105998
105999	// The block device mapping entries.
106000	//
106001	// If you specify an EBS volume using the ID of an EBS snapshot, you can't specify
106002	// the encryption state of the volume.
106003	//
106004	// If you create an AMI on an Outpost, then all backing snapshots must be on
106005	// the same Outpost or in the Region of that Outpost. AMIs on an Outpost that
106006	// include local snapshots can be used to launch instances on the same Outpost
106007	// only. For more information, Amazon EBS local snapshots on Outposts (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshots-outposts.html#ami)
106008	// in the Amazon Elastic Compute Cloud User Guide.
106009	BlockDeviceMappings []*BlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
106010
106011	// The boot mode of the AMI. For more information, see Boot modes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-boot.html)
106012	// in the Amazon Elastic Compute Cloud User Guide.
106013	BootMode *string `type:"string" enum:"BootModeValues"`
106014
106015	// A description for your AMI.
106016	Description *string `locationName:"description" type:"string"`
106017
106018	// Checks whether you have the required permissions for the action, without
106019	// actually making the request, and provides an error response. If you have
106020	// the required permissions, the error response is DryRunOperation. Otherwise,
106021	// it is UnauthorizedOperation.
106022	DryRun *bool `locationName:"dryRun" type:"boolean"`
106023
106024	// Set to true to enable enhanced networking with ENA for the AMI and any instances
106025	// that you launch from the AMI.
106026	//
106027	// This option is supported only for HVM AMIs. Specifying this option with a
106028	// PV AMI can make instances launched from the AMI unreachable.
106029	EnaSupport *bool `locationName:"enaSupport" type:"boolean"`
106030
106031	// The full path to your AMI manifest in Amazon S3 storage. The specified bucket
106032	// must have the aws-exec-read canned access control list (ACL) to ensure that
106033	// it can be accessed by Amazon EC2. For more information, see Canned ACLs (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl)
106034	// in the Amazon S3 Service Developer Guide.
106035	ImageLocation *string `type:"string"`
106036
106037	// The ID of the kernel.
106038	KernelId *string `locationName:"kernelId" type:"string"`
106039
106040	// A name for your AMI.
106041	//
106042	// Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets
106043	// ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('),
106044	// at-signs (@), or underscores(_)
106045	//
106046	// Name is a required field
106047	Name *string `locationName:"name" type:"string" required:"true"`
106048
106049	// The ID of the RAM disk.
106050	RamdiskId *string `locationName:"ramdiskId" type:"string"`
106051
106052	// The device name of the root device volume (for example, /dev/sda1).
106053	RootDeviceName *string `locationName:"rootDeviceName" type:"string"`
106054
106055	// Set to simple to enable enhanced networking with the Intel 82599 Virtual
106056	// Function interface for the AMI and any instances that you launch from the
106057	// AMI.
106058	//
106059	// There is no way to disable sriovNetSupport at this time.
106060	//
106061	// This option is supported only for HVM AMIs. Specifying this option with a
106062	// PV AMI can make instances launched from the AMI unreachable.
106063	SriovNetSupport *string `locationName:"sriovNetSupport" type:"string"`
106064
106065	// The type of virtualization (hvm | paravirtual).
106066	//
106067	// Default: paravirtual
106068	VirtualizationType *string `locationName:"virtualizationType" type:"string"`
106069}
106070
106071// String returns the string representation
106072func (s RegisterImageInput) String() string {
106073	return awsutil.Prettify(s)
106074}
106075
106076// GoString returns the string representation
106077func (s RegisterImageInput) GoString() string {
106078	return s.String()
106079}
106080
106081// Validate inspects the fields of the type to determine if they are valid.
106082func (s *RegisterImageInput) Validate() error {
106083	invalidParams := request.ErrInvalidParams{Context: "RegisterImageInput"}
106084	if s.Name == nil {
106085		invalidParams.Add(request.NewErrParamRequired("Name"))
106086	}
106087
106088	if invalidParams.Len() > 0 {
106089		return invalidParams
106090	}
106091	return nil
106092}
106093
106094// SetArchitecture sets the Architecture field's value.
106095func (s *RegisterImageInput) SetArchitecture(v string) *RegisterImageInput {
106096	s.Architecture = &v
106097	return s
106098}
106099
106100// SetBillingProducts sets the BillingProducts field's value.
106101func (s *RegisterImageInput) SetBillingProducts(v []*string) *RegisterImageInput {
106102	s.BillingProducts = v
106103	return s
106104}
106105
106106// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
106107func (s *RegisterImageInput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *RegisterImageInput {
106108	s.BlockDeviceMappings = v
106109	return s
106110}
106111
106112// SetBootMode sets the BootMode field's value.
106113func (s *RegisterImageInput) SetBootMode(v string) *RegisterImageInput {
106114	s.BootMode = &v
106115	return s
106116}
106117
106118// SetDescription sets the Description field's value.
106119func (s *RegisterImageInput) SetDescription(v string) *RegisterImageInput {
106120	s.Description = &v
106121	return s
106122}
106123
106124// SetDryRun sets the DryRun field's value.
106125func (s *RegisterImageInput) SetDryRun(v bool) *RegisterImageInput {
106126	s.DryRun = &v
106127	return s
106128}
106129
106130// SetEnaSupport sets the EnaSupport field's value.
106131func (s *RegisterImageInput) SetEnaSupport(v bool) *RegisterImageInput {
106132	s.EnaSupport = &v
106133	return s
106134}
106135
106136// SetImageLocation sets the ImageLocation field's value.
106137func (s *RegisterImageInput) SetImageLocation(v string) *RegisterImageInput {
106138	s.ImageLocation = &v
106139	return s
106140}
106141
106142// SetKernelId sets the KernelId field's value.
106143func (s *RegisterImageInput) SetKernelId(v string) *RegisterImageInput {
106144	s.KernelId = &v
106145	return s
106146}
106147
106148// SetName sets the Name field's value.
106149func (s *RegisterImageInput) SetName(v string) *RegisterImageInput {
106150	s.Name = &v
106151	return s
106152}
106153
106154// SetRamdiskId sets the RamdiskId field's value.
106155func (s *RegisterImageInput) SetRamdiskId(v string) *RegisterImageInput {
106156	s.RamdiskId = &v
106157	return s
106158}
106159
106160// SetRootDeviceName sets the RootDeviceName field's value.
106161func (s *RegisterImageInput) SetRootDeviceName(v string) *RegisterImageInput {
106162	s.RootDeviceName = &v
106163	return s
106164}
106165
106166// SetSriovNetSupport sets the SriovNetSupport field's value.
106167func (s *RegisterImageInput) SetSriovNetSupport(v string) *RegisterImageInput {
106168	s.SriovNetSupport = &v
106169	return s
106170}
106171
106172// SetVirtualizationType sets the VirtualizationType field's value.
106173func (s *RegisterImageInput) SetVirtualizationType(v string) *RegisterImageInput {
106174	s.VirtualizationType = &v
106175	return s
106176}
106177
106178// Contains the output of RegisterImage.
106179type RegisterImageOutput struct {
106180	_ struct{} `type:"structure"`
106181
106182	// The ID of the newly registered AMI.
106183	ImageId *string `locationName:"imageId" type:"string"`
106184}
106185
106186// String returns the string representation
106187func (s RegisterImageOutput) String() string {
106188	return awsutil.Prettify(s)
106189}
106190
106191// GoString returns the string representation
106192func (s RegisterImageOutput) GoString() string {
106193	return s.String()
106194}
106195
106196// SetImageId sets the ImageId field's value.
106197func (s *RegisterImageOutput) SetImageId(v string) *RegisterImageOutput {
106198	s.ImageId = &v
106199	return s
106200}
106201
106202type RegisterInstanceEventNotificationAttributesInput struct {
106203	_ struct{} `type:"structure"`
106204
106205	// Checks whether you have the required permissions for the action, without
106206	// actually making the request, and provides an error response. If you have
106207	// the required permissions, the error response is DryRunOperation. Otherwise,
106208	// it is UnauthorizedOperation.
106209	DryRun *bool `type:"boolean"`
106210
106211	// Information about the tag keys to register.
106212	InstanceTagAttribute *RegisterInstanceTagAttributeRequest `type:"structure"`
106213}
106214
106215// String returns the string representation
106216func (s RegisterInstanceEventNotificationAttributesInput) String() string {
106217	return awsutil.Prettify(s)
106218}
106219
106220// GoString returns the string representation
106221func (s RegisterInstanceEventNotificationAttributesInput) GoString() string {
106222	return s.String()
106223}
106224
106225// SetDryRun sets the DryRun field's value.
106226func (s *RegisterInstanceEventNotificationAttributesInput) SetDryRun(v bool) *RegisterInstanceEventNotificationAttributesInput {
106227	s.DryRun = &v
106228	return s
106229}
106230
106231// SetInstanceTagAttribute sets the InstanceTagAttribute field's value.
106232func (s *RegisterInstanceEventNotificationAttributesInput) SetInstanceTagAttribute(v *RegisterInstanceTagAttributeRequest) *RegisterInstanceEventNotificationAttributesInput {
106233	s.InstanceTagAttribute = v
106234	return s
106235}
106236
106237type RegisterInstanceEventNotificationAttributesOutput struct {
106238	_ struct{} `type:"structure"`
106239
106240	// The resulting set of tag keys.
106241	InstanceTagAttribute *InstanceTagNotificationAttribute `locationName:"instanceTagAttribute" type:"structure"`
106242}
106243
106244// String returns the string representation
106245func (s RegisterInstanceEventNotificationAttributesOutput) String() string {
106246	return awsutil.Prettify(s)
106247}
106248
106249// GoString returns the string representation
106250func (s RegisterInstanceEventNotificationAttributesOutput) GoString() string {
106251	return s.String()
106252}
106253
106254// SetInstanceTagAttribute sets the InstanceTagAttribute field's value.
106255func (s *RegisterInstanceEventNotificationAttributesOutput) SetInstanceTagAttribute(v *InstanceTagNotificationAttribute) *RegisterInstanceEventNotificationAttributesOutput {
106256	s.InstanceTagAttribute = v
106257	return s
106258}
106259
106260// Information about the tag keys to register for the current Region. You can
106261// either specify individual tag keys or register all tag keys in the current
106262// Region. You must specify either IncludeAllTagsOfInstance or InstanceTagKeys
106263// in the request
106264type RegisterInstanceTagAttributeRequest struct {
106265	_ struct{} `type:"structure"`
106266
106267	// Indicates whether to register all tag keys in the current Region. Specify
106268	// true to register all tag keys.
106269	IncludeAllTagsOfInstance *bool `type:"boolean"`
106270
106271	// The tag keys to register.
106272	InstanceTagKeys []*string `locationName:"InstanceTagKey" locationNameList:"item" type:"list"`
106273}
106274
106275// String returns the string representation
106276func (s RegisterInstanceTagAttributeRequest) String() string {
106277	return awsutil.Prettify(s)
106278}
106279
106280// GoString returns the string representation
106281func (s RegisterInstanceTagAttributeRequest) GoString() string {
106282	return s.String()
106283}
106284
106285// SetIncludeAllTagsOfInstance sets the IncludeAllTagsOfInstance field's value.
106286func (s *RegisterInstanceTagAttributeRequest) SetIncludeAllTagsOfInstance(v bool) *RegisterInstanceTagAttributeRequest {
106287	s.IncludeAllTagsOfInstance = &v
106288	return s
106289}
106290
106291// SetInstanceTagKeys sets the InstanceTagKeys field's value.
106292func (s *RegisterInstanceTagAttributeRequest) SetInstanceTagKeys(v []*string) *RegisterInstanceTagAttributeRequest {
106293	s.InstanceTagKeys = v
106294	return s
106295}
106296
106297type RegisterTransitGatewayMulticastGroupMembersInput struct {
106298	_ struct{} `type:"structure"`
106299
106300	// Checks whether you have the required permissions for the action, without
106301	// actually making the request, and provides an error response. If you have
106302	// the required permissions, the error response is DryRunOperation. Otherwise,
106303	// it is UnauthorizedOperation.
106304	DryRun *bool `type:"boolean"`
106305
106306	// The IP address assigned to the transit gateway multicast group.
106307	GroupIpAddress *string `type:"string"`
106308
106309	// The group members' network interface IDs to register with the transit gateway
106310	// multicast group.
106311	NetworkInterfaceIds []*string `locationNameList:"item" type:"list"`
106312
106313	// The ID of the transit gateway multicast domain.
106314	TransitGatewayMulticastDomainId *string `type:"string"`
106315}
106316
106317// String returns the string representation
106318func (s RegisterTransitGatewayMulticastGroupMembersInput) String() string {
106319	return awsutil.Prettify(s)
106320}
106321
106322// GoString returns the string representation
106323func (s RegisterTransitGatewayMulticastGroupMembersInput) GoString() string {
106324	return s.String()
106325}
106326
106327// SetDryRun sets the DryRun field's value.
106328func (s *RegisterTransitGatewayMulticastGroupMembersInput) SetDryRun(v bool) *RegisterTransitGatewayMulticastGroupMembersInput {
106329	s.DryRun = &v
106330	return s
106331}
106332
106333// SetGroupIpAddress sets the GroupIpAddress field's value.
106334func (s *RegisterTransitGatewayMulticastGroupMembersInput) SetGroupIpAddress(v string) *RegisterTransitGatewayMulticastGroupMembersInput {
106335	s.GroupIpAddress = &v
106336	return s
106337}
106338
106339// SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value.
106340func (s *RegisterTransitGatewayMulticastGroupMembersInput) SetNetworkInterfaceIds(v []*string) *RegisterTransitGatewayMulticastGroupMembersInput {
106341	s.NetworkInterfaceIds = v
106342	return s
106343}
106344
106345// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
106346func (s *RegisterTransitGatewayMulticastGroupMembersInput) SetTransitGatewayMulticastDomainId(v string) *RegisterTransitGatewayMulticastGroupMembersInput {
106347	s.TransitGatewayMulticastDomainId = &v
106348	return s
106349}
106350
106351type RegisterTransitGatewayMulticastGroupMembersOutput struct {
106352	_ struct{} `type:"structure"`
106353
106354	// Information about the registered transit gateway multicast group members.
106355	RegisteredMulticastGroupMembers *TransitGatewayMulticastRegisteredGroupMembers `locationName:"registeredMulticastGroupMembers" type:"structure"`
106356}
106357
106358// String returns the string representation
106359func (s RegisterTransitGatewayMulticastGroupMembersOutput) String() string {
106360	return awsutil.Prettify(s)
106361}
106362
106363// GoString returns the string representation
106364func (s RegisterTransitGatewayMulticastGroupMembersOutput) GoString() string {
106365	return s.String()
106366}
106367
106368// SetRegisteredMulticastGroupMembers sets the RegisteredMulticastGroupMembers field's value.
106369func (s *RegisterTransitGatewayMulticastGroupMembersOutput) SetRegisteredMulticastGroupMembers(v *TransitGatewayMulticastRegisteredGroupMembers) *RegisterTransitGatewayMulticastGroupMembersOutput {
106370	s.RegisteredMulticastGroupMembers = v
106371	return s
106372}
106373
106374type RegisterTransitGatewayMulticastGroupSourcesInput struct {
106375	_ struct{} `type:"structure"`
106376
106377	// Checks whether you have the required permissions for the action, without
106378	// actually making the request, and provides an error response. If you have
106379	// the required permissions, the error response is DryRunOperation. Otherwise,
106380	// it is UnauthorizedOperation.
106381	DryRun *bool `type:"boolean"`
106382
106383	// The IP address assigned to the transit gateway multicast group.
106384	GroupIpAddress *string `type:"string"`
106385
106386	// The group sources' network interface IDs to register with the transit gateway
106387	// multicast group.
106388	NetworkInterfaceIds []*string `locationNameList:"item" type:"list"`
106389
106390	// The ID of the transit gateway multicast domain.
106391	TransitGatewayMulticastDomainId *string `type:"string"`
106392}
106393
106394// String returns the string representation
106395func (s RegisterTransitGatewayMulticastGroupSourcesInput) String() string {
106396	return awsutil.Prettify(s)
106397}
106398
106399// GoString returns the string representation
106400func (s RegisterTransitGatewayMulticastGroupSourcesInput) GoString() string {
106401	return s.String()
106402}
106403
106404// SetDryRun sets the DryRun field's value.
106405func (s *RegisterTransitGatewayMulticastGroupSourcesInput) SetDryRun(v bool) *RegisterTransitGatewayMulticastGroupSourcesInput {
106406	s.DryRun = &v
106407	return s
106408}
106409
106410// SetGroupIpAddress sets the GroupIpAddress field's value.
106411func (s *RegisterTransitGatewayMulticastGroupSourcesInput) SetGroupIpAddress(v string) *RegisterTransitGatewayMulticastGroupSourcesInput {
106412	s.GroupIpAddress = &v
106413	return s
106414}
106415
106416// SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value.
106417func (s *RegisterTransitGatewayMulticastGroupSourcesInput) SetNetworkInterfaceIds(v []*string) *RegisterTransitGatewayMulticastGroupSourcesInput {
106418	s.NetworkInterfaceIds = v
106419	return s
106420}
106421
106422// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
106423func (s *RegisterTransitGatewayMulticastGroupSourcesInput) SetTransitGatewayMulticastDomainId(v string) *RegisterTransitGatewayMulticastGroupSourcesInput {
106424	s.TransitGatewayMulticastDomainId = &v
106425	return s
106426}
106427
106428type RegisterTransitGatewayMulticastGroupSourcesOutput struct {
106429	_ struct{} `type:"structure"`
106430
106431	// Information about the transit gateway multicast group sources.
106432	RegisteredMulticastGroupSources *TransitGatewayMulticastRegisteredGroupSources `locationName:"registeredMulticastGroupSources" type:"structure"`
106433}
106434
106435// String returns the string representation
106436func (s RegisterTransitGatewayMulticastGroupSourcesOutput) String() string {
106437	return awsutil.Prettify(s)
106438}
106439
106440// GoString returns the string representation
106441func (s RegisterTransitGatewayMulticastGroupSourcesOutput) GoString() string {
106442	return s.String()
106443}
106444
106445// SetRegisteredMulticastGroupSources sets the RegisteredMulticastGroupSources field's value.
106446func (s *RegisterTransitGatewayMulticastGroupSourcesOutput) SetRegisteredMulticastGroupSources(v *TransitGatewayMulticastRegisteredGroupSources) *RegisterTransitGatewayMulticastGroupSourcesOutput {
106447	s.RegisteredMulticastGroupSources = v
106448	return s
106449}
106450
106451type RejectTransitGatewayMulticastDomainAssociationsInput struct {
106452	_ struct{} `type:"structure"`
106453
106454	// Checks whether you have the required permissions for the action, without
106455	// actually making the request, and provides an error response. If you have
106456	// the required permissions, the error response is DryRunOperation. Otherwise,
106457	// it is UnauthorizedOperation.
106458	DryRun *bool `type:"boolean"`
106459
106460	// The IDs of the subnets to associate with the transit gateway multicast domain.
106461	SubnetIds []*string `locationNameList:"item" type:"list"`
106462
106463	// The ID of the transit gateway attachment.
106464	TransitGatewayAttachmentId *string `type:"string"`
106465
106466	// The ID of the transit gateway multicast domain.
106467	TransitGatewayMulticastDomainId *string `type:"string"`
106468}
106469
106470// String returns the string representation
106471func (s RejectTransitGatewayMulticastDomainAssociationsInput) String() string {
106472	return awsutil.Prettify(s)
106473}
106474
106475// GoString returns the string representation
106476func (s RejectTransitGatewayMulticastDomainAssociationsInput) GoString() string {
106477	return s.String()
106478}
106479
106480// SetDryRun sets the DryRun field's value.
106481func (s *RejectTransitGatewayMulticastDomainAssociationsInput) SetDryRun(v bool) *RejectTransitGatewayMulticastDomainAssociationsInput {
106482	s.DryRun = &v
106483	return s
106484}
106485
106486// SetSubnetIds sets the SubnetIds field's value.
106487func (s *RejectTransitGatewayMulticastDomainAssociationsInput) SetSubnetIds(v []*string) *RejectTransitGatewayMulticastDomainAssociationsInput {
106488	s.SubnetIds = v
106489	return s
106490}
106491
106492// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
106493func (s *RejectTransitGatewayMulticastDomainAssociationsInput) SetTransitGatewayAttachmentId(v string) *RejectTransitGatewayMulticastDomainAssociationsInput {
106494	s.TransitGatewayAttachmentId = &v
106495	return s
106496}
106497
106498// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
106499func (s *RejectTransitGatewayMulticastDomainAssociationsInput) SetTransitGatewayMulticastDomainId(v string) *RejectTransitGatewayMulticastDomainAssociationsInput {
106500	s.TransitGatewayMulticastDomainId = &v
106501	return s
106502}
106503
106504type RejectTransitGatewayMulticastDomainAssociationsOutput struct {
106505	_ struct{} `type:"structure"`
106506
106507	// Describes the multicast domain associations.
106508	Associations *TransitGatewayMulticastDomainAssociations `locationName:"associations" type:"structure"`
106509}
106510
106511// String returns the string representation
106512func (s RejectTransitGatewayMulticastDomainAssociationsOutput) String() string {
106513	return awsutil.Prettify(s)
106514}
106515
106516// GoString returns the string representation
106517func (s RejectTransitGatewayMulticastDomainAssociationsOutput) GoString() string {
106518	return s.String()
106519}
106520
106521// SetAssociations sets the Associations field's value.
106522func (s *RejectTransitGatewayMulticastDomainAssociationsOutput) SetAssociations(v *TransitGatewayMulticastDomainAssociations) *RejectTransitGatewayMulticastDomainAssociationsOutput {
106523	s.Associations = v
106524	return s
106525}
106526
106527type RejectTransitGatewayPeeringAttachmentInput struct {
106528	_ struct{} `type:"structure"`
106529
106530	// Checks whether you have the required permissions for the action, without
106531	// actually making the request, and provides an error response. If you have
106532	// the required permissions, the error response is DryRunOperation. Otherwise,
106533	// it is UnauthorizedOperation.
106534	DryRun *bool `type:"boolean"`
106535
106536	// The ID of the transit gateway peering attachment.
106537	//
106538	// TransitGatewayAttachmentId is a required field
106539	TransitGatewayAttachmentId *string `type:"string" required:"true"`
106540}
106541
106542// String returns the string representation
106543func (s RejectTransitGatewayPeeringAttachmentInput) String() string {
106544	return awsutil.Prettify(s)
106545}
106546
106547// GoString returns the string representation
106548func (s RejectTransitGatewayPeeringAttachmentInput) GoString() string {
106549	return s.String()
106550}
106551
106552// Validate inspects the fields of the type to determine if they are valid.
106553func (s *RejectTransitGatewayPeeringAttachmentInput) Validate() error {
106554	invalidParams := request.ErrInvalidParams{Context: "RejectTransitGatewayPeeringAttachmentInput"}
106555	if s.TransitGatewayAttachmentId == nil {
106556		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
106557	}
106558
106559	if invalidParams.Len() > 0 {
106560		return invalidParams
106561	}
106562	return nil
106563}
106564
106565// SetDryRun sets the DryRun field's value.
106566func (s *RejectTransitGatewayPeeringAttachmentInput) SetDryRun(v bool) *RejectTransitGatewayPeeringAttachmentInput {
106567	s.DryRun = &v
106568	return s
106569}
106570
106571// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
106572func (s *RejectTransitGatewayPeeringAttachmentInput) SetTransitGatewayAttachmentId(v string) *RejectTransitGatewayPeeringAttachmentInput {
106573	s.TransitGatewayAttachmentId = &v
106574	return s
106575}
106576
106577type RejectTransitGatewayPeeringAttachmentOutput struct {
106578	_ struct{} `type:"structure"`
106579
106580	// The transit gateway peering attachment.
106581	TransitGatewayPeeringAttachment *TransitGatewayPeeringAttachment `locationName:"transitGatewayPeeringAttachment" type:"structure"`
106582}
106583
106584// String returns the string representation
106585func (s RejectTransitGatewayPeeringAttachmentOutput) String() string {
106586	return awsutil.Prettify(s)
106587}
106588
106589// GoString returns the string representation
106590func (s RejectTransitGatewayPeeringAttachmentOutput) GoString() string {
106591	return s.String()
106592}
106593
106594// SetTransitGatewayPeeringAttachment sets the TransitGatewayPeeringAttachment field's value.
106595func (s *RejectTransitGatewayPeeringAttachmentOutput) SetTransitGatewayPeeringAttachment(v *TransitGatewayPeeringAttachment) *RejectTransitGatewayPeeringAttachmentOutput {
106596	s.TransitGatewayPeeringAttachment = v
106597	return s
106598}
106599
106600type RejectTransitGatewayVpcAttachmentInput struct {
106601	_ struct{} `type:"structure"`
106602
106603	// Checks whether you have the required permissions for the action, without
106604	// actually making the request, and provides an error response. If you have
106605	// the required permissions, the error response is DryRunOperation. Otherwise,
106606	// it is UnauthorizedOperation.
106607	DryRun *bool `type:"boolean"`
106608
106609	// The ID of the attachment.
106610	//
106611	// TransitGatewayAttachmentId is a required field
106612	TransitGatewayAttachmentId *string `type:"string" required:"true"`
106613}
106614
106615// String returns the string representation
106616func (s RejectTransitGatewayVpcAttachmentInput) String() string {
106617	return awsutil.Prettify(s)
106618}
106619
106620// GoString returns the string representation
106621func (s RejectTransitGatewayVpcAttachmentInput) GoString() string {
106622	return s.String()
106623}
106624
106625// Validate inspects the fields of the type to determine if they are valid.
106626func (s *RejectTransitGatewayVpcAttachmentInput) Validate() error {
106627	invalidParams := request.ErrInvalidParams{Context: "RejectTransitGatewayVpcAttachmentInput"}
106628	if s.TransitGatewayAttachmentId == nil {
106629		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
106630	}
106631
106632	if invalidParams.Len() > 0 {
106633		return invalidParams
106634	}
106635	return nil
106636}
106637
106638// SetDryRun sets the DryRun field's value.
106639func (s *RejectTransitGatewayVpcAttachmentInput) SetDryRun(v bool) *RejectTransitGatewayVpcAttachmentInput {
106640	s.DryRun = &v
106641	return s
106642}
106643
106644// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
106645func (s *RejectTransitGatewayVpcAttachmentInput) SetTransitGatewayAttachmentId(v string) *RejectTransitGatewayVpcAttachmentInput {
106646	s.TransitGatewayAttachmentId = &v
106647	return s
106648}
106649
106650type RejectTransitGatewayVpcAttachmentOutput struct {
106651	_ struct{} `type:"structure"`
106652
106653	// Information about the attachment.
106654	TransitGatewayVpcAttachment *TransitGatewayVpcAttachment `locationName:"transitGatewayVpcAttachment" type:"structure"`
106655}
106656
106657// String returns the string representation
106658func (s RejectTransitGatewayVpcAttachmentOutput) String() string {
106659	return awsutil.Prettify(s)
106660}
106661
106662// GoString returns the string representation
106663func (s RejectTransitGatewayVpcAttachmentOutput) GoString() string {
106664	return s.String()
106665}
106666
106667// SetTransitGatewayVpcAttachment sets the TransitGatewayVpcAttachment field's value.
106668func (s *RejectTransitGatewayVpcAttachmentOutput) SetTransitGatewayVpcAttachment(v *TransitGatewayVpcAttachment) *RejectTransitGatewayVpcAttachmentOutput {
106669	s.TransitGatewayVpcAttachment = v
106670	return s
106671}
106672
106673type RejectVpcEndpointConnectionsInput struct {
106674	_ struct{} `type:"structure"`
106675
106676	// Checks whether you have the required permissions for the action, without
106677	// actually making the request, and provides an error response. If you have
106678	// the required permissions, the error response is DryRunOperation. Otherwise,
106679	// it is UnauthorizedOperation.
106680	DryRun *bool `type:"boolean"`
106681
106682	// The ID of the service.
106683	//
106684	// ServiceId is a required field
106685	ServiceId *string `type:"string" required:"true"`
106686
106687	// The IDs of one or more VPC endpoints.
106688	//
106689	// VpcEndpointIds is a required field
106690	VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list" required:"true"`
106691}
106692
106693// String returns the string representation
106694func (s RejectVpcEndpointConnectionsInput) String() string {
106695	return awsutil.Prettify(s)
106696}
106697
106698// GoString returns the string representation
106699func (s RejectVpcEndpointConnectionsInput) GoString() string {
106700	return s.String()
106701}
106702
106703// Validate inspects the fields of the type to determine if they are valid.
106704func (s *RejectVpcEndpointConnectionsInput) Validate() error {
106705	invalidParams := request.ErrInvalidParams{Context: "RejectVpcEndpointConnectionsInput"}
106706	if s.ServiceId == nil {
106707		invalidParams.Add(request.NewErrParamRequired("ServiceId"))
106708	}
106709	if s.VpcEndpointIds == nil {
106710		invalidParams.Add(request.NewErrParamRequired("VpcEndpointIds"))
106711	}
106712
106713	if invalidParams.Len() > 0 {
106714		return invalidParams
106715	}
106716	return nil
106717}
106718
106719// SetDryRun sets the DryRun field's value.
106720func (s *RejectVpcEndpointConnectionsInput) SetDryRun(v bool) *RejectVpcEndpointConnectionsInput {
106721	s.DryRun = &v
106722	return s
106723}
106724
106725// SetServiceId sets the ServiceId field's value.
106726func (s *RejectVpcEndpointConnectionsInput) SetServiceId(v string) *RejectVpcEndpointConnectionsInput {
106727	s.ServiceId = &v
106728	return s
106729}
106730
106731// SetVpcEndpointIds sets the VpcEndpointIds field's value.
106732func (s *RejectVpcEndpointConnectionsInput) SetVpcEndpointIds(v []*string) *RejectVpcEndpointConnectionsInput {
106733	s.VpcEndpointIds = v
106734	return s
106735}
106736
106737type RejectVpcEndpointConnectionsOutput struct {
106738	_ struct{} `type:"structure"`
106739
106740	// Information about the endpoints that were not rejected, if applicable.
106741	Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
106742}
106743
106744// String returns the string representation
106745func (s RejectVpcEndpointConnectionsOutput) String() string {
106746	return awsutil.Prettify(s)
106747}
106748
106749// GoString returns the string representation
106750func (s RejectVpcEndpointConnectionsOutput) GoString() string {
106751	return s.String()
106752}
106753
106754// SetUnsuccessful sets the Unsuccessful field's value.
106755func (s *RejectVpcEndpointConnectionsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *RejectVpcEndpointConnectionsOutput {
106756	s.Unsuccessful = v
106757	return s
106758}
106759
106760type RejectVpcPeeringConnectionInput struct {
106761	_ struct{} `type:"structure"`
106762
106763	// Checks whether you have the required permissions for the action, without
106764	// actually making the request, and provides an error response. If you have
106765	// the required permissions, the error response is DryRunOperation. Otherwise,
106766	// it is UnauthorizedOperation.
106767	DryRun *bool `locationName:"dryRun" type:"boolean"`
106768
106769	// The ID of the VPC peering connection.
106770	//
106771	// VpcPeeringConnectionId is a required field
106772	VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string" required:"true"`
106773}
106774
106775// String returns the string representation
106776func (s RejectVpcPeeringConnectionInput) String() string {
106777	return awsutil.Prettify(s)
106778}
106779
106780// GoString returns the string representation
106781func (s RejectVpcPeeringConnectionInput) GoString() string {
106782	return s.String()
106783}
106784
106785// Validate inspects the fields of the type to determine if they are valid.
106786func (s *RejectVpcPeeringConnectionInput) Validate() error {
106787	invalidParams := request.ErrInvalidParams{Context: "RejectVpcPeeringConnectionInput"}
106788	if s.VpcPeeringConnectionId == nil {
106789		invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId"))
106790	}
106791
106792	if invalidParams.Len() > 0 {
106793		return invalidParams
106794	}
106795	return nil
106796}
106797
106798// SetDryRun sets the DryRun field's value.
106799func (s *RejectVpcPeeringConnectionInput) SetDryRun(v bool) *RejectVpcPeeringConnectionInput {
106800	s.DryRun = &v
106801	return s
106802}
106803
106804// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
106805func (s *RejectVpcPeeringConnectionInput) SetVpcPeeringConnectionId(v string) *RejectVpcPeeringConnectionInput {
106806	s.VpcPeeringConnectionId = &v
106807	return s
106808}
106809
106810type RejectVpcPeeringConnectionOutput struct {
106811	_ struct{} `type:"structure"`
106812
106813	// Returns true if the request succeeds; otherwise, it returns an error.
106814	Return *bool `locationName:"return" type:"boolean"`
106815}
106816
106817// String returns the string representation
106818func (s RejectVpcPeeringConnectionOutput) String() string {
106819	return awsutil.Prettify(s)
106820}
106821
106822// GoString returns the string representation
106823func (s RejectVpcPeeringConnectionOutput) GoString() string {
106824	return s.String()
106825}
106826
106827// SetReturn sets the Return field's value.
106828func (s *RejectVpcPeeringConnectionOutput) SetReturn(v bool) *RejectVpcPeeringConnectionOutput {
106829	s.Return = &v
106830	return s
106831}
106832
106833type ReleaseAddressInput struct {
106834	_ struct{} `type:"structure"`
106835
106836	// [EC2-VPC] The allocation ID. Required for EC2-VPC.
106837	AllocationId *string `type:"string"`
106838
106839	// Checks whether you have the required permissions for the action, without
106840	// actually making the request, and provides an error response. If you have
106841	// the required permissions, the error response is DryRunOperation. Otherwise,
106842	// it is UnauthorizedOperation.
106843	DryRun *bool `locationName:"dryRun" type:"boolean"`
106844
106845	// The set of Availability Zones, Local Zones, or Wavelength Zones from which
106846	// AWS advertises IP addresses.
106847	//
106848	// If you provide an incorrect network border group, you will receive an InvalidAddress.NotFound
106849	// error. For more information, see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html).
106850	//
106851	// You cannot use a network border group with EC2 Classic. If you attempt this
106852	// operation on EC2 classic, you will receive an InvalidParameterCombination
106853	// error. For more information, see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html).
106854	NetworkBorderGroup *string `type:"string"`
106855
106856	// [EC2-Classic] The Elastic IP address. Required for EC2-Classic.
106857	PublicIp *string `type:"string"`
106858}
106859
106860// String returns the string representation
106861func (s ReleaseAddressInput) String() string {
106862	return awsutil.Prettify(s)
106863}
106864
106865// GoString returns the string representation
106866func (s ReleaseAddressInput) GoString() string {
106867	return s.String()
106868}
106869
106870// SetAllocationId sets the AllocationId field's value.
106871func (s *ReleaseAddressInput) SetAllocationId(v string) *ReleaseAddressInput {
106872	s.AllocationId = &v
106873	return s
106874}
106875
106876// SetDryRun sets the DryRun field's value.
106877func (s *ReleaseAddressInput) SetDryRun(v bool) *ReleaseAddressInput {
106878	s.DryRun = &v
106879	return s
106880}
106881
106882// SetNetworkBorderGroup sets the NetworkBorderGroup field's value.
106883func (s *ReleaseAddressInput) SetNetworkBorderGroup(v string) *ReleaseAddressInput {
106884	s.NetworkBorderGroup = &v
106885	return s
106886}
106887
106888// SetPublicIp sets the PublicIp field's value.
106889func (s *ReleaseAddressInput) SetPublicIp(v string) *ReleaseAddressInput {
106890	s.PublicIp = &v
106891	return s
106892}
106893
106894type ReleaseAddressOutput struct {
106895	_ struct{} `type:"structure"`
106896}
106897
106898// String returns the string representation
106899func (s ReleaseAddressOutput) String() string {
106900	return awsutil.Prettify(s)
106901}
106902
106903// GoString returns the string representation
106904func (s ReleaseAddressOutput) GoString() string {
106905	return s.String()
106906}
106907
106908type ReleaseHostsInput struct {
106909	_ struct{} `type:"structure"`
106910
106911	// The IDs of the Dedicated Hosts to release.
106912	//
106913	// HostIds is a required field
106914	HostIds []*string `locationName:"hostId" locationNameList:"item" type:"list" required:"true"`
106915}
106916
106917// String returns the string representation
106918func (s ReleaseHostsInput) String() string {
106919	return awsutil.Prettify(s)
106920}
106921
106922// GoString returns the string representation
106923func (s ReleaseHostsInput) GoString() string {
106924	return s.String()
106925}
106926
106927// Validate inspects the fields of the type to determine if they are valid.
106928func (s *ReleaseHostsInput) Validate() error {
106929	invalidParams := request.ErrInvalidParams{Context: "ReleaseHostsInput"}
106930	if s.HostIds == nil {
106931		invalidParams.Add(request.NewErrParamRequired("HostIds"))
106932	}
106933
106934	if invalidParams.Len() > 0 {
106935		return invalidParams
106936	}
106937	return nil
106938}
106939
106940// SetHostIds sets the HostIds field's value.
106941func (s *ReleaseHostsInput) SetHostIds(v []*string) *ReleaseHostsInput {
106942	s.HostIds = v
106943	return s
106944}
106945
106946type ReleaseHostsOutput struct {
106947	_ struct{} `type:"structure"`
106948
106949	// The IDs of the Dedicated Hosts that were successfully released.
106950	Successful []*string `locationName:"successful" locationNameList:"item" type:"list"`
106951
106952	// The IDs of the Dedicated Hosts that could not be released, including an error
106953	// message.
106954	Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
106955}
106956
106957// String returns the string representation
106958func (s ReleaseHostsOutput) String() string {
106959	return awsutil.Prettify(s)
106960}
106961
106962// GoString returns the string representation
106963func (s ReleaseHostsOutput) GoString() string {
106964	return s.String()
106965}
106966
106967// SetSuccessful sets the Successful field's value.
106968func (s *ReleaseHostsOutput) SetSuccessful(v []*string) *ReleaseHostsOutput {
106969	s.Successful = v
106970	return s
106971}
106972
106973// SetUnsuccessful sets the Unsuccessful field's value.
106974func (s *ReleaseHostsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *ReleaseHostsOutput {
106975	s.Unsuccessful = v
106976	return s
106977}
106978
106979// An entry for a prefix list.
106980type RemovePrefixListEntry struct {
106981	_ struct{} `type:"structure"`
106982
106983	// The CIDR block.
106984	//
106985	// Cidr is a required field
106986	Cidr *string `type:"string" required:"true"`
106987}
106988
106989// String returns the string representation
106990func (s RemovePrefixListEntry) String() string {
106991	return awsutil.Prettify(s)
106992}
106993
106994// GoString returns the string representation
106995func (s RemovePrefixListEntry) GoString() string {
106996	return s.String()
106997}
106998
106999// Validate inspects the fields of the type to determine if they are valid.
107000func (s *RemovePrefixListEntry) Validate() error {
107001	invalidParams := request.ErrInvalidParams{Context: "RemovePrefixListEntry"}
107002	if s.Cidr == nil {
107003		invalidParams.Add(request.NewErrParamRequired("Cidr"))
107004	}
107005
107006	if invalidParams.Len() > 0 {
107007		return invalidParams
107008	}
107009	return nil
107010}
107011
107012// SetCidr sets the Cidr field's value.
107013func (s *RemovePrefixListEntry) SetCidr(v string) *RemovePrefixListEntry {
107014	s.Cidr = &v
107015	return s
107016}
107017
107018type ReplaceIamInstanceProfileAssociationInput struct {
107019	_ struct{} `type:"structure"`
107020
107021	// The ID of the existing IAM instance profile association.
107022	//
107023	// AssociationId is a required field
107024	AssociationId *string `type:"string" required:"true"`
107025
107026	// The IAM instance profile.
107027	//
107028	// IamInstanceProfile is a required field
107029	IamInstanceProfile *IamInstanceProfileSpecification `type:"structure" required:"true"`
107030}
107031
107032// String returns the string representation
107033func (s ReplaceIamInstanceProfileAssociationInput) String() string {
107034	return awsutil.Prettify(s)
107035}
107036
107037// GoString returns the string representation
107038func (s ReplaceIamInstanceProfileAssociationInput) GoString() string {
107039	return s.String()
107040}
107041
107042// Validate inspects the fields of the type to determine if they are valid.
107043func (s *ReplaceIamInstanceProfileAssociationInput) Validate() error {
107044	invalidParams := request.ErrInvalidParams{Context: "ReplaceIamInstanceProfileAssociationInput"}
107045	if s.AssociationId == nil {
107046		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
107047	}
107048	if s.IamInstanceProfile == nil {
107049		invalidParams.Add(request.NewErrParamRequired("IamInstanceProfile"))
107050	}
107051
107052	if invalidParams.Len() > 0 {
107053		return invalidParams
107054	}
107055	return nil
107056}
107057
107058// SetAssociationId sets the AssociationId field's value.
107059func (s *ReplaceIamInstanceProfileAssociationInput) SetAssociationId(v string) *ReplaceIamInstanceProfileAssociationInput {
107060	s.AssociationId = &v
107061	return s
107062}
107063
107064// SetIamInstanceProfile sets the IamInstanceProfile field's value.
107065func (s *ReplaceIamInstanceProfileAssociationInput) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *ReplaceIamInstanceProfileAssociationInput {
107066	s.IamInstanceProfile = v
107067	return s
107068}
107069
107070type ReplaceIamInstanceProfileAssociationOutput struct {
107071	_ struct{} `type:"structure"`
107072
107073	// Information about the IAM instance profile association.
107074	IamInstanceProfileAssociation *IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociation" type:"structure"`
107075}
107076
107077// String returns the string representation
107078func (s ReplaceIamInstanceProfileAssociationOutput) String() string {
107079	return awsutil.Prettify(s)
107080}
107081
107082// GoString returns the string representation
107083func (s ReplaceIamInstanceProfileAssociationOutput) GoString() string {
107084	return s.String()
107085}
107086
107087// SetIamInstanceProfileAssociation sets the IamInstanceProfileAssociation field's value.
107088func (s *ReplaceIamInstanceProfileAssociationOutput) SetIamInstanceProfileAssociation(v *IamInstanceProfileAssociation) *ReplaceIamInstanceProfileAssociationOutput {
107089	s.IamInstanceProfileAssociation = v
107090	return s
107091}
107092
107093type ReplaceNetworkAclAssociationInput struct {
107094	_ struct{} `type:"structure"`
107095
107096	// The ID of the current association between the original network ACL and the
107097	// subnet.
107098	//
107099	// AssociationId is a required field
107100	AssociationId *string `locationName:"associationId" type:"string" required:"true"`
107101
107102	// Checks whether you have the required permissions for the action, without
107103	// actually making the request, and provides an error response. If you have
107104	// the required permissions, the error response is DryRunOperation. Otherwise,
107105	// it is UnauthorizedOperation.
107106	DryRun *bool `locationName:"dryRun" type:"boolean"`
107107
107108	// The ID of the new network ACL to associate with the subnet.
107109	//
107110	// NetworkAclId is a required field
107111	NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
107112}
107113
107114// String returns the string representation
107115func (s ReplaceNetworkAclAssociationInput) String() string {
107116	return awsutil.Prettify(s)
107117}
107118
107119// GoString returns the string representation
107120func (s ReplaceNetworkAclAssociationInput) GoString() string {
107121	return s.String()
107122}
107123
107124// Validate inspects the fields of the type to determine if they are valid.
107125func (s *ReplaceNetworkAclAssociationInput) Validate() error {
107126	invalidParams := request.ErrInvalidParams{Context: "ReplaceNetworkAclAssociationInput"}
107127	if s.AssociationId == nil {
107128		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
107129	}
107130	if s.NetworkAclId == nil {
107131		invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
107132	}
107133
107134	if invalidParams.Len() > 0 {
107135		return invalidParams
107136	}
107137	return nil
107138}
107139
107140// SetAssociationId sets the AssociationId field's value.
107141func (s *ReplaceNetworkAclAssociationInput) SetAssociationId(v string) *ReplaceNetworkAclAssociationInput {
107142	s.AssociationId = &v
107143	return s
107144}
107145
107146// SetDryRun sets the DryRun field's value.
107147func (s *ReplaceNetworkAclAssociationInput) SetDryRun(v bool) *ReplaceNetworkAclAssociationInput {
107148	s.DryRun = &v
107149	return s
107150}
107151
107152// SetNetworkAclId sets the NetworkAclId field's value.
107153func (s *ReplaceNetworkAclAssociationInput) SetNetworkAclId(v string) *ReplaceNetworkAclAssociationInput {
107154	s.NetworkAclId = &v
107155	return s
107156}
107157
107158type ReplaceNetworkAclAssociationOutput struct {
107159	_ struct{} `type:"structure"`
107160
107161	// The ID of the new association.
107162	NewAssociationId *string `locationName:"newAssociationId" type:"string"`
107163}
107164
107165// String returns the string representation
107166func (s ReplaceNetworkAclAssociationOutput) String() string {
107167	return awsutil.Prettify(s)
107168}
107169
107170// GoString returns the string representation
107171func (s ReplaceNetworkAclAssociationOutput) GoString() string {
107172	return s.String()
107173}
107174
107175// SetNewAssociationId sets the NewAssociationId field's value.
107176func (s *ReplaceNetworkAclAssociationOutput) SetNewAssociationId(v string) *ReplaceNetworkAclAssociationOutput {
107177	s.NewAssociationId = &v
107178	return s
107179}
107180
107181type ReplaceNetworkAclEntryInput struct {
107182	_ struct{} `type:"structure"`
107183
107184	// The IPv4 network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).
107185	CidrBlock *string `locationName:"cidrBlock" type:"string"`
107186
107187	// Checks whether you have the required permissions for the action, without
107188	// actually making the request, and provides an error response. If you have
107189	// the required permissions, the error response is DryRunOperation. Otherwise,
107190	// it is UnauthorizedOperation.
107191	DryRun *bool `locationName:"dryRun" type:"boolean"`
107192
107193	// Indicates whether to replace the egress rule.
107194	//
107195	// Default: If no value is specified, we replace the ingress rule.
107196	//
107197	// Egress is a required field
107198	Egress *bool `locationName:"egress" type:"boolean" required:"true"`
107199
107200	// ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying protocol
107201	// 1 (ICMP) or protocol 58 (ICMPv6) with an IPv6 CIDR block.
107202	IcmpTypeCode *IcmpTypeCode `locationName:"Icmp" type:"structure"`
107203
107204	// The IPv6 network range to allow or deny, in CIDR notation (for example 2001:bd8:1234:1a00::/64).
107205	Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
107206
107207	// The ID of the ACL.
107208	//
107209	// NetworkAclId is a required field
107210	NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
107211
107212	// TCP or UDP protocols: The range of ports the rule applies to. Required if
107213	// specifying protocol 6 (TCP) or 17 (UDP).
107214	PortRange *PortRange `locationName:"portRange" type:"structure"`
107215
107216	// The protocol number. A value of "-1" means all protocols. If you specify
107217	// "-1" or a protocol number other than "6" (TCP), "17" (UDP), or "1" (ICMP),
107218	// traffic on all ports is allowed, regardless of any ports or ICMP types or
107219	// codes that you specify. If you specify protocol "58" (ICMPv6) and specify
107220	// an IPv4 CIDR block, traffic for all ICMP types and codes allowed, regardless
107221	// of any that you specify. If you specify protocol "58" (ICMPv6) and specify
107222	// an IPv6 CIDR block, you must specify an ICMP type and code.
107223	//
107224	// Protocol is a required field
107225	Protocol *string `locationName:"protocol" type:"string" required:"true"`
107226
107227	// Indicates whether to allow or deny the traffic that matches the rule.
107228	//
107229	// RuleAction is a required field
107230	RuleAction *string `locationName:"ruleAction" type:"string" required:"true" enum:"RuleAction"`
107231
107232	// The rule number of the entry to replace.
107233	//
107234	// RuleNumber is a required field
107235	RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"`
107236}
107237
107238// String returns the string representation
107239func (s ReplaceNetworkAclEntryInput) String() string {
107240	return awsutil.Prettify(s)
107241}
107242
107243// GoString returns the string representation
107244func (s ReplaceNetworkAclEntryInput) GoString() string {
107245	return s.String()
107246}
107247
107248// Validate inspects the fields of the type to determine if they are valid.
107249func (s *ReplaceNetworkAclEntryInput) Validate() error {
107250	invalidParams := request.ErrInvalidParams{Context: "ReplaceNetworkAclEntryInput"}
107251	if s.Egress == nil {
107252		invalidParams.Add(request.NewErrParamRequired("Egress"))
107253	}
107254	if s.NetworkAclId == nil {
107255		invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
107256	}
107257	if s.Protocol == nil {
107258		invalidParams.Add(request.NewErrParamRequired("Protocol"))
107259	}
107260	if s.RuleAction == nil {
107261		invalidParams.Add(request.NewErrParamRequired("RuleAction"))
107262	}
107263	if s.RuleNumber == nil {
107264		invalidParams.Add(request.NewErrParamRequired("RuleNumber"))
107265	}
107266
107267	if invalidParams.Len() > 0 {
107268		return invalidParams
107269	}
107270	return nil
107271}
107272
107273// SetCidrBlock sets the CidrBlock field's value.
107274func (s *ReplaceNetworkAclEntryInput) SetCidrBlock(v string) *ReplaceNetworkAclEntryInput {
107275	s.CidrBlock = &v
107276	return s
107277}
107278
107279// SetDryRun sets the DryRun field's value.
107280func (s *ReplaceNetworkAclEntryInput) SetDryRun(v bool) *ReplaceNetworkAclEntryInput {
107281	s.DryRun = &v
107282	return s
107283}
107284
107285// SetEgress sets the Egress field's value.
107286func (s *ReplaceNetworkAclEntryInput) SetEgress(v bool) *ReplaceNetworkAclEntryInput {
107287	s.Egress = &v
107288	return s
107289}
107290
107291// SetIcmpTypeCode sets the IcmpTypeCode field's value.
107292func (s *ReplaceNetworkAclEntryInput) SetIcmpTypeCode(v *IcmpTypeCode) *ReplaceNetworkAclEntryInput {
107293	s.IcmpTypeCode = v
107294	return s
107295}
107296
107297// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
107298func (s *ReplaceNetworkAclEntryInput) SetIpv6CidrBlock(v string) *ReplaceNetworkAclEntryInput {
107299	s.Ipv6CidrBlock = &v
107300	return s
107301}
107302
107303// SetNetworkAclId sets the NetworkAclId field's value.
107304func (s *ReplaceNetworkAclEntryInput) SetNetworkAclId(v string) *ReplaceNetworkAclEntryInput {
107305	s.NetworkAclId = &v
107306	return s
107307}
107308
107309// SetPortRange sets the PortRange field's value.
107310func (s *ReplaceNetworkAclEntryInput) SetPortRange(v *PortRange) *ReplaceNetworkAclEntryInput {
107311	s.PortRange = v
107312	return s
107313}
107314
107315// SetProtocol sets the Protocol field's value.
107316func (s *ReplaceNetworkAclEntryInput) SetProtocol(v string) *ReplaceNetworkAclEntryInput {
107317	s.Protocol = &v
107318	return s
107319}
107320
107321// SetRuleAction sets the RuleAction field's value.
107322func (s *ReplaceNetworkAclEntryInput) SetRuleAction(v string) *ReplaceNetworkAclEntryInput {
107323	s.RuleAction = &v
107324	return s
107325}
107326
107327// SetRuleNumber sets the RuleNumber field's value.
107328func (s *ReplaceNetworkAclEntryInput) SetRuleNumber(v int64) *ReplaceNetworkAclEntryInput {
107329	s.RuleNumber = &v
107330	return s
107331}
107332
107333type ReplaceNetworkAclEntryOutput struct {
107334	_ struct{} `type:"structure"`
107335}
107336
107337// String returns the string representation
107338func (s ReplaceNetworkAclEntryOutput) String() string {
107339	return awsutil.Prettify(s)
107340}
107341
107342// GoString returns the string representation
107343func (s ReplaceNetworkAclEntryOutput) GoString() string {
107344	return s.String()
107345}
107346
107347// Information about a root volume replacement task.
107348type ReplaceRootVolumeTask struct {
107349	_ struct{} `type:"structure"`
107350
107351	// The time the task completed.
107352	CompleteTime *string `locationName:"completeTime" type:"string"`
107353
107354	// The ID of the instance for which the root volume replacement task was created.
107355	InstanceId *string `locationName:"instanceId" type:"string"`
107356
107357	// The ID of the root volume replacement task.
107358	ReplaceRootVolumeTaskId *string `locationName:"replaceRootVolumeTaskId" type:"string"`
107359
107360	// The time the task was started.
107361	StartTime *string `locationName:"startTime" type:"string"`
107362
107363	// The tags assigned to the task.
107364	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
107365
107366	// The state of the task. The task can be in one of the following states:
107367	//
107368	//    * pending - the replacement volume is being created.
107369	//
107370	//    * in-progress - the original volume is being detached and the replacement
107371	//    volume is being attached.
107372	//
107373	//    * succeeded - the replacement volume has been successfully attached to
107374	//    the instance and the instance is available.
107375	//
107376	//    * failing - the replacement task is in the process of failing.
107377	//
107378	//    * failed - the replacement task has failed but the original root volume
107379	//    is still attached.
107380	//
107381	//    * failing-detached - the replacement task is in the process of failing.
107382	//    The instance might have no root volume attached.
107383	//
107384	//    * failed-detached - the replacement task has failed and the instance has
107385	//    no root volume attached.
107386	TaskState *string `locationName:"taskState" type:"string" enum:"ReplaceRootVolumeTaskState"`
107387}
107388
107389// String returns the string representation
107390func (s ReplaceRootVolumeTask) String() string {
107391	return awsutil.Prettify(s)
107392}
107393
107394// GoString returns the string representation
107395func (s ReplaceRootVolumeTask) GoString() string {
107396	return s.String()
107397}
107398
107399// SetCompleteTime sets the CompleteTime field's value.
107400func (s *ReplaceRootVolumeTask) SetCompleteTime(v string) *ReplaceRootVolumeTask {
107401	s.CompleteTime = &v
107402	return s
107403}
107404
107405// SetInstanceId sets the InstanceId field's value.
107406func (s *ReplaceRootVolumeTask) SetInstanceId(v string) *ReplaceRootVolumeTask {
107407	s.InstanceId = &v
107408	return s
107409}
107410
107411// SetReplaceRootVolumeTaskId sets the ReplaceRootVolumeTaskId field's value.
107412func (s *ReplaceRootVolumeTask) SetReplaceRootVolumeTaskId(v string) *ReplaceRootVolumeTask {
107413	s.ReplaceRootVolumeTaskId = &v
107414	return s
107415}
107416
107417// SetStartTime sets the StartTime field's value.
107418func (s *ReplaceRootVolumeTask) SetStartTime(v string) *ReplaceRootVolumeTask {
107419	s.StartTime = &v
107420	return s
107421}
107422
107423// SetTags sets the Tags field's value.
107424func (s *ReplaceRootVolumeTask) SetTags(v []*Tag) *ReplaceRootVolumeTask {
107425	s.Tags = v
107426	return s
107427}
107428
107429// SetTaskState sets the TaskState field's value.
107430func (s *ReplaceRootVolumeTask) SetTaskState(v string) *ReplaceRootVolumeTask {
107431	s.TaskState = &v
107432	return s
107433}
107434
107435type ReplaceRouteInput struct {
107436	_ struct{} `type:"structure"`
107437
107438	// [IPv4 traffic only] The ID of a carrier gateway.
107439	CarrierGatewayId *string `type:"string"`
107440
107441	// The IPv4 CIDR address block used for the destination match. The value that
107442	// you provide must match the CIDR of an existing route in the table.
107443	DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
107444
107445	// The IPv6 CIDR address block used for the destination match. The value that
107446	// you provide must match the CIDR of an existing route in the table.
107447	DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"`
107448
107449	// The ID of the prefix list for the route.
107450	DestinationPrefixListId *string `type:"string"`
107451
107452	// Checks whether you have the required permissions for the action, without
107453	// actually making the request, and provides an error response. If you have
107454	// the required permissions, the error response is DryRunOperation. Otherwise,
107455	// it is UnauthorizedOperation.
107456	DryRun *bool `locationName:"dryRun" type:"boolean"`
107457
107458	// [IPv6 traffic only] The ID of an egress-only internet gateway.
107459	EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
107460
107461	// The ID of an internet gateway or virtual private gateway.
107462	GatewayId *string `locationName:"gatewayId" type:"string"`
107463
107464	// The ID of a NAT instance in your VPC.
107465	InstanceId *string `locationName:"instanceId" type:"string"`
107466
107467	// The ID of the local gateway.
107468	LocalGatewayId *string `type:"string"`
107469
107470	// Specifies whether to reset the local route to its default target (local).
107471	LocalTarget *bool `type:"boolean"`
107472
107473	// [IPv4 traffic only] The ID of a NAT gateway.
107474	NatGatewayId *string `locationName:"natGatewayId" type:"string"`
107475
107476	// The ID of a network interface.
107477	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
107478
107479	// The ID of the route table.
107480	//
107481	// RouteTableId is a required field
107482	RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
107483
107484	// The ID of a transit gateway.
107485	TransitGatewayId *string `type:"string"`
107486
107487	// The ID of a VPC endpoint. Supported for Gateway Load Balancer endpoints only.
107488	VpcEndpointId *string `type:"string"`
107489
107490	// The ID of a VPC peering connection.
107491	VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
107492}
107493
107494// String returns the string representation
107495func (s ReplaceRouteInput) String() string {
107496	return awsutil.Prettify(s)
107497}
107498
107499// GoString returns the string representation
107500func (s ReplaceRouteInput) GoString() string {
107501	return s.String()
107502}
107503
107504// Validate inspects the fields of the type to determine if they are valid.
107505func (s *ReplaceRouteInput) Validate() error {
107506	invalidParams := request.ErrInvalidParams{Context: "ReplaceRouteInput"}
107507	if s.RouteTableId == nil {
107508		invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
107509	}
107510
107511	if invalidParams.Len() > 0 {
107512		return invalidParams
107513	}
107514	return nil
107515}
107516
107517// SetCarrierGatewayId sets the CarrierGatewayId field's value.
107518func (s *ReplaceRouteInput) SetCarrierGatewayId(v string) *ReplaceRouteInput {
107519	s.CarrierGatewayId = &v
107520	return s
107521}
107522
107523// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
107524func (s *ReplaceRouteInput) SetDestinationCidrBlock(v string) *ReplaceRouteInput {
107525	s.DestinationCidrBlock = &v
107526	return s
107527}
107528
107529// SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value.
107530func (s *ReplaceRouteInput) SetDestinationIpv6CidrBlock(v string) *ReplaceRouteInput {
107531	s.DestinationIpv6CidrBlock = &v
107532	return s
107533}
107534
107535// SetDestinationPrefixListId sets the DestinationPrefixListId field's value.
107536func (s *ReplaceRouteInput) SetDestinationPrefixListId(v string) *ReplaceRouteInput {
107537	s.DestinationPrefixListId = &v
107538	return s
107539}
107540
107541// SetDryRun sets the DryRun field's value.
107542func (s *ReplaceRouteInput) SetDryRun(v bool) *ReplaceRouteInput {
107543	s.DryRun = &v
107544	return s
107545}
107546
107547// SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
107548func (s *ReplaceRouteInput) SetEgressOnlyInternetGatewayId(v string) *ReplaceRouteInput {
107549	s.EgressOnlyInternetGatewayId = &v
107550	return s
107551}
107552
107553// SetGatewayId sets the GatewayId field's value.
107554func (s *ReplaceRouteInput) SetGatewayId(v string) *ReplaceRouteInput {
107555	s.GatewayId = &v
107556	return s
107557}
107558
107559// SetInstanceId sets the InstanceId field's value.
107560func (s *ReplaceRouteInput) SetInstanceId(v string) *ReplaceRouteInput {
107561	s.InstanceId = &v
107562	return s
107563}
107564
107565// SetLocalGatewayId sets the LocalGatewayId field's value.
107566func (s *ReplaceRouteInput) SetLocalGatewayId(v string) *ReplaceRouteInput {
107567	s.LocalGatewayId = &v
107568	return s
107569}
107570
107571// SetLocalTarget sets the LocalTarget field's value.
107572func (s *ReplaceRouteInput) SetLocalTarget(v bool) *ReplaceRouteInput {
107573	s.LocalTarget = &v
107574	return s
107575}
107576
107577// SetNatGatewayId sets the NatGatewayId field's value.
107578func (s *ReplaceRouteInput) SetNatGatewayId(v string) *ReplaceRouteInput {
107579	s.NatGatewayId = &v
107580	return s
107581}
107582
107583// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
107584func (s *ReplaceRouteInput) SetNetworkInterfaceId(v string) *ReplaceRouteInput {
107585	s.NetworkInterfaceId = &v
107586	return s
107587}
107588
107589// SetRouteTableId sets the RouteTableId field's value.
107590func (s *ReplaceRouteInput) SetRouteTableId(v string) *ReplaceRouteInput {
107591	s.RouteTableId = &v
107592	return s
107593}
107594
107595// SetTransitGatewayId sets the TransitGatewayId field's value.
107596func (s *ReplaceRouteInput) SetTransitGatewayId(v string) *ReplaceRouteInput {
107597	s.TransitGatewayId = &v
107598	return s
107599}
107600
107601// SetVpcEndpointId sets the VpcEndpointId field's value.
107602func (s *ReplaceRouteInput) SetVpcEndpointId(v string) *ReplaceRouteInput {
107603	s.VpcEndpointId = &v
107604	return s
107605}
107606
107607// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
107608func (s *ReplaceRouteInput) SetVpcPeeringConnectionId(v string) *ReplaceRouteInput {
107609	s.VpcPeeringConnectionId = &v
107610	return s
107611}
107612
107613type ReplaceRouteOutput struct {
107614	_ struct{} `type:"structure"`
107615}
107616
107617// String returns the string representation
107618func (s ReplaceRouteOutput) String() string {
107619	return awsutil.Prettify(s)
107620}
107621
107622// GoString returns the string representation
107623func (s ReplaceRouteOutput) GoString() string {
107624	return s.String()
107625}
107626
107627type ReplaceRouteTableAssociationInput struct {
107628	_ struct{} `type:"structure"`
107629
107630	// The association ID.
107631	//
107632	// AssociationId is a required field
107633	AssociationId *string `locationName:"associationId" type:"string" required:"true"`
107634
107635	// Checks whether you have the required permissions for the action, without
107636	// actually making the request, and provides an error response. If you have
107637	// the required permissions, the error response is DryRunOperation. Otherwise,
107638	// it is UnauthorizedOperation.
107639	DryRun *bool `locationName:"dryRun" type:"boolean"`
107640
107641	// The ID of the new route table to associate with the subnet.
107642	//
107643	// RouteTableId is a required field
107644	RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
107645}
107646
107647// String returns the string representation
107648func (s ReplaceRouteTableAssociationInput) String() string {
107649	return awsutil.Prettify(s)
107650}
107651
107652// GoString returns the string representation
107653func (s ReplaceRouteTableAssociationInput) GoString() string {
107654	return s.String()
107655}
107656
107657// Validate inspects the fields of the type to determine if they are valid.
107658func (s *ReplaceRouteTableAssociationInput) Validate() error {
107659	invalidParams := request.ErrInvalidParams{Context: "ReplaceRouteTableAssociationInput"}
107660	if s.AssociationId == nil {
107661		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
107662	}
107663	if s.RouteTableId == nil {
107664		invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
107665	}
107666
107667	if invalidParams.Len() > 0 {
107668		return invalidParams
107669	}
107670	return nil
107671}
107672
107673// SetAssociationId sets the AssociationId field's value.
107674func (s *ReplaceRouteTableAssociationInput) SetAssociationId(v string) *ReplaceRouteTableAssociationInput {
107675	s.AssociationId = &v
107676	return s
107677}
107678
107679// SetDryRun sets the DryRun field's value.
107680func (s *ReplaceRouteTableAssociationInput) SetDryRun(v bool) *ReplaceRouteTableAssociationInput {
107681	s.DryRun = &v
107682	return s
107683}
107684
107685// SetRouteTableId sets the RouteTableId field's value.
107686func (s *ReplaceRouteTableAssociationInput) SetRouteTableId(v string) *ReplaceRouteTableAssociationInput {
107687	s.RouteTableId = &v
107688	return s
107689}
107690
107691type ReplaceRouteTableAssociationOutput struct {
107692	_ struct{} `type:"structure"`
107693
107694	// The state of the association.
107695	AssociationState *RouteTableAssociationState `locationName:"associationState" type:"structure"`
107696
107697	// The ID of the new association.
107698	NewAssociationId *string `locationName:"newAssociationId" type:"string"`
107699}
107700
107701// String returns the string representation
107702func (s ReplaceRouteTableAssociationOutput) String() string {
107703	return awsutil.Prettify(s)
107704}
107705
107706// GoString returns the string representation
107707func (s ReplaceRouteTableAssociationOutput) GoString() string {
107708	return s.String()
107709}
107710
107711// SetAssociationState sets the AssociationState field's value.
107712func (s *ReplaceRouteTableAssociationOutput) SetAssociationState(v *RouteTableAssociationState) *ReplaceRouteTableAssociationOutput {
107713	s.AssociationState = v
107714	return s
107715}
107716
107717// SetNewAssociationId sets the NewAssociationId field's value.
107718func (s *ReplaceRouteTableAssociationOutput) SetNewAssociationId(v string) *ReplaceRouteTableAssociationOutput {
107719	s.NewAssociationId = &v
107720	return s
107721}
107722
107723type ReplaceTransitGatewayRouteInput struct {
107724	_ struct{} `type:"structure"`
107725
107726	// Indicates whether traffic matching this route is to be dropped.
107727	Blackhole *bool `type:"boolean"`
107728
107729	// The CIDR range used for the destination match. Routing decisions are based
107730	// on the most specific match.
107731	//
107732	// DestinationCidrBlock is a required field
107733	DestinationCidrBlock *string `type:"string" required:"true"`
107734
107735	// Checks whether you have the required permissions for the action, without
107736	// actually making the request, and provides an error response. If you have
107737	// the required permissions, the error response is DryRunOperation. Otherwise,
107738	// it is UnauthorizedOperation.
107739	DryRun *bool `type:"boolean"`
107740
107741	// The ID of the attachment.
107742	TransitGatewayAttachmentId *string `type:"string"`
107743
107744	// The ID of the route table.
107745	//
107746	// TransitGatewayRouteTableId is a required field
107747	TransitGatewayRouteTableId *string `type:"string" required:"true"`
107748}
107749
107750// String returns the string representation
107751func (s ReplaceTransitGatewayRouteInput) String() string {
107752	return awsutil.Prettify(s)
107753}
107754
107755// GoString returns the string representation
107756func (s ReplaceTransitGatewayRouteInput) GoString() string {
107757	return s.String()
107758}
107759
107760// Validate inspects the fields of the type to determine if they are valid.
107761func (s *ReplaceTransitGatewayRouteInput) Validate() error {
107762	invalidParams := request.ErrInvalidParams{Context: "ReplaceTransitGatewayRouteInput"}
107763	if s.DestinationCidrBlock == nil {
107764		invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
107765	}
107766	if s.TransitGatewayRouteTableId == nil {
107767		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
107768	}
107769
107770	if invalidParams.Len() > 0 {
107771		return invalidParams
107772	}
107773	return nil
107774}
107775
107776// SetBlackhole sets the Blackhole field's value.
107777func (s *ReplaceTransitGatewayRouteInput) SetBlackhole(v bool) *ReplaceTransitGatewayRouteInput {
107778	s.Blackhole = &v
107779	return s
107780}
107781
107782// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
107783func (s *ReplaceTransitGatewayRouteInput) SetDestinationCidrBlock(v string) *ReplaceTransitGatewayRouteInput {
107784	s.DestinationCidrBlock = &v
107785	return s
107786}
107787
107788// SetDryRun sets the DryRun field's value.
107789func (s *ReplaceTransitGatewayRouteInput) SetDryRun(v bool) *ReplaceTransitGatewayRouteInput {
107790	s.DryRun = &v
107791	return s
107792}
107793
107794// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
107795func (s *ReplaceTransitGatewayRouteInput) SetTransitGatewayAttachmentId(v string) *ReplaceTransitGatewayRouteInput {
107796	s.TransitGatewayAttachmentId = &v
107797	return s
107798}
107799
107800// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
107801func (s *ReplaceTransitGatewayRouteInput) SetTransitGatewayRouteTableId(v string) *ReplaceTransitGatewayRouteInput {
107802	s.TransitGatewayRouteTableId = &v
107803	return s
107804}
107805
107806type ReplaceTransitGatewayRouteOutput struct {
107807	_ struct{} `type:"structure"`
107808
107809	// Information about the modified route.
107810	Route *TransitGatewayRoute `locationName:"route" type:"structure"`
107811}
107812
107813// String returns the string representation
107814func (s ReplaceTransitGatewayRouteOutput) String() string {
107815	return awsutil.Prettify(s)
107816}
107817
107818// GoString returns the string representation
107819func (s ReplaceTransitGatewayRouteOutput) GoString() string {
107820	return s.String()
107821}
107822
107823// SetRoute sets the Route field's value.
107824func (s *ReplaceTransitGatewayRouteOutput) SetRoute(v *TransitGatewayRoute) *ReplaceTransitGatewayRouteOutput {
107825	s.Route = v
107826	return s
107827}
107828
107829type ReportInstanceStatusInput struct {
107830	_ struct{} `type:"structure"`
107831
107832	// Descriptive text about the health state of your instance.
107833	Description *string `locationName:"description" type:"string"`
107834
107835	// Checks whether you have the required permissions for the action, without
107836	// actually making the request, and provides an error response. If you have
107837	// the required permissions, the error response is DryRunOperation. Otherwise,
107838	// it is UnauthorizedOperation.
107839	DryRun *bool `locationName:"dryRun" type:"boolean"`
107840
107841	// The time at which the reported instance health state ended.
107842	EndTime *time.Time `locationName:"endTime" type:"timestamp"`
107843
107844	// The instances.
107845	//
107846	// Instances is a required field
107847	Instances []*string `locationName:"instanceId" locationNameList:"InstanceId" type:"list" required:"true"`
107848
107849	// The reason codes that describe the health state of your instance.
107850	//
107851	//    * instance-stuck-in-state: My instance is stuck in a state.
107852	//
107853	//    * unresponsive: My instance is unresponsive.
107854	//
107855	//    * not-accepting-credentials: My instance is not accepting my credentials.
107856	//
107857	//    * password-not-available: A password is not available for my instance.
107858	//
107859	//    * performance-network: My instance is experiencing performance problems
107860	//    that I believe are network related.
107861	//
107862	//    * performance-instance-store: My instance is experiencing performance
107863	//    problems that I believe are related to the instance stores.
107864	//
107865	//    * performance-ebs-volume: My instance is experiencing performance problems
107866	//    that I believe are related to an EBS volume.
107867	//
107868	//    * performance-other: My instance is experiencing performance problems.
107869	//
107870	//    * other: [explain using the description parameter]
107871	//
107872	// ReasonCodes is a required field
107873	ReasonCodes []*string `locationName:"reasonCode" locationNameList:"item" type:"list" required:"true"`
107874
107875	// The time at which the reported instance health state began.
107876	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
107877
107878	// The status of all instances listed.
107879	//
107880	// Status is a required field
107881	Status *string `locationName:"status" type:"string" required:"true" enum:"ReportStatusType"`
107882}
107883
107884// String returns the string representation
107885func (s ReportInstanceStatusInput) String() string {
107886	return awsutil.Prettify(s)
107887}
107888
107889// GoString returns the string representation
107890func (s ReportInstanceStatusInput) GoString() string {
107891	return s.String()
107892}
107893
107894// Validate inspects the fields of the type to determine if they are valid.
107895func (s *ReportInstanceStatusInput) Validate() error {
107896	invalidParams := request.ErrInvalidParams{Context: "ReportInstanceStatusInput"}
107897	if s.Instances == nil {
107898		invalidParams.Add(request.NewErrParamRequired("Instances"))
107899	}
107900	if s.ReasonCodes == nil {
107901		invalidParams.Add(request.NewErrParamRequired("ReasonCodes"))
107902	}
107903	if s.Status == nil {
107904		invalidParams.Add(request.NewErrParamRequired("Status"))
107905	}
107906
107907	if invalidParams.Len() > 0 {
107908		return invalidParams
107909	}
107910	return nil
107911}
107912
107913// SetDescription sets the Description field's value.
107914func (s *ReportInstanceStatusInput) SetDescription(v string) *ReportInstanceStatusInput {
107915	s.Description = &v
107916	return s
107917}
107918
107919// SetDryRun sets the DryRun field's value.
107920func (s *ReportInstanceStatusInput) SetDryRun(v bool) *ReportInstanceStatusInput {
107921	s.DryRun = &v
107922	return s
107923}
107924
107925// SetEndTime sets the EndTime field's value.
107926func (s *ReportInstanceStatusInput) SetEndTime(v time.Time) *ReportInstanceStatusInput {
107927	s.EndTime = &v
107928	return s
107929}
107930
107931// SetInstances sets the Instances field's value.
107932func (s *ReportInstanceStatusInput) SetInstances(v []*string) *ReportInstanceStatusInput {
107933	s.Instances = v
107934	return s
107935}
107936
107937// SetReasonCodes sets the ReasonCodes field's value.
107938func (s *ReportInstanceStatusInput) SetReasonCodes(v []*string) *ReportInstanceStatusInput {
107939	s.ReasonCodes = v
107940	return s
107941}
107942
107943// SetStartTime sets the StartTime field's value.
107944func (s *ReportInstanceStatusInput) SetStartTime(v time.Time) *ReportInstanceStatusInput {
107945	s.StartTime = &v
107946	return s
107947}
107948
107949// SetStatus sets the Status field's value.
107950func (s *ReportInstanceStatusInput) SetStatus(v string) *ReportInstanceStatusInput {
107951	s.Status = &v
107952	return s
107953}
107954
107955type ReportInstanceStatusOutput struct {
107956	_ struct{} `type:"structure"`
107957}
107958
107959// String returns the string representation
107960func (s ReportInstanceStatusOutput) String() string {
107961	return awsutil.Prettify(s)
107962}
107963
107964// GoString returns the string representation
107965func (s ReportInstanceStatusOutput) GoString() string {
107966	return s.String()
107967}
107968
107969// The information to include in the launch template.
107970type RequestLaunchTemplateData struct {
107971	_ struct{} `type:"structure"`
107972
107973	// The block device mapping.
107974	BlockDeviceMappings []*LaunchTemplateBlockDeviceMappingRequest `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
107975
107976	// The Capacity Reservation targeting option. If you do not specify this parameter,
107977	// the instance's Capacity Reservation preference defaults to open, which enables
107978	// it to run in any open Capacity Reservation that has matching attributes (instance
107979	// type, platform, Availability Zone).
107980	CapacityReservationSpecification *LaunchTemplateCapacityReservationSpecificationRequest `type:"structure"`
107981
107982	// The CPU options for the instance. For more information, see Optimizing CPU
107983	// Options (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html)
107984	// in the Amazon Elastic Compute Cloud User Guide.
107985	CpuOptions *LaunchTemplateCpuOptionsRequest `type:"structure"`
107986
107987	// The credit option for CPU usage of the instance. Valid for T2, T3, or T3a
107988	// instances only.
107989	CreditSpecification *CreditSpecificationRequest `type:"structure"`
107990
107991	// If you set this parameter to true, you can't terminate the instance using
107992	// the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute
107993	// after launch, use ModifyInstanceAttribute (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceAttribute.html).
107994	// Alternatively, if you set InstanceInitiatedShutdownBehavior to terminate,
107995	// you can terminate the instance by running the shutdown command from the instance.
107996	DisableApiTermination *bool `type:"boolean"`
107997
107998	// Indicates whether the instance is optimized for Amazon EBS I/O. This optimization
107999	// provides dedicated throughput to Amazon EBS and an optimized configuration
108000	// stack to provide optimal Amazon EBS I/O performance. This optimization isn't
108001	// available with all instance types. Additional usage charges apply when using
108002	// an EBS-optimized instance.
108003	EbsOptimized *bool `type:"boolean"`
108004
108005	// An elastic GPU to associate with the instance.
108006	ElasticGpuSpecifications []*ElasticGpuSpecification `locationName:"ElasticGpuSpecification" locationNameList:"ElasticGpuSpecification" type:"list"`
108007
108008	// The elastic inference accelerator for the instance.
108009	ElasticInferenceAccelerators []*LaunchTemplateElasticInferenceAccelerator `locationName:"ElasticInferenceAccelerator" locationNameList:"item" type:"list"`
108010
108011	// Indicates whether the instance is enabled for AWS Nitro Enclaves. For more
108012	// information, see What is AWS Nitro Enclaves? (https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html)
108013	// in the AWS Nitro Enclaves User Guide.
108014	//
108015	// You can't enable AWS Nitro Enclaves and hibernation on the same instance.
108016	EnclaveOptions *LaunchTemplateEnclaveOptionsRequest `type:"structure"`
108017
108018	// Indicates whether an instance is enabled for hibernation. This parameter
108019	// is valid only if the instance meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites).
108020	// For more information, see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
108021	// in the Amazon Elastic Compute Cloud User Guide.
108022	HibernationOptions *LaunchTemplateHibernationOptionsRequest `type:"structure"`
108023
108024	// The name or Amazon Resource Name (ARN) of an IAM instance profile.
108025	IamInstanceProfile *LaunchTemplateIamInstanceProfileSpecificationRequest `type:"structure"`
108026
108027	// The ID of the AMI.
108028	ImageId *string `type:"string"`
108029
108030	// Indicates whether an instance stops or terminates when you initiate shutdown
108031	// from the instance (using the operating system command for system shutdown).
108032	//
108033	// Default: stop
108034	InstanceInitiatedShutdownBehavior *string `type:"string" enum:"ShutdownBehavior"`
108035
108036	// The market (purchasing) option for the instances.
108037	InstanceMarketOptions *LaunchTemplateInstanceMarketOptionsRequest `type:"structure"`
108038
108039	// The instance type. For more information, see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
108040	// in the Amazon Elastic Compute Cloud User Guide.
108041	InstanceType *string `type:"string" enum:"InstanceType"`
108042
108043	// The ID of the kernel.
108044	//
108045	// We recommend that you use PV-GRUB instead of kernels and RAM disks. For more
108046	// information, see User Provided Kernels (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
108047	// in the Amazon Elastic Compute Cloud User Guide.
108048	KernelId *string `type:"string"`
108049
108050	// 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)
108051	// or ImportKeyPair (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportKeyPair.html).
108052	//
108053	// If you do not specify a key pair, you can't connect to the instance unless
108054	// you choose an AMI that is configured to allow users another way to log in.
108055	KeyName *string `type:"string"`
108056
108057	// The license configurations.
108058	LicenseSpecifications []*LaunchTemplateLicenseConfigurationRequest `locationName:"LicenseSpecification" locationNameList:"item" type:"list"`
108059
108060	// The metadata options for the instance. For more information, see Instance
108061	// Metadata and User Data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)
108062	// in the Amazon Elastic Compute Cloud User Guide.
108063	MetadataOptions *LaunchTemplateInstanceMetadataOptionsRequest `type:"structure"`
108064
108065	// The monitoring for the instance.
108066	Monitoring *LaunchTemplatesMonitoringRequest `type:"structure"`
108067
108068	// One or more network interfaces. If you specify a network interface, you must
108069	// specify any security groups and subnets as part of the network interface.
108070	NetworkInterfaces []*LaunchTemplateInstanceNetworkInterfaceSpecificationRequest `locationName:"NetworkInterface" locationNameList:"InstanceNetworkInterfaceSpecification" type:"list"`
108071
108072	// The placement for the instance.
108073	Placement *LaunchTemplatePlacementRequest `type:"structure"`
108074
108075	// The ID of the RAM disk.
108076	//
108077	// We recommend that you use PV-GRUB instead of kernels and RAM disks. For more
108078	// information, see User Provided Kernels (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
108079	// in the Amazon Elastic Compute Cloud User Guide.
108080	RamDiskId *string `type:"string"`
108081
108082	// One or more security group IDs. You can create a security group using CreateSecurityGroup
108083	// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateSecurityGroup.html).
108084	// You cannot specify both a security group ID and security name in the same
108085	// request.
108086	SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
108087
108088	// [EC2-Classic, default VPC] One or more security group names. For a nondefault
108089	// VPC, you must use security group IDs instead. You cannot specify both a security
108090	// group ID and security name in the same request.
108091	SecurityGroups []*string `locationName:"SecurityGroup" locationNameList:"SecurityGroup" type:"list"`
108092
108093	// The tags to apply to the resources during launch. You can only tag instances
108094	// and volumes on launch. The specified tags are applied to all instances or
108095	// volumes that are created during launch. To tag a resource after it has been
108096	// created, see CreateTags (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).
108097	TagSpecifications []*LaunchTemplateTagSpecificationRequest `locationName:"TagSpecification" locationNameList:"LaunchTemplateTagSpecificationRequest" type:"list"`
108098
108099	// The Base64-encoded user data to make available to the instance. For more
108100	// information, see Running Commands on Your Linux Instance at Launch (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html)
108101	// (Linux) and Adding User Data (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-metadata.html#instancedata-add-user-data)
108102	// (Windows).
108103	UserData *string `type:"string"`
108104}
108105
108106// String returns the string representation
108107func (s RequestLaunchTemplateData) String() string {
108108	return awsutil.Prettify(s)
108109}
108110
108111// GoString returns the string representation
108112func (s RequestLaunchTemplateData) GoString() string {
108113	return s.String()
108114}
108115
108116// Validate inspects the fields of the type to determine if they are valid.
108117func (s *RequestLaunchTemplateData) Validate() error {
108118	invalidParams := request.ErrInvalidParams{Context: "RequestLaunchTemplateData"}
108119	if s.CreditSpecification != nil {
108120		if err := s.CreditSpecification.Validate(); err != nil {
108121			invalidParams.AddNested("CreditSpecification", err.(request.ErrInvalidParams))
108122		}
108123	}
108124	if s.ElasticGpuSpecifications != nil {
108125		for i, v := range s.ElasticGpuSpecifications {
108126			if v == nil {
108127				continue
108128			}
108129			if err := v.Validate(); err != nil {
108130				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ElasticGpuSpecifications", i), err.(request.ErrInvalidParams))
108131			}
108132		}
108133	}
108134	if s.ElasticInferenceAccelerators != nil {
108135		for i, v := range s.ElasticInferenceAccelerators {
108136			if v == nil {
108137				continue
108138			}
108139			if err := v.Validate(); err != nil {
108140				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ElasticInferenceAccelerators", i), err.(request.ErrInvalidParams))
108141			}
108142		}
108143	}
108144
108145	if invalidParams.Len() > 0 {
108146		return invalidParams
108147	}
108148	return nil
108149}
108150
108151// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
108152func (s *RequestLaunchTemplateData) SetBlockDeviceMappings(v []*LaunchTemplateBlockDeviceMappingRequest) *RequestLaunchTemplateData {
108153	s.BlockDeviceMappings = v
108154	return s
108155}
108156
108157// SetCapacityReservationSpecification sets the CapacityReservationSpecification field's value.
108158func (s *RequestLaunchTemplateData) SetCapacityReservationSpecification(v *LaunchTemplateCapacityReservationSpecificationRequest) *RequestLaunchTemplateData {
108159	s.CapacityReservationSpecification = v
108160	return s
108161}
108162
108163// SetCpuOptions sets the CpuOptions field's value.
108164func (s *RequestLaunchTemplateData) SetCpuOptions(v *LaunchTemplateCpuOptionsRequest) *RequestLaunchTemplateData {
108165	s.CpuOptions = v
108166	return s
108167}
108168
108169// SetCreditSpecification sets the CreditSpecification field's value.
108170func (s *RequestLaunchTemplateData) SetCreditSpecification(v *CreditSpecificationRequest) *RequestLaunchTemplateData {
108171	s.CreditSpecification = v
108172	return s
108173}
108174
108175// SetDisableApiTermination sets the DisableApiTermination field's value.
108176func (s *RequestLaunchTemplateData) SetDisableApiTermination(v bool) *RequestLaunchTemplateData {
108177	s.DisableApiTermination = &v
108178	return s
108179}
108180
108181// SetEbsOptimized sets the EbsOptimized field's value.
108182func (s *RequestLaunchTemplateData) SetEbsOptimized(v bool) *RequestLaunchTemplateData {
108183	s.EbsOptimized = &v
108184	return s
108185}
108186
108187// SetElasticGpuSpecifications sets the ElasticGpuSpecifications field's value.
108188func (s *RequestLaunchTemplateData) SetElasticGpuSpecifications(v []*ElasticGpuSpecification) *RequestLaunchTemplateData {
108189	s.ElasticGpuSpecifications = v
108190	return s
108191}
108192
108193// SetElasticInferenceAccelerators sets the ElasticInferenceAccelerators field's value.
108194func (s *RequestLaunchTemplateData) SetElasticInferenceAccelerators(v []*LaunchTemplateElasticInferenceAccelerator) *RequestLaunchTemplateData {
108195	s.ElasticInferenceAccelerators = v
108196	return s
108197}
108198
108199// SetEnclaveOptions sets the EnclaveOptions field's value.
108200func (s *RequestLaunchTemplateData) SetEnclaveOptions(v *LaunchTemplateEnclaveOptionsRequest) *RequestLaunchTemplateData {
108201	s.EnclaveOptions = v
108202	return s
108203}
108204
108205// SetHibernationOptions sets the HibernationOptions field's value.
108206func (s *RequestLaunchTemplateData) SetHibernationOptions(v *LaunchTemplateHibernationOptionsRequest) *RequestLaunchTemplateData {
108207	s.HibernationOptions = v
108208	return s
108209}
108210
108211// SetIamInstanceProfile sets the IamInstanceProfile field's value.
108212func (s *RequestLaunchTemplateData) SetIamInstanceProfile(v *LaunchTemplateIamInstanceProfileSpecificationRequest) *RequestLaunchTemplateData {
108213	s.IamInstanceProfile = v
108214	return s
108215}
108216
108217// SetImageId sets the ImageId field's value.
108218func (s *RequestLaunchTemplateData) SetImageId(v string) *RequestLaunchTemplateData {
108219	s.ImageId = &v
108220	return s
108221}
108222
108223// SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
108224func (s *RequestLaunchTemplateData) SetInstanceInitiatedShutdownBehavior(v string) *RequestLaunchTemplateData {
108225	s.InstanceInitiatedShutdownBehavior = &v
108226	return s
108227}
108228
108229// SetInstanceMarketOptions sets the InstanceMarketOptions field's value.
108230func (s *RequestLaunchTemplateData) SetInstanceMarketOptions(v *LaunchTemplateInstanceMarketOptionsRequest) *RequestLaunchTemplateData {
108231	s.InstanceMarketOptions = v
108232	return s
108233}
108234
108235// SetInstanceType sets the InstanceType field's value.
108236func (s *RequestLaunchTemplateData) SetInstanceType(v string) *RequestLaunchTemplateData {
108237	s.InstanceType = &v
108238	return s
108239}
108240
108241// SetKernelId sets the KernelId field's value.
108242func (s *RequestLaunchTemplateData) SetKernelId(v string) *RequestLaunchTemplateData {
108243	s.KernelId = &v
108244	return s
108245}
108246
108247// SetKeyName sets the KeyName field's value.
108248func (s *RequestLaunchTemplateData) SetKeyName(v string) *RequestLaunchTemplateData {
108249	s.KeyName = &v
108250	return s
108251}
108252
108253// SetLicenseSpecifications sets the LicenseSpecifications field's value.
108254func (s *RequestLaunchTemplateData) SetLicenseSpecifications(v []*LaunchTemplateLicenseConfigurationRequest) *RequestLaunchTemplateData {
108255	s.LicenseSpecifications = v
108256	return s
108257}
108258
108259// SetMetadataOptions sets the MetadataOptions field's value.
108260func (s *RequestLaunchTemplateData) SetMetadataOptions(v *LaunchTemplateInstanceMetadataOptionsRequest) *RequestLaunchTemplateData {
108261	s.MetadataOptions = v
108262	return s
108263}
108264
108265// SetMonitoring sets the Monitoring field's value.
108266func (s *RequestLaunchTemplateData) SetMonitoring(v *LaunchTemplatesMonitoringRequest) *RequestLaunchTemplateData {
108267	s.Monitoring = v
108268	return s
108269}
108270
108271// SetNetworkInterfaces sets the NetworkInterfaces field's value.
108272func (s *RequestLaunchTemplateData) SetNetworkInterfaces(v []*LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) *RequestLaunchTemplateData {
108273	s.NetworkInterfaces = v
108274	return s
108275}
108276
108277// SetPlacement sets the Placement field's value.
108278func (s *RequestLaunchTemplateData) SetPlacement(v *LaunchTemplatePlacementRequest) *RequestLaunchTemplateData {
108279	s.Placement = v
108280	return s
108281}
108282
108283// SetRamDiskId sets the RamDiskId field's value.
108284func (s *RequestLaunchTemplateData) SetRamDiskId(v string) *RequestLaunchTemplateData {
108285	s.RamDiskId = &v
108286	return s
108287}
108288
108289// SetSecurityGroupIds sets the SecurityGroupIds field's value.
108290func (s *RequestLaunchTemplateData) SetSecurityGroupIds(v []*string) *RequestLaunchTemplateData {
108291	s.SecurityGroupIds = v
108292	return s
108293}
108294
108295// SetSecurityGroups sets the SecurityGroups field's value.
108296func (s *RequestLaunchTemplateData) SetSecurityGroups(v []*string) *RequestLaunchTemplateData {
108297	s.SecurityGroups = v
108298	return s
108299}
108300
108301// SetTagSpecifications sets the TagSpecifications field's value.
108302func (s *RequestLaunchTemplateData) SetTagSpecifications(v []*LaunchTemplateTagSpecificationRequest) *RequestLaunchTemplateData {
108303	s.TagSpecifications = v
108304	return s
108305}
108306
108307// SetUserData sets the UserData field's value.
108308func (s *RequestLaunchTemplateData) SetUserData(v string) *RequestLaunchTemplateData {
108309	s.UserData = &v
108310	return s
108311}
108312
108313// Contains the parameters for RequestSpotFleet.
108314type RequestSpotFleetInput struct {
108315	_ struct{} `type:"structure"`
108316
108317	// Checks whether you have the required permissions for the action, without
108318	// actually making the request, and provides an error response. If you have
108319	// the required permissions, the error response is DryRunOperation. Otherwise,
108320	// it is UnauthorizedOperation.
108321	DryRun *bool `locationName:"dryRun" type:"boolean"`
108322
108323	// The configuration for the Spot Fleet request.
108324	//
108325	// SpotFleetRequestConfig is a required field
108326	SpotFleetRequestConfig *SpotFleetRequestConfigData `locationName:"spotFleetRequestConfig" type:"structure" required:"true"`
108327}
108328
108329// String returns the string representation
108330func (s RequestSpotFleetInput) String() string {
108331	return awsutil.Prettify(s)
108332}
108333
108334// GoString returns the string representation
108335func (s RequestSpotFleetInput) GoString() string {
108336	return s.String()
108337}
108338
108339// Validate inspects the fields of the type to determine if they are valid.
108340func (s *RequestSpotFleetInput) Validate() error {
108341	invalidParams := request.ErrInvalidParams{Context: "RequestSpotFleetInput"}
108342	if s.SpotFleetRequestConfig == nil {
108343		invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestConfig"))
108344	}
108345	if s.SpotFleetRequestConfig != nil {
108346		if err := s.SpotFleetRequestConfig.Validate(); err != nil {
108347			invalidParams.AddNested("SpotFleetRequestConfig", err.(request.ErrInvalidParams))
108348		}
108349	}
108350
108351	if invalidParams.Len() > 0 {
108352		return invalidParams
108353	}
108354	return nil
108355}
108356
108357// SetDryRun sets the DryRun field's value.
108358func (s *RequestSpotFleetInput) SetDryRun(v bool) *RequestSpotFleetInput {
108359	s.DryRun = &v
108360	return s
108361}
108362
108363// SetSpotFleetRequestConfig sets the SpotFleetRequestConfig field's value.
108364func (s *RequestSpotFleetInput) SetSpotFleetRequestConfig(v *SpotFleetRequestConfigData) *RequestSpotFleetInput {
108365	s.SpotFleetRequestConfig = v
108366	return s
108367}
108368
108369// Contains the output of RequestSpotFleet.
108370type RequestSpotFleetOutput struct {
108371	_ struct{} `type:"structure"`
108372
108373	// The ID of the Spot Fleet request.
108374	SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"`
108375}
108376
108377// String returns the string representation
108378func (s RequestSpotFleetOutput) String() string {
108379	return awsutil.Prettify(s)
108380}
108381
108382// GoString returns the string representation
108383func (s RequestSpotFleetOutput) GoString() string {
108384	return s.String()
108385}
108386
108387// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
108388func (s *RequestSpotFleetOutput) SetSpotFleetRequestId(v string) *RequestSpotFleetOutput {
108389	s.SpotFleetRequestId = &v
108390	return s
108391}
108392
108393// Contains the parameters for RequestSpotInstances.
108394type RequestSpotInstancesInput struct {
108395	_ struct{} `type:"structure"`
108396
108397	// The user-specified name for a logical grouping of requests.
108398	//
108399	// When you specify an Availability Zone group in a Spot Instance request, all
108400	// Spot Instances in the request are launched in the same Availability Zone.
108401	// Instance proximity is maintained with this parameter, but the choice of Availability
108402	// Zone is not. The group applies only to requests for Spot Instances of the
108403	// same instance type. Any additional Spot Instance requests that are specified
108404	// with the same Availability Zone group name are launched in that same Availability
108405	// Zone, as long as at least one instance from the group is still active.
108406	//
108407	// If there is no active instance running in the Availability Zone group that
108408	// you specify for a new Spot Instance request (all instances are terminated,
108409	// the request is expired, or the maximum price you specified falls below current
108410	// Spot price), then Amazon EC2 launches the instance in any Availability Zone
108411	// where the constraint can be met. Consequently, the subsequent set of Spot
108412	// Instances could be placed in a different zone from the original request,
108413	// even if you specified the same Availability Zone group.
108414	//
108415	// Default: Instances are launched in any available Availability Zone.
108416	AvailabilityZoneGroup *string `locationName:"availabilityZoneGroup" type:"string"`
108417
108418	// The required duration for the Spot Instances (also known as Spot blocks),
108419	// in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300,
108420	// or 360).
108421	//
108422	// The duration period starts as soon as your Spot Instance receives its instance
108423	// ID. At the end of the duration period, Amazon EC2 marks the Spot Instance
108424	// for termination and provides a Spot Instance termination notice, which gives
108425	// the instance a two-minute warning before it terminates.
108426	//
108427	// You can't specify an Availability Zone group or a launch group if you specify
108428	// a duration.
108429	//
108430	// New accounts or accounts with no previous billing history with AWS are not
108431	// eligible for Spot Instances with a defined duration (also known as Spot blocks).
108432	BlockDurationMinutes *int64 `locationName:"blockDurationMinutes" type:"integer"`
108433
108434	// Unique, case-sensitive identifier that you provide to ensure the idempotency
108435	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
108436	// in the Amazon EC2 User Guide for Linux Instances.
108437	ClientToken *string `locationName:"clientToken" type:"string"`
108438
108439	// Checks whether you have the required permissions for the action, without
108440	// actually making the request, and provides an error response. If you have
108441	// the required permissions, the error response is DryRunOperation. Otherwise,
108442	// it is UnauthorizedOperation.
108443	DryRun *bool `locationName:"dryRun" type:"boolean"`
108444
108445	// The maximum number of Spot Instances to launch.
108446	//
108447	// Default: 1
108448	InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
108449
108450	// The behavior when a Spot Instance is interrupted. The default is terminate.
108451	InstanceInterruptionBehavior *string `type:"string" enum:"InstanceInterruptionBehavior"`
108452
108453	// The instance launch group. Launch groups are Spot Instances that launch together
108454	// and terminate together.
108455	//
108456	// Default: Instances are launched and terminated individually
108457	LaunchGroup *string `locationName:"launchGroup" type:"string"`
108458
108459	// The launch specification.
108460	LaunchSpecification *RequestSpotLaunchSpecification `type:"structure"`
108461
108462	// The maximum price per hour that you are willing to pay for a Spot Instance.
108463	// The default is the On-Demand price.
108464	SpotPrice *string `locationName:"spotPrice" type:"string"`
108465
108466	// The key-value pair for tagging the Spot Instance request on creation. The
108467	// value for ResourceType must be spot-instances-request, otherwise the Spot
108468	// Instance request fails. To tag the Spot Instance request after it has been
108469	// created, see CreateTags (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).
108470	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
108471
108472	// The Spot Instance request type.
108473	//
108474	// Default: one-time
108475	Type *string `locationName:"type" type:"string" enum:"SpotInstanceType"`
108476
108477	// The start date of the request. If this is a one-time request, the request
108478	// becomes active at this date and time and remains active until all instances
108479	// launch, the request expires, or the request is canceled. If the request is
108480	// persistent, the request becomes active at this date and time and remains
108481	// active until it expires or is canceled.
108482	//
108483	// The specified start date and time cannot be equal to the current date and
108484	// time. You must specify a start date and time that occurs after the current
108485	// date and time.
108486	ValidFrom *time.Time `locationName:"validFrom" type:"timestamp"`
108487
108488	// The end date of the request, in UTC format (YYYY-MM-DDTHH:MM:SSZ).
108489	//
108490	//    * For a persistent request, the request remains active until the ValidUntil
108491	//    date and time is reached. Otherwise, the request remains active until
108492	//    you cancel it.
108493	//
108494	//    * For a one-time request, the request remains active until all instances
108495	//    launch, the request is canceled, or the ValidUntil date and time is reached.
108496	//    By default, the request is valid for 7 days from the date the request
108497	//    was created.
108498	ValidUntil *time.Time `locationName:"validUntil" type:"timestamp"`
108499}
108500
108501// String returns the string representation
108502func (s RequestSpotInstancesInput) String() string {
108503	return awsutil.Prettify(s)
108504}
108505
108506// GoString returns the string representation
108507func (s RequestSpotInstancesInput) GoString() string {
108508	return s.String()
108509}
108510
108511// Validate inspects the fields of the type to determine if they are valid.
108512func (s *RequestSpotInstancesInput) Validate() error {
108513	invalidParams := request.ErrInvalidParams{Context: "RequestSpotInstancesInput"}
108514	if s.LaunchSpecification != nil {
108515		if err := s.LaunchSpecification.Validate(); err != nil {
108516			invalidParams.AddNested("LaunchSpecification", err.(request.ErrInvalidParams))
108517		}
108518	}
108519
108520	if invalidParams.Len() > 0 {
108521		return invalidParams
108522	}
108523	return nil
108524}
108525
108526// SetAvailabilityZoneGroup sets the AvailabilityZoneGroup field's value.
108527func (s *RequestSpotInstancesInput) SetAvailabilityZoneGroup(v string) *RequestSpotInstancesInput {
108528	s.AvailabilityZoneGroup = &v
108529	return s
108530}
108531
108532// SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
108533func (s *RequestSpotInstancesInput) SetBlockDurationMinutes(v int64) *RequestSpotInstancesInput {
108534	s.BlockDurationMinutes = &v
108535	return s
108536}
108537
108538// SetClientToken sets the ClientToken field's value.
108539func (s *RequestSpotInstancesInput) SetClientToken(v string) *RequestSpotInstancesInput {
108540	s.ClientToken = &v
108541	return s
108542}
108543
108544// SetDryRun sets the DryRun field's value.
108545func (s *RequestSpotInstancesInput) SetDryRun(v bool) *RequestSpotInstancesInput {
108546	s.DryRun = &v
108547	return s
108548}
108549
108550// SetInstanceCount sets the InstanceCount field's value.
108551func (s *RequestSpotInstancesInput) SetInstanceCount(v int64) *RequestSpotInstancesInput {
108552	s.InstanceCount = &v
108553	return s
108554}
108555
108556// SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
108557func (s *RequestSpotInstancesInput) SetInstanceInterruptionBehavior(v string) *RequestSpotInstancesInput {
108558	s.InstanceInterruptionBehavior = &v
108559	return s
108560}
108561
108562// SetLaunchGroup sets the LaunchGroup field's value.
108563func (s *RequestSpotInstancesInput) SetLaunchGroup(v string) *RequestSpotInstancesInput {
108564	s.LaunchGroup = &v
108565	return s
108566}
108567
108568// SetLaunchSpecification sets the LaunchSpecification field's value.
108569func (s *RequestSpotInstancesInput) SetLaunchSpecification(v *RequestSpotLaunchSpecification) *RequestSpotInstancesInput {
108570	s.LaunchSpecification = v
108571	return s
108572}
108573
108574// SetSpotPrice sets the SpotPrice field's value.
108575func (s *RequestSpotInstancesInput) SetSpotPrice(v string) *RequestSpotInstancesInput {
108576	s.SpotPrice = &v
108577	return s
108578}
108579
108580// SetTagSpecifications sets the TagSpecifications field's value.
108581func (s *RequestSpotInstancesInput) SetTagSpecifications(v []*TagSpecification) *RequestSpotInstancesInput {
108582	s.TagSpecifications = v
108583	return s
108584}
108585
108586// SetType sets the Type field's value.
108587func (s *RequestSpotInstancesInput) SetType(v string) *RequestSpotInstancesInput {
108588	s.Type = &v
108589	return s
108590}
108591
108592// SetValidFrom sets the ValidFrom field's value.
108593func (s *RequestSpotInstancesInput) SetValidFrom(v time.Time) *RequestSpotInstancesInput {
108594	s.ValidFrom = &v
108595	return s
108596}
108597
108598// SetValidUntil sets the ValidUntil field's value.
108599func (s *RequestSpotInstancesInput) SetValidUntil(v time.Time) *RequestSpotInstancesInput {
108600	s.ValidUntil = &v
108601	return s
108602}
108603
108604// Contains the output of RequestSpotInstances.
108605type RequestSpotInstancesOutput struct {
108606	_ struct{} `type:"structure"`
108607
108608	// One or more Spot Instance requests.
108609	SpotInstanceRequests []*SpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"`
108610}
108611
108612// String returns the string representation
108613func (s RequestSpotInstancesOutput) String() string {
108614	return awsutil.Prettify(s)
108615}
108616
108617// GoString returns the string representation
108618func (s RequestSpotInstancesOutput) GoString() string {
108619	return s.String()
108620}
108621
108622// SetSpotInstanceRequests sets the SpotInstanceRequests field's value.
108623func (s *RequestSpotInstancesOutput) SetSpotInstanceRequests(v []*SpotInstanceRequest) *RequestSpotInstancesOutput {
108624	s.SpotInstanceRequests = v
108625	return s
108626}
108627
108628// Describes the launch specification for an instance.
108629type RequestSpotLaunchSpecification struct {
108630	_ struct{} `type:"structure"`
108631
108632	// Deprecated.
108633	AddressingType *string `locationName:"addressingType" type:"string"`
108634
108635	// One or more block device mapping entries. You can't specify both a snapshot
108636	// ID and an encryption value. This is because only blank volumes can be encrypted
108637	// on creation. If a snapshot is the basis for a volume, it is not blank and
108638	// its encryption status is used for the volume encryption status.
108639	BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
108640
108641	// Indicates whether the instance is optimized for EBS I/O. This optimization
108642	// provides dedicated throughput to Amazon EBS and an optimized configuration
108643	// stack to provide optimal EBS I/O performance. This optimization isn't available
108644	// with all instance types. Additional usage charges apply when using an EBS
108645	// Optimized instance.
108646	//
108647	// Default: false
108648	EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
108649
108650	// The IAM instance profile.
108651	IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
108652
108653	// The ID of the AMI.
108654	ImageId *string `locationName:"imageId" type:"string"`
108655
108656	// The instance type.
108657	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
108658
108659	// The ID of the kernel.
108660	KernelId *string `locationName:"kernelId" type:"string"`
108661
108662	// The name of the key pair.
108663	KeyName *string `locationName:"keyName" type:"string"`
108664
108665	// Indicates whether basic or detailed monitoring is enabled for the instance.
108666	//
108667	// Default: Disabled
108668	Monitoring *RunInstancesMonitoringEnabled `locationName:"monitoring" type:"structure"`
108669
108670	// One or more network interfaces. If you specify a network interface, you must
108671	// specify subnet IDs and security group IDs using the network interface.
108672	NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"NetworkInterface" locationNameList:"item" type:"list"`
108673
108674	// The placement information for the instance.
108675	Placement *SpotPlacement `locationName:"placement" type:"structure"`
108676
108677	// The ID of the RAM disk.
108678	RamdiskId *string `locationName:"ramdiskId" type:"string"`
108679
108680	// One or more security group IDs.
108681	SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"item" type:"list"`
108682
108683	// One or more security groups. When requesting instances in a VPC, you must
108684	// specify the IDs of the security groups. When requesting instances in EC2-Classic,
108685	// you can specify the names or the IDs of the security groups.
108686	SecurityGroups []*string `locationName:"SecurityGroup" locationNameList:"item" type:"list"`
108687
108688	// The ID of the subnet in which to launch the instance.
108689	SubnetId *string `locationName:"subnetId" type:"string"`
108690
108691	// The Base64-encoded user data for the instance. User data is limited to 16
108692	// KB.
108693	UserData *string `locationName:"userData" type:"string"`
108694}
108695
108696// String returns the string representation
108697func (s RequestSpotLaunchSpecification) String() string {
108698	return awsutil.Prettify(s)
108699}
108700
108701// GoString returns the string representation
108702func (s RequestSpotLaunchSpecification) GoString() string {
108703	return s.String()
108704}
108705
108706// Validate inspects the fields of the type to determine if they are valid.
108707func (s *RequestSpotLaunchSpecification) Validate() error {
108708	invalidParams := request.ErrInvalidParams{Context: "RequestSpotLaunchSpecification"}
108709	if s.Monitoring != nil {
108710		if err := s.Monitoring.Validate(); err != nil {
108711			invalidParams.AddNested("Monitoring", err.(request.ErrInvalidParams))
108712		}
108713	}
108714
108715	if invalidParams.Len() > 0 {
108716		return invalidParams
108717	}
108718	return nil
108719}
108720
108721// SetAddressingType sets the AddressingType field's value.
108722func (s *RequestSpotLaunchSpecification) SetAddressingType(v string) *RequestSpotLaunchSpecification {
108723	s.AddressingType = &v
108724	return s
108725}
108726
108727// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
108728func (s *RequestSpotLaunchSpecification) SetBlockDeviceMappings(v []*BlockDeviceMapping) *RequestSpotLaunchSpecification {
108729	s.BlockDeviceMappings = v
108730	return s
108731}
108732
108733// SetEbsOptimized sets the EbsOptimized field's value.
108734func (s *RequestSpotLaunchSpecification) SetEbsOptimized(v bool) *RequestSpotLaunchSpecification {
108735	s.EbsOptimized = &v
108736	return s
108737}
108738
108739// SetIamInstanceProfile sets the IamInstanceProfile field's value.
108740func (s *RequestSpotLaunchSpecification) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *RequestSpotLaunchSpecification {
108741	s.IamInstanceProfile = v
108742	return s
108743}
108744
108745// SetImageId sets the ImageId field's value.
108746func (s *RequestSpotLaunchSpecification) SetImageId(v string) *RequestSpotLaunchSpecification {
108747	s.ImageId = &v
108748	return s
108749}
108750
108751// SetInstanceType sets the InstanceType field's value.
108752func (s *RequestSpotLaunchSpecification) SetInstanceType(v string) *RequestSpotLaunchSpecification {
108753	s.InstanceType = &v
108754	return s
108755}
108756
108757// SetKernelId sets the KernelId field's value.
108758func (s *RequestSpotLaunchSpecification) SetKernelId(v string) *RequestSpotLaunchSpecification {
108759	s.KernelId = &v
108760	return s
108761}
108762
108763// SetKeyName sets the KeyName field's value.
108764func (s *RequestSpotLaunchSpecification) SetKeyName(v string) *RequestSpotLaunchSpecification {
108765	s.KeyName = &v
108766	return s
108767}
108768
108769// SetMonitoring sets the Monitoring field's value.
108770func (s *RequestSpotLaunchSpecification) SetMonitoring(v *RunInstancesMonitoringEnabled) *RequestSpotLaunchSpecification {
108771	s.Monitoring = v
108772	return s
108773}
108774
108775// SetNetworkInterfaces sets the NetworkInterfaces field's value.
108776func (s *RequestSpotLaunchSpecification) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *RequestSpotLaunchSpecification {
108777	s.NetworkInterfaces = v
108778	return s
108779}
108780
108781// SetPlacement sets the Placement field's value.
108782func (s *RequestSpotLaunchSpecification) SetPlacement(v *SpotPlacement) *RequestSpotLaunchSpecification {
108783	s.Placement = v
108784	return s
108785}
108786
108787// SetRamdiskId sets the RamdiskId field's value.
108788func (s *RequestSpotLaunchSpecification) SetRamdiskId(v string) *RequestSpotLaunchSpecification {
108789	s.RamdiskId = &v
108790	return s
108791}
108792
108793// SetSecurityGroupIds sets the SecurityGroupIds field's value.
108794func (s *RequestSpotLaunchSpecification) SetSecurityGroupIds(v []*string) *RequestSpotLaunchSpecification {
108795	s.SecurityGroupIds = v
108796	return s
108797}
108798
108799// SetSecurityGroups sets the SecurityGroups field's value.
108800func (s *RequestSpotLaunchSpecification) SetSecurityGroups(v []*string) *RequestSpotLaunchSpecification {
108801	s.SecurityGroups = v
108802	return s
108803}
108804
108805// SetSubnetId sets the SubnetId field's value.
108806func (s *RequestSpotLaunchSpecification) SetSubnetId(v string) *RequestSpotLaunchSpecification {
108807	s.SubnetId = &v
108808	return s
108809}
108810
108811// SetUserData sets the UserData field's value.
108812func (s *RequestSpotLaunchSpecification) SetUserData(v string) *RequestSpotLaunchSpecification {
108813	s.UserData = &v
108814	return s
108815}
108816
108817// Describes a launch request for one or more instances, and includes owner,
108818// requester, and security group information that applies to all instances in
108819// the launch request.
108820type Reservation struct {
108821	_ struct{} `type:"structure"`
108822
108823	// [EC2-Classic only] The security groups.
108824	Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
108825
108826	// The instances.
108827	Instances []*Instance `locationName:"instancesSet" locationNameList:"item" type:"list"`
108828
108829	// The ID of the AWS account that owns the reservation.
108830	OwnerId *string `locationName:"ownerId" type:"string"`
108831
108832	// The ID of the requester that launched the instances on your behalf (for example,
108833	// AWS Management Console or Auto Scaling).
108834	RequesterId *string `locationName:"requesterId" type:"string"`
108835
108836	// The ID of the reservation.
108837	ReservationId *string `locationName:"reservationId" type:"string"`
108838}
108839
108840// String returns the string representation
108841func (s Reservation) String() string {
108842	return awsutil.Prettify(s)
108843}
108844
108845// GoString returns the string representation
108846func (s Reservation) GoString() string {
108847	return s.String()
108848}
108849
108850// SetGroups sets the Groups field's value.
108851func (s *Reservation) SetGroups(v []*GroupIdentifier) *Reservation {
108852	s.Groups = v
108853	return s
108854}
108855
108856// SetInstances sets the Instances field's value.
108857func (s *Reservation) SetInstances(v []*Instance) *Reservation {
108858	s.Instances = v
108859	return s
108860}
108861
108862// SetOwnerId sets the OwnerId field's value.
108863func (s *Reservation) SetOwnerId(v string) *Reservation {
108864	s.OwnerId = &v
108865	return s
108866}
108867
108868// SetRequesterId sets the RequesterId field's value.
108869func (s *Reservation) SetRequesterId(v string) *Reservation {
108870	s.RequesterId = &v
108871	return s
108872}
108873
108874// SetReservationId sets the ReservationId field's value.
108875func (s *Reservation) SetReservationId(v string) *Reservation {
108876	s.ReservationId = &v
108877	return s
108878}
108879
108880// The cost associated with the Reserved Instance.
108881type ReservationValue struct {
108882	_ struct{} `type:"structure"`
108883
108884	// The hourly rate of the reservation.
108885	HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
108886
108887	// The balance of the total value (the sum of remainingUpfrontValue + hourlyPrice
108888	// * number of hours remaining).
108889	RemainingTotalValue *string `locationName:"remainingTotalValue" type:"string"`
108890
108891	// The remaining upfront cost of the reservation.
108892	RemainingUpfrontValue *string `locationName:"remainingUpfrontValue" type:"string"`
108893}
108894
108895// String returns the string representation
108896func (s ReservationValue) String() string {
108897	return awsutil.Prettify(s)
108898}
108899
108900// GoString returns the string representation
108901func (s ReservationValue) GoString() string {
108902	return s.String()
108903}
108904
108905// SetHourlyPrice sets the HourlyPrice field's value.
108906func (s *ReservationValue) SetHourlyPrice(v string) *ReservationValue {
108907	s.HourlyPrice = &v
108908	return s
108909}
108910
108911// SetRemainingTotalValue sets the RemainingTotalValue field's value.
108912func (s *ReservationValue) SetRemainingTotalValue(v string) *ReservationValue {
108913	s.RemainingTotalValue = &v
108914	return s
108915}
108916
108917// SetRemainingUpfrontValue sets the RemainingUpfrontValue field's value.
108918func (s *ReservationValue) SetRemainingUpfrontValue(v string) *ReservationValue {
108919	s.RemainingUpfrontValue = &v
108920	return s
108921}
108922
108923// Describes the limit price of a Reserved Instance offering.
108924type ReservedInstanceLimitPrice struct {
108925	_ struct{} `type:"structure"`
108926
108927	// Used for Reserved Instance Marketplace offerings. Specifies the limit price
108928	// on the total order (instanceCount * price).
108929	Amount *float64 `locationName:"amount" type:"double"`
108930
108931	// The currency in which the limitPrice amount is specified. At this time, the
108932	// only supported currency is USD.
108933	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
108934}
108935
108936// String returns the string representation
108937func (s ReservedInstanceLimitPrice) String() string {
108938	return awsutil.Prettify(s)
108939}
108940
108941// GoString returns the string representation
108942func (s ReservedInstanceLimitPrice) GoString() string {
108943	return s.String()
108944}
108945
108946// SetAmount sets the Amount field's value.
108947func (s *ReservedInstanceLimitPrice) SetAmount(v float64) *ReservedInstanceLimitPrice {
108948	s.Amount = &v
108949	return s
108950}
108951
108952// SetCurrencyCode sets the CurrencyCode field's value.
108953func (s *ReservedInstanceLimitPrice) SetCurrencyCode(v string) *ReservedInstanceLimitPrice {
108954	s.CurrencyCode = &v
108955	return s
108956}
108957
108958// The total value of the Convertible Reserved Instance.
108959type ReservedInstanceReservationValue struct {
108960	_ struct{} `type:"structure"`
108961
108962	// The total value of the Convertible Reserved Instance that you are exchanging.
108963	ReservationValue *ReservationValue `locationName:"reservationValue" type:"structure"`
108964
108965	// The ID of the Convertible Reserved Instance that you are exchanging.
108966	ReservedInstanceId *string `locationName:"reservedInstanceId" type:"string"`
108967}
108968
108969// String returns the string representation
108970func (s ReservedInstanceReservationValue) String() string {
108971	return awsutil.Prettify(s)
108972}
108973
108974// GoString returns the string representation
108975func (s ReservedInstanceReservationValue) GoString() string {
108976	return s.String()
108977}
108978
108979// SetReservationValue sets the ReservationValue field's value.
108980func (s *ReservedInstanceReservationValue) SetReservationValue(v *ReservationValue) *ReservedInstanceReservationValue {
108981	s.ReservationValue = v
108982	return s
108983}
108984
108985// SetReservedInstanceId sets the ReservedInstanceId field's value.
108986func (s *ReservedInstanceReservationValue) SetReservedInstanceId(v string) *ReservedInstanceReservationValue {
108987	s.ReservedInstanceId = &v
108988	return s
108989}
108990
108991// Describes a Reserved Instance.
108992type ReservedInstances struct {
108993	_ struct{} `type:"structure"`
108994
108995	// The Availability Zone in which the Reserved Instance can be used.
108996	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
108997
108998	// The currency of the Reserved Instance. It's specified using ISO 4217 standard
108999	// currency codes. At this time, the only supported currency is USD.
109000	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
109001
109002	// The duration of the Reserved Instance, in seconds.
109003	Duration *int64 `locationName:"duration" type:"long"`
109004
109005	// The time when the Reserved Instance expires.
109006	End *time.Time `locationName:"end" type:"timestamp"`
109007
109008	// The purchase price of the Reserved Instance.
109009	FixedPrice *float64 `locationName:"fixedPrice" type:"float"`
109010
109011	// The number of reservations purchased.
109012	InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
109013
109014	// The tenancy of the instance.
109015	InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
109016
109017	// The instance type on which the Reserved Instance can be used.
109018	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
109019
109020	// The offering class of the Reserved Instance.
109021	OfferingClass *string `locationName:"offeringClass" type:"string" enum:"OfferingClassType"`
109022
109023	// The Reserved Instance offering type.
109024	OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
109025
109026	// The Reserved Instance product platform description.
109027	ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
109028
109029	// The recurring charge tag assigned to the resource.
109030	RecurringCharges []*RecurringCharge `locationName:"recurringCharges" locationNameList:"item" type:"list"`
109031
109032	// The ID of the Reserved Instance.
109033	ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
109034
109035	// The scope of the Reserved Instance.
109036	Scope *string `locationName:"scope" type:"string" enum:"Scope"`
109037
109038	// The date and time the Reserved Instance started.
109039	Start *time.Time `locationName:"start" type:"timestamp"`
109040
109041	// The state of the Reserved Instance purchase.
109042	State *string `locationName:"state" type:"string" enum:"ReservedInstanceState"`
109043
109044	// Any tags assigned to the resource.
109045	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
109046
109047	// The usage price of the Reserved Instance, per hour.
109048	UsagePrice *float64 `locationName:"usagePrice" type:"float"`
109049}
109050
109051// String returns the string representation
109052func (s ReservedInstances) String() string {
109053	return awsutil.Prettify(s)
109054}
109055
109056// GoString returns the string representation
109057func (s ReservedInstances) GoString() string {
109058	return s.String()
109059}
109060
109061// SetAvailabilityZone sets the AvailabilityZone field's value.
109062func (s *ReservedInstances) SetAvailabilityZone(v string) *ReservedInstances {
109063	s.AvailabilityZone = &v
109064	return s
109065}
109066
109067// SetCurrencyCode sets the CurrencyCode field's value.
109068func (s *ReservedInstances) SetCurrencyCode(v string) *ReservedInstances {
109069	s.CurrencyCode = &v
109070	return s
109071}
109072
109073// SetDuration sets the Duration field's value.
109074func (s *ReservedInstances) SetDuration(v int64) *ReservedInstances {
109075	s.Duration = &v
109076	return s
109077}
109078
109079// SetEnd sets the End field's value.
109080func (s *ReservedInstances) SetEnd(v time.Time) *ReservedInstances {
109081	s.End = &v
109082	return s
109083}
109084
109085// SetFixedPrice sets the FixedPrice field's value.
109086func (s *ReservedInstances) SetFixedPrice(v float64) *ReservedInstances {
109087	s.FixedPrice = &v
109088	return s
109089}
109090
109091// SetInstanceCount sets the InstanceCount field's value.
109092func (s *ReservedInstances) SetInstanceCount(v int64) *ReservedInstances {
109093	s.InstanceCount = &v
109094	return s
109095}
109096
109097// SetInstanceTenancy sets the InstanceTenancy field's value.
109098func (s *ReservedInstances) SetInstanceTenancy(v string) *ReservedInstances {
109099	s.InstanceTenancy = &v
109100	return s
109101}
109102
109103// SetInstanceType sets the InstanceType field's value.
109104func (s *ReservedInstances) SetInstanceType(v string) *ReservedInstances {
109105	s.InstanceType = &v
109106	return s
109107}
109108
109109// SetOfferingClass sets the OfferingClass field's value.
109110func (s *ReservedInstances) SetOfferingClass(v string) *ReservedInstances {
109111	s.OfferingClass = &v
109112	return s
109113}
109114
109115// SetOfferingType sets the OfferingType field's value.
109116func (s *ReservedInstances) SetOfferingType(v string) *ReservedInstances {
109117	s.OfferingType = &v
109118	return s
109119}
109120
109121// SetProductDescription sets the ProductDescription field's value.
109122func (s *ReservedInstances) SetProductDescription(v string) *ReservedInstances {
109123	s.ProductDescription = &v
109124	return s
109125}
109126
109127// SetRecurringCharges sets the RecurringCharges field's value.
109128func (s *ReservedInstances) SetRecurringCharges(v []*RecurringCharge) *ReservedInstances {
109129	s.RecurringCharges = v
109130	return s
109131}
109132
109133// SetReservedInstancesId sets the ReservedInstancesId field's value.
109134func (s *ReservedInstances) SetReservedInstancesId(v string) *ReservedInstances {
109135	s.ReservedInstancesId = &v
109136	return s
109137}
109138
109139// SetScope sets the Scope field's value.
109140func (s *ReservedInstances) SetScope(v string) *ReservedInstances {
109141	s.Scope = &v
109142	return s
109143}
109144
109145// SetStart sets the Start field's value.
109146func (s *ReservedInstances) SetStart(v time.Time) *ReservedInstances {
109147	s.Start = &v
109148	return s
109149}
109150
109151// SetState sets the State field's value.
109152func (s *ReservedInstances) SetState(v string) *ReservedInstances {
109153	s.State = &v
109154	return s
109155}
109156
109157// SetTags sets the Tags field's value.
109158func (s *ReservedInstances) SetTags(v []*Tag) *ReservedInstances {
109159	s.Tags = v
109160	return s
109161}
109162
109163// SetUsagePrice sets the UsagePrice field's value.
109164func (s *ReservedInstances) SetUsagePrice(v float64) *ReservedInstances {
109165	s.UsagePrice = &v
109166	return s
109167}
109168
109169// Describes the configuration settings for the modified Reserved Instances.
109170type ReservedInstancesConfiguration struct {
109171	_ struct{} `type:"structure"`
109172
109173	// The Availability Zone for the modified Reserved Instances.
109174	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
109175
109176	// The number of modified Reserved Instances.
109177	//
109178	// This is a required field for a request.
109179	InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
109180
109181	// The instance type for the modified Reserved Instances.
109182	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
109183
109184	// The network platform of the modified Reserved Instances, which is either
109185	// EC2-Classic or EC2-VPC.
109186	Platform *string `locationName:"platform" type:"string"`
109187
109188	// Whether the Reserved Instance is applied to instances in a Region or instances
109189	// in a specific Availability Zone.
109190	Scope *string `locationName:"scope" type:"string" enum:"Scope"`
109191}
109192
109193// String returns the string representation
109194func (s ReservedInstancesConfiguration) String() string {
109195	return awsutil.Prettify(s)
109196}
109197
109198// GoString returns the string representation
109199func (s ReservedInstancesConfiguration) GoString() string {
109200	return s.String()
109201}
109202
109203// SetAvailabilityZone sets the AvailabilityZone field's value.
109204func (s *ReservedInstancesConfiguration) SetAvailabilityZone(v string) *ReservedInstancesConfiguration {
109205	s.AvailabilityZone = &v
109206	return s
109207}
109208
109209// SetInstanceCount sets the InstanceCount field's value.
109210func (s *ReservedInstancesConfiguration) SetInstanceCount(v int64) *ReservedInstancesConfiguration {
109211	s.InstanceCount = &v
109212	return s
109213}
109214
109215// SetInstanceType sets the InstanceType field's value.
109216func (s *ReservedInstancesConfiguration) SetInstanceType(v string) *ReservedInstancesConfiguration {
109217	s.InstanceType = &v
109218	return s
109219}
109220
109221// SetPlatform sets the Platform field's value.
109222func (s *ReservedInstancesConfiguration) SetPlatform(v string) *ReservedInstancesConfiguration {
109223	s.Platform = &v
109224	return s
109225}
109226
109227// SetScope sets the Scope field's value.
109228func (s *ReservedInstancesConfiguration) SetScope(v string) *ReservedInstancesConfiguration {
109229	s.Scope = &v
109230	return s
109231}
109232
109233// Describes the ID of a Reserved Instance.
109234type ReservedInstancesId struct {
109235	_ struct{} `type:"structure"`
109236
109237	// The ID of the Reserved Instance.
109238	ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
109239}
109240
109241// String returns the string representation
109242func (s ReservedInstancesId) String() string {
109243	return awsutil.Prettify(s)
109244}
109245
109246// GoString returns the string representation
109247func (s ReservedInstancesId) GoString() string {
109248	return s.String()
109249}
109250
109251// SetReservedInstancesId sets the ReservedInstancesId field's value.
109252func (s *ReservedInstancesId) SetReservedInstancesId(v string) *ReservedInstancesId {
109253	s.ReservedInstancesId = &v
109254	return s
109255}
109256
109257// Describes a Reserved Instance listing.
109258type ReservedInstancesListing struct {
109259	_ struct{} `type:"structure"`
109260
109261	// A unique, case-sensitive key supplied by the client to ensure that the request
109262	// is idempotent. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
109263	ClientToken *string `locationName:"clientToken" type:"string"`
109264
109265	// The time the listing was created.
109266	CreateDate *time.Time `locationName:"createDate" type:"timestamp"`
109267
109268	// The number of instances in this state.
109269	InstanceCounts []*InstanceCount `locationName:"instanceCounts" locationNameList:"item" type:"list"`
109270
109271	// The price of the Reserved Instance listing.
109272	PriceSchedules []*PriceSchedule `locationName:"priceSchedules" locationNameList:"item" type:"list"`
109273
109274	// The ID of the Reserved Instance.
109275	ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
109276
109277	// The ID of the Reserved Instance listing.
109278	ReservedInstancesListingId *string `locationName:"reservedInstancesListingId" type:"string"`
109279
109280	// The status of the Reserved Instance listing.
109281	Status *string `locationName:"status" type:"string" enum:"ListingStatus"`
109282
109283	// The reason for the current status of the Reserved Instance listing. The response
109284	// can be blank.
109285	StatusMessage *string `locationName:"statusMessage" type:"string"`
109286
109287	// Any tags assigned to the resource.
109288	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
109289
109290	// The last modified timestamp of the listing.
109291	UpdateDate *time.Time `locationName:"updateDate" type:"timestamp"`
109292}
109293
109294// String returns the string representation
109295func (s ReservedInstancesListing) String() string {
109296	return awsutil.Prettify(s)
109297}
109298
109299// GoString returns the string representation
109300func (s ReservedInstancesListing) GoString() string {
109301	return s.String()
109302}
109303
109304// SetClientToken sets the ClientToken field's value.
109305func (s *ReservedInstancesListing) SetClientToken(v string) *ReservedInstancesListing {
109306	s.ClientToken = &v
109307	return s
109308}
109309
109310// SetCreateDate sets the CreateDate field's value.
109311func (s *ReservedInstancesListing) SetCreateDate(v time.Time) *ReservedInstancesListing {
109312	s.CreateDate = &v
109313	return s
109314}
109315
109316// SetInstanceCounts sets the InstanceCounts field's value.
109317func (s *ReservedInstancesListing) SetInstanceCounts(v []*InstanceCount) *ReservedInstancesListing {
109318	s.InstanceCounts = v
109319	return s
109320}
109321
109322// SetPriceSchedules sets the PriceSchedules field's value.
109323func (s *ReservedInstancesListing) SetPriceSchedules(v []*PriceSchedule) *ReservedInstancesListing {
109324	s.PriceSchedules = v
109325	return s
109326}
109327
109328// SetReservedInstancesId sets the ReservedInstancesId field's value.
109329func (s *ReservedInstancesListing) SetReservedInstancesId(v string) *ReservedInstancesListing {
109330	s.ReservedInstancesId = &v
109331	return s
109332}
109333
109334// SetReservedInstancesListingId sets the ReservedInstancesListingId field's value.
109335func (s *ReservedInstancesListing) SetReservedInstancesListingId(v string) *ReservedInstancesListing {
109336	s.ReservedInstancesListingId = &v
109337	return s
109338}
109339
109340// SetStatus sets the Status field's value.
109341func (s *ReservedInstancesListing) SetStatus(v string) *ReservedInstancesListing {
109342	s.Status = &v
109343	return s
109344}
109345
109346// SetStatusMessage sets the StatusMessage field's value.
109347func (s *ReservedInstancesListing) SetStatusMessage(v string) *ReservedInstancesListing {
109348	s.StatusMessage = &v
109349	return s
109350}
109351
109352// SetTags sets the Tags field's value.
109353func (s *ReservedInstancesListing) SetTags(v []*Tag) *ReservedInstancesListing {
109354	s.Tags = v
109355	return s
109356}
109357
109358// SetUpdateDate sets the UpdateDate field's value.
109359func (s *ReservedInstancesListing) SetUpdateDate(v time.Time) *ReservedInstancesListing {
109360	s.UpdateDate = &v
109361	return s
109362}
109363
109364// Describes a Reserved Instance modification.
109365type ReservedInstancesModification struct {
109366	_ struct{} `type:"structure"`
109367
109368	// A unique, case-sensitive key supplied by the client to ensure that the request
109369	// is idempotent. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
109370	ClientToken *string `locationName:"clientToken" type:"string"`
109371
109372	// The time when the modification request was created.
109373	CreateDate *time.Time `locationName:"createDate" type:"timestamp"`
109374
109375	// The time for the modification to become effective.
109376	EffectiveDate *time.Time `locationName:"effectiveDate" type:"timestamp"`
109377
109378	// Contains target configurations along with their corresponding new Reserved
109379	// Instance IDs.
109380	ModificationResults []*ReservedInstancesModificationResult `locationName:"modificationResultSet" locationNameList:"item" type:"list"`
109381
109382	// The IDs of one or more Reserved Instances.
109383	ReservedInstancesIds []*ReservedInstancesId `locationName:"reservedInstancesSet" locationNameList:"item" type:"list"`
109384
109385	// A unique ID for the Reserved Instance modification.
109386	ReservedInstancesModificationId *string `locationName:"reservedInstancesModificationId" type:"string"`
109387
109388	// The status of the Reserved Instances modification request.
109389	Status *string `locationName:"status" type:"string"`
109390
109391	// The reason for the status.
109392	StatusMessage *string `locationName:"statusMessage" type:"string"`
109393
109394	// The time when the modification request was last updated.
109395	UpdateDate *time.Time `locationName:"updateDate" type:"timestamp"`
109396}
109397
109398// String returns the string representation
109399func (s ReservedInstancesModification) String() string {
109400	return awsutil.Prettify(s)
109401}
109402
109403// GoString returns the string representation
109404func (s ReservedInstancesModification) GoString() string {
109405	return s.String()
109406}
109407
109408// SetClientToken sets the ClientToken field's value.
109409func (s *ReservedInstancesModification) SetClientToken(v string) *ReservedInstancesModification {
109410	s.ClientToken = &v
109411	return s
109412}
109413
109414// SetCreateDate sets the CreateDate field's value.
109415func (s *ReservedInstancesModification) SetCreateDate(v time.Time) *ReservedInstancesModification {
109416	s.CreateDate = &v
109417	return s
109418}
109419
109420// SetEffectiveDate sets the EffectiveDate field's value.
109421func (s *ReservedInstancesModification) SetEffectiveDate(v time.Time) *ReservedInstancesModification {
109422	s.EffectiveDate = &v
109423	return s
109424}
109425
109426// SetModificationResults sets the ModificationResults field's value.
109427func (s *ReservedInstancesModification) SetModificationResults(v []*ReservedInstancesModificationResult) *ReservedInstancesModification {
109428	s.ModificationResults = v
109429	return s
109430}
109431
109432// SetReservedInstancesIds sets the ReservedInstancesIds field's value.
109433func (s *ReservedInstancesModification) SetReservedInstancesIds(v []*ReservedInstancesId) *ReservedInstancesModification {
109434	s.ReservedInstancesIds = v
109435	return s
109436}
109437
109438// SetReservedInstancesModificationId sets the ReservedInstancesModificationId field's value.
109439func (s *ReservedInstancesModification) SetReservedInstancesModificationId(v string) *ReservedInstancesModification {
109440	s.ReservedInstancesModificationId = &v
109441	return s
109442}
109443
109444// SetStatus sets the Status field's value.
109445func (s *ReservedInstancesModification) SetStatus(v string) *ReservedInstancesModification {
109446	s.Status = &v
109447	return s
109448}
109449
109450// SetStatusMessage sets the StatusMessage field's value.
109451func (s *ReservedInstancesModification) SetStatusMessage(v string) *ReservedInstancesModification {
109452	s.StatusMessage = &v
109453	return s
109454}
109455
109456// SetUpdateDate sets the UpdateDate field's value.
109457func (s *ReservedInstancesModification) SetUpdateDate(v time.Time) *ReservedInstancesModification {
109458	s.UpdateDate = &v
109459	return s
109460}
109461
109462// Describes the modification request/s.
109463type ReservedInstancesModificationResult struct {
109464	_ struct{} `type:"structure"`
109465
109466	// The ID for the Reserved Instances that were created as part of the modification
109467	// request. This field is only available when the modification is fulfilled.
109468	ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
109469
109470	// The target Reserved Instances configurations supplied as part of the modification
109471	// request.
109472	TargetConfiguration *ReservedInstancesConfiguration `locationName:"targetConfiguration" type:"structure"`
109473}
109474
109475// String returns the string representation
109476func (s ReservedInstancesModificationResult) String() string {
109477	return awsutil.Prettify(s)
109478}
109479
109480// GoString returns the string representation
109481func (s ReservedInstancesModificationResult) GoString() string {
109482	return s.String()
109483}
109484
109485// SetReservedInstancesId sets the ReservedInstancesId field's value.
109486func (s *ReservedInstancesModificationResult) SetReservedInstancesId(v string) *ReservedInstancesModificationResult {
109487	s.ReservedInstancesId = &v
109488	return s
109489}
109490
109491// SetTargetConfiguration sets the TargetConfiguration field's value.
109492func (s *ReservedInstancesModificationResult) SetTargetConfiguration(v *ReservedInstancesConfiguration) *ReservedInstancesModificationResult {
109493	s.TargetConfiguration = v
109494	return s
109495}
109496
109497// Describes a Reserved Instance offering.
109498type ReservedInstancesOffering struct {
109499	_ struct{} `type:"structure"`
109500
109501	// The Availability Zone in which the Reserved Instance can be used.
109502	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
109503
109504	// The currency of the Reserved Instance offering you are purchasing. It's specified
109505	// using ISO 4217 standard currency codes. At this time, the only supported
109506	// currency is USD.
109507	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
109508
109509	// The duration of the Reserved Instance, in seconds.
109510	Duration *int64 `locationName:"duration" type:"long"`
109511
109512	// The purchase price of the Reserved Instance.
109513	FixedPrice *float64 `locationName:"fixedPrice" type:"float"`
109514
109515	// The tenancy of the instance.
109516	InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
109517
109518	// The instance type on which the Reserved Instance can be used.
109519	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
109520
109521	// Indicates whether the offering is available through the Reserved Instance
109522	// Marketplace (resale) or AWS. If it's a Reserved Instance Marketplace offering,
109523	// this is true.
109524	Marketplace *bool `locationName:"marketplace" type:"boolean"`
109525
109526	// If convertible it can be exchanged for Reserved Instances of the same or
109527	// higher monetary value, with different configurations. If standard, it is
109528	// not possible to perform an exchange.
109529	OfferingClass *string `locationName:"offeringClass" type:"string" enum:"OfferingClassType"`
109530
109531	// The Reserved Instance offering type.
109532	OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
109533
109534	// The pricing details of the Reserved Instance offering.
109535	PricingDetails []*PricingDetail `locationName:"pricingDetailsSet" locationNameList:"item" type:"list"`
109536
109537	// The Reserved Instance product platform description.
109538	ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
109539
109540	// The recurring charge tag assigned to the resource.
109541	RecurringCharges []*RecurringCharge `locationName:"recurringCharges" locationNameList:"item" type:"list"`
109542
109543	// The ID of the Reserved Instance offering. This is the offering ID used in
109544	// GetReservedInstancesExchangeQuote to confirm that an exchange can be made.
109545	ReservedInstancesOfferingId *string `locationName:"reservedInstancesOfferingId" type:"string"`
109546
109547	// Whether the Reserved Instance is applied to instances in a Region or an Availability
109548	// Zone.
109549	Scope *string `locationName:"scope" type:"string" enum:"Scope"`
109550
109551	// The usage price of the Reserved Instance, per hour.
109552	UsagePrice *float64 `locationName:"usagePrice" type:"float"`
109553}
109554
109555// String returns the string representation
109556func (s ReservedInstancesOffering) String() string {
109557	return awsutil.Prettify(s)
109558}
109559
109560// GoString returns the string representation
109561func (s ReservedInstancesOffering) GoString() string {
109562	return s.String()
109563}
109564
109565// SetAvailabilityZone sets the AvailabilityZone field's value.
109566func (s *ReservedInstancesOffering) SetAvailabilityZone(v string) *ReservedInstancesOffering {
109567	s.AvailabilityZone = &v
109568	return s
109569}
109570
109571// SetCurrencyCode sets the CurrencyCode field's value.
109572func (s *ReservedInstancesOffering) SetCurrencyCode(v string) *ReservedInstancesOffering {
109573	s.CurrencyCode = &v
109574	return s
109575}
109576
109577// SetDuration sets the Duration field's value.
109578func (s *ReservedInstancesOffering) SetDuration(v int64) *ReservedInstancesOffering {
109579	s.Duration = &v
109580	return s
109581}
109582
109583// SetFixedPrice sets the FixedPrice field's value.
109584func (s *ReservedInstancesOffering) SetFixedPrice(v float64) *ReservedInstancesOffering {
109585	s.FixedPrice = &v
109586	return s
109587}
109588
109589// SetInstanceTenancy sets the InstanceTenancy field's value.
109590func (s *ReservedInstancesOffering) SetInstanceTenancy(v string) *ReservedInstancesOffering {
109591	s.InstanceTenancy = &v
109592	return s
109593}
109594
109595// SetInstanceType sets the InstanceType field's value.
109596func (s *ReservedInstancesOffering) SetInstanceType(v string) *ReservedInstancesOffering {
109597	s.InstanceType = &v
109598	return s
109599}
109600
109601// SetMarketplace sets the Marketplace field's value.
109602func (s *ReservedInstancesOffering) SetMarketplace(v bool) *ReservedInstancesOffering {
109603	s.Marketplace = &v
109604	return s
109605}
109606
109607// SetOfferingClass sets the OfferingClass field's value.
109608func (s *ReservedInstancesOffering) SetOfferingClass(v string) *ReservedInstancesOffering {
109609	s.OfferingClass = &v
109610	return s
109611}
109612
109613// SetOfferingType sets the OfferingType field's value.
109614func (s *ReservedInstancesOffering) SetOfferingType(v string) *ReservedInstancesOffering {
109615	s.OfferingType = &v
109616	return s
109617}
109618
109619// SetPricingDetails sets the PricingDetails field's value.
109620func (s *ReservedInstancesOffering) SetPricingDetails(v []*PricingDetail) *ReservedInstancesOffering {
109621	s.PricingDetails = v
109622	return s
109623}
109624
109625// SetProductDescription sets the ProductDescription field's value.
109626func (s *ReservedInstancesOffering) SetProductDescription(v string) *ReservedInstancesOffering {
109627	s.ProductDescription = &v
109628	return s
109629}
109630
109631// SetRecurringCharges sets the RecurringCharges field's value.
109632func (s *ReservedInstancesOffering) SetRecurringCharges(v []*RecurringCharge) *ReservedInstancesOffering {
109633	s.RecurringCharges = v
109634	return s
109635}
109636
109637// SetReservedInstancesOfferingId sets the ReservedInstancesOfferingId field's value.
109638func (s *ReservedInstancesOffering) SetReservedInstancesOfferingId(v string) *ReservedInstancesOffering {
109639	s.ReservedInstancesOfferingId = &v
109640	return s
109641}
109642
109643// SetScope sets the Scope field's value.
109644func (s *ReservedInstancesOffering) SetScope(v string) *ReservedInstancesOffering {
109645	s.Scope = &v
109646	return s
109647}
109648
109649// SetUsagePrice sets the UsagePrice field's value.
109650func (s *ReservedInstancesOffering) SetUsagePrice(v float64) *ReservedInstancesOffering {
109651	s.UsagePrice = &v
109652	return s
109653}
109654
109655type ResetAddressAttributeInput struct {
109656	_ struct{} `type:"structure"`
109657
109658	// [EC2-VPC] The allocation ID.
109659	//
109660	// AllocationId is a required field
109661	AllocationId *string `type:"string" required:"true"`
109662
109663	// The attribute of the IP address.
109664	//
109665	// Attribute is a required field
109666	Attribute *string `type:"string" required:"true" enum:"AddressAttributeName"`
109667
109668	// Checks whether you have the required permissions for the action, without
109669	// actually making the request, and provides an error response. If you have
109670	// the required permissions, the error response is DryRunOperation. Otherwise,
109671	// it is UnauthorizedOperation.
109672	DryRun *bool `type:"boolean"`
109673}
109674
109675// String returns the string representation
109676func (s ResetAddressAttributeInput) String() string {
109677	return awsutil.Prettify(s)
109678}
109679
109680// GoString returns the string representation
109681func (s ResetAddressAttributeInput) GoString() string {
109682	return s.String()
109683}
109684
109685// Validate inspects the fields of the type to determine if they are valid.
109686func (s *ResetAddressAttributeInput) Validate() error {
109687	invalidParams := request.ErrInvalidParams{Context: "ResetAddressAttributeInput"}
109688	if s.AllocationId == nil {
109689		invalidParams.Add(request.NewErrParamRequired("AllocationId"))
109690	}
109691	if s.Attribute == nil {
109692		invalidParams.Add(request.NewErrParamRequired("Attribute"))
109693	}
109694
109695	if invalidParams.Len() > 0 {
109696		return invalidParams
109697	}
109698	return nil
109699}
109700
109701// SetAllocationId sets the AllocationId field's value.
109702func (s *ResetAddressAttributeInput) SetAllocationId(v string) *ResetAddressAttributeInput {
109703	s.AllocationId = &v
109704	return s
109705}
109706
109707// SetAttribute sets the Attribute field's value.
109708func (s *ResetAddressAttributeInput) SetAttribute(v string) *ResetAddressAttributeInput {
109709	s.Attribute = &v
109710	return s
109711}
109712
109713// SetDryRun sets the DryRun field's value.
109714func (s *ResetAddressAttributeInput) SetDryRun(v bool) *ResetAddressAttributeInput {
109715	s.DryRun = &v
109716	return s
109717}
109718
109719type ResetAddressAttributeOutput struct {
109720	_ struct{} `type:"structure"`
109721
109722	// Information about the IP address.
109723	Address *AddressAttribute `locationName:"address" type:"structure"`
109724}
109725
109726// String returns the string representation
109727func (s ResetAddressAttributeOutput) String() string {
109728	return awsutil.Prettify(s)
109729}
109730
109731// GoString returns the string representation
109732func (s ResetAddressAttributeOutput) GoString() string {
109733	return s.String()
109734}
109735
109736// SetAddress sets the Address field's value.
109737func (s *ResetAddressAttributeOutput) SetAddress(v *AddressAttribute) *ResetAddressAttributeOutput {
109738	s.Address = v
109739	return s
109740}
109741
109742type ResetEbsDefaultKmsKeyIdInput struct {
109743	_ struct{} `type:"structure"`
109744
109745	// Checks whether you have the required permissions for the action, without
109746	// actually making the request, and provides an error response. If you have
109747	// the required permissions, the error response is DryRunOperation. Otherwise,
109748	// it is UnauthorizedOperation.
109749	DryRun *bool `type:"boolean"`
109750}
109751
109752// String returns the string representation
109753func (s ResetEbsDefaultKmsKeyIdInput) String() string {
109754	return awsutil.Prettify(s)
109755}
109756
109757// GoString returns the string representation
109758func (s ResetEbsDefaultKmsKeyIdInput) GoString() string {
109759	return s.String()
109760}
109761
109762// SetDryRun sets the DryRun field's value.
109763func (s *ResetEbsDefaultKmsKeyIdInput) SetDryRun(v bool) *ResetEbsDefaultKmsKeyIdInput {
109764	s.DryRun = &v
109765	return s
109766}
109767
109768type ResetEbsDefaultKmsKeyIdOutput struct {
109769	_ struct{} `type:"structure"`
109770
109771	// The Amazon Resource Name (ARN) of the default CMK for EBS encryption by default.
109772	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
109773}
109774
109775// String returns the string representation
109776func (s ResetEbsDefaultKmsKeyIdOutput) String() string {
109777	return awsutil.Prettify(s)
109778}
109779
109780// GoString returns the string representation
109781func (s ResetEbsDefaultKmsKeyIdOutput) GoString() string {
109782	return s.String()
109783}
109784
109785// SetKmsKeyId sets the KmsKeyId field's value.
109786func (s *ResetEbsDefaultKmsKeyIdOutput) SetKmsKeyId(v string) *ResetEbsDefaultKmsKeyIdOutput {
109787	s.KmsKeyId = &v
109788	return s
109789}
109790
109791type ResetFpgaImageAttributeInput struct {
109792	_ struct{} `type:"structure"`
109793
109794	// The attribute.
109795	Attribute *string `type:"string" enum:"ResetFpgaImageAttributeName"`
109796
109797	// Checks whether you have the required permissions for the action, without
109798	// actually making the request, and provides an error response. If you have
109799	// the required permissions, the error response is DryRunOperation. Otherwise,
109800	// it is UnauthorizedOperation.
109801	DryRun *bool `type:"boolean"`
109802
109803	// The ID of the AFI.
109804	//
109805	// FpgaImageId is a required field
109806	FpgaImageId *string `type:"string" required:"true"`
109807}
109808
109809// String returns the string representation
109810func (s ResetFpgaImageAttributeInput) String() string {
109811	return awsutil.Prettify(s)
109812}
109813
109814// GoString returns the string representation
109815func (s ResetFpgaImageAttributeInput) GoString() string {
109816	return s.String()
109817}
109818
109819// Validate inspects the fields of the type to determine if they are valid.
109820func (s *ResetFpgaImageAttributeInput) Validate() error {
109821	invalidParams := request.ErrInvalidParams{Context: "ResetFpgaImageAttributeInput"}
109822	if s.FpgaImageId == nil {
109823		invalidParams.Add(request.NewErrParamRequired("FpgaImageId"))
109824	}
109825
109826	if invalidParams.Len() > 0 {
109827		return invalidParams
109828	}
109829	return nil
109830}
109831
109832// SetAttribute sets the Attribute field's value.
109833func (s *ResetFpgaImageAttributeInput) SetAttribute(v string) *ResetFpgaImageAttributeInput {
109834	s.Attribute = &v
109835	return s
109836}
109837
109838// SetDryRun sets the DryRun field's value.
109839func (s *ResetFpgaImageAttributeInput) SetDryRun(v bool) *ResetFpgaImageAttributeInput {
109840	s.DryRun = &v
109841	return s
109842}
109843
109844// SetFpgaImageId sets the FpgaImageId field's value.
109845func (s *ResetFpgaImageAttributeInput) SetFpgaImageId(v string) *ResetFpgaImageAttributeInput {
109846	s.FpgaImageId = &v
109847	return s
109848}
109849
109850type ResetFpgaImageAttributeOutput struct {
109851	_ struct{} `type:"structure"`
109852
109853	// Is true if the request succeeds, and an error otherwise.
109854	Return *bool `locationName:"return" type:"boolean"`
109855}
109856
109857// String returns the string representation
109858func (s ResetFpgaImageAttributeOutput) String() string {
109859	return awsutil.Prettify(s)
109860}
109861
109862// GoString returns the string representation
109863func (s ResetFpgaImageAttributeOutput) GoString() string {
109864	return s.String()
109865}
109866
109867// SetReturn sets the Return field's value.
109868func (s *ResetFpgaImageAttributeOutput) SetReturn(v bool) *ResetFpgaImageAttributeOutput {
109869	s.Return = &v
109870	return s
109871}
109872
109873// Contains the parameters for ResetImageAttribute.
109874type ResetImageAttributeInput struct {
109875	_ struct{} `type:"structure"`
109876
109877	// The attribute to reset (currently you can only reset the launch permission
109878	// attribute).
109879	//
109880	// Attribute is a required field
109881	Attribute *string `type:"string" required:"true" enum:"ResetImageAttributeName"`
109882
109883	// Checks whether you have the required permissions for the action, without
109884	// actually making the request, and provides an error response. If you have
109885	// the required permissions, the error response is DryRunOperation. Otherwise,
109886	// it is UnauthorizedOperation.
109887	DryRun *bool `locationName:"dryRun" type:"boolean"`
109888
109889	// The ID of the AMI.
109890	//
109891	// ImageId is a required field
109892	ImageId *string `type:"string" required:"true"`
109893}
109894
109895// String returns the string representation
109896func (s ResetImageAttributeInput) String() string {
109897	return awsutil.Prettify(s)
109898}
109899
109900// GoString returns the string representation
109901func (s ResetImageAttributeInput) GoString() string {
109902	return s.String()
109903}
109904
109905// Validate inspects the fields of the type to determine if they are valid.
109906func (s *ResetImageAttributeInput) Validate() error {
109907	invalidParams := request.ErrInvalidParams{Context: "ResetImageAttributeInput"}
109908	if s.Attribute == nil {
109909		invalidParams.Add(request.NewErrParamRequired("Attribute"))
109910	}
109911	if s.ImageId == nil {
109912		invalidParams.Add(request.NewErrParamRequired("ImageId"))
109913	}
109914
109915	if invalidParams.Len() > 0 {
109916		return invalidParams
109917	}
109918	return nil
109919}
109920
109921// SetAttribute sets the Attribute field's value.
109922func (s *ResetImageAttributeInput) SetAttribute(v string) *ResetImageAttributeInput {
109923	s.Attribute = &v
109924	return s
109925}
109926
109927// SetDryRun sets the DryRun field's value.
109928func (s *ResetImageAttributeInput) SetDryRun(v bool) *ResetImageAttributeInput {
109929	s.DryRun = &v
109930	return s
109931}
109932
109933// SetImageId sets the ImageId field's value.
109934func (s *ResetImageAttributeInput) SetImageId(v string) *ResetImageAttributeInput {
109935	s.ImageId = &v
109936	return s
109937}
109938
109939type ResetImageAttributeOutput struct {
109940	_ struct{} `type:"structure"`
109941}
109942
109943// String returns the string representation
109944func (s ResetImageAttributeOutput) String() string {
109945	return awsutil.Prettify(s)
109946}
109947
109948// GoString returns the string representation
109949func (s ResetImageAttributeOutput) GoString() string {
109950	return s.String()
109951}
109952
109953type ResetInstanceAttributeInput struct {
109954	_ struct{} `type:"structure"`
109955
109956	// The attribute to reset.
109957	//
109958	// You can only reset the following attributes: kernel | ramdisk | sourceDestCheck.
109959	// To change an instance attribute, use ModifyInstanceAttribute.
109960	//
109961	// Attribute is a required field
109962	Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"InstanceAttributeName"`
109963
109964	// Checks whether you have the required permissions for the action, without
109965	// actually making the request, and provides an error response. If you have
109966	// the required permissions, the error response is DryRunOperation. Otherwise,
109967	// it is UnauthorizedOperation.
109968	DryRun *bool `locationName:"dryRun" type:"boolean"`
109969
109970	// The ID of the instance.
109971	//
109972	// InstanceId is a required field
109973	InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
109974}
109975
109976// String returns the string representation
109977func (s ResetInstanceAttributeInput) String() string {
109978	return awsutil.Prettify(s)
109979}
109980
109981// GoString returns the string representation
109982func (s ResetInstanceAttributeInput) GoString() string {
109983	return s.String()
109984}
109985
109986// Validate inspects the fields of the type to determine if they are valid.
109987func (s *ResetInstanceAttributeInput) Validate() error {
109988	invalidParams := request.ErrInvalidParams{Context: "ResetInstanceAttributeInput"}
109989	if s.Attribute == nil {
109990		invalidParams.Add(request.NewErrParamRequired("Attribute"))
109991	}
109992	if s.InstanceId == nil {
109993		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
109994	}
109995
109996	if invalidParams.Len() > 0 {
109997		return invalidParams
109998	}
109999	return nil
110000}
110001
110002// SetAttribute sets the Attribute field's value.
110003func (s *ResetInstanceAttributeInput) SetAttribute(v string) *ResetInstanceAttributeInput {
110004	s.Attribute = &v
110005	return s
110006}
110007
110008// SetDryRun sets the DryRun field's value.
110009func (s *ResetInstanceAttributeInput) SetDryRun(v bool) *ResetInstanceAttributeInput {
110010	s.DryRun = &v
110011	return s
110012}
110013
110014// SetInstanceId sets the InstanceId field's value.
110015func (s *ResetInstanceAttributeInput) SetInstanceId(v string) *ResetInstanceAttributeInput {
110016	s.InstanceId = &v
110017	return s
110018}
110019
110020type ResetInstanceAttributeOutput struct {
110021	_ struct{} `type:"structure"`
110022}
110023
110024// String returns the string representation
110025func (s ResetInstanceAttributeOutput) String() string {
110026	return awsutil.Prettify(s)
110027}
110028
110029// GoString returns the string representation
110030func (s ResetInstanceAttributeOutput) GoString() string {
110031	return s.String()
110032}
110033
110034// Contains the parameters for ResetNetworkInterfaceAttribute.
110035type ResetNetworkInterfaceAttributeInput struct {
110036	_ struct{} `type:"structure"`
110037
110038	// Checks whether you have the required permissions for the action, without
110039	// actually making the request, and provides an error response. If you have
110040	// the required permissions, the error response is DryRunOperation. Otherwise,
110041	// it is UnauthorizedOperation.
110042	DryRun *bool `locationName:"dryRun" type:"boolean"`
110043
110044	// The ID of the network interface.
110045	//
110046	// NetworkInterfaceId is a required field
110047	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
110048
110049	// The source/destination checking attribute. Resets the value to true.
110050	SourceDestCheck *string `locationName:"sourceDestCheck" type:"string"`
110051}
110052
110053// String returns the string representation
110054func (s ResetNetworkInterfaceAttributeInput) String() string {
110055	return awsutil.Prettify(s)
110056}
110057
110058// GoString returns the string representation
110059func (s ResetNetworkInterfaceAttributeInput) GoString() string {
110060	return s.String()
110061}
110062
110063// Validate inspects the fields of the type to determine if they are valid.
110064func (s *ResetNetworkInterfaceAttributeInput) Validate() error {
110065	invalidParams := request.ErrInvalidParams{Context: "ResetNetworkInterfaceAttributeInput"}
110066	if s.NetworkInterfaceId == nil {
110067		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
110068	}
110069
110070	if invalidParams.Len() > 0 {
110071		return invalidParams
110072	}
110073	return nil
110074}
110075
110076// SetDryRun sets the DryRun field's value.
110077func (s *ResetNetworkInterfaceAttributeInput) SetDryRun(v bool) *ResetNetworkInterfaceAttributeInput {
110078	s.DryRun = &v
110079	return s
110080}
110081
110082// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
110083func (s *ResetNetworkInterfaceAttributeInput) SetNetworkInterfaceId(v string) *ResetNetworkInterfaceAttributeInput {
110084	s.NetworkInterfaceId = &v
110085	return s
110086}
110087
110088// SetSourceDestCheck sets the SourceDestCheck field's value.
110089func (s *ResetNetworkInterfaceAttributeInput) SetSourceDestCheck(v string) *ResetNetworkInterfaceAttributeInput {
110090	s.SourceDestCheck = &v
110091	return s
110092}
110093
110094type ResetNetworkInterfaceAttributeOutput struct {
110095	_ struct{} `type:"structure"`
110096}
110097
110098// String returns the string representation
110099func (s ResetNetworkInterfaceAttributeOutput) String() string {
110100	return awsutil.Prettify(s)
110101}
110102
110103// GoString returns the string representation
110104func (s ResetNetworkInterfaceAttributeOutput) GoString() string {
110105	return s.String()
110106}
110107
110108type ResetSnapshotAttributeInput struct {
110109	_ struct{} `type:"structure"`
110110
110111	// The attribute to reset. Currently, only the attribute for permission to create
110112	// volumes can be reset.
110113	//
110114	// Attribute is a required field
110115	Attribute *string `type:"string" required:"true" enum:"SnapshotAttributeName"`
110116
110117	// Checks whether you have the required permissions for the action, without
110118	// actually making the request, and provides an error response. If you have
110119	// the required permissions, the error response is DryRunOperation. Otherwise,
110120	// it is UnauthorizedOperation.
110121	DryRun *bool `locationName:"dryRun" type:"boolean"`
110122
110123	// The ID of the snapshot.
110124	//
110125	// SnapshotId is a required field
110126	SnapshotId *string `type:"string" required:"true"`
110127}
110128
110129// String returns the string representation
110130func (s ResetSnapshotAttributeInput) String() string {
110131	return awsutil.Prettify(s)
110132}
110133
110134// GoString returns the string representation
110135func (s ResetSnapshotAttributeInput) GoString() string {
110136	return s.String()
110137}
110138
110139// Validate inspects the fields of the type to determine if they are valid.
110140func (s *ResetSnapshotAttributeInput) Validate() error {
110141	invalidParams := request.ErrInvalidParams{Context: "ResetSnapshotAttributeInput"}
110142	if s.Attribute == nil {
110143		invalidParams.Add(request.NewErrParamRequired("Attribute"))
110144	}
110145	if s.SnapshotId == nil {
110146		invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
110147	}
110148
110149	if invalidParams.Len() > 0 {
110150		return invalidParams
110151	}
110152	return nil
110153}
110154
110155// SetAttribute sets the Attribute field's value.
110156func (s *ResetSnapshotAttributeInput) SetAttribute(v string) *ResetSnapshotAttributeInput {
110157	s.Attribute = &v
110158	return s
110159}
110160
110161// SetDryRun sets the DryRun field's value.
110162func (s *ResetSnapshotAttributeInput) SetDryRun(v bool) *ResetSnapshotAttributeInput {
110163	s.DryRun = &v
110164	return s
110165}
110166
110167// SetSnapshotId sets the SnapshotId field's value.
110168func (s *ResetSnapshotAttributeInput) SetSnapshotId(v string) *ResetSnapshotAttributeInput {
110169	s.SnapshotId = &v
110170	return s
110171}
110172
110173type ResetSnapshotAttributeOutput struct {
110174	_ struct{} `type:"structure"`
110175}
110176
110177// String returns the string representation
110178func (s ResetSnapshotAttributeOutput) String() string {
110179	return awsutil.Prettify(s)
110180}
110181
110182// GoString returns the string representation
110183func (s ResetSnapshotAttributeOutput) GoString() string {
110184	return s.String()
110185}
110186
110187// Describes the error that's returned when you cannot delete a launch template
110188// version.
110189type ResponseError struct {
110190	_ struct{} `type:"structure"`
110191
110192	// The error code.
110193	Code *string `locationName:"code" type:"string" enum:"LaunchTemplateErrorCode"`
110194
110195	// The error message, if applicable.
110196	Message *string `locationName:"message" type:"string"`
110197}
110198
110199// String returns the string representation
110200func (s ResponseError) String() string {
110201	return awsutil.Prettify(s)
110202}
110203
110204// GoString returns the string representation
110205func (s ResponseError) GoString() string {
110206	return s.String()
110207}
110208
110209// SetCode sets the Code field's value.
110210func (s *ResponseError) SetCode(v string) *ResponseError {
110211	s.Code = &v
110212	return s
110213}
110214
110215// SetMessage sets the Message field's value.
110216func (s *ResponseError) SetMessage(v string) *ResponseError {
110217	s.Message = &v
110218	return s
110219}
110220
110221// The information for a launch template.
110222type ResponseLaunchTemplateData struct {
110223	_ struct{} `type:"structure"`
110224
110225	// The block device mappings.
110226	BlockDeviceMappings []*LaunchTemplateBlockDeviceMapping `locationName:"blockDeviceMappingSet" locationNameList:"item" type:"list"`
110227
110228	// Information about the Capacity Reservation targeting option.
110229	CapacityReservationSpecification *LaunchTemplateCapacityReservationSpecificationResponse `locationName:"capacityReservationSpecification" type:"structure"`
110230
110231	// The CPU options for the instance. For more information, see Optimizing CPU
110232	// Options (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html)
110233	// in the Amazon Elastic Compute Cloud User Guide.
110234	CpuOptions *LaunchTemplateCpuOptions `locationName:"cpuOptions" type:"structure"`
110235
110236	// The credit option for CPU usage of the instance.
110237	CreditSpecification *CreditSpecification `locationName:"creditSpecification" type:"structure"`
110238
110239	// If set to true, indicates that the instance cannot be terminated using the
110240	// Amazon EC2 console, command line tool, or API.
110241	DisableApiTermination *bool `locationName:"disableApiTermination" type:"boolean"`
110242
110243	// Indicates whether the instance is optimized for Amazon EBS I/O.
110244	EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
110245
110246	// The elastic GPU specification.
110247	ElasticGpuSpecifications []*ElasticGpuSpecificationResponse `locationName:"elasticGpuSpecificationSet" locationNameList:"item" type:"list"`
110248
110249	// The elastic inference accelerator for the instance.
110250	ElasticInferenceAccelerators []*LaunchTemplateElasticInferenceAcceleratorResponse `locationName:"elasticInferenceAcceleratorSet" locationNameList:"item" type:"list"`
110251
110252	// Indicates whether the instance is enabled for AWS Nitro Enclaves.
110253	EnclaveOptions *LaunchTemplateEnclaveOptions `locationName:"enclaveOptions" type:"structure"`
110254
110255	// Indicates whether an instance is configured for hibernation. For more information,
110256	// see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
110257	// in the Amazon Elastic Compute Cloud User Guide.
110258	HibernationOptions *LaunchTemplateHibernationOptions `locationName:"hibernationOptions" type:"structure"`
110259
110260	// The IAM instance profile.
110261	IamInstanceProfile *LaunchTemplateIamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
110262
110263	// The ID of the AMI that was used to launch the instance.
110264	ImageId *string `locationName:"imageId" type:"string"`
110265
110266	// Indicates whether an instance stops or terminates when you initiate shutdown
110267	// from the instance (using the operating system command for system shutdown).
110268	InstanceInitiatedShutdownBehavior *string `locationName:"instanceInitiatedShutdownBehavior" type:"string" enum:"ShutdownBehavior"`
110269
110270	// The market (purchasing) option for the instances.
110271	InstanceMarketOptions *LaunchTemplateInstanceMarketOptions `locationName:"instanceMarketOptions" type:"structure"`
110272
110273	// The instance type.
110274	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
110275
110276	// The ID of the kernel, if applicable.
110277	KernelId *string `locationName:"kernelId" type:"string"`
110278
110279	// The name of the key pair.
110280	KeyName *string `locationName:"keyName" type:"string"`
110281
110282	// The license configurations.
110283	LicenseSpecifications []*LaunchTemplateLicenseConfiguration `locationName:"licenseSet" locationNameList:"item" type:"list"`
110284
110285	// The metadata options for the instance. For more information, see Instance
110286	// Metadata and User Data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)
110287	// in the Amazon Elastic Compute Cloud User Guide.
110288	MetadataOptions *LaunchTemplateInstanceMetadataOptions `locationName:"metadataOptions" type:"structure"`
110289
110290	// The monitoring for the instance.
110291	Monitoring *LaunchTemplatesMonitoring `locationName:"monitoring" type:"structure"`
110292
110293	// The network interfaces.
110294	NetworkInterfaces []*LaunchTemplateInstanceNetworkInterfaceSpecification `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
110295
110296	// The placement of the instance.
110297	Placement *LaunchTemplatePlacement `locationName:"placement" type:"structure"`
110298
110299	// The ID of the RAM disk, if applicable.
110300	RamDiskId *string `locationName:"ramDiskId" type:"string"`
110301
110302	// The security group IDs.
110303	SecurityGroupIds []*string `locationName:"securityGroupIdSet" locationNameList:"item" type:"list"`
110304
110305	// The security group names.
110306	SecurityGroups []*string `locationName:"securityGroupSet" locationNameList:"item" type:"list"`
110307
110308	// The tags.
110309	TagSpecifications []*LaunchTemplateTagSpecification `locationName:"tagSpecificationSet" locationNameList:"item" type:"list"`
110310
110311	// The user data for the instance.
110312	UserData *string `locationName:"userData" type:"string"`
110313}
110314
110315// String returns the string representation
110316func (s ResponseLaunchTemplateData) String() string {
110317	return awsutil.Prettify(s)
110318}
110319
110320// GoString returns the string representation
110321func (s ResponseLaunchTemplateData) GoString() string {
110322	return s.String()
110323}
110324
110325// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
110326func (s *ResponseLaunchTemplateData) SetBlockDeviceMappings(v []*LaunchTemplateBlockDeviceMapping) *ResponseLaunchTemplateData {
110327	s.BlockDeviceMappings = v
110328	return s
110329}
110330
110331// SetCapacityReservationSpecification sets the CapacityReservationSpecification field's value.
110332func (s *ResponseLaunchTemplateData) SetCapacityReservationSpecification(v *LaunchTemplateCapacityReservationSpecificationResponse) *ResponseLaunchTemplateData {
110333	s.CapacityReservationSpecification = v
110334	return s
110335}
110336
110337// SetCpuOptions sets the CpuOptions field's value.
110338func (s *ResponseLaunchTemplateData) SetCpuOptions(v *LaunchTemplateCpuOptions) *ResponseLaunchTemplateData {
110339	s.CpuOptions = v
110340	return s
110341}
110342
110343// SetCreditSpecification sets the CreditSpecification field's value.
110344func (s *ResponseLaunchTemplateData) SetCreditSpecification(v *CreditSpecification) *ResponseLaunchTemplateData {
110345	s.CreditSpecification = v
110346	return s
110347}
110348
110349// SetDisableApiTermination sets the DisableApiTermination field's value.
110350func (s *ResponseLaunchTemplateData) SetDisableApiTermination(v bool) *ResponseLaunchTemplateData {
110351	s.DisableApiTermination = &v
110352	return s
110353}
110354
110355// SetEbsOptimized sets the EbsOptimized field's value.
110356func (s *ResponseLaunchTemplateData) SetEbsOptimized(v bool) *ResponseLaunchTemplateData {
110357	s.EbsOptimized = &v
110358	return s
110359}
110360
110361// SetElasticGpuSpecifications sets the ElasticGpuSpecifications field's value.
110362func (s *ResponseLaunchTemplateData) SetElasticGpuSpecifications(v []*ElasticGpuSpecificationResponse) *ResponseLaunchTemplateData {
110363	s.ElasticGpuSpecifications = v
110364	return s
110365}
110366
110367// SetElasticInferenceAccelerators sets the ElasticInferenceAccelerators field's value.
110368func (s *ResponseLaunchTemplateData) SetElasticInferenceAccelerators(v []*LaunchTemplateElasticInferenceAcceleratorResponse) *ResponseLaunchTemplateData {
110369	s.ElasticInferenceAccelerators = v
110370	return s
110371}
110372
110373// SetEnclaveOptions sets the EnclaveOptions field's value.
110374func (s *ResponseLaunchTemplateData) SetEnclaveOptions(v *LaunchTemplateEnclaveOptions) *ResponseLaunchTemplateData {
110375	s.EnclaveOptions = v
110376	return s
110377}
110378
110379// SetHibernationOptions sets the HibernationOptions field's value.
110380func (s *ResponseLaunchTemplateData) SetHibernationOptions(v *LaunchTemplateHibernationOptions) *ResponseLaunchTemplateData {
110381	s.HibernationOptions = v
110382	return s
110383}
110384
110385// SetIamInstanceProfile sets the IamInstanceProfile field's value.
110386func (s *ResponseLaunchTemplateData) SetIamInstanceProfile(v *LaunchTemplateIamInstanceProfileSpecification) *ResponseLaunchTemplateData {
110387	s.IamInstanceProfile = v
110388	return s
110389}
110390
110391// SetImageId sets the ImageId field's value.
110392func (s *ResponseLaunchTemplateData) SetImageId(v string) *ResponseLaunchTemplateData {
110393	s.ImageId = &v
110394	return s
110395}
110396
110397// SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
110398func (s *ResponseLaunchTemplateData) SetInstanceInitiatedShutdownBehavior(v string) *ResponseLaunchTemplateData {
110399	s.InstanceInitiatedShutdownBehavior = &v
110400	return s
110401}
110402
110403// SetInstanceMarketOptions sets the InstanceMarketOptions field's value.
110404func (s *ResponseLaunchTemplateData) SetInstanceMarketOptions(v *LaunchTemplateInstanceMarketOptions) *ResponseLaunchTemplateData {
110405	s.InstanceMarketOptions = v
110406	return s
110407}
110408
110409// SetInstanceType sets the InstanceType field's value.
110410func (s *ResponseLaunchTemplateData) SetInstanceType(v string) *ResponseLaunchTemplateData {
110411	s.InstanceType = &v
110412	return s
110413}
110414
110415// SetKernelId sets the KernelId field's value.
110416func (s *ResponseLaunchTemplateData) SetKernelId(v string) *ResponseLaunchTemplateData {
110417	s.KernelId = &v
110418	return s
110419}
110420
110421// SetKeyName sets the KeyName field's value.
110422func (s *ResponseLaunchTemplateData) SetKeyName(v string) *ResponseLaunchTemplateData {
110423	s.KeyName = &v
110424	return s
110425}
110426
110427// SetLicenseSpecifications sets the LicenseSpecifications field's value.
110428func (s *ResponseLaunchTemplateData) SetLicenseSpecifications(v []*LaunchTemplateLicenseConfiguration) *ResponseLaunchTemplateData {
110429	s.LicenseSpecifications = v
110430	return s
110431}
110432
110433// SetMetadataOptions sets the MetadataOptions field's value.
110434func (s *ResponseLaunchTemplateData) SetMetadataOptions(v *LaunchTemplateInstanceMetadataOptions) *ResponseLaunchTemplateData {
110435	s.MetadataOptions = v
110436	return s
110437}
110438
110439// SetMonitoring sets the Monitoring field's value.
110440func (s *ResponseLaunchTemplateData) SetMonitoring(v *LaunchTemplatesMonitoring) *ResponseLaunchTemplateData {
110441	s.Monitoring = v
110442	return s
110443}
110444
110445// SetNetworkInterfaces sets the NetworkInterfaces field's value.
110446func (s *ResponseLaunchTemplateData) SetNetworkInterfaces(v []*LaunchTemplateInstanceNetworkInterfaceSpecification) *ResponseLaunchTemplateData {
110447	s.NetworkInterfaces = v
110448	return s
110449}
110450
110451// SetPlacement sets the Placement field's value.
110452func (s *ResponseLaunchTemplateData) SetPlacement(v *LaunchTemplatePlacement) *ResponseLaunchTemplateData {
110453	s.Placement = v
110454	return s
110455}
110456
110457// SetRamDiskId sets the RamDiskId field's value.
110458func (s *ResponseLaunchTemplateData) SetRamDiskId(v string) *ResponseLaunchTemplateData {
110459	s.RamDiskId = &v
110460	return s
110461}
110462
110463// SetSecurityGroupIds sets the SecurityGroupIds field's value.
110464func (s *ResponseLaunchTemplateData) SetSecurityGroupIds(v []*string) *ResponseLaunchTemplateData {
110465	s.SecurityGroupIds = v
110466	return s
110467}
110468
110469// SetSecurityGroups sets the SecurityGroups field's value.
110470func (s *ResponseLaunchTemplateData) SetSecurityGroups(v []*string) *ResponseLaunchTemplateData {
110471	s.SecurityGroups = v
110472	return s
110473}
110474
110475// SetTagSpecifications sets the TagSpecifications field's value.
110476func (s *ResponseLaunchTemplateData) SetTagSpecifications(v []*LaunchTemplateTagSpecification) *ResponseLaunchTemplateData {
110477	s.TagSpecifications = v
110478	return s
110479}
110480
110481// SetUserData sets the UserData field's value.
110482func (s *ResponseLaunchTemplateData) SetUserData(v string) *ResponseLaunchTemplateData {
110483	s.UserData = &v
110484	return s
110485}
110486
110487type RestoreAddressToClassicInput struct {
110488	_ struct{} `type:"structure"`
110489
110490	// Checks whether you have the required permissions for the action, without
110491	// actually making the request, and provides an error response. If you have
110492	// the required permissions, the error response is DryRunOperation. Otherwise,
110493	// it is UnauthorizedOperation.
110494	DryRun *bool `locationName:"dryRun" type:"boolean"`
110495
110496	// The Elastic IP address.
110497	//
110498	// PublicIp is a required field
110499	PublicIp *string `locationName:"publicIp" type:"string" required:"true"`
110500}
110501
110502// String returns the string representation
110503func (s RestoreAddressToClassicInput) String() string {
110504	return awsutil.Prettify(s)
110505}
110506
110507// GoString returns the string representation
110508func (s RestoreAddressToClassicInput) GoString() string {
110509	return s.String()
110510}
110511
110512// Validate inspects the fields of the type to determine if they are valid.
110513func (s *RestoreAddressToClassicInput) Validate() error {
110514	invalidParams := request.ErrInvalidParams{Context: "RestoreAddressToClassicInput"}
110515	if s.PublicIp == nil {
110516		invalidParams.Add(request.NewErrParamRequired("PublicIp"))
110517	}
110518
110519	if invalidParams.Len() > 0 {
110520		return invalidParams
110521	}
110522	return nil
110523}
110524
110525// SetDryRun sets the DryRun field's value.
110526func (s *RestoreAddressToClassicInput) SetDryRun(v bool) *RestoreAddressToClassicInput {
110527	s.DryRun = &v
110528	return s
110529}
110530
110531// SetPublicIp sets the PublicIp field's value.
110532func (s *RestoreAddressToClassicInput) SetPublicIp(v string) *RestoreAddressToClassicInput {
110533	s.PublicIp = &v
110534	return s
110535}
110536
110537type RestoreAddressToClassicOutput struct {
110538	_ struct{} `type:"structure"`
110539
110540	// The Elastic IP address.
110541	PublicIp *string `locationName:"publicIp" type:"string"`
110542
110543	// The move status for the IP address.
110544	Status *string `locationName:"status" type:"string" enum:"Status"`
110545}
110546
110547// String returns the string representation
110548func (s RestoreAddressToClassicOutput) String() string {
110549	return awsutil.Prettify(s)
110550}
110551
110552// GoString returns the string representation
110553func (s RestoreAddressToClassicOutput) GoString() string {
110554	return s.String()
110555}
110556
110557// SetPublicIp sets the PublicIp field's value.
110558func (s *RestoreAddressToClassicOutput) SetPublicIp(v string) *RestoreAddressToClassicOutput {
110559	s.PublicIp = &v
110560	return s
110561}
110562
110563// SetStatus sets the Status field's value.
110564func (s *RestoreAddressToClassicOutput) SetStatus(v string) *RestoreAddressToClassicOutput {
110565	s.Status = &v
110566	return s
110567}
110568
110569type RestoreManagedPrefixListVersionInput struct {
110570	_ struct{} `type:"structure"`
110571
110572	// The current version number for the prefix list.
110573	//
110574	// CurrentVersion is a required field
110575	CurrentVersion *int64 `type:"long" required:"true"`
110576
110577	// Checks whether you have the required permissions for the action, without
110578	// actually making the request, and provides an error response. If you have
110579	// the required permissions, the error response is DryRunOperation. Otherwise,
110580	// it is UnauthorizedOperation.
110581	DryRun *bool `type:"boolean"`
110582
110583	// The ID of the prefix list.
110584	//
110585	// PrefixListId is a required field
110586	PrefixListId *string `type:"string" required:"true"`
110587
110588	// The version to restore.
110589	//
110590	// PreviousVersion is a required field
110591	PreviousVersion *int64 `type:"long" required:"true"`
110592}
110593
110594// String returns the string representation
110595func (s RestoreManagedPrefixListVersionInput) String() string {
110596	return awsutil.Prettify(s)
110597}
110598
110599// GoString returns the string representation
110600func (s RestoreManagedPrefixListVersionInput) GoString() string {
110601	return s.String()
110602}
110603
110604// Validate inspects the fields of the type to determine if they are valid.
110605func (s *RestoreManagedPrefixListVersionInput) Validate() error {
110606	invalidParams := request.ErrInvalidParams{Context: "RestoreManagedPrefixListVersionInput"}
110607	if s.CurrentVersion == nil {
110608		invalidParams.Add(request.NewErrParamRequired("CurrentVersion"))
110609	}
110610	if s.PrefixListId == nil {
110611		invalidParams.Add(request.NewErrParamRequired("PrefixListId"))
110612	}
110613	if s.PreviousVersion == nil {
110614		invalidParams.Add(request.NewErrParamRequired("PreviousVersion"))
110615	}
110616
110617	if invalidParams.Len() > 0 {
110618		return invalidParams
110619	}
110620	return nil
110621}
110622
110623// SetCurrentVersion sets the CurrentVersion field's value.
110624func (s *RestoreManagedPrefixListVersionInput) SetCurrentVersion(v int64) *RestoreManagedPrefixListVersionInput {
110625	s.CurrentVersion = &v
110626	return s
110627}
110628
110629// SetDryRun sets the DryRun field's value.
110630func (s *RestoreManagedPrefixListVersionInput) SetDryRun(v bool) *RestoreManagedPrefixListVersionInput {
110631	s.DryRun = &v
110632	return s
110633}
110634
110635// SetPrefixListId sets the PrefixListId field's value.
110636func (s *RestoreManagedPrefixListVersionInput) SetPrefixListId(v string) *RestoreManagedPrefixListVersionInput {
110637	s.PrefixListId = &v
110638	return s
110639}
110640
110641// SetPreviousVersion sets the PreviousVersion field's value.
110642func (s *RestoreManagedPrefixListVersionInput) SetPreviousVersion(v int64) *RestoreManagedPrefixListVersionInput {
110643	s.PreviousVersion = &v
110644	return s
110645}
110646
110647type RestoreManagedPrefixListVersionOutput struct {
110648	_ struct{} `type:"structure"`
110649
110650	// Information about the prefix list.
110651	PrefixList *ManagedPrefixList `locationName:"prefixList" type:"structure"`
110652}
110653
110654// String returns the string representation
110655func (s RestoreManagedPrefixListVersionOutput) String() string {
110656	return awsutil.Prettify(s)
110657}
110658
110659// GoString returns the string representation
110660func (s RestoreManagedPrefixListVersionOutput) GoString() string {
110661	return s.String()
110662}
110663
110664// SetPrefixList sets the PrefixList field's value.
110665func (s *RestoreManagedPrefixListVersionOutput) SetPrefixList(v *ManagedPrefixList) *RestoreManagedPrefixListVersionOutput {
110666	s.PrefixList = v
110667	return s
110668}
110669
110670type RevokeClientVpnIngressInput struct {
110671	_ struct{} `type:"structure"`
110672
110673	// The ID of the Active Directory group for which to revoke access.
110674	AccessGroupId *string `type:"string"`
110675
110676	// The ID of the Client VPN endpoint with which the authorization rule is associated.
110677	//
110678	// ClientVpnEndpointId is a required field
110679	ClientVpnEndpointId *string `type:"string" required:"true"`
110680
110681	// Checks whether you have the required permissions for the action, without
110682	// actually making the request, and provides an error response. If you have
110683	// the required permissions, the error response is DryRunOperation. Otherwise,
110684	// it is UnauthorizedOperation.
110685	DryRun *bool `type:"boolean"`
110686
110687	// Indicates whether access should be revoked for all clients.
110688	RevokeAllGroups *bool `type:"boolean"`
110689
110690	// The IPv4 address range, in CIDR notation, of the network for which access
110691	// is being removed.
110692	//
110693	// TargetNetworkCidr is a required field
110694	TargetNetworkCidr *string `type:"string" required:"true"`
110695}
110696
110697// String returns the string representation
110698func (s RevokeClientVpnIngressInput) String() string {
110699	return awsutil.Prettify(s)
110700}
110701
110702// GoString returns the string representation
110703func (s RevokeClientVpnIngressInput) GoString() string {
110704	return s.String()
110705}
110706
110707// Validate inspects the fields of the type to determine if they are valid.
110708func (s *RevokeClientVpnIngressInput) Validate() error {
110709	invalidParams := request.ErrInvalidParams{Context: "RevokeClientVpnIngressInput"}
110710	if s.ClientVpnEndpointId == nil {
110711		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
110712	}
110713	if s.TargetNetworkCidr == nil {
110714		invalidParams.Add(request.NewErrParamRequired("TargetNetworkCidr"))
110715	}
110716
110717	if invalidParams.Len() > 0 {
110718		return invalidParams
110719	}
110720	return nil
110721}
110722
110723// SetAccessGroupId sets the AccessGroupId field's value.
110724func (s *RevokeClientVpnIngressInput) SetAccessGroupId(v string) *RevokeClientVpnIngressInput {
110725	s.AccessGroupId = &v
110726	return s
110727}
110728
110729// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
110730func (s *RevokeClientVpnIngressInput) SetClientVpnEndpointId(v string) *RevokeClientVpnIngressInput {
110731	s.ClientVpnEndpointId = &v
110732	return s
110733}
110734
110735// SetDryRun sets the DryRun field's value.
110736func (s *RevokeClientVpnIngressInput) SetDryRun(v bool) *RevokeClientVpnIngressInput {
110737	s.DryRun = &v
110738	return s
110739}
110740
110741// SetRevokeAllGroups sets the RevokeAllGroups field's value.
110742func (s *RevokeClientVpnIngressInput) SetRevokeAllGroups(v bool) *RevokeClientVpnIngressInput {
110743	s.RevokeAllGroups = &v
110744	return s
110745}
110746
110747// SetTargetNetworkCidr sets the TargetNetworkCidr field's value.
110748func (s *RevokeClientVpnIngressInput) SetTargetNetworkCidr(v string) *RevokeClientVpnIngressInput {
110749	s.TargetNetworkCidr = &v
110750	return s
110751}
110752
110753type RevokeClientVpnIngressOutput struct {
110754	_ struct{} `type:"structure"`
110755
110756	// The current state of the authorization rule.
110757	Status *ClientVpnAuthorizationRuleStatus `locationName:"status" type:"structure"`
110758}
110759
110760// String returns the string representation
110761func (s RevokeClientVpnIngressOutput) String() string {
110762	return awsutil.Prettify(s)
110763}
110764
110765// GoString returns the string representation
110766func (s RevokeClientVpnIngressOutput) GoString() string {
110767	return s.String()
110768}
110769
110770// SetStatus sets the Status field's value.
110771func (s *RevokeClientVpnIngressOutput) SetStatus(v *ClientVpnAuthorizationRuleStatus) *RevokeClientVpnIngressOutput {
110772	s.Status = v
110773	return s
110774}
110775
110776type RevokeSecurityGroupEgressInput struct {
110777	_ struct{} `type:"structure"`
110778
110779	// Not supported. Use a set of IP permissions to specify the CIDR.
110780	CidrIp *string `locationName:"cidrIp" type:"string"`
110781
110782	// Checks whether you have the required permissions for the action, without
110783	// actually making the request, and provides an error response. If you have
110784	// the required permissions, the error response is DryRunOperation. Otherwise,
110785	// it is UnauthorizedOperation.
110786	DryRun *bool `locationName:"dryRun" type:"boolean"`
110787
110788	// Not supported. Use a set of IP permissions to specify the port.
110789	FromPort *int64 `locationName:"fromPort" type:"integer"`
110790
110791	// The ID of the security group.
110792	//
110793	// GroupId is a required field
110794	GroupId *string `locationName:"groupId" type:"string" required:"true"`
110795
110796	// The sets of IP permissions. You can't specify a destination security group
110797	// and a CIDR IP address range in the same set of permissions.
110798	IpPermissions []*IpPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"`
110799
110800	// Not supported. Use a set of IP permissions to specify the protocol name or
110801	// number.
110802	IpProtocol *string `locationName:"ipProtocol" type:"string"`
110803
110804	// Not supported. Use a set of IP permissions to specify a destination security
110805	// group.
110806	SourceSecurityGroupName *string `locationName:"sourceSecurityGroupName" type:"string"`
110807
110808	// Not supported. Use a set of IP permissions to specify a destination security
110809	// group.
110810	SourceSecurityGroupOwnerId *string `locationName:"sourceSecurityGroupOwnerId" type:"string"`
110811
110812	// Not supported. Use a set of IP permissions to specify the port.
110813	ToPort *int64 `locationName:"toPort" type:"integer"`
110814}
110815
110816// String returns the string representation
110817func (s RevokeSecurityGroupEgressInput) String() string {
110818	return awsutil.Prettify(s)
110819}
110820
110821// GoString returns the string representation
110822func (s RevokeSecurityGroupEgressInput) GoString() string {
110823	return s.String()
110824}
110825
110826// Validate inspects the fields of the type to determine if they are valid.
110827func (s *RevokeSecurityGroupEgressInput) Validate() error {
110828	invalidParams := request.ErrInvalidParams{Context: "RevokeSecurityGroupEgressInput"}
110829	if s.GroupId == nil {
110830		invalidParams.Add(request.NewErrParamRequired("GroupId"))
110831	}
110832
110833	if invalidParams.Len() > 0 {
110834		return invalidParams
110835	}
110836	return nil
110837}
110838
110839// SetCidrIp sets the CidrIp field's value.
110840func (s *RevokeSecurityGroupEgressInput) SetCidrIp(v string) *RevokeSecurityGroupEgressInput {
110841	s.CidrIp = &v
110842	return s
110843}
110844
110845// SetDryRun sets the DryRun field's value.
110846func (s *RevokeSecurityGroupEgressInput) SetDryRun(v bool) *RevokeSecurityGroupEgressInput {
110847	s.DryRun = &v
110848	return s
110849}
110850
110851// SetFromPort sets the FromPort field's value.
110852func (s *RevokeSecurityGroupEgressInput) SetFromPort(v int64) *RevokeSecurityGroupEgressInput {
110853	s.FromPort = &v
110854	return s
110855}
110856
110857// SetGroupId sets the GroupId field's value.
110858func (s *RevokeSecurityGroupEgressInput) SetGroupId(v string) *RevokeSecurityGroupEgressInput {
110859	s.GroupId = &v
110860	return s
110861}
110862
110863// SetIpPermissions sets the IpPermissions field's value.
110864func (s *RevokeSecurityGroupEgressInput) SetIpPermissions(v []*IpPermission) *RevokeSecurityGroupEgressInput {
110865	s.IpPermissions = v
110866	return s
110867}
110868
110869// SetIpProtocol sets the IpProtocol field's value.
110870func (s *RevokeSecurityGroupEgressInput) SetIpProtocol(v string) *RevokeSecurityGroupEgressInput {
110871	s.IpProtocol = &v
110872	return s
110873}
110874
110875// SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
110876func (s *RevokeSecurityGroupEgressInput) SetSourceSecurityGroupName(v string) *RevokeSecurityGroupEgressInput {
110877	s.SourceSecurityGroupName = &v
110878	return s
110879}
110880
110881// SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
110882func (s *RevokeSecurityGroupEgressInput) SetSourceSecurityGroupOwnerId(v string) *RevokeSecurityGroupEgressInput {
110883	s.SourceSecurityGroupOwnerId = &v
110884	return s
110885}
110886
110887// SetToPort sets the ToPort field's value.
110888func (s *RevokeSecurityGroupEgressInput) SetToPort(v int64) *RevokeSecurityGroupEgressInput {
110889	s.ToPort = &v
110890	return s
110891}
110892
110893type RevokeSecurityGroupEgressOutput struct {
110894	_ struct{} `type:"structure"`
110895
110896	// Returns true if the request succeeds; otherwise, returns an error.
110897	Return *bool `locationName:"return" type:"boolean"`
110898
110899	// The outbound rules that were unknown to the service. In some cases, unknownIpPermissionSet
110900	// might be in a different format from the request parameter.
110901	UnknownIpPermissions []*IpPermission `locationName:"unknownIpPermissionSet" locationNameList:"item" type:"list"`
110902}
110903
110904// String returns the string representation
110905func (s RevokeSecurityGroupEgressOutput) String() string {
110906	return awsutil.Prettify(s)
110907}
110908
110909// GoString returns the string representation
110910func (s RevokeSecurityGroupEgressOutput) GoString() string {
110911	return s.String()
110912}
110913
110914// SetReturn sets the Return field's value.
110915func (s *RevokeSecurityGroupEgressOutput) SetReturn(v bool) *RevokeSecurityGroupEgressOutput {
110916	s.Return = &v
110917	return s
110918}
110919
110920// SetUnknownIpPermissions sets the UnknownIpPermissions field's value.
110921func (s *RevokeSecurityGroupEgressOutput) SetUnknownIpPermissions(v []*IpPermission) *RevokeSecurityGroupEgressOutput {
110922	s.UnknownIpPermissions = v
110923	return s
110924}
110925
110926type RevokeSecurityGroupIngressInput struct {
110927	_ struct{} `type:"structure"`
110928
110929	// The CIDR IP address range. You can't specify this parameter when specifying
110930	// a source security group.
110931	CidrIp *string `type:"string"`
110932
110933	// Checks whether you have the required permissions for the action, without
110934	// actually making the request, and provides an error response. If you have
110935	// the required permissions, the error response is DryRunOperation. Otherwise,
110936	// it is UnauthorizedOperation.
110937	DryRun *bool `locationName:"dryRun" type:"boolean"`
110938
110939	// The start of port range for the TCP and UDP protocols, or an ICMP type number.
110940	// For the ICMP type number, use -1 to specify all ICMP types.
110941	FromPort *int64 `type:"integer"`
110942
110943	// The ID of the security group. You must specify either the security group
110944	// ID or the security group name in the request. For security groups in a nondefault
110945	// VPC, you must specify the security group ID.
110946	GroupId *string `type:"string"`
110947
110948	// [EC2-Classic, default VPC] The name of the security group. You must specify
110949	// either the security group ID or the security group name in the request.
110950	GroupName *string `type:"string"`
110951
110952	// The sets of IP permissions. You can't specify a source security group and
110953	// a CIDR IP address range in the same set of permissions.
110954	IpPermissions []*IpPermission `locationNameList:"item" type:"list"`
110955
110956	// The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
110957	// Use -1 to specify all.
110958	IpProtocol *string `type:"string"`
110959
110960	// [EC2-Classic, default VPC] The name of the source security group. You can't
110961	// specify this parameter in combination with the following parameters: the
110962	// CIDR IP address range, the start of the port range, the IP protocol, and
110963	// the end of the port range. For EC2-VPC, the source security group must be
110964	// in the same VPC. To revoke a specific rule for an IP protocol and port range,
110965	// use a set of IP permissions instead.
110966	SourceSecurityGroupName *string `type:"string"`
110967
110968	// [EC2-Classic] The AWS account ID of the source security group, if the source
110969	// security group is in a different account. You can't specify this parameter
110970	// in combination with the following parameters: the CIDR IP address range,
110971	// the IP protocol, the start of the port range, and the end of the port range.
110972	// To revoke a specific rule for an IP protocol and port range, use a set of
110973	// IP permissions instead.
110974	SourceSecurityGroupOwnerId *string `type:"string"`
110975
110976	// The end of port range for the TCP and UDP protocols, or an ICMP code number.
110977	// For the ICMP code number, use -1 to specify all ICMP codes for the ICMP type.
110978	ToPort *int64 `type:"integer"`
110979}
110980
110981// String returns the string representation
110982func (s RevokeSecurityGroupIngressInput) String() string {
110983	return awsutil.Prettify(s)
110984}
110985
110986// GoString returns the string representation
110987func (s RevokeSecurityGroupIngressInput) GoString() string {
110988	return s.String()
110989}
110990
110991// SetCidrIp sets the CidrIp field's value.
110992func (s *RevokeSecurityGroupIngressInput) SetCidrIp(v string) *RevokeSecurityGroupIngressInput {
110993	s.CidrIp = &v
110994	return s
110995}
110996
110997// SetDryRun sets the DryRun field's value.
110998func (s *RevokeSecurityGroupIngressInput) SetDryRun(v bool) *RevokeSecurityGroupIngressInput {
110999	s.DryRun = &v
111000	return s
111001}
111002
111003// SetFromPort sets the FromPort field's value.
111004func (s *RevokeSecurityGroupIngressInput) SetFromPort(v int64) *RevokeSecurityGroupIngressInput {
111005	s.FromPort = &v
111006	return s
111007}
111008
111009// SetGroupId sets the GroupId field's value.
111010func (s *RevokeSecurityGroupIngressInput) SetGroupId(v string) *RevokeSecurityGroupIngressInput {
111011	s.GroupId = &v
111012	return s
111013}
111014
111015// SetGroupName sets the GroupName field's value.
111016func (s *RevokeSecurityGroupIngressInput) SetGroupName(v string) *RevokeSecurityGroupIngressInput {
111017	s.GroupName = &v
111018	return s
111019}
111020
111021// SetIpPermissions sets the IpPermissions field's value.
111022func (s *RevokeSecurityGroupIngressInput) SetIpPermissions(v []*IpPermission) *RevokeSecurityGroupIngressInput {
111023	s.IpPermissions = v
111024	return s
111025}
111026
111027// SetIpProtocol sets the IpProtocol field's value.
111028func (s *RevokeSecurityGroupIngressInput) SetIpProtocol(v string) *RevokeSecurityGroupIngressInput {
111029	s.IpProtocol = &v
111030	return s
111031}
111032
111033// SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
111034func (s *RevokeSecurityGroupIngressInput) SetSourceSecurityGroupName(v string) *RevokeSecurityGroupIngressInput {
111035	s.SourceSecurityGroupName = &v
111036	return s
111037}
111038
111039// SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
111040func (s *RevokeSecurityGroupIngressInput) SetSourceSecurityGroupOwnerId(v string) *RevokeSecurityGroupIngressInput {
111041	s.SourceSecurityGroupOwnerId = &v
111042	return s
111043}
111044
111045// SetToPort sets the ToPort field's value.
111046func (s *RevokeSecurityGroupIngressInput) SetToPort(v int64) *RevokeSecurityGroupIngressInput {
111047	s.ToPort = &v
111048	return s
111049}
111050
111051type RevokeSecurityGroupIngressOutput struct {
111052	_ struct{} `type:"structure"`
111053
111054	// Returns true if the request succeeds; otherwise, returns an error.
111055	Return *bool `locationName:"return" type:"boolean"`
111056
111057	// The inbound rules that were unknown to the service. In some cases, unknownIpPermissionSet
111058	// might be in a different format from the request parameter.
111059	UnknownIpPermissions []*IpPermission `locationName:"unknownIpPermissionSet" locationNameList:"item" type:"list"`
111060}
111061
111062// String returns the string representation
111063func (s RevokeSecurityGroupIngressOutput) String() string {
111064	return awsutil.Prettify(s)
111065}
111066
111067// GoString returns the string representation
111068func (s RevokeSecurityGroupIngressOutput) GoString() string {
111069	return s.String()
111070}
111071
111072// SetReturn sets the Return field's value.
111073func (s *RevokeSecurityGroupIngressOutput) SetReturn(v bool) *RevokeSecurityGroupIngressOutput {
111074	s.Return = &v
111075	return s
111076}
111077
111078// SetUnknownIpPermissions sets the UnknownIpPermissions field's value.
111079func (s *RevokeSecurityGroupIngressOutput) SetUnknownIpPermissions(v []*IpPermission) *RevokeSecurityGroupIngressOutput {
111080	s.UnknownIpPermissions = v
111081	return s
111082}
111083
111084// Describes a route in a route table.
111085type Route struct {
111086	_ struct{} `type:"structure"`
111087
111088	// The ID of the carrier gateway.
111089	CarrierGatewayId *string `locationName:"carrierGatewayId" type:"string"`
111090
111091	// The IPv4 CIDR block used for the destination match.
111092	DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
111093
111094	// The IPv6 CIDR block used for the destination match.
111095	DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"`
111096
111097	// The prefix of the AWS service.
111098	DestinationPrefixListId *string `locationName:"destinationPrefixListId" type:"string"`
111099
111100	// The ID of the egress-only internet gateway.
111101	EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
111102
111103	// The ID of a gateway attached to your VPC.
111104	GatewayId *string `locationName:"gatewayId" type:"string"`
111105
111106	// The ID of a NAT instance in your VPC.
111107	InstanceId *string `locationName:"instanceId" type:"string"`
111108
111109	// The AWS account ID of the owner of the instance.
111110	InstanceOwnerId *string `locationName:"instanceOwnerId" type:"string"`
111111
111112	// The ID of the local gateway.
111113	LocalGatewayId *string `locationName:"localGatewayId" type:"string"`
111114
111115	// The ID of a NAT gateway.
111116	NatGatewayId *string `locationName:"natGatewayId" type:"string"`
111117
111118	// The ID of the network interface.
111119	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
111120
111121	// Describes how the route was created.
111122	//
111123	//    * CreateRouteTable - The route was automatically created when the route
111124	//    table was created.
111125	//
111126	//    * CreateRoute - The route was manually added to the route table.
111127	//
111128	//    * EnableVgwRoutePropagation - The route was propagated by route propagation.
111129	Origin *string `locationName:"origin" type:"string" enum:"RouteOrigin"`
111130
111131	// The state of the route. The blackhole state indicates that the route's target
111132	// isn't available (for example, the specified gateway isn't attached to the
111133	// VPC, or the specified NAT instance has been terminated).
111134	State *string `locationName:"state" type:"string" enum:"RouteState"`
111135
111136	// The ID of a transit gateway.
111137	TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
111138
111139	// The ID of a VPC peering connection.
111140	VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
111141}
111142
111143// String returns the string representation
111144func (s Route) String() string {
111145	return awsutil.Prettify(s)
111146}
111147
111148// GoString returns the string representation
111149func (s Route) GoString() string {
111150	return s.String()
111151}
111152
111153// SetCarrierGatewayId sets the CarrierGatewayId field's value.
111154func (s *Route) SetCarrierGatewayId(v string) *Route {
111155	s.CarrierGatewayId = &v
111156	return s
111157}
111158
111159// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
111160func (s *Route) SetDestinationCidrBlock(v string) *Route {
111161	s.DestinationCidrBlock = &v
111162	return s
111163}
111164
111165// SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value.
111166func (s *Route) SetDestinationIpv6CidrBlock(v string) *Route {
111167	s.DestinationIpv6CidrBlock = &v
111168	return s
111169}
111170
111171// SetDestinationPrefixListId sets the DestinationPrefixListId field's value.
111172func (s *Route) SetDestinationPrefixListId(v string) *Route {
111173	s.DestinationPrefixListId = &v
111174	return s
111175}
111176
111177// SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
111178func (s *Route) SetEgressOnlyInternetGatewayId(v string) *Route {
111179	s.EgressOnlyInternetGatewayId = &v
111180	return s
111181}
111182
111183// SetGatewayId sets the GatewayId field's value.
111184func (s *Route) SetGatewayId(v string) *Route {
111185	s.GatewayId = &v
111186	return s
111187}
111188
111189// SetInstanceId sets the InstanceId field's value.
111190func (s *Route) SetInstanceId(v string) *Route {
111191	s.InstanceId = &v
111192	return s
111193}
111194
111195// SetInstanceOwnerId sets the InstanceOwnerId field's value.
111196func (s *Route) SetInstanceOwnerId(v string) *Route {
111197	s.InstanceOwnerId = &v
111198	return s
111199}
111200
111201// SetLocalGatewayId sets the LocalGatewayId field's value.
111202func (s *Route) SetLocalGatewayId(v string) *Route {
111203	s.LocalGatewayId = &v
111204	return s
111205}
111206
111207// SetNatGatewayId sets the NatGatewayId field's value.
111208func (s *Route) SetNatGatewayId(v string) *Route {
111209	s.NatGatewayId = &v
111210	return s
111211}
111212
111213// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
111214func (s *Route) SetNetworkInterfaceId(v string) *Route {
111215	s.NetworkInterfaceId = &v
111216	return s
111217}
111218
111219// SetOrigin sets the Origin field's value.
111220func (s *Route) SetOrigin(v string) *Route {
111221	s.Origin = &v
111222	return s
111223}
111224
111225// SetState sets the State field's value.
111226func (s *Route) SetState(v string) *Route {
111227	s.State = &v
111228	return s
111229}
111230
111231// SetTransitGatewayId sets the TransitGatewayId field's value.
111232func (s *Route) SetTransitGatewayId(v string) *Route {
111233	s.TransitGatewayId = &v
111234	return s
111235}
111236
111237// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
111238func (s *Route) SetVpcPeeringConnectionId(v string) *Route {
111239	s.VpcPeeringConnectionId = &v
111240	return s
111241}
111242
111243// Describes a route table.
111244type RouteTable struct {
111245	_ struct{} `type:"structure"`
111246
111247	// The associations between the route table and one or more subnets or a gateway.
111248	Associations []*RouteTableAssociation `locationName:"associationSet" locationNameList:"item" type:"list"`
111249
111250	// The ID of the AWS account that owns the route table.
111251	OwnerId *string `locationName:"ownerId" type:"string"`
111252
111253	// Any virtual private gateway (VGW) propagating routes.
111254	PropagatingVgws []*PropagatingVgw `locationName:"propagatingVgwSet" locationNameList:"item" type:"list"`
111255
111256	// The ID of the route table.
111257	RouteTableId *string `locationName:"routeTableId" type:"string"`
111258
111259	// The routes in the route table.
111260	Routes []*Route `locationName:"routeSet" locationNameList:"item" type:"list"`
111261
111262	// Any tags assigned to the route table.
111263	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
111264
111265	// The ID of the VPC.
111266	VpcId *string `locationName:"vpcId" type:"string"`
111267}
111268
111269// String returns the string representation
111270func (s RouteTable) String() string {
111271	return awsutil.Prettify(s)
111272}
111273
111274// GoString returns the string representation
111275func (s RouteTable) GoString() string {
111276	return s.String()
111277}
111278
111279// SetAssociations sets the Associations field's value.
111280func (s *RouteTable) SetAssociations(v []*RouteTableAssociation) *RouteTable {
111281	s.Associations = v
111282	return s
111283}
111284
111285// SetOwnerId sets the OwnerId field's value.
111286func (s *RouteTable) SetOwnerId(v string) *RouteTable {
111287	s.OwnerId = &v
111288	return s
111289}
111290
111291// SetPropagatingVgws sets the PropagatingVgws field's value.
111292func (s *RouteTable) SetPropagatingVgws(v []*PropagatingVgw) *RouteTable {
111293	s.PropagatingVgws = v
111294	return s
111295}
111296
111297// SetRouteTableId sets the RouteTableId field's value.
111298func (s *RouteTable) SetRouteTableId(v string) *RouteTable {
111299	s.RouteTableId = &v
111300	return s
111301}
111302
111303// SetRoutes sets the Routes field's value.
111304func (s *RouteTable) SetRoutes(v []*Route) *RouteTable {
111305	s.Routes = v
111306	return s
111307}
111308
111309// SetTags sets the Tags field's value.
111310func (s *RouteTable) SetTags(v []*Tag) *RouteTable {
111311	s.Tags = v
111312	return s
111313}
111314
111315// SetVpcId sets the VpcId field's value.
111316func (s *RouteTable) SetVpcId(v string) *RouteTable {
111317	s.VpcId = &v
111318	return s
111319}
111320
111321// Describes an association between a route table and a subnet or gateway.
111322type RouteTableAssociation struct {
111323	_ struct{} `type:"structure"`
111324
111325	// The state of the association.
111326	AssociationState *RouteTableAssociationState `locationName:"associationState" type:"structure"`
111327
111328	// The ID of the internet gateway or virtual private gateway.
111329	GatewayId *string `locationName:"gatewayId" type:"string"`
111330
111331	// Indicates whether this is the main route table.
111332	Main *bool `locationName:"main" type:"boolean"`
111333
111334	// The ID of the association.
111335	RouteTableAssociationId *string `locationName:"routeTableAssociationId" type:"string"`
111336
111337	// The ID of the route table.
111338	RouteTableId *string `locationName:"routeTableId" type:"string"`
111339
111340	// The ID of the subnet. A subnet ID is not returned for an implicit association.
111341	SubnetId *string `locationName:"subnetId" type:"string"`
111342}
111343
111344// String returns the string representation
111345func (s RouteTableAssociation) String() string {
111346	return awsutil.Prettify(s)
111347}
111348
111349// GoString returns the string representation
111350func (s RouteTableAssociation) GoString() string {
111351	return s.String()
111352}
111353
111354// SetAssociationState sets the AssociationState field's value.
111355func (s *RouteTableAssociation) SetAssociationState(v *RouteTableAssociationState) *RouteTableAssociation {
111356	s.AssociationState = v
111357	return s
111358}
111359
111360// SetGatewayId sets the GatewayId field's value.
111361func (s *RouteTableAssociation) SetGatewayId(v string) *RouteTableAssociation {
111362	s.GatewayId = &v
111363	return s
111364}
111365
111366// SetMain sets the Main field's value.
111367func (s *RouteTableAssociation) SetMain(v bool) *RouteTableAssociation {
111368	s.Main = &v
111369	return s
111370}
111371
111372// SetRouteTableAssociationId sets the RouteTableAssociationId field's value.
111373func (s *RouteTableAssociation) SetRouteTableAssociationId(v string) *RouteTableAssociation {
111374	s.RouteTableAssociationId = &v
111375	return s
111376}
111377
111378// SetRouteTableId sets the RouteTableId field's value.
111379func (s *RouteTableAssociation) SetRouteTableId(v string) *RouteTableAssociation {
111380	s.RouteTableId = &v
111381	return s
111382}
111383
111384// SetSubnetId sets the SubnetId field's value.
111385func (s *RouteTableAssociation) SetSubnetId(v string) *RouteTableAssociation {
111386	s.SubnetId = &v
111387	return s
111388}
111389
111390// Describes the state of an association between a route table and a subnet
111391// or gateway.
111392type RouteTableAssociationState struct {
111393	_ struct{} `type:"structure"`
111394
111395	// The state of the association.
111396	State *string `locationName:"state" type:"string" enum:"RouteTableAssociationStateCode"`
111397
111398	// The status message, if applicable.
111399	StatusMessage *string `locationName:"statusMessage" type:"string"`
111400}
111401
111402// String returns the string representation
111403func (s RouteTableAssociationState) String() string {
111404	return awsutil.Prettify(s)
111405}
111406
111407// GoString returns the string representation
111408func (s RouteTableAssociationState) GoString() string {
111409	return s.String()
111410}
111411
111412// SetState sets the State field's value.
111413func (s *RouteTableAssociationState) SetState(v string) *RouteTableAssociationState {
111414	s.State = &v
111415	return s
111416}
111417
111418// SetStatusMessage sets the StatusMessage field's value.
111419func (s *RouteTableAssociationState) SetStatusMessage(v string) *RouteTableAssociationState {
111420	s.StatusMessage = &v
111421	return s
111422}
111423
111424type RunInstancesInput struct {
111425	_ struct{} `type:"structure"`
111426
111427	// Reserved.
111428	AdditionalInfo *string `locationName:"additionalInfo" type:"string"`
111429
111430	// The block device mapping entries.
111431	BlockDeviceMappings []*BlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
111432
111433	// Information about the Capacity Reservation targeting option. If you do not
111434	// specify this parameter, the instance's Capacity Reservation preference defaults
111435	// to open, which enables it to run in any open Capacity Reservation that has
111436	// matching attributes (instance type, platform, Availability Zone).
111437	CapacityReservationSpecification *CapacityReservationSpecification `type:"structure"`
111438
111439	// Unique, case-sensitive identifier you provide to ensure the idempotency of
111440	// the request. If you do not specify a client token, a randomly generated token
111441	// is used for the request to ensure idempotency.
111442	//
111443	// For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
111444	//
111445	// Constraints: Maximum 64 ASCII characters
111446	ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
111447
111448	// The CPU options for the instance. For more information, see Optimizing CPU
111449	// options (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html)
111450	// in the Amazon EC2 User Guide.
111451	CpuOptions *CpuOptionsRequest `type:"structure"`
111452
111453	// The credit option for CPU usage of the burstable performance instance. Valid
111454	// values are standard and unlimited. To change this attribute after launch,
111455	// use ModifyInstanceCreditSpecification (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceCreditSpecification.html).
111456	// For more information, see Burstable performance instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html)
111457	// in the Amazon EC2 User Guide.
111458	//
111459	// Default: standard (T2 instances) or unlimited (T3/T3a instances)
111460	CreditSpecification *CreditSpecificationRequest `type:"structure"`
111461
111462	// If you set this parameter to true, you can't terminate the instance using
111463	// the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute
111464	// after launch, use ModifyInstanceAttribute (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceAttribute.html).
111465	// Alternatively, if you set InstanceInitiatedShutdownBehavior to terminate,
111466	// you can terminate the instance by running the shutdown command from the instance.
111467	//
111468	// Default: false
111469	DisableApiTermination *bool `locationName:"disableApiTermination" type:"boolean"`
111470
111471	// Checks whether you have the required permissions for the action, without
111472	// actually making the request, and provides an error response. If you have
111473	// the required permissions, the error response is DryRunOperation. Otherwise,
111474	// it is UnauthorizedOperation.
111475	DryRun *bool `locationName:"dryRun" type:"boolean"`
111476
111477	// Indicates whether the instance is optimized for Amazon EBS I/O. This optimization
111478	// provides dedicated throughput to Amazon EBS and an optimized configuration
111479	// stack to provide optimal Amazon EBS I/O performance. This optimization isn't
111480	// available with all instance types. Additional usage charges apply when using
111481	// an EBS-optimized instance.
111482	//
111483	// Default: false
111484	EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
111485
111486	// An elastic GPU to associate with the instance. An Elastic GPU is a GPU resource
111487	// that you can attach to your Windows instance to accelerate the graphics performance
111488	// of your applications. For more information, see Amazon EC2 Elastic GPUs (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-graphics.html)
111489	// in the Amazon EC2 User Guide.
111490	ElasticGpuSpecification []*ElasticGpuSpecification `locationNameList:"item" type:"list"`
111491
111492	// An elastic inference accelerator to associate with the instance. Elastic
111493	// inference accelerators are a resource you can attach to your Amazon EC2 instances
111494	// to accelerate your Deep Learning (DL) inference workloads.
111495	//
111496	// You cannot specify accelerators from different generations in the same request.
111497	ElasticInferenceAccelerators []*ElasticInferenceAccelerator `locationName:"ElasticInferenceAccelerator" locationNameList:"item" type:"list"`
111498
111499	// Indicates whether the instance is enabled for AWS Nitro Enclaves. For more
111500	// information, see What is AWS Nitro Enclaves? (https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html)
111501	// in the AWS Nitro Enclaves User Guide.
111502	//
111503	// You can't enable AWS Nitro Enclaves and hibernation on the same instance.
111504	EnclaveOptions *EnclaveOptionsRequest `type:"structure"`
111505
111506	// Indicates whether an instance is enabled for hibernation. For more information,
111507	// see Hibernate your instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
111508	// in the Amazon EC2 User Guide.
111509	//
111510	// You can't enable hibernation and AWS Nitro Enclaves on the same instance.
111511	HibernationOptions *HibernationOptionsRequest `type:"structure"`
111512
111513	// The name or Amazon Resource Name (ARN) of an IAM instance profile.
111514	IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
111515
111516	// The ID of the AMI. An AMI ID is required to launch an instance and must be
111517	// specified here or in a launch template.
111518	ImageId *string `type:"string"`
111519
111520	// Indicates whether an instance stops or terminates when you initiate shutdown
111521	// from the instance (using the operating system command for system shutdown).
111522	//
111523	// Default: stop
111524	InstanceInitiatedShutdownBehavior *string `locationName:"instanceInitiatedShutdownBehavior" type:"string" enum:"ShutdownBehavior"`
111525
111526	// The market (purchasing) option for the instances.
111527	//
111528	// For RunInstances, persistent Spot Instance requests are only supported when
111529	// InstanceInterruptionBehavior is set to either hibernate or stop.
111530	InstanceMarketOptions *InstanceMarketOptionsRequest `type:"structure"`
111531
111532	// The instance type. For more information, see Instance types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
111533	// in the Amazon EC2 User Guide.
111534	//
111535	// Default: m1.small
111536	InstanceType *string `type:"string" enum:"InstanceType"`
111537
111538	// [EC2-VPC] The number of IPv6 addresses to associate with the primary network
111539	// interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.
111540	// You cannot specify this option and the option to assign specific IPv6 addresses
111541	// in the same request. You can specify this option if you've specified a minimum
111542	// number of instances to launch.
111543	//
111544	// You cannot specify this option and the network interfaces option in the same
111545	// request.
111546	Ipv6AddressCount *int64 `type:"integer"`
111547
111548	// [EC2-VPC] The IPv6 addresses from the range of the subnet to associate with
111549	// the primary network interface. You cannot specify this option and the option
111550	// to assign a number of IPv6 addresses in the same request. You cannot specify
111551	// this option if you've specified a minimum number of instances to launch.
111552	//
111553	// You cannot specify this option and the network interfaces option in the same
111554	// request.
111555	Ipv6Addresses []*InstanceIpv6Address `locationName:"Ipv6Address" locationNameList:"item" type:"list"`
111556
111557	// The ID of the kernel.
111558	//
111559	// We recommend that you use PV-GRUB instead of kernels and RAM disks. For more
111560	// information, see PV-GRUB (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
111561	// in the Amazon EC2 User Guide.
111562	KernelId *string `type:"string"`
111563
111564	// 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)
111565	// or ImportKeyPair (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportKeyPair.html).
111566	//
111567	// If you do not specify a key pair, you can't connect to the instance unless
111568	// you choose an AMI that is configured to allow users another way to log in.
111569	KeyName *string `type:"string"`
111570
111571	// The launch template to use to launch the instances. Any parameters that you
111572	// specify in RunInstances override the same parameters in the launch template.
111573	// You can specify either the name or ID of a launch template, but not both.
111574	LaunchTemplate *LaunchTemplateSpecification `type:"structure"`
111575
111576	// The license configurations.
111577	LicenseSpecifications []*LicenseConfigurationRequest `locationName:"LicenseSpecification" locationNameList:"item" type:"list"`
111578
111579	// The maximum number of instances to launch. If you specify more instances
111580	// than Amazon EC2 can launch in the target Availability Zone, Amazon EC2 launches
111581	// the largest possible number of instances above MinCount.
111582	//
111583	// Constraints: Between 1 and the maximum number you're allowed for the specified
111584	// instance type. For more information about the default limits, and how to
111585	// 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)
111586	// in the Amazon EC2 FAQ.
111587	//
111588	// MaxCount is a required field
111589	MaxCount *int64 `type:"integer" required:"true"`
111590
111591	// The metadata options for the instance. For more information, see Instance
111592	// metadata and user data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html).
111593	MetadataOptions *InstanceMetadataOptionsRequest `type:"structure"`
111594
111595	// The minimum number of instances to launch. If you specify a minimum that
111596	// is more instances than Amazon EC2 can launch in the target Availability Zone,
111597	// Amazon EC2 launches no instances.
111598	//
111599	// Constraints: Between 1 and the maximum number you're allowed for the specified
111600	// instance type. For more information about the default limits, and how to
111601	// 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)
111602	// in the Amazon EC2 General FAQ.
111603	//
111604	// MinCount is a required field
111605	MinCount *int64 `type:"integer" required:"true"`
111606
111607	// Specifies whether detailed monitoring is enabled for the instance.
111608	Monitoring *RunInstancesMonitoringEnabled `type:"structure"`
111609
111610	// The network interfaces to associate with the instance. If you specify a network
111611	// interface, you must specify any security groups and subnets as part of the
111612	// network interface.
111613	NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterface" locationNameList:"item" type:"list"`
111614
111615	// The placement for the instance.
111616	Placement *Placement `type:"structure"`
111617
111618	// [EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4
111619	// address range of the subnet.
111620	//
111621	// Only one private IP address can be designated as primary. You can't specify
111622	// this option if you've specified the option to designate a private IP address
111623	// as the primary IP address in a network interface specification. You cannot
111624	// specify this option if you're launching more than one instance in the request.
111625	//
111626	// You cannot specify this option and the network interfaces option in the same
111627	// request.
111628	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
111629
111630	// The ID of the RAM disk to select. Some kernels require additional drivers
111631	// at launch. Check the kernel requirements for information about whether you
111632	// need to specify a RAM disk. To find kernel requirements, go to the AWS Resource
111633	// Center and search for the kernel ID.
111634	//
111635	// We recommend that you use PV-GRUB instead of kernels and RAM disks. For more
111636	// information, see PV-GRUB (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
111637	// in the Amazon EC2 User Guide.
111638	RamdiskId *string `type:"string"`
111639
111640	// The IDs of the security groups. You can create a security group using CreateSecurityGroup
111641	// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateSecurityGroup.html).
111642	//
111643	// If you specify a network interface, you must specify any security groups
111644	// as part of the network interface.
111645	SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
111646
111647	// [EC2-Classic, default VPC] The names of the security groups. For a nondefault
111648	// VPC, you must use security group IDs instead.
111649	//
111650	// If you specify a network interface, you must specify any security groups
111651	// as part of the network interface.
111652	//
111653	// Default: Amazon EC2 uses the default security group.
111654	SecurityGroups []*string `locationName:"SecurityGroup" locationNameList:"SecurityGroup" type:"list"`
111655
111656	// [EC2-VPC] The ID of the subnet to launch the instance into.
111657	//
111658	// If you specify a network interface, you must specify any subnets as part
111659	// of the network interface.
111660	SubnetId *string `type:"string"`
111661
111662	// The tags to apply to the resources during launch. You can only tag instances
111663	// and volumes on launch. The specified tags are applied to all instances or
111664	// volumes that are created during launch. To tag a resource after it has been
111665	// created, see CreateTags (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).
111666	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
111667
111668	// The user data to make available to the instance. For more information, see
111669	// Running commands on your Linux instance at launch (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html)
111670	// (Linux) and Adding User Data (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-metadata.html#instancedata-add-user-data)
111671	// (Windows). If you are using a command line tool, base64-encoding is performed
111672	// for you, and you can load the text from a file. Otherwise, you must provide
111673	// base64-encoded text. User data is limited to 16 KB.
111674	UserData *string `type:"string"`
111675}
111676
111677// String returns the string representation
111678func (s RunInstancesInput) String() string {
111679	return awsutil.Prettify(s)
111680}
111681
111682// GoString returns the string representation
111683func (s RunInstancesInput) GoString() string {
111684	return s.String()
111685}
111686
111687// Validate inspects the fields of the type to determine if they are valid.
111688func (s *RunInstancesInput) Validate() error {
111689	invalidParams := request.ErrInvalidParams{Context: "RunInstancesInput"}
111690	if s.MaxCount == nil {
111691		invalidParams.Add(request.NewErrParamRequired("MaxCount"))
111692	}
111693	if s.MinCount == nil {
111694		invalidParams.Add(request.NewErrParamRequired("MinCount"))
111695	}
111696	if s.CreditSpecification != nil {
111697		if err := s.CreditSpecification.Validate(); err != nil {
111698			invalidParams.AddNested("CreditSpecification", err.(request.ErrInvalidParams))
111699		}
111700	}
111701	if s.ElasticGpuSpecification != nil {
111702		for i, v := range s.ElasticGpuSpecification {
111703			if v == nil {
111704				continue
111705			}
111706			if err := v.Validate(); err != nil {
111707				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ElasticGpuSpecification", i), err.(request.ErrInvalidParams))
111708			}
111709		}
111710	}
111711	if s.ElasticInferenceAccelerators != nil {
111712		for i, v := range s.ElasticInferenceAccelerators {
111713			if v == nil {
111714				continue
111715			}
111716			if err := v.Validate(); err != nil {
111717				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ElasticInferenceAccelerators", i), err.(request.ErrInvalidParams))
111718			}
111719		}
111720	}
111721	if s.Monitoring != nil {
111722		if err := s.Monitoring.Validate(); err != nil {
111723			invalidParams.AddNested("Monitoring", err.(request.ErrInvalidParams))
111724		}
111725	}
111726
111727	if invalidParams.Len() > 0 {
111728		return invalidParams
111729	}
111730	return nil
111731}
111732
111733// SetAdditionalInfo sets the AdditionalInfo field's value.
111734func (s *RunInstancesInput) SetAdditionalInfo(v string) *RunInstancesInput {
111735	s.AdditionalInfo = &v
111736	return s
111737}
111738
111739// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
111740func (s *RunInstancesInput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *RunInstancesInput {
111741	s.BlockDeviceMappings = v
111742	return s
111743}
111744
111745// SetCapacityReservationSpecification sets the CapacityReservationSpecification field's value.
111746func (s *RunInstancesInput) SetCapacityReservationSpecification(v *CapacityReservationSpecification) *RunInstancesInput {
111747	s.CapacityReservationSpecification = v
111748	return s
111749}
111750
111751// SetClientToken sets the ClientToken field's value.
111752func (s *RunInstancesInput) SetClientToken(v string) *RunInstancesInput {
111753	s.ClientToken = &v
111754	return s
111755}
111756
111757// SetCpuOptions sets the CpuOptions field's value.
111758func (s *RunInstancesInput) SetCpuOptions(v *CpuOptionsRequest) *RunInstancesInput {
111759	s.CpuOptions = v
111760	return s
111761}
111762
111763// SetCreditSpecification sets the CreditSpecification field's value.
111764func (s *RunInstancesInput) SetCreditSpecification(v *CreditSpecificationRequest) *RunInstancesInput {
111765	s.CreditSpecification = v
111766	return s
111767}
111768
111769// SetDisableApiTermination sets the DisableApiTermination field's value.
111770func (s *RunInstancesInput) SetDisableApiTermination(v bool) *RunInstancesInput {
111771	s.DisableApiTermination = &v
111772	return s
111773}
111774
111775// SetDryRun sets the DryRun field's value.
111776func (s *RunInstancesInput) SetDryRun(v bool) *RunInstancesInput {
111777	s.DryRun = &v
111778	return s
111779}
111780
111781// SetEbsOptimized sets the EbsOptimized field's value.
111782func (s *RunInstancesInput) SetEbsOptimized(v bool) *RunInstancesInput {
111783	s.EbsOptimized = &v
111784	return s
111785}
111786
111787// SetElasticGpuSpecification sets the ElasticGpuSpecification field's value.
111788func (s *RunInstancesInput) SetElasticGpuSpecification(v []*ElasticGpuSpecification) *RunInstancesInput {
111789	s.ElasticGpuSpecification = v
111790	return s
111791}
111792
111793// SetElasticInferenceAccelerators sets the ElasticInferenceAccelerators field's value.
111794func (s *RunInstancesInput) SetElasticInferenceAccelerators(v []*ElasticInferenceAccelerator) *RunInstancesInput {
111795	s.ElasticInferenceAccelerators = v
111796	return s
111797}
111798
111799// SetEnclaveOptions sets the EnclaveOptions field's value.
111800func (s *RunInstancesInput) SetEnclaveOptions(v *EnclaveOptionsRequest) *RunInstancesInput {
111801	s.EnclaveOptions = v
111802	return s
111803}
111804
111805// SetHibernationOptions sets the HibernationOptions field's value.
111806func (s *RunInstancesInput) SetHibernationOptions(v *HibernationOptionsRequest) *RunInstancesInput {
111807	s.HibernationOptions = v
111808	return s
111809}
111810
111811// SetIamInstanceProfile sets the IamInstanceProfile field's value.
111812func (s *RunInstancesInput) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *RunInstancesInput {
111813	s.IamInstanceProfile = v
111814	return s
111815}
111816
111817// SetImageId sets the ImageId field's value.
111818func (s *RunInstancesInput) SetImageId(v string) *RunInstancesInput {
111819	s.ImageId = &v
111820	return s
111821}
111822
111823// SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
111824func (s *RunInstancesInput) SetInstanceInitiatedShutdownBehavior(v string) *RunInstancesInput {
111825	s.InstanceInitiatedShutdownBehavior = &v
111826	return s
111827}
111828
111829// SetInstanceMarketOptions sets the InstanceMarketOptions field's value.
111830func (s *RunInstancesInput) SetInstanceMarketOptions(v *InstanceMarketOptionsRequest) *RunInstancesInput {
111831	s.InstanceMarketOptions = v
111832	return s
111833}
111834
111835// SetInstanceType sets the InstanceType field's value.
111836func (s *RunInstancesInput) SetInstanceType(v string) *RunInstancesInput {
111837	s.InstanceType = &v
111838	return s
111839}
111840
111841// SetIpv6AddressCount sets the Ipv6AddressCount field's value.
111842func (s *RunInstancesInput) SetIpv6AddressCount(v int64) *RunInstancesInput {
111843	s.Ipv6AddressCount = &v
111844	return s
111845}
111846
111847// SetIpv6Addresses sets the Ipv6Addresses field's value.
111848func (s *RunInstancesInput) SetIpv6Addresses(v []*InstanceIpv6Address) *RunInstancesInput {
111849	s.Ipv6Addresses = v
111850	return s
111851}
111852
111853// SetKernelId sets the KernelId field's value.
111854func (s *RunInstancesInput) SetKernelId(v string) *RunInstancesInput {
111855	s.KernelId = &v
111856	return s
111857}
111858
111859// SetKeyName sets the KeyName field's value.
111860func (s *RunInstancesInput) SetKeyName(v string) *RunInstancesInput {
111861	s.KeyName = &v
111862	return s
111863}
111864
111865// SetLaunchTemplate sets the LaunchTemplate field's value.
111866func (s *RunInstancesInput) SetLaunchTemplate(v *LaunchTemplateSpecification) *RunInstancesInput {
111867	s.LaunchTemplate = v
111868	return s
111869}
111870
111871// SetLicenseSpecifications sets the LicenseSpecifications field's value.
111872func (s *RunInstancesInput) SetLicenseSpecifications(v []*LicenseConfigurationRequest) *RunInstancesInput {
111873	s.LicenseSpecifications = v
111874	return s
111875}
111876
111877// SetMaxCount sets the MaxCount field's value.
111878func (s *RunInstancesInput) SetMaxCount(v int64) *RunInstancesInput {
111879	s.MaxCount = &v
111880	return s
111881}
111882
111883// SetMetadataOptions sets the MetadataOptions field's value.
111884func (s *RunInstancesInput) SetMetadataOptions(v *InstanceMetadataOptionsRequest) *RunInstancesInput {
111885	s.MetadataOptions = v
111886	return s
111887}
111888
111889// SetMinCount sets the MinCount field's value.
111890func (s *RunInstancesInput) SetMinCount(v int64) *RunInstancesInput {
111891	s.MinCount = &v
111892	return s
111893}
111894
111895// SetMonitoring sets the Monitoring field's value.
111896func (s *RunInstancesInput) SetMonitoring(v *RunInstancesMonitoringEnabled) *RunInstancesInput {
111897	s.Monitoring = v
111898	return s
111899}
111900
111901// SetNetworkInterfaces sets the NetworkInterfaces field's value.
111902func (s *RunInstancesInput) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *RunInstancesInput {
111903	s.NetworkInterfaces = v
111904	return s
111905}
111906
111907// SetPlacement sets the Placement field's value.
111908func (s *RunInstancesInput) SetPlacement(v *Placement) *RunInstancesInput {
111909	s.Placement = v
111910	return s
111911}
111912
111913// SetPrivateIpAddress sets the PrivateIpAddress field's value.
111914func (s *RunInstancesInput) SetPrivateIpAddress(v string) *RunInstancesInput {
111915	s.PrivateIpAddress = &v
111916	return s
111917}
111918
111919// SetRamdiskId sets the RamdiskId field's value.
111920func (s *RunInstancesInput) SetRamdiskId(v string) *RunInstancesInput {
111921	s.RamdiskId = &v
111922	return s
111923}
111924
111925// SetSecurityGroupIds sets the SecurityGroupIds field's value.
111926func (s *RunInstancesInput) SetSecurityGroupIds(v []*string) *RunInstancesInput {
111927	s.SecurityGroupIds = v
111928	return s
111929}
111930
111931// SetSecurityGroups sets the SecurityGroups field's value.
111932func (s *RunInstancesInput) SetSecurityGroups(v []*string) *RunInstancesInput {
111933	s.SecurityGroups = v
111934	return s
111935}
111936
111937// SetSubnetId sets the SubnetId field's value.
111938func (s *RunInstancesInput) SetSubnetId(v string) *RunInstancesInput {
111939	s.SubnetId = &v
111940	return s
111941}
111942
111943// SetTagSpecifications sets the TagSpecifications field's value.
111944func (s *RunInstancesInput) SetTagSpecifications(v []*TagSpecification) *RunInstancesInput {
111945	s.TagSpecifications = v
111946	return s
111947}
111948
111949// SetUserData sets the UserData field's value.
111950func (s *RunInstancesInput) SetUserData(v string) *RunInstancesInput {
111951	s.UserData = &v
111952	return s
111953}
111954
111955// Describes the monitoring of an instance.
111956type RunInstancesMonitoringEnabled struct {
111957	_ struct{} `type:"structure"`
111958
111959	// Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring
111960	// is enabled.
111961	//
111962	// Enabled is a required field
111963	Enabled *bool `locationName:"enabled" type:"boolean" required:"true"`
111964}
111965
111966// String returns the string representation
111967func (s RunInstancesMonitoringEnabled) String() string {
111968	return awsutil.Prettify(s)
111969}
111970
111971// GoString returns the string representation
111972func (s RunInstancesMonitoringEnabled) GoString() string {
111973	return s.String()
111974}
111975
111976// Validate inspects the fields of the type to determine if they are valid.
111977func (s *RunInstancesMonitoringEnabled) Validate() error {
111978	invalidParams := request.ErrInvalidParams{Context: "RunInstancesMonitoringEnabled"}
111979	if s.Enabled == nil {
111980		invalidParams.Add(request.NewErrParamRequired("Enabled"))
111981	}
111982
111983	if invalidParams.Len() > 0 {
111984		return invalidParams
111985	}
111986	return nil
111987}
111988
111989// SetEnabled sets the Enabled field's value.
111990func (s *RunInstancesMonitoringEnabled) SetEnabled(v bool) *RunInstancesMonitoringEnabled {
111991	s.Enabled = &v
111992	return s
111993}
111994
111995// Contains the parameters for RunScheduledInstances.
111996type RunScheduledInstancesInput struct {
111997	_ struct{} `type:"structure"`
111998
111999	// Unique, case-sensitive identifier that ensures the idempotency of the request.
112000	// For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
112001	ClientToken *string `type:"string" idempotencyToken:"true"`
112002
112003	// Checks whether you have the required permissions for the action, without
112004	// actually making the request, and provides an error response. If you have
112005	// the required permissions, the error response is DryRunOperation. Otherwise,
112006	// it is UnauthorizedOperation.
112007	DryRun *bool `type:"boolean"`
112008
112009	// The number of instances.
112010	//
112011	// Default: 1
112012	InstanceCount *int64 `type:"integer"`
112013
112014	// The launch specification. You must match the instance type, Availability
112015	// Zone, network, and platform of the schedule that you purchased.
112016	//
112017	// LaunchSpecification is a required field
112018	LaunchSpecification *ScheduledInstancesLaunchSpecification `type:"structure" required:"true"`
112019
112020	// The Scheduled Instance ID.
112021	//
112022	// ScheduledInstanceId is a required field
112023	ScheduledInstanceId *string `type:"string" required:"true"`
112024}
112025
112026// String returns the string representation
112027func (s RunScheduledInstancesInput) String() string {
112028	return awsutil.Prettify(s)
112029}
112030
112031// GoString returns the string representation
112032func (s RunScheduledInstancesInput) GoString() string {
112033	return s.String()
112034}
112035
112036// Validate inspects the fields of the type to determine if they are valid.
112037func (s *RunScheduledInstancesInput) Validate() error {
112038	invalidParams := request.ErrInvalidParams{Context: "RunScheduledInstancesInput"}
112039	if s.LaunchSpecification == nil {
112040		invalidParams.Add(request.NewErrParamRequired("LaunchSpecification"))
112041	}
112042	if s.ScheduledInstanceId == nil {
112043		invalidParams.Add(request.NewErrParamRequired("ScheduledInstanceId"))
112044	}
112045	if s.LaunchSpecification != nil {
112046		if err := s.LaunchSpecification.Validate(); err != nil {
112047			invalidParams.AddNested("LaunchSpecification", err.(request.ErrInvalidParams))
112048		}
112049	}
112050
112051	if invalidParams.Len() > 0 {
112052		return invalidParams
112053	}
112054	return nil
112055}
112056
112057// SetClientToken sets the ClientToken field's value.
112058func (s *RunScheduledInstancesInput) SetClientToken(v string) *RunScheduledInstancesInput {
112059	s.ClientToken = &v
112060	return s
112061}
112062
112063// SetDryRun sets the DryRun field's value.
112064func (s *RunScheduledInstancesInput) SetDryRun(v bool) *RunScheduledInstancesInput {
112065	s.DryRun = &v
112066	return s
112067}
112068
112069// SetInstanceCount sets the InstanceCount field's value.
112070func (s *RunScheduledInstancesInput) SetInstanceCount(v int64) *RunScheduledInstancesInput {
112071	s.InstanceCount = &v
112072	return s
112073}
112074
112075// SetLaunchSpecification sets the LaunchSpecification field's value.
112076func (s *RunScheduledInstancesInput) SetLaunchSpecification(v *ScheduledInstancesLaunchSpecification) *RunScheduledInstancesInput {
112077	s.LaunchSpecification = v
112078	return s
112079}
112080
112081// SetScheduledInstanceId sets the ScheduledInstanceId field's value.
112082func (s *RunScheduledInstancesInput) SetScheduledInstanceId(v string) *RunScheduledInstancesInput {
112083	s.ScheduledInstanceId = &v
112084	return s
112085}
112086
112087// Contains the output of RunScheduledInstances.
112088type RunScheduledInstancesOutput struct {
112089	_ struct{} `type:"structure"`
112090
112091	// The IDs of the newly launched instances.
112092	InstanceIdSet []*string `locationName:"instanceIdSet" locationNameList:"item" type:"list"`
112093}
112094
112095// String returns the string representation
112096func (s RunScheduledInstancesOutput) String() string {
112097	return awsutil.Prettify(s)
112098}
112099
112100// GoString returns the string representation
112101func (s RunScheduledInstancesOutput) GoString() string {
112102	return s.String()
112103}
112104
112105// SetInstanceIdSet sets the InstanceIdSet field's value.
112106func (s *RunScheduledInstancesOutput) SetInstanceIdSet(v []*string) *RunScheduledInstancesOutput {
112107	s.InstanceIdSet = v
112108	return s
112109}
112110
112111// The tags to apply to the AMI object that will be stored in the S3 bucket.
112112// For more information, see Categorizing your storage using tags (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-tagging.html)
112113// in the Amazon Simple Storage Service User Guide.
112114type S3ObjectTag struct {
112115	_ struct{} `type:"structure"`
112116
112117	// The key of the tag.
112118	//
112119	// Constraints: Tag keys are case-sensitive and can be up to 128 Unicode characters
112120	// in length. May not begin with aws:.
112121	Key *string `type:"string"`
112122
112123	// The value of the tag.
112124	//
112125	// Constraints: Tag values are case-sensitive and can be up to 256 Unicode characters
112126	// in length.
112127	Value *string `type:"string"`
112128}
112129
112130// String returns the string representation
112131func (s S3ObjectTag) String() string {
112132	return awsutil.Prettify(s)
112133}
112134
112135// GoString returns the string representation
112136func (s S3ObjectTag) GoString() string {
112137	return s.String()
112138}
112139
112140// SetKey sets the Key field's value.
112141func (s *S3ObjectTag) SetKey(v string) *S3ObjectTag {
112142	s.Key = &v
112143	return s
112144}
112145
112146// SetValue sets the Value field's value.
112147func (s *S3ObjectTag) SetValue(v string) *S3ObjectTag {
112148	s.Value = &v
112149	return s
112150}
112151
112152// Describes the storage parameters for S3 and S3 buckets for an instance store-backed
112153// AMI.
112154type S3Storage struct {
112155	_ struct{} `type:"structure"`
112156
112157	// The access key ID of the owner of the bucket. Before you specify a value
112158	// for your access key ID, review and follow the guidance in Best Practices
112159	// for Managing AWS Access Keys (https://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html).
112160	AWSAccessKeyId *string `type:"string"`
112161
112162	// The bucket in which to store the AMI. You can specify a bucket that you already
112163	// own or a new bucket that Amazon EC2 creates on your behalf. If you specify
112164	// a bucket that belongs to someone else, Amazon EC2 returns an error.
112165	Bucket *string `locationName:"bucket" type:"string"`
112166
112167	// The beginning of the file name of the AMI.
112168	Prefix *string `locationName:"prefix" type:"string"`
112169
112170	// An Amazon S3 upload policy that gives Amazon EC2 permission to upload items
112171	// into Amazon S3 on your behalf.
112172	//
112173	// UploadPolicy is automatically base64 encoded/decoded by the SDK.
112174	UploadPolicy []byte `locationName:"uploadPolicy" type:"blob"`
112175
112176	// The signature of the JSON document.
112177	UploadPolicySignature *string `locationName:"uploadPolicySignature" type:"string"`
112178}
112179
112180// String returns the string representation
112181func (s S3Storage) String() string {
112182	return awsutil.Prettify(s)
112183}
112184
112185// GoString returns the string representation
112186func (s S3Storage) GoString() string {
112187	return s.String()
112188}
112189
112190// SetAWSAccessKeyId sets the AWSAccessKeyId field's value.
112191func (s *S3Storage) SetAWSAccessKeyId(v string) *S3Storage {
112192	s.AWSAccessKeyId = &v
112193	return s
112194}
112195
112196// SetBucket sets the Bucket field's value.
112197func (s *S3Storage) SetBucket(v string) *S3Storage {
112198	s.Bucket = &v
112199	return s
112200}
112201
112202// SetPrefix sets the Prefix field's value.
112203func (s *S3Storage) SetPrefix(v string) *S3Storage {
112204	s.Prefix = &v
112205	return s
112206}
112207
112208// SetUploadPolicy sets the UploadPolicy field's value.
112209func (s *S3Storage) SetUploadPolicy(v []byte) *S3Storage {
112210	s.UploadPolicy = v
112211	return s
112212}
112213
112214// SetUploadPolicySignature sets the UploadPolicySignature field's value.
112215func (s *S3Storage) SetUploadPolicySignature(v string) *S3Storage {
112216	s.UploadPolicySignature = &v
112217	return s
112218}
112219
112220// Describes a Scheduled Instance.
112221type ScheduledInstance struct {
112222	_ struct{} `type:"structure"`
112223
112224	// The Availability Zone.
112225	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
112226
112227	// The date when the Scheduled Instance was purchased.
112228	CreateDate *time.Time `locationName:"createDate" type:"timestamp"`
112229
112230	// The hourly price for a single instance.
112231	HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
112232
112233	// The number of instances.
112234	InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
112235
112236	// The instance type.
112237	InstanceType *string `locationName:"instanceType" type:"string"`
112238
112239	// The network platform (EC2-Classic or EC2-VPC).
112240	NetworkPlatform *string `locationName:"networkPlatform" type:"string"`
112241
112242	// The time for the next schedule to start.
112243	NextSlotStartTime *time.Time `locationName:"nextSlotStartTime" type:"timestamp"`
112244
112245	// The platform (Linux/UNIX or Windows).
112246	Platform *string `locationName:"platform" type:"string"`
112247
112248	// The time that the previous schedule ended or will end.
112249	PreviousSlotEndTime *time.Time `locationName:"previousSlotEndTime" type:"timestamp"`
112250
112251	// The schedule recurrence.
112252	Recurrence *ScheduledInstanceRecurrence `locationName:"recurrence" type:"structure"`
112253
112254	// The Scheduled Instance ID.
112255	ScheduledInstanceId *string `locationName:"scheduledInstanceId" type:"string"`
112256
112257	// The number of hours in the schedule.
112258	SlotDurationInHours *int64 `locationName:"slotDurationInHours" type:"integer"`
112259
112260	// The end date for the Scheduled Instance.
112261	TermEndDate *time.Time `locationName:"termEndDate" type:"timestamp"`
112262
112263	// The start date for the Scheduled Instance.
112264	TermStartDate *time.Time `locationName:"termStartDate" type:"timestamp"`
112265
112266	// The total number of hours for a single instance for the entire term.
112267	TotalScheduledInstanceHours *int64 `locationName:"totalScheduledInstanceHours" type:"integer"`
112268}
112269
112270// String returns the string representation
112271func (s ScheduledInstance) String() string {
112272	return awsutil.Prettify(s)
112273}
112274
112275// GoString returns the string representation
112276func (s ScheduledInstance) GoString() string {
112277	return s.String()
112278}
112279
112280// SetAvailabilityZone sets the AvailabilityZone field's value.
112281func (s *ScheduledInstance) SetAvailabilityZone(v string) *ScheduledInstance {
112282	s.AvailabilityZone = &v
112283	return s
112284}
112285
112286// SetCreateDate sets the CreateDate field's value.
112287func (s *ScheduledInstance) SetCreateDate(v time.Time) *ScheduledInstance {
112288	s.CreateDate = &v
112289	return s
112290}
112291
112292// SetHourlyPrice sets the HourlyPrice field's value.
112293func (s *ScheduledInstance) SetHourlyPrice(v string) *ScheduledInstance {
112294	s.HourlyPrice = &v
112295	return s
112296}
112297
112298// SetInstanceCount sets the InstanceCount field's value.
112299func (s *ScheduledInstance) SetInstanceCount(v int64) *ScheduledInstance {
112300	s.InstanceCount = &v
112301	return s
112302}
112303
112304// SetInstanceType sets the InstanceType field's value.
112305func (s *ScheduledInstance) SetInstanceType(v string) *ScheduledInstance {
112306	s.InstanceType = &v
112307	return s
112308}
112309
112310// SetNetworkPlatform sets the NetworkPlatform field's value.
112311func (s *ScheduledInstance) SetNetworkPlatform(v string) *ScheduledInstance {
112312	s.NetworkPlatform = &v
112313	return s
112314}
112315
112316// SetNextSlotStartTime sets the NextSlotStartTime field's value.
112317func (s *ScheduledInstance) SetNextSlotStartTime(v time.Time) *ScheduledInstance {
112318	s.NextSlotStartTime = &v
112319	return s
112320}
112321
112322// SetPlatform sets the Platform field's value.
112323func (s *ScheduledInstance) SetPlatform(v string) *ScheduledInstance {
112324	s.Platform = &v
112325	return s
112326}
112327
112328// SetPreviousSlotEndTime sets the PreviousSlotEndTime field's value.
112329func (s *ScheduledInstance) SetPreviousSlotEndTime(v time.Time) *ScheduledInstance {
112330	s.PreviousSlotEndTime = &v
112331	return s
112332}
112333
112334// SetRecurrence sets the Recurrence field's value.
112335func (s *ScheduledInstance) SetRecurrence(v *ScheduledInstanceRecurrence) *ScheduledInstance {
112336	s.Recurrence = v
112337	return s
112338}
112339
112340// SetScheduledInstanceId sets the ScheduledInstanceId field's value.
112341func (s *ScheduledInstance) SetScheduledInstanceId(v string) *ScheduledInstance {
112342	s.ScheduledInstanceId = &v
112343	return s
112344}
112345
112346// SetSlotDurationInHours sets the SlotDurationInHours field's value.
112347func (s *ScheduledInstance) SetSlotDurationInHours(v int64) *ScheduledInstance {
112348	s.SlotDurationInHours = &v
112349	return s
112350}
112351
112352// SetTermEndDate sets the TermEndDate field's value.
112353func (s *ScheduledInstance) SetTermEndDate(v time.Time) *ScheduledInstance {
112354	s.TermEndDate = &v
112355	return s
112356}
112357
112358// SetTermStartDate sets the TermStartDate field's value.
112359func (s *ScheduledInstance) SetTermStartDate(v time.Time) *ScheduledInstance {
112360	s.TermStartDate = &v
112361	return s
112362}
112363
112364// SetTotalScheduledInstanceHours sets the TotalScheduledInstanceHours field's value.
112365func (s *ScheduledInstance) SetTotalScheduledInstanceHours(v int64) *ScheduledInstance {
112366	s.TotalScheduledInstanceHours = &v
112367	return s
112368}
112369
112370// Describes a schedule that is available for your Scheduled Instances.
112371type ScheduledInstanceAvailability struct {
112372	_ struct{} `type:"structure"`
112373
112374	// The Availability Zone.
112375	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
112376
112377	// The number of available instances.
112378	AvailableInstanceCount *int64 `locationName:"availableInstanceCount" type:"integer"`
112379
112380	// The time period for the first schedule to start.
112381	FirstSlotStartTime *time.Time `locationName:"firstSlotStartTime" type:"timestamp"`
112382
112383	// The hourly price for a single instance.
112384	HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
112385
112386	// The instance type. You can specify one of the C3, C4, M4, or R3 instance
112387	// types.
112388	InstanceType *string `locationName:"instanceType" type:"string"`
112389
112390	// The maximum term. The only possible value is 365 days.
112391	MaxTermDurationInDays *int64 `locationName:"maxTermDurationInDays" type:"integer"`
112392
112393	// The minimum term. The only possible value is 365 days.
112394	MinTermDurationInDays *int64 `locationName:"minTermDurationInDays" type:"integer"`
112395
112396	// The network platform (EC2-Classic or EC2-VPC).
112397	NetworkPlatform *string `locationName:"networkPlatform" type:"string"`
112398
112399	// The platform (Linux/UNIX or Windows).
112400	Platform *string `locationName:"platform" type:"string"`
112401
112402	// The purchase token. This token expires in two hours.
112403	PurchaseToken *string `locationName:"purchaseToken" type:"string"`
112404
112405	// The schedule recurrence.
112406	Recurrence *ScheduledInstanceRecurrence `locationName:"recurrence" type:"structure"`
112407
112408	// The number of hours in the schedule.
112409	SlotDurationInHours *int64 `locationName:"slotDurationInHours" type:"integer"`
112410
112411	// The total number of hours for a single instance for the entire term.
112412	TotalScheduledInstanceHours *int64 `locationName:"totalScheduledInstanceHours" type:"integer"`
112413}
112414
112415// String returns the string representation
112416func (s ScheduledInstanceAvailability) String() string {
112417	return awsutil.Prettify(s)
112418}
112419
112420// GoString returns the string representation
112421func (s ScheduledInstanceAvailability) GoString() string {
112422	return s.String()
112423}
112424
112425// SetAvailabilityZone sets the AvailabilityZone field's value.
112426func (s *ScheduledInstanceAvailability) SetAvailabilityZone(v string) *ScheduledInstanceAvailability {
112427	s.AvailabilityZone = &v
112428	return s
112429}
112430
112431// SetAvailableInstanceCount sets the AvailableInstanceCount field's value.
112432func (s *ScheduledInstanceAvailability) SetAvailableInstanceCount(v int64) *ScheduledInstanceAvailability {
112433	s.AvailableInstanceCount = &v
112434	return s
112435}
112436
112437// SetFirstSlotStartTime sets the FirstSlotStartTime field's value.
112438func (s *ScheduledInstanceAvailability) SetFirstSlotStartTime(v time.Time) *ScheduledInstanceAvailability {
112439	s.FirstSlotStartTime = &v
112440	return s
112441}
112442
112443// SetHourlyPrice sets the HourlyPrice field's value.
112444func (s *ScheduledInstanceAvailability) SetHourlyPrice(v string) *ScheduledInstanceAvailability {
112445	s.HourlyPrice = &v
112446	return s
112447}
112448
112449// SetInstanceType sets the InstanceType field's value.
112450func (s *ScheduledInstanceAvailability) SetInstanceType(v string) *ScheduledInstanceAvailability {
112451	s.InstanceType = &v
112452	return s
112453}
112454
112455// SetMaxTermDurationInDays sets the MaxTermDurationInDays field's value.
112456func (s *ScheduledInstanceAvailability) SetMaxTermDurationInDays(v int64) *ScheduledInstanceAvailability {
112457	s.MaxTermDurationInDays = &v
112458	return s
112459}
112460
112461// SetMinTermDurationInDays sets the MinTermDurationInDays field's value.
112462func (s *ScheduledInstanceAvailability) SetMinTermDurationInDays(v int64) *ScheduledInstanceAvailability {
112463	s.MinTermDurationInDays = &v
112464	return s
112465}
112466
112467// SetNetworkPlatform sets the NetworkPlatform field's value.
112468func (s *ScheduledInstanceAvailability) SetNetworkPlatform(v string) *ScheduledInstanceAvailability {
112469	s.NetworkPlatform = &v
112470	return s
112471}
112472
112473// SetPlatform sets the Platform field's value.
112474func (s *ScheduledInstanceAvailability) SetPlatform(v string) *ScheduledInstanceAvailability {
112475	s.Platform = &v
112476	return s
112477}
112478
112479// SetPurchaseToken sets the PurchaseToken field's value.
112480func (s *ScheduledInstanceAvailability) SetPurchaseToken(v string) *ScheduledInstanceAvailability {
112481	s.PurchaseToken = &v
112482	return s
112483}
112484
112485// SetRecurrence sets the Recurrence field's value.
112486func (s *ScheduledInstanceAvailability) SetRecurrence(v *ScheduledInstanceRecurrence) *ScheduledInstanceAvailability {
112487	s.Recurrence = v
112488	return s
112489}
112490
112491// SetSlotDurationInHours sets the SlotDurationInHours field's value.
112492func (s *ScheduledInstanceAvailability) SetSlotDurationInHours(v int64) *ScheduledInstanceAvailability {
112493	s.SlotDurationInHours = &v
112494	return s
112495}
112496
112497// SetTotalScheduledInstanceHours sets the TotalScheduledInstanceHours field's value.
112498func (s *ScheduledInstanceAvailability) SetTotalScheduledInstanceHours(v int64) *ScheduledInstanceAvailability {
112499	s.TotalScheduledInstanceHours = &v
112500	return s
112501}
112502
112503// Describes the recurring schedule for a Scheduled Instance.
112504type ScheduledInstanceRecurrence struct {
112505	_ struct{} `type:"structure"`
112506
112507	// The frequency (Daily, Weekly, or Monthly).
112508	Frequency *string `locationName:"frequency" type:"string"`
112509
112510	// The interval quantity. The interval unit depends on the value of frequency.
112511	// For example, every 2 weeks or every 2 months.
112512	Interval *int64 `locationName:"interval" type:"integer"`
112513
112514	// The days. For a monthly schedule, this is one or more days of the month (1-31).
112515	// For a weekly schedule, this is one or more days of the week (1-7, where 1
112516	// is Sunday).
112517	OccurrenceDaySet []*int64 `locationName:"occurrenceDaySet" locationNameList:"item" type:"list"`
112518
112519	// Indicates whether the occurrence is relative to the end of the specified
112520	// week or month.
112521	OccurrenceRelativeToEnd *bool `locationName:"occurrenceRelativeToEnd" type:"boolean"`
112522
112523	// The unit for occurrenceDaySet (DayOfWeek or DayOfMonth).
112524	OccurrenceUnit *string `locationName:"occurrenceUnit" type:"string"`
112525}
112526
112527// String returns the string representation
112528func (s ScheduledInstanceRecurrence) String() string {
112529	return awsutil.Prettify(s)
112530}
112531
112532// GoString returns the string representation
112533func (s ScheduledInstanceRecurrence) GoString() string {
112534	return s.String()
112535}
112536
112537// SetFrequency sets the Frequency field's value.
112538func (s *ScheduledInstanceRecurrence) SetFrequency(v string) *ScheduledInstanceRecurrence {
112539	s.Frequency = &v
112540	return s
112541}
112542
112543// SetInterval sets the Interval field's value.
112544func (s *ScheduledInstanceRecurrence) SetInterval(v int64) *ScheduledInstanceRecurrence {
112545	s.Interval = &v
112546	return s
112547}
112548
112549// SetOccurrenceDaySet sets the OccurrenceDaySet field's value.
112550func (s *ScheduledInstanceRecurrence) SetOccurrenceDaySet(v []*int64) *ScheduledInstanceRecurrence {
112551	s.OccurrenceDaySet = v
112552	return s
112553}
112554
112555// SetOccurrenceRelativeToEnd sets the OccurrenceRelativeToEnd field's value.
112556func (s *ScheduledInstanceRecurrence) SetOccurrenceRelativeToEnd(v bool) *ScheduledInstanceRecurrence {
112557	s.OccurrenceRelativeToEnd = &v
112558	return s
112559}
112560
112561// SetOccurrenceUnit sets the OccurrenceUnit field's value.
112562func (s *ScheduledInstanceRecurrence) SetOccurrenceUnit(v string) *ScheduledInstanceRecurrence {
112563	s.OccurrenceUnit = &v
112564	return s
112565}
112566
112567// Describes the recurring schedule for a Scheduled Instance.
112568type ScheduledInstanceRecurrenceRequest struct {
112569	_ struct{} `type:"structure"`
112570
112571	// The frequency (Daily, Weekly, or Monthly).
112572	Frequency *string `type:"string"`
112573
112574	// The interval quantity. The interval unit depends on the value of Frequency.
112575	// For example, every 2 weeks or every 2 months.
112576	Interval *int64 `type:"integer"`
112577
112578	// The days. For a monthly schedule, this is one or more days of the month (1-31).
112579	// For a weekly schedule, this is one or more days of the week (1-7, where 1
112580	// is Sunday). You can't specify this value with a daily schedule. If the occurrence
112581	// is relative to the end of the month, you can specify only a single day.
112582	OccurrenceDays []*int64 `locationName:"OccurrenceDay" locationNameList:"OccurenceDay" type:"list"`
112583
112584	// Indicates whether the occurrence is relative to the end of the specified
112585	// week or month. You can't specify this value with a daily schedule.
112586	OccurrenceRelativeToEnd *bool `type:"boolean"`
112587
112588	// The unit for OccurrenceDays (DayOfWeek or DayOfMonth). This value is required
112589	// for a monthly schedule. You can't specify DayOfWeek with a weekly schedule.
112590	// You can't specify this value with a daily schedule.
112591	OccurrenceUnit *string `type:"string"`
112592}
112593
112594// String returns the string representation
112595func (s ScheduledInstanceRecurrenceRequest) String() string {
112596	return awsutil.Prettify(s)
112597}
112598
112599// GoString returns the string representation
112600func (s ScheduledInstanceRecurrenceRequest) GoString() string {
112601	return s.String()
112602}
112603
112604// SetFrequency sets the Frequency field's value.
112605func (s *ScheduledInstanceRecurrenceRequest) SetFrequency(v string) *ScheduledInstanceRecurrenceRequest {
112606	s.Frequency = &v
112607	return s
112608}
112609
112610// SetInterval sets the Interval field's value.
112611func (s *ScheduledInstanceRecurrenceRequest) SetInterval(v int64) *ScheduledInstanceRecurrenceRequest {
112612	s.Interval = &v
112613	return s
112614}
112615
112616// SetOccurrenceDays sets the OccurrenceDays field's value.
112617func (s *ScheduledInstanceRecurrenceRequest) SetOccurrenceDays(v []*int64) *ScheduledInstanceRecurrenceRequest {
112618	s.OccurrenceDays = v
112619	return s
112620}
112621
112622// SetOccurrenceRelativeToEnd sets the OccurrenceRelativeToEnd field's value.
112623func (s *ScheduledInstanceRecurrenceRequest) SetOccurrenceRelativeToEnd(v bool) *ScheduledInstanceRecurrenceRequest {
112624	s.OccurrenceRelativeToEnd = &v
112625	return s
112626}
112627
112628// SetOccurrenceUnit sets the OccurrenceUnit field's value.
112629func (s *ScheduledInstanceRecurrenceRequest) SetOccurrenceUnit(v string) *ScheduledInstanceRecurrenceRequest {
112630	s.OccurrenceUnit = &v
112631	return s
112632}
112633
112634// Describes a block device mapping for a Scheduled Instance.
112635type ScheduledInstancesBlockDeviceMapping struct {
112636	_ struct{} `type:"structure"`
112637
112638	// The device name (for example, /dev/sdh or xvdh).
112639	DeviceName *string `type:"string"`
112640
112641	// Parameters used to set up EBS volumes automatically when the instance is
112642	// launched.
112643	Ebs *ScheduledInstancesEbs `type:"structure"`
112644
112645	// To omit the device from the block device mapping, specify an empty string.
112646	NoDevice *string `type:"string"`
112647
112648	// The virtual device name (ephemeralN). Instance store volumes are numbered
112649	// starting from 0. An instance type with two available instance store volumes
112650	// can specify mappings for ephemeral0 and ephemeral1. The number of available
112651	// instance store volumes depends on the instance type. After you connect to
112652	// the instance, you must mount the volume.
112653	//
112654	// Constraints: For M3 instances, you must specify instance store volumes in
112655	// the block device mapping for the instance. When you launch an M3 instance,
112656	// we ignore any instance store volumes specified in the block device mapping
112657	// for the AMI.
112658	VirtualName *string `type:"string"`
112659}
112660
112661// String returns the string representation
112662func (s ScheduledInstancesBlockDeviceMapping) String() string {
112663	return awsutil.Prettify(s)
112664}
112665
112666// GoString returns the string representation
112667func (s ScheduledInstancesBlockDeviceMapping) GoString() string {
112668	return s.String()
112669}
112670
112671// SetDeviceName sets the DeviceName field's value.
112672func (s *ScheduledInstancesBlockDeviceMapping) SetDeviceName(v string) *ScheduledInstancesBlockDeviceMapping {
112673	s.DeviceName = &v
112674	return s
112675}
112676
112677// SetEbs sets the Ebs field's value.
112678func (s *ScheduledInstancesBlockDeviceMapping) SetEbs(v *ScheduledInstancesEbs) *ScheduledInstancesBlockDeviceMapping {
112679	s.Ebs = v
112680	return s
112681}
112682
112683// SetNoDevice sets the NoDevice field's value.
112684func (s *ScheduledInstancesBlockDeviceMapping) SetNoDevice(v string) *ScheduledInstancesBlockDeviceMapping {
112685	s.NoDevice = &v
112686	return s
112687}
112688
112689// SetVirtualName sets the VirtualName field's value.
112690func (s *ScheduledInstancesBlockDeviceMapping) SetVirtualName(v string) *ScheduledInstancesBlockDeviceMapping {
112691	s.VirtualName = &v
112692	return s
112693}
112694
112695// Describes an EBS volume for a Scheduled Instance.
112696type ScheduledInstancesEbs struct {
112697	_ struct{} `type:"structure"`
112698
112699	// Indicates whether the volume is deleted on instance termination.
112700	DeleteOnTermination *bool `type:"boolean"`
112701
112702	// Indicates whether the volume is encrypted. You can attached encrypted volumes
112703	// only to instances that support them.
112704	Encrypted *bool `type:"boolean"`
112705
112706	// The number of I/O operations per second (IOPS) to provision for an io1 or
112707	// io2 volume, with a maximum ratio of 50 IOPS/GiB for io1, and 500 IOPS/GiB
112708	// for io2. Range is 100 to 64,000 IOPS for volumes in most Regions. Maximum
112709	// IOPS of 64,000 is guaranteed only on instances built on the Nitro System
112710	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances).
112711	// Other instance families guarantee performance up to 32,000 IOPS. For more
112712	// information, see Amazon EBS volume types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
112713	// in the Amazon EC2 User Guide.
112714	//
112715	// This parameter is valid only for Provisioned IOPS SSD (io1 and io2) volumes.
112716	Iops *int64 `type:"integer"`
112717
112718	// The ID of the snapshot.
112719	SnapshotId *string `type:"string"`
112720
112721	// The size of the volume, in GiB.
112722	//
112723	// Default: If you're creating the volume from a snapshot and don't specify
112724	// a volume size, the default is the snapshot size.
112725	VolumeSize *int64 `type:"integer"`
112726
112727	// The volume type. gp2 for General Purpose SSD, io1 or io2 for Provisioned
112728	// IOPS SSD, Throughput Optimized HDD for st1, Cold HDD for sc1, or standard
112729	// for Magnetic.
112730	//
112731	// Default: gp2
112732	VolumeType *string `type:"string"`
112733}
112734
112735// String returns the string representation
112736func (s ScheduledInstancesEbs) String() string {
112737	return awsutil.Prettify(s)
112738}
112739
112740// GoString returns the string representation
112741func (s ScheduledInstancesEbs) GoString() string {
112742	return s.String()
112743}
112744
112745// SetDeleteOnTermination sets the DeleteOnTermination field's value.
112746func (s *ScheduledInstancesEbs) SetDeleteOnTermination(v bool) *ScheduledInstancesEbs {
112747	s.DeleteOnTermination = &v
112748	return s
112749}
112750
112751// SetEncrypted sets the Encrypted field's value.
112752func (s *ScheduledInstancesEbs) SetEncrypted(v bool) *ScheduledInstancesEbs {
112753	s.Encrypted = &v
112754	return s
112755}
112756
112757// SetIops sets the Iops field's value.
112758func (s *ScheduledInstancesEbs) SetIops(v int64) *ScheduledInstancesEbs {
112759	s.Iops = &v
112760	return s
112761}
112762
112763// SetSnapshotId sets the SnapshotId field's value.
112764func (s *ScheduledInstancesEbs) SetSnapshotId(v string) *ScheduledInstancesEbs {
112765	s.SnapshotId = &v
112766	return s
112767}
112768
112769// SetVolumeSize sets the VolumeSize field's value.
112770func (s *ScheduledInstancesEbs) SetVolumeSize(v int64) *ScheduledInstancesEbs {
112771	s.VolumeSize = &v
112772	return s
112773}
112774
112775// SetVolumeType sets the VolumeType field's value.
112776func (s *ScheduledInstancesEbs) SetVolumeType(v string) *ScheduledInstancesEbs {
112777	s.VolumeType = &v
112778	return s
112779}
112780
112781// Describes an IAM instance profile for a Scheduled Instance.
112782type ScheduledInstancesIamInstanceProfile struct {
112783	_ struct{} `type:"structure"`
112784
112785	// The Amazon Resource Name (ARN).
112786	Arn *string `type:"string"`
112787
112788	// The name.
112789	Name *string `type:"string"`
112790}
112791
112792// String returns the string representation
112793func (s ScheduledInstancesIamInstanceProfile) String() string {
112794	return awsutil.Prettify(s)
112795}
112796
112797// GoString returns the string representation
112798func (s ScheduledInstancesIamInstanceProfile) GoString() string {
112799	return s.String()
112800}
112801
112802// SetArn sets the Arn field's value.
112803func (s *ScheduledInstancesIamInstanceProfile) SetArn(v string) *ScheduledInstancesIamInstanceProfile {
112804	s.Arn = &v
112805	return s
112806}
112807
112808// SetName sets the Name field's value.
112809func (s *ScheduledInstancesIamInstanceProfile) SetName(v string) *ScheduledInstancesIamInstanceProfile {
112810	s.Name = &v
112811	return s
112812}
112813
112814// Describes an IPv6 address.
112815type ScheduledInstancesIpv6Address struct {
112816	_ struct{} `type:"structure"`
112817
112818	// The IPv6 address.
112819	Ipv6Address *string `type:"string"`
112820}
112821
112822// String returns the string representation
112823func (s ScheduledInstancesIpv6Address) String() string {
112824	return awsutil.Prettify(s)
112825}
112826
112827// GoString returns the string representation
112828func (s ScheduledInstancesIpv6Address) GoString() string {
112829	return s.String()
112830}
112831
112832// SetIpv6Address sets the Ipv6Address field's value.
112833func (s *ScheduledInstancesIpv6Address) SetIpv6Address(v string) *ScheduledInstancesIpv6Address {
112834	s.Ipv6Address = &v
112835	return s
112836}
112837
112838// Describes the launch specification for a Scheduled Instance.
112839//
112840// If you are launching the Scheduled Instance in EC2-VPC, you must specify
112841// the ID of the subnet. You can specify the subnet using either SubnetId or
112842// NetworkInterface.
112843type ScheduledInstancesLaunchSpecification struct {
112844	_ struct{} `type:"structure"`
112845
112846	// The block device mapping entries.
112847	BlockDeviceMappings []*ScheduledInstancesBlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
112848
112849	// Indicates whether the instances are optimized for EBS I/O. This optimization
112850	// provides dedicated throughput to Amazon EBS and an optimized configuration
112851	// stack to provide optimal EBS I/O performance. This optimization isn't available
112852	// with all instance types. Additional usage charges apply when using an EBS-optimized
112853	// instance.
112854	//
112855	// Default: false
112856	EbsOptimized *bool `type:"boolean"`
112857
112858	// The IAM instance profile.
112859	IamInstanceProfile *ScheduledInstancesIamInstanceProfile `type:"structure"`
112860
112861	// The ID of the Amazon Machine Image (AMI).
112862	//
112863	// ImageId is a required field
112864	ImageId *string `type:"string" required:"true"`
112865
112866	// The instance type.
112867	InstanceType *string `type:"string"`
112868
112869	// The ID of the kernel.
112870	KernelId *string `type:"string"`
112871
112872	// The name of the key pair.
112873	KeyName *string `type:"string"`
112874
112875	// Enable or disable monitoring for the instances.
112876	Monitoring *ScheduledInstancesMonitoring `type:"structure"`
112877
112878	// The network interfaces.
112879	NetworkInterfaces []*ScheduledInstancesNetworkInterface `locationName:"NetworkInterface" locationNameList:"NetworkInterface" type:"list"`
112880
112881	// The placement information.
112882	Placement *ScheduledInstancesPlacement `type:"structure"`
112883
112884	// The ID of the RAM disk.
112885	RamdiskId *string `type:"string"`
112886
112887	// The IDs of the security groups.
112888	SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
112889
112890	// The ID of the subnet in which to launch the instances.
112891	SubnetId *string `type:"string"`
112892
112893	// The base64-encoded MIME user data.
112894	UserData *string `type:"string"`
112895}
112896
112897// String returns the string representation
112898func (s ScheduledInstancesLaunchSpecification) String() string {
112899	return awsutil.Prettify(s)
112900}
112901
112902// GoString returns the string representation
112903func (s ScheduledInstancesLaunchSpecification) GoString() string {
112904	return s.String()
112905}
112906
112907// Validate inspects the fields of the type to determine if they are valid.
112908func (s *ScheduledInstancesLaunchSpecification) Validate() error {
112909	invalidParams := request.ErrInvalidParams{Context: "ScheduledInstancesLaunchSpecification"}
112910	if s.ImageId == nil {
112911		invalidParams.Add(request.NewErrParamRequired("ImageId"))
112912	}
112913
112914	if invalidParams.Len() > 0 {
112915		return invalidParams
112916	}
112917	return nil
112918}
112919
112920// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
112921func (s *ScheduledInstancesLaunchSpecification) SetBlockDeviceMappings(v []*ScheduledInstancesBlockDeviceMapping) *ScheduledInstancesLaunchSpecification {
112922	s.BlockDeviceMappings = v
112923	return s
112924}
112925
112926// SetEbsOptimized sets the EbsOptimized field's value.
112927func (s *ScheduledInstancesLaunchSpecification) SetEbsOptimized(v bool) *ScheduledInstancesLaunchSpecification {
112928	s.EbsOptimized = &v
112929	return s
112930}
112931
112932// SetIamInstanceProfile sets the IamInstanceProfile field's value.
112933func (s *ScheduledInstancesLaunchSpecification) SetIamInstanceProfile(v *ScheduledInstancesIamInstanceProfile) *ScheduledInstancesLaunchSpecification {
112934	s.IamInstanceProfile = v
112935	return s
112936}
112937
112938// SetImageId sets the ImageId field's value.
112939func (s *ScheduledInstancesLaunchSpecification) SetImageId(v string) *ScheduledInstancesLaunchSpecification {
112940	s.ImageId = &v
112941	return s
112942}
112943
112944// SetInstanceType sets the InstanceType field's value.
112945func (s *ScheduledInstancesLaunchSpecification) SetInstanceType(v string) *ScheduledInstancesLaunchSpecification {
112946	s.InstanceType = &v
112947	return s
112948}
112949
112950// SetKernelId sets the KernelId field's value.
112951func (s *ScheduledInstancesLaunchSpecification) SetKernelId(v string) *ScheduledInstancesLaunchSpecification {
112952	s.KernelId = &v
112953	return s
112954}
112955
112956// SetKeyName sets the KeyName field's value.
112957func (s *ScheduledInstancesLaunchSpecification) SetKeyName(v string) *ScheduledInstancesLaunchSpecification {
112958	s.KeyName = &v
112959	return s
112960}
112961
112962// SetMonitoring sets the Monitoring field's value.
112963func (s *ScheduledInstancesLaunchSpecification) SetMonitoring(v *ScheduledInstancesMonitoring) *ScheduledInstancesLaunchSpecification {
112964	s.Monitoring = v
112965	return s
112966}
112967
112968// SetNetworkInterfaces sets the NetworkInterfaces field's value.
112969func (s *ScheduledInstancesLaunchSpecification) SetNetworkInterfaces(v []*ScheduledInstancesNetworkInterface) *ScheduledInstancesLaunchSpecification {
112970	s.NetworkInterfaces = v
112971	return s
112972}
112973
112974// SetPlacement sets the Placement field's value.
112975func (s *ScheduledInstancesLaunchSpecification) SetPlacement(v *ScheduledInstancesPlacement) *ScheduledInstancesLaunchSpecification {
112976	s.Placement = v
112977	return s
112978}
112979
112980// SetRamdiskId sets the RamdiskId field's value.
112981func (s *ScheduledInstancesLaunchSpecification) SetRamdiskId(v string) *ScheduledInstancesLaunchSpecification {
112982	s.RamdiskId = &v
112983	return s
112984}
112985
112986// SetSecurityGroupIds sets the SecurityGroupIds field's value.
112987func (s *ScheduledInstancesLaunchSpecification) SetSecurityGroupIds(v []*string) *ScheduledInstancesLaunchSpecification {
112988	s.SecurityGroupIds = v
112989	return s
112990}
112991
112992// SetSubnetId sets the SubnetId field's value.
112993func (s *ScheduledInstancesLaunchSpecification) SetSubnetId(v string) *ScheduledInstancesLaunchSpecification {
112994	s.SubnetId = &v
112995	return s
112996}
112997
112998// SetUserData sets the UserData field's value.
112999func (s *ScheduledInstancesLaunchSpecification) SetUserData(v string) *ScheduledInstancesLaunchSpecification {
113000	s.UserData = &v
113001	return s
113002}
113003
113004// Describes whether monitoring is enabled for a Scheduled Instance.
113005type ScheduledInstancesMonitoring struct {
113006	_ struct{} `type:"structure"`
113007
113008	// Indicates whether monitoring is enabled.
113009	Enabled *bool `type:"boolean"`
113010}
113011
113012// String returns the string representation
113013func (s ScheduledInstancesMonitoring) String() string {
113014	return awsutil.Prettify(s)
113015}
113016
113017// GoString returns the string representation
113018func (s ScheduledInstancesMonitoring) GoString() string {
113019	return s.String()
113020}
113021
113022// SetEnabled sets the Enabled field's value.
113023func (s *ScheduledInstancesMonitoring) SetEnabled(v bool) *ScheduledInstancesMonitoring {
113024	s.Enabled = &v
113025	return s
113026}
113027
113028// Describes a network interface for a Scheduled Instance.
113029type ScheduledInstancesNetworkInterface struct {
113030	_ struct{} `type:"structure"`
113031
113032	// Indicates whether to assign a public IPv4 address to instances launched in
113033	// a VPC. The public IPv4 address can only be assigned to a network interface
113034	// for eth0, and can only be assigned to a new network interface, not an existing
113035	// one. You cannot specify more than one network interface in the request. If
113036	// launching into a default subnet, the default value is true.
113037	AssociatePublicIpAddress *bool `type:"boolean"`
113038
113039	// Indicates whether to delete the interface when the instance is terminated.
113040	DeleteOnTermination *bool `type:"boolean"`
113041
113042	// The description.
113043	Description *string `type:"string"`
113044
113045	// The index of the device for the network interface attachment.
113046	DeviceIndex *int64 `type:"integer"`
113047
113048	// The IDs of the security groups.
113049	Groups []*string `locationName:"Group" locationNameList:"SecurityGroupId" type:"list"`
113050
113051	// The number of IPv6 addresses to assign to the network interface. The IPv6
113052	// addresses are automatically selected from the subnet range.
113053	Ipv6AddressCount *int64 `type:"integer"`
113054
113055	// The specific IPv6 addresses from the subnet range.
113056	Ipv6Addresses []*ScheduledInstancesIpv6Address `locationName:"Ipv6Address" locationNameList:"Ipv6Address" type:"list"`
113057
113058	// The ID of the network interface.
113059	NetworkInterfaceId *string `type:"string"`
113060
113061	// The IPv4 address of the network interface within the subnet.
113062	PrivateIpAddress *string `type:"string"`
113063
113064	// The private IPv4 addresses.
113065	PrivateIpAddressConfigs []*ScheduledInstancesPrivateIpAddressConfig `locationName:"PrivateIpAddressConfig" locationNameList:"PrivateIpAddressConfigSet" type:"list"`
113066
113067	// The number of secondary private IPv4 addresses.
113068	SecondaryPrivateIpAddressCount *int64 `type:"integer"`
113069
113070	// The ID of the subnet.
113071	SubnetId *string `type:"string"`
113072}
113073
113074// String returns the string representation
113075func (s ScheduledInstancesNetworkInterface) String() string {
113076	return awsutil.Prettify(s)
113077}
113078
113079// GoString returns the string representation
113080func (s ScheduledInstancesNetworkInterface) GoString() string {
113081	return s.String()
113082}
113083
113084// SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
113085func (s *ScheduledInstancesNetworkInterface) SetAssociatePublicIpAddress(v bool) *ScheduledInstancesNetworkInterface {
113086	s.AssociatePublicIpAddress = &v
113087	return s
113088}
113089
113090// SetDeleteOnTermination sets the DeleteOnTermination field's value.
113091func (s *ScheduledInstancesNetworkInterface) SetDeleteOnTermination(v bool) *ScheduledInstancesNetworkInterface {
113092	s.DeleteOnTermination = &v
113093	return s
113094}
113095
113096// SetDescription sets the Description field's value.
113097func (s *ScheduledInstancesNetworkInterface) SetDescription(v string) *ScheduledInstancesNetworkInterface {
113098	s.Description = &v
113099	return s
113100}
113101
113102// SetDeviceIndex sets the DeviceIndex field's value.
113103func (s *ScheduledInstancesNetworkInterface) SetDeviceIndex(v int64) *ScheduledInstancesNetworkInterface {
113104	s.DeviceIndex = &v
113105	return s
113106}
113107
113108// SetGroups sets the Groups field's value.
113109func (s *ScheduledInstancesNetworkInterface) SetGroups(v []*string) *ScheduledInstancesNetworkInterface {
113110	s.Groups = v
113111	return s
113112}
113113
113114// SetIpv6AddressCount sets the Ipv6AddressCount field's value.
113115func (s *ScheduledInstancesNetworkInterface) SetIpv6AddressCount(v int64) *ScheduledInstancesNetworkInterface {
113116	s.Ipv6AddressCount = &v
113117	return s
113118}
113119
113120// SetIpv6Addresses sets the Ipv6Addresses field's value.
113121func (s *ScheduledInstancesNetworkInterface) SetIpv6Addresses(v []*ScheduledInstancesIpv6Address) *ScheduledInstancesNetworkInterface {
113122	s.Ipv6Addresses = v
113123	return s
113124}
113125
113126// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
113127func (s *ScheduledInstancesNetworkInterface) SetNetworkInterfaceId(v string) *ScheduledInstancesNetworkInterface {
113128	s.NetworkInterfaceId = &v
113129	return s
113130}
113131
113132// SetPrivateIpAddress sets the PrivateIpAddress field's value.
113133func (s *ScheduledInstancesNetworkInterface) SetPrivateIpAddress(v string) *ScheduledInstancesNetworkInterface {
113134	s.PrivateIpAddress = &v
113135	return s
113136}
113137
113138// SetPrivateIpAddressConfigs sets the PrivateIpAddressConfigs field's value.
113139func (s *ScheduledInstancesNetworkInterface) SetPrivateIpAddressConfigs(v []*ScheduledInstancesPrivateIpAddressConfig) *ScheduledInstancesNetworkInterface {
113140	s.PrivateIpAddressConfigs = v
113141	return s
113142}
113143
113144// SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
113145func (s *ScheduledInstancesNetworkInterface) SetSecondaryPrivateIpAddressCount(v int64) *ScheduledInstancesNetworkInterface {
113146	s.SecondaryPrivateIpAddressCount = &v
113147	return s
113148}
113149
113150// SetSubnetId sets the SubnetId field's value.
113151func (s *ScheduledInstancesNetworkInterface) SetSubnetId(v string) *ScheduledInstancesNetworkInterface {
113152	s.SubnetId = &v
113153	return s
113154}
113155
113156// Describes the placement for a Scheduled Instance.
113157type ScheduledInstancesPlacement struct {
113158	_ struct{} `type:"structure"`
113159
113160	// The Availability Zone.
113161	AvailabilityZone *string `type:"string"`
113162
113163	// The name of the placement group.
113164	GroupName *string `type:"string"`
113165}
113166
113167// String returns the string representation
113168func (s ScheduledInstancesPlacement) String() string {
113169	return awsutil.Prettify(s)
113170}
113171
113172// GoString returns the string representation
113173func (s ScheduledInstancesPlacement) GoString() string {
113174	return s.String()
113175}
113176
113177// SetAvailabilityZone sets the AvailabilityZone field's value.
113178func (s *ScheduledInstancesPlacement) SetAvailabilityZone(v string) *ScheduledInstancesPlacement {
113179	s.AvailabilityZone = &v
113180	return s
113181}
113182
113183// SetGroupName sets the GroupName field's value.
113184func (s *ScheduledInstancesPlacement) SetGroupName(v string) *ScheduledInstancesPlacement {
113185	s.GroupName = &v
113186	return s
113187}
113188
113189// Describes a private IPv4 address for a Scheduled Instance.
113190type ScheduledInstancesPrivateIpAddressConfig struct {
113191	_ struct{} `type:"structure"`
113192
113193	// Indicates whether this is a primary IPv4 address. Otherwise, this is a secondary
113194	// IPv4 address.
113195	Primary *bool `type:"boolean"`
113196
113197	// The IPv4 address.
113198	PrivateIpAddress *string `type:"string"`
113199}
113200
113201// String returns the string representation
113202func (s ScheduledInstancesPrivateIpAddressConfig) String() string {
113203	return awsutil.Prettify(s)
113204}
113205
113206// GoString returns the string representation
113207func (s ScheduledInstancesPrivateIpAddressConfig) GoString() string {
113208	return s.String()
113209}
113210
113211// SetPrimary sets the Primary field's value.
113212func (s *ScheduledInstancesPrivateIpAddressConfig) SetPrimary(v bool) *ScheduledInstancesPrivateIpAddressConfig {
113213	s.Primary = &v
113214	return s
113215}
113216
113217// SetPrivateIpAddress sets the PrivateIpAddress field's value.
113218func (s *ScheduledInstancesPrivateIpAddressConfig) SetPrivateIpAddress(v string) *ScheduledInstancesPrivateIpAddressConfig {
113219	s.PrivateIpAddress = &v
113220	return s
113221}
113222
113223type SearchLocalGatewayRoutesInput struct {
113224	_ struct{} `type:"structure"`
113225
113226	// Checks whether you have the required permissions for the action, without
113227	// actually making the request, and provides an error response. If you have
113228	// the required permissions, the error response is DryRunOperation. Otherwise,
113229	// it is UnauthorizedOperation.
113230	DryRun *bool `type:"boolean"`
113231
113232	// One or more filters.
113233	//
113234	// Filters is a required field
113235	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list" required:"true"`
113236
113237	// The ID of the local gateway route table.
113238	//
113239	// LocalGatewayRouteTableId is a required field
113240	LocalGatewayRouteTableId *string `type:"string" required:"true"`
113241
113242	// The maximum number of results to return with a single call. To retrieve the
113243	// remaining results, make another call with the returned nextToken value.
113244	MaxResults *int64 `type:"integer"`
113245
113246	// The token for the next page of results.
113247	NextToken *string `type:"string"`
113248}
113249
113250// String returns the string representation
113251func (s SearchLocalGatewayRoutesInput) String() string {
113252	return awsutil.Prettify(s)
113253}
113254
113255// GoString returns the string representation
113256func (s SearchLocalGatewayRoutesInput) GoString() string {
113257	return s.String()
113258}
113259
113260// Validate inspects the fields of the type to determine if they are valid.
113261func (s *SearchLocalGatewayRoutesInput) Validate() error {
113262	invalidParams := request.ErrInvalidParams{Context: "SearchLocalGatewayRoutesInput"}
113263	if s.Filters == nil {
113264		invalidParams.Add(request.NewErrParamRequired("Filters"))
113265	}
113266	if s.LocalGatewayRouteTableId == nil {
113267		invalidParams.Add(request.NewErrParamRequired("LocalGatewayRouteTableId"))
113268	}
113269
113270	if invalidParams.Len() > 0 {
113271		return invalidParams
113272	}
113273	return nil
113274}
113275
113276// SetDryRun sets the DryRun field's value.
113277func (s *SearchLocalGatewayRoutesInput) SetDryRun(v bool) *SearchLocalGatewayRoutesInput {
113278	s.DryRun = &v
113279	return s
113280}
113281
113282// SetFilters sets the Filters field's value.
113283func (s *SearchLocalGatewayRoutesInput) SetFilters(v []*Filter) *SearchLocalGatewayRoutesInput {
113284	s.Filters = v
113285	return s
113286}
113287
113288// SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
113289func (s *SearchLocalGatewayRoutesInput) SetLocalGatewayRouteTableId(v string) *SearchLocalGatewayRoutesInput {
113290	s.LocalGatewayRouteTableId = &v
113291	return s
113292}
113293
113294// SetMaxResults sets the MaxResults field's value.
113295func (s *SearchLocalGatewayRoutesInput) SetMaxResults(v int64) *SearchLocalGatewayRoutesInput {
113296	s.MaxResults = &v
113297	return s
113298}
113299
113300// SetNextToken sets the NextToken field's value.
113301func (s *SearchLocalGatewayRoutesInput) SetNextToken(v string) *SearchLocalGatewayRoutesInput {
113302	s.NextToken = &v
113303	return s
113304}
113305
113306type SearchLocalGatewayRoutesOutput struct {
113307	_ struct{} `type:"structure"`
113308
113309	// The token to use to retrieve the next page of results. This value is null
113310	// when there are no more results to return.
113311	NextToken *string `locationName:"nextToken" type:"string"`
113312
113313	// Information about the routes.
113314	Routes []*LocalGatewayRoute `locationName:"routeSet" locationNameList:"item" type:"list"`
113315}
113316
113317// String returns the string representation
113318func (s SearchLocalGatewayRoutesOutput) String() string {
113319	return awsutil.Prettify(s)
113320}
113321
113322// GoString returns the string representation
113323func (s SearchLocalGatewayRoutesOutput) GoString() string {
113324	return s.String()
113325}
113326
113327// SetNextToken sets the NextToken field's value.
113328func (s *SearchLocalGatewayRoutesOutput) SetNextToken(v string) *SearchLocalGatewayRoutesOutput {
113329	s.NextToken = &v
113330	return s
113331}
113332
113333// SetRoutes sets the Routes field's value.
113334func (s *SearchLocalGatewayRoutesOutput) SetRoutes(v []*LocalGatewayRoute) *SearchLocalGatewayRoutesOutput {
113335	s.Routes = v
113336	return s
113337}
113338
113339type SearchTransitGatewayMulticastGroupsInput struct {
113340	_ struct{} `type:"structure"`
113341
113342	// Checks whether you have the required permissions for the action, without
113343	// actually making the request, and provides an error response. If you have
113344	// the required permissions, the error response is DryRunOperation. Otherwise,
113345	// it is UnauthorizedOperation.
113346	DryRun *bool `type:"boolean"`
113347
113348	// One or more filters. The possible values are:
113349	//
113350	//    * group-ip-address - The IP address of the transit gateway multicast group.
113351	//
113352	//    * is-group-member - The resource is a group member. Valid values are true
113353	//    | false.
113354	//
113355	//    * is-group-source - The resource is a group source. Valid values are true
113356	//    | false.
113357	//
113358	//    * member-type - The member type. Valid values are igmp | static.
113359	//
113360	//    * resource-id - The ID of the resource.
113361	//
113362	//    * resource-type - The type of resource. Valid values are vpc | vpn | direct-connect-gateway
113363	//    | tgw-peering.
113364	//
113365	//    * source-type - The source type. Valid values are igmp | static.
113366	//
113367	//    * state - The state of the subnet association. Valid values are associated
113368	//    | associated | disassociated | disassociating.
113369	//
113370	//    * subnet-id - The ID of the subnet.
113371	//
113372	//    * transit-gateway-attachment-id - The id of the transit gateway attachment.
113373	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
113374
113375	// The maximum number of results to return with a single call. To retrieve the
113376	// remaining results, make another call with the returned nextToken value.
113377	MaxResults *int64 `min:"5" type:"integer"`
113378
113379	// The token for the next page of results.
113380	NextToken *string `type:"string"`
113381
113382	// The ID of the transit gateway multicast domain.
113383	TransitGatewayMulticastDomainId *string `type:"string"`
113384}
113385
113386// String returns the string representation
113387func (s SearchTransitGatewayMulticastGroupsInput) String() string {
113388	return awsutil.Prettify(s)
113389}
113390
113391// GoString returns the string representation
113392func (s SearchTransitGatewayMulticastGroupsInput) GoString() string {
113393	return s.String()
113394}
113395
113396// Validate inspects the fields of the type to determine if they are valid.
113397func (s *SearchTransitGatewayMulticastGroupsInput) Validate() error {
113398	invalidParams := request.ErrInvalidParams{Context: "SearchTransitGatewayMulticastGroupsInput"}
113399	if s.MaxResults != nil && *s.MaxResults < 5 {
113400		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
113401	}
113402
113403	if invalidParams.Len() > 0 {
113404		return invalidParams
113405	}
113406	return nil
113407}
113408
113409// SetDryRun sets the DryRun field's value.
113410func (s *SearchTransitGatewayMulticastGroupsInput) SetDryRun(v bool) *SearchTransitGatewayMulticastGroupsInput {
113411	s.DryRun = &v
113412	return s
113413}
113414
113415// SetFilters sets the Filters field's value.
113416func (s *SearchTransitGatewayMulticastGroupsInput) SetFilters(v []*Filter) *SearchTransitGatewayMulticastGroupsInput {
113417	s.Filters = v
113418	return s
113419}
113420
113421// SetMaxResults sets the MaxResults field's value.
113422func (s *SearchTransitGatewayMulticastGroupsInput) SetMaxResults(v int64) *SearchTransitGatewayMulticastGroupsInput {
113423	s.MaxResults = &v
113424	return s
113425}
113426
113427// SetNextToken sets the NextToken field's value.
113428func (s *SearchTransitGatewayMulticastGroupsInput) SetNextToken(v string) *SearchTransitGatewayMulticastGroupsInput {
113429	s.NextToken = &v
113430	return s
113431}
113432
113433// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
113434func (s *SearchTransitGatewayMulticastGroupsInput) SetTransitGatewayMulticastDomainId(v string) *SearchTransitGatewayMulticastGroupsInput {
113435	s.TransitGatewayMulticastDomainId = &v
113436	return s
113437}
113438
113439type SearchTransitGatewayMulticastGroupsOutput struct {
113440	_ struct{} `type:"structure"`
113441
113442	// Information about the transit gateway multicast group.
113443	MulticastGroups []*TransitGatewayMulticastGroup `locationName:"multicastGroups" locationNameList:"item" type:"list"`
113444
113445	// The token to use to retrieve the next page of results. This value is null
113446	// when there are no more results to return.
113447	NextToken *string `locationName:"nextToken" type:"string"`
113448}
113449
113450// String returns the string representation
113451func (s SearchTransitGatewayMulticastGroupsOutput) String() string {
113452	return awsutil.Prettify(s)
113453}
113454
113455// GoString returns the string representation
113456func (s SearchTransitGatewayMulticastGroupsOutput) GoString() string {
113457	return s.String()
113458}
113459
113460// SetMulticastGroups sets the MulticastGroups field's value.
113461func (s *SearchTransitGatewayMulticastGroupsOutput) SetMulticastGroups(v []*TransitGatewayMulticastGroup) *SearchTransitGatewayMulticastGroupsOutput {
113462	s.MulticastGroups = v
113463	return s
113464}
113465
113466// SetNextToken sets the NextToken field's value.
113467func (s *SearchTransitGatewayMulticastGroupsOutput) SetNextToken(v string) *SearchTransitGatewayMulticastGroupsOutput {
113468	s.NextToken = &v
113469	return s
113470}
113471
113472type SearchTransitGatewayRoutesInput struct {
113473	_ struct{} `type:"structure"`
113474
113475	// Checks whether you have the required permissions for the action, without
113476	// actually making the request, and provides an error response. If you have
113477	// the required permissions, the error response is DryRunOperation. Otherwise,
113478	// it is UnauthorizedOperation.
113479	DryRun *bool `type:"boolean"`
113480
113481	// One or more filters. The possible values are:
113482	//
113483	//    * attachment.transit-gateway-attachment-id- The id of the transit gateway
113484	//    attachment.
113485	//
113486	//    * attachment.resource-id - The resource id of the transit gateway attachment.
113487	//
113488	//    * attachment.resource-type - The attachment resource type. Valid values
113489	//    are vpc | vpn | direct-connect-gateway | peering | connect.
113490	//
113491	//    * prefix-list-id - The ID of the prefix list.
113492	//
113493	//    * route-search.exact-match - The exact match of the specified filter.
113494	//
113495	//    * route-search.longest-prefix-match - The longest prefix that matches
113496	//    the route.
113497	//
113498	//    * route-search.subnet-of-match - The routes with a subnet that match the
113499	//    specified CIDR filter.
113500	//
113501	//    * route-search.supernet-of-match - The routes with a CIDR that encompass
113502	//    the CIDR filter. For example, if you have 10.0.1.0/29 and 10.0.1.0/31
113503	//    routes in your route table and you specify supernet-of-match as 10.0.1.0/30,
113504	//    then the result returns 10.0.1.0/29.
113505	//
113506	//    * state - The state of the route (active | blackhole).
113507	//
113508	//    * type - The type of route (propagated | static).
113509	//
113510	// Filters is a required field
113511	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list" required:"true"`
113512
113513	// The maximum number of routes to return.
113514	MaxResults *int64 `min:"5" type:"integer"`
113515
113516	// The ID of the transit gateway route table.
113517	//
113518	// TransitGatewayRouteTableId is a required field
113519	TransitGatewayRouteTableId *string `type:"string" required:"true"`
113520}
113521
113522// String returns the string representation
113523func (s SearchTransitGatewayRoutesInput) String() string {
113524	return awsutil.Prettify(s)
113525}
113526
113527// GoString returns the string representation
113528func (s SearchTransitGatewayRoutesInput) GoString() string {
113529	return s.String()
113530}
113531
113532// Validate inspects the fields of the type to determine if they are valid.
113533func (s *SearchTransitGatewayRoutesInput) Validate() error {
113534	invalidParams := request.ErrInvalidParams{Context: "SearchTransitGatewayRoutesInput"}
113535	if s.Filters == nil {
113536		invalidParams.Add(request.NewErrParamRequired("Filters"))
113537	}
113538	if s.MaxResults != nil && *s.MaxResults < 5 {
113539		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
113540	}
113541	if s.TransitGatewayRouteTableId == nil {
113542		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
113543	}
113544
113545	if invalidParams.Len() > 0 {
113546		return invalidParams
113547	}
113548	return nil
113549}
113550
113551// SetDryRun sets the DryRun field's value.
113552func (s *SearchTransitGatewayRoutesInput) SetDryRun(v bool) *SearchTransitGatewayRoutesInput {
113553	s.DryRun = &v
113554	return s
113555}
113556
113557// SetFilters sets the Filters field's value.
113558func (s *SearchTransitGatewayRoutesInput) SetFilters(v []*Filter) *SearchTransitGatewayRoutesInput {
113559	s.Filters = v
113560	return s
113561}
113562
113563// SetMaxResults sets the MaxResults field's value.
113564func (s *SearchTransitGatewayRoutesInput) SetMaxResults(v int64) *SearchTransitGatewayRoutesInput {
113565	s.MaxResults = &v
113566	return s
113567}
113568
113569// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
113570func (s *SearchTransitGatewayRoutesInput) SetTransitGatewayRouteTableId(v string) *SearchTransitGatewayRoutesInput {
113571	s.TransitGatewayRouteTableId = &v
113572	return s
113573}
113574
113575type SearchTransitGatewayRoutesOutput struct {
113576	_ struct{} `type:"structure"`
113577
113578	// Indicates whether there are additional routes available.
113579	AdditionalRoutesAvailable *bool `locationName:"additionalRoutesAvailable" type:"boolean"`
113580
113581	// Information about the routes.
113582	Routes []*TransitGatewayRoute `locationName:"routeSet" locationNameList:"item" type:"list"`
113583}
113584
113585// String returns the string representation
113586func (s SearchTransitGatewayRoutesOutput) String() string {
113587	return awsutil.Prettify(s)
113588}
113589
113590// GoString returns the string representation
113591func (s SearchTransitGatewayRoutesOutput) GoString() string {
113592	return s.String()
113593}
113594
113595// SetAdditionalRoutesAvailable sets the AdditionalRoutesAvailable field's value.
113596func (s *SearchTransitGatewayRoutesOutput) SetAdditionalRoutesAvailable(v bool) *SearchTransitGatewayRoutesOutput {
113597	s.AdditionalRoutesAvailable = &v
113598	return s
113599}
113600
113601// SetRoutes sets the Routes field's value.
113602func (s *SearchTransitGatewayRoutesOutput) SetRoutes(v []*TransitGatewayRoute) *SearchTransitGatewayRoutesOutput {
113603	s.Routes = v
113604	return s
113605}
113606
113607// Describes a security group
113608type SecurityGroup struct {
113609	_ struct{} `type:"structure"`
113610
113611	// A description of the security group.
113612	Description *string `locationName:"groupDescription" type:"string"`
113613
113614	// The ID of the security group.
113615	GroupId *string `locationName:"groupId" type:"string"`
113616
113617	// The name of the security group.
113618	GroupName *string `locationName:"groupName" type:"string"`
113619
113620	// The inbound rules associated with the security group.
113621	IpPermissions []*IpPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"`
113622
113623	// [VPC only] The outbound rules associated with the security group.
113624	IpPermissionsEgress []*IpPermission `locationName:"ipPermissionsEgress" locationNameList:"item" type:"list"`
113625
113626	// The AWS account ID of the owner of the security group.
113627	OwnerId *string `locationName:"ownerId" type:"string"`
113628
113629	// Any tags assigned to the security group.
113630	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
113631
113632	// [VPC only] The ID of the VPC for the security group.
113633	VpcId *string `locationName:"vpcId" type:"string"`
113634}
113635
113636// String returns the string representation
113637func (s SecurityGroup) String() string {
113638	return awsutil.Prettify(s)
113639}
113640
113641// GoString returns the string representation
113642func (s SecurityGroup) GoString() string {
113643	return s.String()
113644}
113645
113646// SetDescription sets the Description field's value.
113647func (s *SecurityGroup) SetDescription(v string) *SecurityGroup {
113648	s.Description = &v
113649	return s
113650}
113651
113652// SetGroupId sets the GroupId field's value.
113653func (s *SecurityGroup) SetGroupId(v string) *SecurityGroup {
113654	s.GroupId = &v
113655	return s
113656}
113657
113658// SetGroupName sets the GroupName field's value.
113659func (s *SecurityGroup) SetGroupName(v string) *SecurityGroup {
113660	s.GroupName = &v
113661	return s
113662}
113663
113664// SetIpPermissions sets the IpPermissions field's value.
113665func (s *SecurityGroup) SetIpPermissions(v []*IpPermission) *SecurityGroup {
113666	s.IpPermissions = v
113667	return s
113668}
113669
113670// SetIpPermissionsEgress sets the IpPermissionsEgress field's value.
113671func (s *SecurityGroup) SetIpPermissionsEgress(v []*IpPermission) *SecurityGroup {
113672	s.IpPermissionsEgress = v
113673	return s
113674}
113675
113676// SetOwnerId sets the OwnerId field's value.
113677func (s *SecurityGroup) SetOwnerId(v string) *SecurityGroup {
113678	s.OwnerId = &v
113679	return s
113680}
113681
113682// SetTags sets the Tags field's value.
113683func (s *SecurityGroup) SetTags(v []*Tag) *SecurityGroup {
113684	s.Tags = v
113685	return s
113686}
113687
113688// SetVpcId sets the VpcId field's value.
113689func (s *SecurityGroup) SetVpcId(v string) *SecurityGroup {
113690	s.VpcId = &v
113691	return s
113692}
113693
113694// Describes a security group.
113695type SecurityGroupIdentifier struct {
113696	_ struct{} `type:"structure"`
113697
113698	// The ID of the security group.
113699	GroupId *string `locationName:"groupId" type:"string"`
113700
113701	// The name of the security group.
113702	GroupName *string `locationName:"groupName" type:"string"`
113703}
113704
113705// String returns the string representation
113706func (s SecurityGroupIdentifier) String() string {
113707	return awsutil.Prettify(s)
113708}
113709
113710// GoString returns the string representation
113711func (s SecurityGroupIdentifier) GoString() string {
113712	return s.String()
113713}
113714
113715// SetGroupId sets the GroupId field's value.
113716func (s *SecurityGroupIdentifier) SetGroupId(v string) *SecurityGroupIdentifier {
113717	s.GroupId = &v
113718	return s
113719}
113720
113721// SetGroupName sets the GroupName field's value.
113722func (s *SecurityGroupIdentifier) SetGroupName(v string) *SecurityGroupIdentifier {
113723	s.GroupName = &v
113724	return s
113725}
113726
113727// Describes a VPC with a security group that references your security group.
113728type SecurityGroupReference struct {
113729	_ struct{} `type:"structure"`
113730
113731	// The ID of your security group.
113732	GroupId *string `locationName:"groupId" type:"string"`
113733
113734	// The ID of the VPC with the referencing security group.
113735	ReferencingVpcId *string `locationName:"referencingVpcId" type:"string"`
113736
113737	// The ID of the VPC peering connection.
113738	VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
113739}
113740
113741// String returns the string representation
113742func (s SecurityGroupReference) String() string {
113743	return awsutil.Prettify(s)
113744}
113745
113746// GoString returns the string representation
113747func (s SecurityGroupReference) GoString() string {
113748	return s.String()
113749}
113750
113751// SetGroupId sets the GroupId field's value.
113752func (s *SecurityGroupReference) SetGroupId(v string) *SecurityGroupReference {
113753	s.GroupId = &v
113754	return s
113755}
113756
113757// SetReferencingVpcId sets the ReferencingVpcId field's value.
113758func (s *SecurityGroupReference) SetReferencingVpcId(v string) *SecurityGroupReference {
113759	s.ReferencingVpcId = &v
113760	return s
113761}
113762
113763// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
113764func (s *SecurityGroupReference) SetVpcPeeringConnectionId(v string) *SecurityGroupReference {
113765	s.VpcPeeringConnectionId = &v
113766	return s
113767}
113768
113769type SendDiagnosticInterruptInput struct {
113770	_ struct{} `type:"structure"`
113771
113772	// Checks whether you have the required permissions for the action, without
113773	// actually making the request, and provides an error response. If you have
113774	// the required permissions, the error response is DryRunOperation. Otherwise,
113775	// it is UnauthorizedOperation.
113776	DryRun *bool `type:"boolean"`
113777
113778	// The ID of the instance.
113779	//
113780	// InstanceId is a required field
113781	InstanceId *string `type:"string" required:"true"`
113782}
113783
113784// String returns the string representation
113785func (s SendDiagnosticInterruptInput) String() string {
113786	return awsutil.Prettify(s)
113787}
113788
113789// GoString returns the string representation
113790func (s SendDiagnosticInterruptInput) GoString() string {
113791	return s.String()
113792}
113793
113794// Validate inspects the fields of the type to determine if they are valid.
113795func (s *SendDiagnosticInterruptInput) Validate() error {
113796	invalidParams := request.ErrInvalidParams{Context: "SendDiagnosticInterruptInput"}
113797	if s.InstanceId == nil {
113798		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
113799	}
113800
113801	if invalidParams.Len() > 0 {
113802		return invalidParams
113803	}
113804	return nil
113805}
113806
113807// SetDryRun sets the DryRun field's value.
113808func (s *SendDiagnosticInterruptInput) SetDryRun(v bool) *SendDiagnosticInterruptInput {
113809	s.DryRun = &v
113810	return s
113811}
113812
113813// SetInstanceId sets the InstanceId field's value.
113814func (s *SendDiagnosticInterruptInput) SetInstanceId(v string) *SendDiagnosticInterruptInput {
113815	s.InstanceId = &v
113816	return s
113817}
113818
113819type SendDiagnosticInterruptOutput struct {
113820	_ struct{} `type:"structure"`
113821}
113822
113823// String returns the string representation
113824func (s SendDiagnosticInterruptOutput) String() string {
113825	return awsutil.Prettify(s)
113826}
113827
113828// GoString returns the string representation
113829func (s SendDiagnosticInterruptOutput) GoString() string {
113830	return s.String()
113831}
113832
113833// Describes a service configuration for a VPC endpoint service.
113834type ServiceConfiguration struct {
113835	_ struct{} `type:"structure"`
113836
113837	// Indicates whether requests from other AWS accounts to create an endpoint
113838	// to the service must first be accepted.
113839	AcceptanceRequired *bool `locationName:"acceptanceRequired" type:"boolean"`
113840
113841	// The Availability Zones in which the service is available.
113842	AvailabilityZones []*string `locationName:"availabilityZoneSet" locationNameList:"item" type:"list"`
113843
113844	// The DNS names for the service.
113845	BaseEndpointDnsNames []*string `locationName:"baseEndpointDnsNameSet" locationNameList:"item" type:"list"`
113846
113847	// The Amazon Resource Names (ARNs) of the Gateway Load Balancers for the service.
113848	GatewayLoadBalancerArns []*string `locationName:"gatewayLoadBalancerArnSet" locationNameList:"item" type:"list"`
113849
113850	// Indicates whether the service manages its VPC endpoints. Management of the
113851	// service VPC endpoints using the VPC endpoint API is restricted.
113852	ManagesVpcEndpoints *bool `locationName:"managesVpcEndpoints" type:"boolean"`
113853
113854	// The Amazon Resource Names (ARNs) of the Network Load Balancers for the service.
113855	NetworkLoadBalancerArns []*string `locationName:"networkLoadBalancerArnSet" locationNameList:"item" type:"list"`
113856
113857	// The private DNS name for the service.
113858	PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
113859
113860	// Information about the endpoint service private DNS name configuration.
113861	PrivateDnsNameConfiguration *PrivateDnsNameConfiguration `locationName:"privateDnsNameConfiguration" type:"structure"`
113862
113863	// The ID of the service.
113864	ServiceId *string `locationName:"serviceId" type:"string"`
113865
113866	// The name of the service.
113867	ServiceName *string `locationName:"serviceName" type:"string"`
113868
113869	// The service state.
113870	ServiceState *string `locationName:"serviceState" type:"string" enum:"ServiceState"`
113871
113872	// The type of service.
113873	ServiceType []*ServiceTypeDetail `locationName:"serviceType" locationNameList:"item" type:"list"`
113874
113875	// Any tags assigned to the service.
113876	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
113877}
113878
113879// String returns the string representation
113880func (s ServiceConfiguration) String() string {
113881	return awsutil.Prettify(s)
113882}
113883
113884// GoString returns the string representation
113885func (s ServiceConfiguration) GoString() string {
113886	return s.String()
113887}
113888
113889// SetAcceptanceRequired sets the AcceptanceRequired field's value.
113890func (s *ServiceConfiguration) SetAcceptanceRequired(v bool) *ServiceConfiguration {
113891	s.AcceptanceRequired = &v
113892	return s
113893}
113894
113895// SetAvailabilityZones sets the AvailabilityZones field's value.
113896func (s *ServiceConfiguration) SetAvailabilityZones(v []*string) *ServiceConfiguration {
113897	s.AvailabilityZones = v
113898	return s
113899}
113900
113901// SetBaseEndpointDnsNames sets the BaseEndpointDnsNames field's value.
113902func (s *ServiceConfiguration) SetBaseEndpointDnsNames(v []*string) *ServiceConfiguration {
113903	s.BaseEndpointDnsNames = v
113904	return s
113905}
113906
113907// SetGatewayLoadBalancerArns sets the GatewayLoadBalancerArns field's value.
113908func (s *ServiceConfiguration) SetGatewayLoadBalancerArns(v []*string) *ServiceConfiguration {
113909	s.GatewayLoadBalancerArns = v
113910	return s
113911}
113912
113913// SetManagesVpcEndpoints sets the ManagesVpcEndpoints field's value.
113914func (s *ServiceConfiguration) SetManagesVpcEndpoints(v bool) *ServiceConfiguration {
113915	s.ManagesVpcEndpoints = &v
113916	return s
113917}
113918
113919// SetNetworkLoadBalancerArns sets the NetworkLoadBalancerArns field's value.
113920func (s *ServiceConfiguration) SetNetworkLoadBalancerArns(v []*string) *ServiceConfiguration {
113921	s.NetworkLoadBalancerArns = v
113922	return s
113923}
113924
113925// SetPrivateDnsName sets the PrivateDnsName field's value.
113926func (s *ServiceConfiguration) SetPrivateDnsName(v string) *ServiceConfiguration {
113927	s.PrivateDnsName = &v
113928	return s
113929}
113930
113931// SetPrivateDnsNameConfiguration sets the PrivateDnsNameConfiguration field's value.
113932func (s *ServiceConfiguration) SetPrivateDnsNameConfiguration(v *PrivateDnsNameConfiguration) *ServiceConfiguration {
113933	s.PrivateDnsNameConfiguration = v
113934	return s
113935}
113936
113937// SetServiceId sets the ServiceId field's value.
113938func (s *ServiceConfiguration) SetServiceId(v string) *ServiceConfiguration {
113939	s.ServiceId = &v
113940	return s
113941}
113942
113943// SetServiceName sets the ServiceName field's value.
113944func (s *ServiceConfiguration) SetServiceName(v string) *ServiceConfiguration {
113945	s.ServiceName = &v
113946	return s
113947}
113948
113949// SetServiceState sets the ServiceState field's value.
113950func (s *ServiceConfiguration) SetServiceState(v string) *ServiceConfiguration {
113951	s.ServiceState = &v
113952	return s
113953}
113954
113955// SetServiceType sets the ServiceType field's value.
113956func (s *ServiceConfiguration) SetServiceType(v []*ServiceTypeDetail) *ServiceConfiguration {
113957	s.ServiceType = v
113958	return s
113959}
113960
113961// SetTags sets the Tags field's value.
113962func (s *ServiceConfiguration) SetTags(v []*Tag) *ServiceConfiguration {
113963	s.Tags = v
113964	return s
113965}
113966
113967// Describes a VPC endpoint service.
113968type ServiceDetail struct {
113969	_ struct{} `type:"structure"`
113970
113971	// Indicates whether VPC endpoint connection requests to the service must be
113972	// accepted by the service owner.
113973	AcceptanceRequired *bool `locationName:"acceptanceRequired" type:"boolean"`
113974
113975	// The Availability Zones in which the service is available.
113976	AvailabilityZones []*string `locationName:"availabilityZoneSet" locationNameList:"item" type:"list"`
113977
113978	// The DNS names for the service.
113979	BaseEndpointDnsNames []*string `locationName:"baseEndpointDnsNameSet" locationNameList:"item" type:"list"`
113980
113981	// Indicates whether the service manages its VPC endpoints. Management of the
113982	// service VPC endpoints using the VPC endpoint API is restricted.
113983	ManagesVpcEndpoints *bool `locationName:"managesVpcEndpoints" type:"boolean"`
113984
113985	// The AWS account ID of the service owner.
113986	Owner *string `locationName:"owner" type:"string"`
113987
113988	// The private DNS name for the service.
113989	PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
113990
113991	// The verification state of the VPC endpoint service.
113992	//
113993	// Consumers of the endpoint service cannot use the private name when the state
113994	// is not verified.
113995	PrivateDnsNameVerificationState *string `locationName:"privateDnsNameVerificationState" type:"string" enum:"DnsNameState"`
113996
113997	// The private DNS names assigned to the VPC endpoint service.
113998	PrivateDnsNames []*PrivateDnsDetails `locationName:"privateDnsNameSet" locationNameList:"item" type:"list"`
113999
114000	// The ID of the endpoint service.
114001	ServiceId *string `locationName:"serviceId" type:"string"`
114002
114003	// The Amazon Resource Name (ARN) of the service.
114004	ServiceName *string `locationName:"serviceName" type:"string"`
114005
114006	// The type of service.
114007	ServiceType []*ServiceTypeDetail `locationName:"serviceType" locationNameList:"item" type:"list"`
114008
114009	// Any tags assigned to the service.
114010	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
114011
114012	// Indicates whether the service supports endpoint policies.
114013	VpcEndpointPolicySupported *bool `locationName:"vpcEndpointPolicySupported" type:"boolean"`
114014}
114015
114016// String returns the string representation
114017func (s ServiceDetail) String() string {
114018	return awsutil.Prettify(s)
114019}
114020
114021// GoString returns the string representation
114022func (s ServiceDetail) GoString() string {
114023	return s.String()
114024}
114025
114026// SetAcceptanceRequired sets the AcceptanceRequired field's value.
114027func (s *ServiceDetail) SetAcceptanceRequired(v bool) *ServiceDetail {
114028	s.AcceptanceRequired = &v
114029	return s
114030}
114031
114032// SetAvailabilityZones sets the AvailabilityZones field's value.
114033func (s *ServiceDetail) SetAvailabilityZones(v []*string) *ServiceDetail {
114034	s.AvailabilityZones = v
114035	return s
114036}
114037
114038// SetBaseEndpointDnsNames sets the BaseEndpointDnsNames field's value.
114039func (s *ServiceDetail) SetBaseEndpointDnsNames(v []*string) *ServiceDetail {
114040	s.BaseEndpointDnsNames = v
114041	return s
114042}
114043
114044// SetManagesVpcEndpoints sets the ManagesVpcEndpoints field's value.
114045func (s *ServiceDetail) SetManagesVpcEndpoints(v bool) *ServiceDetail {
114046	s.ManagesVpcEndpoints = &v
114047	return s
114048}
114049
114050// SetOwner sets the Owner field's value.
114051func (s *ServiceDetail) SetOwner(v string) *ServiceDetail {
114052	s.Owner = &v
114053	return s
114054}
114055
114056// SetPrivateDnsName sets the PrivateDnsName field's value.
114057func (s *ServiceDetail) SetPrivateDnsName(v string) *ServiceDetail {
114058	s.PrivateDnsName = &v
114059	return s
114060}
114061
114062// SetPrivateDnsNameVerificationState sets the PrivateDnsNameVerificationState field's value.
114063func (s *ServiceDetail) SetPrivateDnsNameVerificationState(v string) *ServiceDetail {
114064	s.PrivateDnsNameVerificationState = &v
114065	return s
114066}
114067
114068// SetPrivateDnsNames sets the PrivateDnsNames field's value.
114069func (s *ServiceDetail) SetPrivateDnsNames(v []*PrivateDnsDetails) *ServiceDetail {
114070	s.PrivateDnsNames = v
114071	return s
114072}
114073
114074// SetServiceId sets the ServiceId field's value.
114075func (s *ServiceDetail) SetServiceId(v string) *ServiceDetail {
114076	s.ServiceId = &v
114077	return s
114078}
114079
114080// SetServiceName sets the ServiceName field's value.
114081func (s *ServiceDetail) SetServiceName(v string) *ServiceDetail {
114082	s.ServiceName = &v
114083	return s
114084}
114085
114086// SetServiceType sets the ServiceType field's value.
114087func (s *ServiceDetail) SetServiceType(v []*ServiceTypeDetail) *ServiceDetail {
114088	s.ServiceType = v
114089	return s
114090}
114091
114092// SetTags sets the Tags field's value.
114093func (s *ServiceDetail) SetTags(v []*Tag) *ServiceDetail {
114094	s.Tags = v
114095	return s
114096}
114097
114098// SetVpcEndpointPolicySupported sets the VpcEndpointPolicySupported field's value.
114099func (s *ServiceDetail) SetVpcEndpointPolicySupported(v bool) *ServiceDetail {
114100	s.VpcEndpointPolicySupported = &v
114101	return s
114102}
114103
114104// Describes the type of service for a VPC endpoint.
114105type ServiceTypeDetail struct {
114106	_ struct{} `type:"structure"`
114107
114108	// The type of service.
114109	ServiceType *string `locationName:"serviceType" type:"string" enum:"ServiceType"`
114110}
114111
114112// String returns the string representation
114113func (s ServiceTypeDetail) String() string {
114114	return awsutil.Prettify(s)
114115}
114116
114117// GoString returns the string representation
114118func (s ServiceTypeDetail) GoString() string {
114119	return s.String()
114120}
114121
114122// SetServiceType sets the ServiceType field's value.
114123func (s *ServiceTypeDetail) SetServiceType(v string) *ServiceTypeDetail {
114124	s.ServiceType = &v
114125	return s
114126}
114127
114128// Describes the time period for a Scheduled Instance to start its first schedule.
114129// The time period must span less than one day.
114130type SlotDateTimeRangeRequest struct {
114131	_ struct{} `type:"structure"`
114132
114133	// The earliest date and time, in UTC, for the Scheduled Instance to start.
114134	//
114135	// EarliestTime is a required field
114136	EarliestTime *time.Time `type:"timestamp" required:"true"`
114137
114138	// The latest date and time, in UTC, for the Scheduled Instance to start. This
114139	// value must be later than or equal to the earliest date and at most three
114140	// months in the future.
114141	//
114142	// LatestTime is a required field
114143	LatestTime *time.Time `type:"timestamp" required:"true"`
114144}
114145
114146// String returns the string representation
114147func (s SlotDateTimeRangeRequest) String() string {
114148	return awsutil.Prettify(s)
114149}
114150
114151// GoString returns the string representation
114152func (s SlotDateTimeRangeRequest) GoString() string {
114153	return s.String()
114154}
114155
114156// Validate inspects the fields of the type to determine if they are valid.
114157func (s *SlotDateTimeRangeRequest) Validate() error {
114158	invalidParams := request.ErrInvalidParams{Context: "SlotDateTimeRangeRequest"}
114159	if s.EarliestTime == nil {
114160		invalidParams.Add(request.NewErrParamRequired("EarliestTime"))
114161	}
114162	if s.LatestTime == nil {
114163		invalidParams.Add(request.NewErrParamRequired("LatestTime"))
114164	}
114165
114166	if invalidParams.Len() > 0 {
114167		return invalidParams
114168	}
114169	return nil
114170}
114171
114172// SetEarliestTime sets the EarliestTime field's value.
114173func (s *SlotDateTimeRangeRequest) SetEarliestTime(v time.Time) *SlotDateTimeRangeRequest {
114174	s.EarliestTime = &v
114175	return s
114176}
114177
114178// SetLatestTime sets the LatestTime field's value.
114179func (s *SlotDateTimeRangeRequest) SetLatestTime(v time.Time) *SlotDateTimeRangeRequest {
114180	s.LatestTime = &v
114181	return s
114182}
114183
114184// Describes the time period for a Scheduled Instance to start its first schedule.
114185type SlotStartTimeRangeRequest struct {
114186	_ struct{} `type:"structure"`
114187
114188	// The earliest date and time, in UTC, for the Scheduled Instance to start.
114189	EarliestTime *time.Time `type:"timestamp"`
114190
114191	// The latest date and time, in UTC, for the Scheduled Instance to start.
114192	LatestTime *time.Time `type:"timestamp"`
114193}
114194
114195// String returns the string representation
114196func (s SlotStartTimeRangeRequest) String() string {
114197	return awsutil.Prettify(s)
114198}
114199
114200// GoString returns the string representation
114201func (s SlotStartTimeRangeRequest) GoString() string {
114202	return s.String()
114203}
114204
114205// SetEarliestTime sets the EarliestTime field's value.
114206func (s *SlotStartTimeRangeRequest) SetEarliestTime(v time.Time) *SlotStartTimeRangeRequest {
114207	s.EarliestTime = &v
114208	return s
114209}
114210
114211// SetLatestTime sets the LatestTime field's value.
114212func (s *SlotStartTimeRangeRequest) SetLatestTime(v time.Time) *SlotStartTimeRangeRequest {
114213	s.LatestTime = &v
114214	return s
114215}
114216
114217// Describes a snapshot.
114218type Snapshot struct {
114219	_ struct{} `type:"structure"`
114220
114221	// The data encryption key identifier for the snapshot. This value is a unique
114222	// identifier that corresponds to the data encryption key that was used to encrypt
114223	// the original volume or snapshot copy. Because data encryption keys are inherited
114224	// by volumes created from snapshots, and vice versa, if snapshots share the
114225	// same data encryption key identifier, then they belong to the same volume/snapshot
114226	// lineage. This parameter is only returned by DescribeSnapshots.
114227	DataEncryptionKeyId *string `locationName:"dataEncryptionKeyId" type:"string"`
114228
114229	// The description for the snapshot.
114230	Description *string `locationName:"description" type:"string"`
114231
114232	// Indicates whether the snapshot is encrypted.
114233	Encrypted *bool `locationName:"encrypted" type:"boolean"`
114234
114235	// The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS)
114236	// customer master key (CMK) that was used to protect the volume encryption
114237	// key for the parent volume.
114238	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
114239
114240	// The ARN of the AWS Outpost on which the snapshot is stored. For more information,
114241	// see EBS Local Snapshot on Outposts (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshots-outposts.html)
114242	// in the Amazon Elastic Compute Cloud User Guide.
114243	OutpostArn *string `locationName:"outpostArn" type:"string"`
114244
114245	// The AWS owner alias, from an Amazon-maintained list (amazon). This is not
114246	// the user-configured AWS account alias set using the IAM console.
114247	OwnerAlias *string `locationName:"ownerAlias" type:"string"`
114248
114249	// The AWS account ID of the EBS snapshot owner.
114250	OwnerId *string `locationName:"ownerId" type:"string"`
114251
114252	// The progress of the snapshot, as a percentage.
114253	Progress *string `locationName:"progress" type:"string"`
114254
114255	// The ID of the snapshot. Each snapshot receives a unique identifier when it
114256	// is created.
114257	SnapshotId *string `locationName:"snapshotId" type:"string"`
114258
114259	// The time stamp when the snapshot was initiated.
114260	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
114261
114262	// The snapshot state.
114263	State *string `locationName:"status" type:"string" enum:"SnapshotState"`
114264
114265	// Encrypted Amazon EBS snapshots are copied asynchronously. If a snapshot copy
114266	// operation fails (for example, if the proper AWS Key Management Service (AWS
114267	// KMS) permissions are not obtained) this field displays error state details
114268	// to help you diagnose why the error occurred. This parameter is only returned
114269	// by DescribeSnapshots.
114270	StateMessage *string `locationName:"statusMessage" type:"string"`
114271
114272	// Any tags assigned to the snapshot.
114273	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
114274
114275	// The ID of the volume that was used to create the snapshot. Snapshots created
114276	// by the CopySnapshot action have an arbitrary volume ID that should not be
114277	// used for any purpose.
114278	VolumeId *string `locationName:"volumeId" type:"string"`
114279
114280	// The size of the volume, in GiB.
114281	VolumeSize *int64 `locationName:"volumeSize" type:"integer"`
114282}
114283
114284// String returns the string representation
114285func (s Snapshot) String() string {
114286	return awsutil.Prettify(s)
114287}
114288
114289// GoString returns the string representation
114290func (s Snapshot) GoString() string {
114291	return s.String()
114292}
114293
114294// SetDataEncryptionKeyId sets the DataEncryptionKeyId field's value.
114295func (s *Snapshot) SetDataEncryptionKeyId(v string) *Snapshot {
114296	s.DataEncryptionKeyId = &v
114297	return s
114298}
114299
114300// SetDescription sets the Description field's value.
114301func (s *Snapshot) SetDescription(v string) *Snapshot {
114302	s.Description = &v
114303	return s
114304}
114305
114306// SetEncrypted sets the Encrypted field's value.
114307func (s *Snapshot) SetEncrypted(v bool) *Snapshot {
114308	s.Encrypted = &v
114309	return s
114310}
114311
114312// SetKmsKeyId sets the KmsKeyId field's value.
114313func (s *Snapshot) SetKmsKeyId(v string) *Snapshot {
114314	s.KmsKeyId = &v
114315	return s
114316}
114317
114318// SetOutpostArn sets the OutpostArn field's value.
114319func (s *Snapshot) SetOutpostArn(v string) *Snapshot {
114320	s.OutpostArn = &v
114321	return s
114322}
114323
114324// SetOwnerAlias sets the OwnerAlias field's value.
114325func (s *Snapshot) SetOwnerAlias(v string) *Snapshot {
114326	s.OwnerAlias = &v
114327	return s
114328}
114329
114330// SetOwnerId sets the OwnerId field's value.
114331func (s *Snapshot) SetOwnerId(v string) *Snapshot {
114332	s.OwnerId = &v
114333	return s
114334}
114335
114336// SetProgress sets the Progress field's value.
114337func (s *Snapshot) SetProgress(v string) *Snapshot {
114338	s.Progress = &v
114339	return s
114340}
114341
114342// SetSnapshotId sets the SnapshotId field's value.
114343func (s *Snapshot) SetSnapshotId(v string) *Snapshot {
114344	s.SnapshotId = &v
114345	return s
114346}
114347
114348// SetStartTime sets the StartTime field's value.
114349func (s *Snapshot) SetStartTime(v time.Time) *Snapshot {
114350	s.StartTime = &v
114351	return s
114352}
114353
114354// SetState sets the State field's value.
114355func (s *Snapshot) SetState(v string) *Snapshot {
114356	s.State = &v
114357	return s
114358}
114359
114360// SetStateMessage sets the StateMessage field's value.
114361func (s *Snapshot) SetStateMessage(v string) *Snapshot {
114362	s.StateMessage = &v
114363	return s
114364}
114365
114366// SetTags sets the Tags field's value.
114367func (s *Snapshot) SetTags(v []*Tag) *Snapshot {
114368	s.Tags = v
114369	return s
114370}
114371
114372// SetVolumeId sets the VolumeId field's value.
114373func (s *Snapshot) SetVolumeId(v string) *Snapshot {
114374	s.VolumeId = &v
114375	return s
114376}
114377
114378// SetVolumeSize sets the VolumeSize field's value.
114379func (s *Snapshot) SetVolumeSize(v int64) *Snapshot {
114380	s.VolumeSize = &v
114381	return s
114382}
114383
114384// Describes the snapshot created from the imported disk.
114385type SnapshotDetail struct {
114386	_ struct{} `type:"structure"`
114387
114388	// A description for the snapshot.
114389	Description *string `locationName:"description" type:"string"`
114390
114391	// The block device mapping for the snapshot.
114392	DeviceName *string `locationName:"deviceName" type:"string"`
114393
114394	// The size of the disk in the snapshot, in GiB.
114395	DiskImageSize *float64 `locationName:"diskImageSize" type:"double"`
114396
114397	// The format of the disk image from which the snapshot is created.
114398	Format *string `locationName:"format" type:"string"`
114399
114400	// The percentage of progress for the task.
114401	Progress *string `locationName:"progress" type:"string"`
114402
114403	// The snapshot ID of the disk being imported.
114404	SnapshotId *string `locationName:"snapshotId" type:"string"`
114405
114406	// A brief status of the snapshot creation.
114407	Status *string `locationName:"status" type:"string"`
114408
114409	// A detailed status message for the snapshot creation.
114410	StatusMessage *string `locationName:"statusMessage" type:"string"`
114411
114412	// The URL used to access the disk image.
114413	Url *string `locationName:"url" type:"string"`
114414
114415	// The Amazon S3 bucket for the disk image.
114416	UserBucket *UserBucketDetails `locationName:"userBucket" type:"structure"`
114417}
114418
114419// String returns the string representation
114420func (s SnapshotDetail) String() string {
114421	return awsutil.Prettify(s)
114422}
114423
114424// GoString returns the string representation
114425func (s SnapshotDetail) GoString() string {
114426	return s.String()
114427}
114428
114429// SetDescription sets the Description field's value.
114430func (s *SnapshotDetail) SetDescription(v string) *SnapshotDetail {
114431	s.Description = &v
114432	return s
114433}
114434
114435// SetDeviceName sets the DeviceName field's value.
114436func (s *SnapshotDetail) SetDeviceName(v string) *SnapshotDetail {
114437	s.DeviceName = &v
114438	return s
114439}
114440
114441// SetDiskImageSize sets the DiskImageSize field's value.
114442func (s *SnapshotDetail) SetDiskImageSize(v float64) *SnapshotDetail {
114443	s.DiskImageSize = &v
114444	return s
114445}
114446
114447// SetFormat sets the Format field's value.
114448func (s *SnapshotDetail) SetFormat(v string) *SnapshotDetail {
114449	s.Format = &v
114450	return s
114451}
114452
114453// SetProgress sets the Progress field's value.
114454func (s *SnapshotDetail) SetProgress(v string) *SnapshotDetail {
114455	s.Progress = &v
114456	return s
114457}
114458
114459// SetSnapshotId sets the SnapshotId field's value.
114460func (s *SnapshotDetail) SetSnapshotId(v string) *SnapshotDetail {
114461	s.SnapshotId = &v
114462	return s
114463}
114464
114465// SetStatus sets the Status field's value.
114466func (s *SnapshotDetail) SetStatus(v string) *SnapshotDetail {
114467	s.Status = &v
114468	return s
114469}
114470
114471// SetStatusMessage sets the StatusMessage field's value.
114472func (s *SnapshotDetail) SetStatusMessage(v string) *SnapshotDetail {
114473	s.StatusMessage = &v
114474	return s
114475}
114476
114477// SetUrl sets the Url field's value.
114478func (s *SnapshotDetail) SetUrl(v string) *SnapshotDetail {
114479	s.Url = &v
114480	return s
114481}
114482
114483// SetUserBucket sets the UserBucket field's value.
114484func (s *SnapshotDetail) SetUserBucket(v *UserBucketDetails) *SnapshotDetail {
114485	s.UserBucket = v
114486	return s
114487}
114488
114489// The disk container object for the import snapshot request.
114490type SnapshotDiskContainer struct {
114491	_ struct{} `type:"structure"`
114492
114493	// The description of the disk image being imported.
114494	Description *string `type:"string"`
114495
114496	// The format of the disk image being imported.
114497	//
114498	// Valid values: VHD | VMDK | RAW
114499	Format *string `type:"string"`
114500
114501	// The URL to the Amazon S3-based disk image being imported. It can either be
114502	// a https URL (https://..) or an Amazon S3 URL (s3://..).
114503	Url *string `type:"string"`
114504
114505	// The Amazon S3 bucket for the disk image.
114506	UserBucket *UserBucket `type:"structure"`
114507}
114508
114509// String returns the string representation
114510func (s SnapshotDiskContainer) String() string {
114511	return awsutil.Prettify(s)
114512}
114513
114514// GoString returns the string representation
114515func (s SnapshotDiskContainer) GoString() string {
114516	return s.String()
114517}
114518
114519// SetDescription sets the Description field's value.
114520func (s *SnapshotDiskContainer) SetDescription(v string) *SnapshotDiskContainer {
114521	s.Description = &v
114522	return s
114523}
114524
114525// SetFormat sets the Format field's value.
114526func (s *SnapshotDiskContainer) SetFormat(v string) *SnapshotDiskContainer {
114527	s.Format = &v
114528	return s
114529}
114530
114531// SetUrl sets the Url field's value.
114532func (s *SnapshotDiskContainer) SetUrl(v string) *SnapshotDiskContainer {
114533	s.Url = &v
114534	return s
114535}
114536
114537// SetUserBucket sets the UserBucket field's value.
114538func (s *SnapshotDiskContainer) SetUserBucket(v *UserBucket) *SnapshotDiskContainer {
114539	s.UserBucket = v
114540	return s
114541}
114542
114543// Information about a snapshot.
114544type SnapshotInfo struct {
114545	_ struct{} `type:"structure"`
114546
114547	// Description specified by the CreateSnapshotRequest that has been applied
114548	// to all snapshots.
114549	Description *string `locationName:"description" type:"string"`
114550
114551	// Indicates whether the snapshot is encrypted.
114552	Encrypted *bool `locationName:"encrypted" type:"boolean"`
114553
114554	// The ARN of the AWS Outpost on which the snapshot is stored. For more information,
114555	// see EBS Local Snapshot on Outposts (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshots-outposts.html)
114556	// in the Amazon Elastic Compute Cloud User Guide.
114557	OutpostArn *string `locationName:"outpostArn" type:"string"`
114558
114559	// Account id used when creating this snapshot.
114560	OwnerId *string `locationName:"ownerId" type:"string"`
114561
114562	// Progress this snapshot has made towards completing.
114563	Progress *string `locationName:"progress" type:"string"`
114564
114565	// Snapshot id that can be used to describe this snapshot.
114566	SnapshotId *string `locationName:"snapshotId" type:"string"`
114567
114568	// Time this snapshot was started. This is the same for all snapshots initiated
114569	// by the same request.
114570	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
114571
114572	// Current state of the snapshot.
114573	State *string `locationName:"state" type:"string" enum:"SnapshotState"`
114574
114575	// Tags associated with this snapshot.
114576	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
114577
114578	// Source volume from which this snapshot was created.
114579	VolumeId *string `locationName:"volumeId" type:"string"`
114580
114581	// Size of the volume from which this snapshot was created.
114582	VolumeSize *int64 `locationName:"volumeSize" type:"integer"`
114583}
114584
114585// String returns the string representation
114586func (s SnapshotInfo) String() string {
114587	return awsutil.Prettify(s)
114588}
114589
114590// GoString returns the string representation
114591func (s SnapshotInfo) GoString() string {
114592	return s.String()
114593}
114594
114595// SetDescription sets the Description field's value.
114596func (s *SnapshotInfo) SetDescription(v string) *SnapshotInfo {
114597	s.Description = &v
114598	return s
114599}
114600
114601// SetEncrypted sets the Encrypted field's value.
114602func (s *SnapshotInfo) SetEncrypted(v bool) *SnapshotInfo {
114603	s.Encrypted = &v
114604	return s
114605}
114606
114607// SetOutpostArn sets the OutpostArn field's value.
114608func (s *SnapshotInfo) SetOutpostArn(v string) *SnapshotInfo {
114609	s.OutpostArn = &v
114610	return s
114611}
114612
114613// SetOwnerId sets the OwnerId field's value.
114614func (s *SnapshotInfo) SetOwnerId(v string) *SnapshotInfo {
114615	s.OwnerId = &v
114616	return s
114617}
114618
114619// SetProgress sets the Progress field's value.
114620func (s *SnapshotInfo) SetProgress(v string) *SnapshotInfo {
114621	s.Progress = &v
114622	return s
114623}
114624
114625// SetSnapshotId sets the SnapshotId field's value.
114626func (s *SnapshotInfo) SetSnapshotId(v string) *SnapshotInfo {
114627	s.SnapshotId = &v
114628	return s
114629}
114630
114631// SetStartTime sets the StartTime field's value.
114632func (s *SnapshotInfo) SetStartTime(v time.Time) *SnapshotInfo {
114633	s.StartTime = &v
114634	return s
114635}
114636
114637// SetState sets the State field's value.
114638func (s *SnapshotInfo) SetState(v string) *SnapshotInfo {
114639	s.State = &v
114640	return s
114641}
114642
114643// SetTags sets the Tags field's value.
114644func (s *SnapshotInfo) SetTags(v []*Tag) *SnapshotInfo {
114645	s.Tags = v
114646	return s
114647}
114648
114649// SetVolumeId sets the VolumeId field's value.
114650func (s *SnapshotInfo) SetVolumeId(v string) *SnapshotInfo {
114651	s.VolumeId = &v
114652	return s
114653}
114654
114655// SetVolumeSize sets the VolumeSize field's value.
114656func (s *SnapshotInfo) SetVolumeSize(v int64) *SnapshotInfo {
114657	s.VolumeSize = &v
114658	return s
114659}
114660
114661// Details about the import snapshot task.
114662type SnapshotTaskDetail struct {
114663	_ struct{} `type:"structure"`
114664
114665	// The description of the snapshot.
114666	Description *string `locationName:"description" type:"string"`
114667
114668	// The size of the disk in the snapshot, in GiB.
114669	DiskImageSize *float64 `locationName:"diskImageSize" type:"double"`
114670
114671	// Indicates whether the snapshot is encrypted.
114672	Encrypted *bool `locationName:"encrypted" type:"boolean"`
114673
114674	// The format of the disk image from which the snapshot is created.
114675	Format *string `locationName:"format" type:"string"`
114676
114677	// The identifier for the AWS Key Management Service (AWS KMS) customer master
114678	// key (CMK) that was used to create the encrypted snapshot.
114679	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
114680
114681	// The percentage of completion for the import snapshot task.
114682	Progress *string `locationName:"progress" type:"string"`
114683
114684	// The snapshot ID of the disk being imported.
114685	SnapshotId *string `locationName:"snapshotId" type:"string"`
114686
114687	// A brief status for the import snapshot task.
114688	Status *string `locationName:"status" type:"string"`
114689
114690	// A detailed status message for the import snapshot task.
114691	StatusMessage *string `locationName:"statusMessage" type:"string"`
114692
114693	// The URL of the disk image from which the snapshot is created.
114694	Url *string `locationName:"url" type:"string"`
114695
114696	// The Amazon S3 bucket for the disk image.
114697	UserBucket *UserBucketDetails `locationName:"userBucket" type:"structure"`
114698}
114699
114700// String returns the string representation
114701func (s SnapshotTaskDetail) String() string {
114702	return awsutil.Prettify(s)
114703}
114704
114705// GoString returns the string representation
114706func (s SnapshotTaskDetail) GoString() string {
114707	return s.String()
114708}
114709
114710// SetDescription sets the Description field's value.
114711func (s *SnapshotTaskDetail) SetDescription(v string) *SnapshotTaskDetail {
114712	s.Description = &v
114713	return s
114714}
114715
114716// SetDiskImageSize sets the DiskImageSize field's value.
114717func (s *SnapshotTaskDetail) SetDiskImageSize(v float64) *SnapshotTaskDetail {
114718	s.DiskImageSize = &v
114719	return s
114720}
114721
114722// SetEncrypted sets the Encrypted field's value.
114723func (s *SnapshotTaskDetail) SetEncrypted(v bool) *SnapshotTaskDetail {
114724	s.Encrypted = &v
114725	return s
114726}
114727
114728// SetFormat sets the Format field's value.
114729func (s *SnapshotTaskDetail) SetFormat(v string) *SnapshotTaskDetail {
114730	s.Format = &v
114731	return s
114732}
114733
114734// SetKmsKeyId sets the KmsKeyId field's value.
114735func (s *SnapshotTaskDetail) SetKmsKeyId(v string) *SnapshotTaskDetail {
114736	s.KmsKeyId = &v
114737	return s
114738}
114739
114740// SetProgress sets the Progress field's value.
114741func (s *SnapshotTaskDetail) SetProgress(v string) *SnapshotTaskDetail {
114742	s.Progress = &v
114743	return s
114744}
114745
114746// SetSnapshotId sets the SnapshotId field's value.
114747func (s *SnapshotTaskDetail) SetSnapshotId(v string) *SnapshotTaskDetail {
114748	s.SnapshotId = &v
114749	return s
114750}
114751
114752// SetStatus sets the Status field's value.
114753func (s *SnapshotTaskDetail) SetStatus(v string) *SnapshotTaskDetail {
114754	s.Status = &v
114755	return s
114756}
114757
114758// SetStatusMessage sets the StatusMessage field's value.
114759func (s *SnapshotTaskDetail) SetStatusMessage(v string) *SnapshotTaskDetail {
114760	s.StatusMessage = &v
114761	return s
114762}
114763
114764// SetUrl sets the Url field's value.
114765func (s *SnapshotTaskDetail) SetUrl(v string) *SnapshotTaskDetail {
114766	s.Url = &v
114767	return s
114768}
114769
114770// SetUserBucket sets the UserBucket field's value.
114771func (s *SnapshotTaskDetail) SetUserBucket(v *UserBucketDetails) *SnapshotTaskDetail {
114772	s.UserBucket = v
114773	return s
114774}
114775
114776// The Spot Instance replacement strategy to use when Amazon EC2 emits a signal
114777// that your Spot Instance is at an elevated risk of being interrupted. For
114778// more information, see Capacity rebalancing (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-configuration-strategies.html#spot-fleet-capacity-rebalance)
114779// in the Amazon EC2 User Guide for Linux Instances.
114780type SpotCapacityRebalance struct {
114781	_ struct{} `type:"structure"`
114782
114783	// The replacement strategy to use. Only available for fleets of type maintain.
114784	// You must specify a value, otherwise you get an error.
114785	//
114786	// To allow Spot Fleet to launch a replacement Spot Instance when an instance
114787	// rebalance notification is emitted for a Spot Instance in the fleet, specify
114788	// launch.
114789	//
114790	// When a replacement instance is launched, the instance marked for rebalance
114791	// is not automatically terminated. You can terminate it, or you can leave it
114792	// running. You are charged for all instances while they are running.
114793	ReplacementStrategy *string `locationName:"replacementStrategy" type:"string" enum:"ReplacementStrategy"`
114794}
114795
114796// String returns the string representation
114797func (s SpotCapacityRebalance) String() string {
114798	return awsutil.Prettify(s)
114799}
114800
114801// GoString returns the string representation
114802func (s SpotCapacityRebalance) GoString() string {
114803	return s.String()
114804}
114805
114806// SetReplacementStrategy sets the ReplacementStrategy field's value.
114807func (s *SpotCapacityRebalance) SetReplacementStrategy(v string) *SpotCapacityRebalance {
114808	s.ReplacementStrategy = &v
114809	return s
114810}
114811
114812// Describes the data feed for a Spot Instance.
114813type SpotDatafeedSubscription struct {
114814	_ struct{} `type:"structure"`
114815
114816	// The name of the Amazon S3 bucket where the Spot Instance data feed is located.
114817	Bucket *string `locationName:"bucket" type:"string"`
114818
114819	// The fault codes for the Spot Instance request, if any.
114820	Fault *SpotInstanceStateFault `locationName:"fault" type:"structure"`
114821
114822	// The AWS account ID of the account.
114823	OwnerId *string `locationName:"ownerId" type:"string"`
114824
114825	// The prefix for the data feed files.
114826	Prefix *string `locationName:"prefix" type:"string"`
114827
114828	// The state of the Spot Instance data feed subscription.
114829	State *string `locationName:"state" type:"string" enum:"DatafeedSubscriptionState"`
114830}
114831
114832// String returns the string representation
114833func (s SpotDatafeedSubscription) String() string {
114834	return awsutil.Prettify(s)
114835}
114836
114837// GoString returns the string representation
114838func (s SpotDatafeedSubscription) GoString() string {
114839	return s.String()
114840}
114841
114842// SetBucket sets the Bucket field's value.
114843func (s *SpotDatafeedSubscription) SetBucket(v string) *SpotDatafeedSubscription {
114844	s.Bucket = &v
114845	return s
114846}
114847
114848// SetFault sets the Fault field's value.
114849func (s *SpotDatafeedSubscription) SetFault(v *SpotInstanceStateFault) *SpotDatafeedSubscription {
114850	s.Fault = v
114851	return s
114852}
114853
114854// SetOwnerId sets the OwnerId field's value.
114855func (s *SpotDatafeedSubscription) SetOwnerId(v string) *SpotDatafeedSubscription {
114856	s.OwnerId = &v
114857	return s
114858}
114859
114860// SetPrefix sets the Prefix field's value.
114861func (s *SpotDatafeedSubscription) SetPrefix(v string) *SpotDatafeedSubscription {
114862	s.Prefix = &v
114863	return s
114864}
114865
114866// SetState sets the State field's value.
114867func (s *SpotDatafeedSubscription) SetState(v string) *SpotDatafeedSubscription {
114868	s.State = &v
114869	return s
114870}
114871
114872// Describes the launch specification for one or more Spot Instances. If you
114873// include On-Demand capacity in your fleet request or want to specify an EFA
114874// network device, you can't use SpotFleetLaunchSpecification; you must use
114875// LaunchTemplateConfig (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_LaunchTemplateConfig.html).
114876type SpotFleetLaunchSpecification struct {
114877	_ struct{} `type:"structure"`
114878
114879	// Deprecated.
114880	AddressingType *string `locationName:"addressingType" type:"string"`
114881
114882	// One or more block devices that are mapped to the Spot Instances. You can't
114883	// specify both a snapshot ID and an encryption value. This is because only
114884	// blank volumes can be encrypted on creation. If a snapshot is the basis for
114885	// a volume, it is not blank and its encryption status is used for the volume
114886	// encryption status.
114887	BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
114888
114889	// Indicates whether the instances are optimized for EBS I/O. This optimization
114890	// provides dedicated throughput to Amazon EBS and an optimized configuration
114891	// stack to provide optimal EBS I/O performance. This optimization isn't available
114892	// with all instance types. Additional usage charges apply when using an EBS
114893	// Optimized instance.
114894	//
114895	// Default: false
114896	EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
114897
114898	// The IAM instance profile.
114899	IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
114900
114901	// The ID of the AMI.
114902	ImageId *string `locationName:"imageId" type:"string"`
114903
114904	// The instance type.
114905	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
114906
114907	// The ID of the kernel.
114908	KernelId *string `locationName:"kernelId" type:"string"`
114909
114910	// The name of the key pair.
114911	KeyName *string `locationName:"keyName" type:"string"`
114912
114913	// Enable or disable monitoring for the instances.
114914	Monitoring *SpotFleetMonitoring `locationName:"monitoring" type:"structure"`
114915
114916	// One or more network interfaces. If you specify a network interface, you must
114917	// specify subnet IDs and security group IDs using the network interface.
114918	//
114919	// SpotFleetLaunchSpecification currently does not support Elastic Fabric Adapter
114920	// (EFA). To specify an EFA, you must use LaunchTemplateConfig (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_LaunchTemplateConfig.html).
114921	NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
114922
114923	// The placement information.
114924	Placement *SpotPlacement `locationName:"placement" type:"structure"`
114925
114926	// The ID of the RAM disk. Some kernels require additional drivers at launch.
114927	// Check the kernel requirements for information about whether you need to specify
114928	// a RAM disk. To find kernel requirements, refer to the AWS Resource Center
114929	// and search for the kernel ID.
114930	RamdiskId *string `locationName:"ramdiskId" type:"string"`
114931
114932	// One or more security groups. When requesting instances in a VPC, you must
114933	// specify the IDs of the security groups. When requesting instances in EC2-Classic,
114934	// you can specify the names or the IDs of the security groups.
114935	SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
114936
114937	// The maximum price per unit hour that you are willing to pay for a Spot Instance.
114938	// If this value is not specified, the default is the Spot price specified for
114939	// the fleet. To determine the Spot price per unit hour, divide the Spot price
114940	// by the value of WeightedCapacity.
114941	SpotPrice *string `locationName:"spotPrice" type:"string"`
114942
114943	// The IDs of the subnets in which to launch the instances. To specify multiple
114944	// subnets, separate them using commas; for example, "subnet-1234abcdeexample1,
114945	// subnet-0987cdef6example2".
114946	SubnetId *string `locationName:"subnetId" type:"string"`
114947
114948	// The tags to apply during creation.
114949	TagSpecifications []*SpotFleetTagSpecification `locationName:"tagSpecificationSet" locationNameList:"item" type:"list"`
114950
114951	// The Base64-encoded user data that instances use when starting up.
114952	UserData *string `locationName:"userData" type:"string"`
114953
114954	// The number of units provided by the specified instance type. These are the
114955	// same units that you chose to set the target capacity in terms of instances,
114956	// or a performance characteristic such as vCPUs, memory, or I/O.
114957	//
114958	// If the target capacity divided by this value is not a whole number, Amazon
114959	// EC2 rounds the number of instances to the next whole number. If this value
114960	// is not specified, the default is 1.
114961	WeightedCapacity *float64 `locationName:"weightedCapacity" type:"double"`
114962}
114963
114964// String returns the string representation
114965func (s SpotFleetLaunchSpecification) String() string {
114966	return awsutil.Prettify(s)
114967}
114968
114969// GoString returns the string representation
114970func (s SpotFleetLaunchSpecification) GoString() string {
114971	return s.String()
114972}
114973
114974// SetAddressingType sets the AddressingType field's value.
114975func (s *SpotFleetLaunchSpecification) SetAddressingType(v string) *SpotFleetLaunchSpecification {
114976	s.AddressingType = &v
114977	return s
114978}
114979
114980// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
114981func (s *SpotFleetLaunchSpecification) SetBlockDeviceMappings(v []*BlockDeviceMapping) *SpotFleetLaunchSpecification {
114982	s.BlockDeviceMappings = v
114983	return s
114984}
114985
114986// SetEbsOptimized sets the EbsOptimized field's value.
114987func (s *SpotFleetLaunchSpecification) SetEbsOptimized(v bool) *SpotFleetLaunchSpecification {
114988	s.EbsOptimized = &v
114989	return s
114990}
114991
114992// SetIamInstanceProfile sets the IamInstanceProfile field's value.
114993func (s *SpotFleetLaunchSpecification) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *SpotFleetLaunchSpecification {
114994	s.IamInstanceProfile = v
114995	return s
114996}
114997
114998// SetImageId sets the ImageId field's value.
114999func (s *SpotFleetLaunchSpecification) SetImageId(v string) *SpotFleetLaunchSpecification {
115000	s.ImageId = &v
115001	return s
115002}
115003
115004// SetInstanceType sets the InstanceType field's value.
115005func (s *SpotFleetLaunchSpecification) SetInstanceType(v string) *SpotFleetLaunchSpecification {
115006	s.InstanceType = &v
115007	return s
115008}
115009
115010// SetKernelId sets the KernelId field's value.
115011func (s *SpotFleetLaunchSpecification) SetKernelId(v string) *SpotFleetLaunchSpecification {
115012	s.KernelId = &v
115013	return s
115014}
115015
115016// SetKeyName sets the KeyName field's value.
115017func (s *SpotFleetLaunchSpecification) SetKeyName(v string) *SpotFleetLaunchSpecification {
115018	s.KeyName = &v
115019	return s
115020}
115021
115022// SetMonitoring sets the Monitoring field's value.
115023func (s *SpotFleetLaunchSpecification) SetMonitoring(v *SpotFleetMonitoring) *SpotFleetLaunchSpecification {
115024	s.Monitoring = v
115025	return s
115026}
115027
115028// SetNetworkInterfaces sets the NetworkInterfaces field's value.
115029func (s *SpotFleetLaunchSpecification) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *SpotFleetLaunchSpecification {
115030	s.NetworkInterfaces = v
115031	return s
115032}
115033
115034// SetPlacement sets the Placement field's value.
115035func (s *SpotFleetLaunchSpecification) SetPlacement(v *SpotPlacement) *SpotFleetLaunchSpecification {
115036	s.Placement = v
115037	return s
115038}
115039
115040// SetRamdiskId sets the RamdiskId field's value.
115041func (s *SpotFleetLaunchSpecification) SetRamdiskId(v string) *SpotFleetLaunchSpecification {
115042	s.RamdiskId = &v
115043	return s
115044}
115045
115046// SetSecurityGroups sets the SecurityGroups field's value.
115047func (s *SpotFleetLaunchSpecification) SetSecurityGroups(v []*GroupIdentifier) *SpotFleetLaunchSpecification {
115048	s.SecurityGroups = v
115049	return s
115050}
115051
115052// SetSpotPrice sets the SpotPrice field's value.
115053func (s *SpotFleetLaunchSpecification) SetSpotPrice(v string) *SpotFleetLaunchSpecification {
115054	s.SpotPrice = &v
115055	return s
115056}
115057
115058// SetSubnetId sets the SubnetId field's value.
115059func (s *SpotFleetLaunchSpecification) SetSubnetId(v string) *SpotFleetLaunchSpecification {
115060	s.SubnetId = &v
115061	return s
115062}
115063
115064// SetTagSpecifications sets the TagSpecifications field's value.
115065func (s *SpotFleetLaunchSpecification) SetTagSpecifications(v []*SpotFleetTagSpecification) *SpotFleetLaunchSpecification {
115066	s.TagSpecifications = v
115067	return s
115068}
115069
115070// SetUserData sets the UserData field's value.
115071func (s *SpotFleetLaunchSpecification) SetUserData(v string) *SpotFleetLaunchSpecification {
115072	s.UserData = &v
115073	return s
115074}
115075
115076// SetWeightedCapacity sets the WeightedCapacity field's value.
115077func (s *SpotFleetLaunchSpecification) SetWeightedCapacity(v float64) *SpotFleetLaunchSpecification {
115078	s.WeightedCapacity = &v
115079	return s
115080}
115081
115082// Describes whether monitoring is enabled.
115083type SpotFleetMonitoring struct {
115084	_ struct{} `type:"structure"`
115085
115086	// Enables monitoring for the instance.
115087	//
115088	// Default: false
115089	Enabled *bool `locationName:"enabled" type:"boolean"`
115090}
115091
115092// String returns the string representation
115093func (s SpotFleetMonitoring) String() string {
115094	return awsutil.Prettify(s)
115095}
115096
115097// GoString returns the string representation
115098func (s SpotFleetMonitoring) GoString() string {
115099	return s.String()
115100}
115101
115102// SetEnabled sets the Enabled field's value.
115103func (s *SpotFleetMonitoring) SetEnabled(v bool) *SpotFleetMonitoring {
115104	s.Enabled = &v
115105	return s
115106}
115107
115108// Describes a Spot Fleet request.
115109type SpotFleetRequestConfig struct {
115110	_ struct{} `type:"structure"`
115111
115112	// The progress of the Spot Fleet request. If there is an error, the status
115113	// is error. After all requests are placed, the status is pending_fulfillment.
115114	// If the size of the fleet is equal to or greater than its target capacity,
115115	// the status is fulfilled. If the size of the fleet is decreased, the status
115116	// is pending_termination while Spot Instances are terminating.
115117	ActivityStatus *string `locationName:"activityStatus" type:"string" enum:"ActivityStatus"`
115118
115119	// The creation date and time of the request.
115120	CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
115121
115122	// The configuration of the Spot Fleet request.
115123	SpotFleetRequestConfig *SpotFleetRequestConfigData `locationName:"spotFleetRequestConfig" type:"structure"`
115124
115125	// The ID of the Spot Fleet request.
115126	SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"`
115127
115128	// The state of the Spot Fleet request.
115129	SpotFleetRequestState *string `locationName:"spotFleetRequestState" type:"string" enum:"BatchState"`
115130
115131	// The tags for a Spot Fleet resource.
115132	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
115133}
115134
115135// String returns the string representation
115136func (s SpotFleetRequestConfig) String() string {
115137	return awsutil.Prettify(s)
115138}
115139
115140// GoString returns the string representation
115141func (s SpotFleetRequestConfig) GoString() string {
115142	return s.String()
115143}
115144
115145// SetActivityStatus sets the ActivityStatus field's value.
115146func (s *SpotFleetRequestConfig) SetActivityStatus(v string) *SpotFleetRequestConfig {
115147	s.ActivityStatus = &v
115148	return s
115149}
115150
115151// SetCreateTime sets the CreateTime field's value.
115152func (s *SpotFleetRequestConfig) SetCreateTime(v time.Time) *SpotFleetRequestConfig {
115153	s.CreateTime = &v
115154	return s
115155}
115156
115157// SetSpotFleetRequestConfig sets the SpotFleetRequestConfig field's value.
115158func (s *SpotFleetRequestConfig) SetSpotFleetRequestConfig(v *SpotFleetRequestConfigData) *SpotFleetRequestConfig {
115159	s.SpotFleetRequestConfig = v
115160	return s
115161}
115162
115163// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
115164func (s *SpotFleetRequestConfig) SetSpotFleetRequestId(v string) *SpotFleetRequestConfig {
115165	s.SpotFleetRequestId = &v
115166	return s
115167}
115168
115169// SetSpotFleetRequestState sets the SpotFleetRequestState field's value.
115170func (s *SpotFleetRequestConfig) SetSpotFleetRequestState(v string) *SpotFleetRequestConfig {
115171	s.SpotFleetRequestState = &v
115172	return s
115173}
115174
115175// SetTags sets the Tags field's value.
115176func (s *SpotFleetRequestConfig) SetTags(v []*Tag) *SpotFleetRequestConfig {
115177	s.Tags = v
115178	return s
115179}
115180
115181// Describes the configuration of a Spot Fleet request.
115182type SpotFleetRequestConfigData struct {
115183	_ struct{} `type:"structure"`
115184
115185	// Indicates how to allocate the target Spot Instance capacity across the Spot
115186	// Instance pools specified by the Spot Fleet request.
115187	//
115188	// If the allocation strategy is lowestPrice, Spot Fleet launches instances
115189	// from the Spot Instance pools with the lowest price. This is the default allocation
115190	// strategy.
115191	//
115192	// If the allocation strategy is diversified, Spot Fleet launches instances
115193	// from all the Spot Instance pools that you specify.
115194	//
115195	// If the allocation strategy is capacityOptimized (recommended), Spot Fleet
115196	// launches instances from Spot Instance pools with optimal capacity for the
115197	// number of instances that are launching. To give certain instance types a
115198	// higher chance of launching first, use capacityOptimizedPrioritized. Set a
115199	// priority for each instance type by using the Priority parameter for LaunchTemplateOverrides.
115200	// You can assign the same priority to different LaunchTemplateOverrides. EC2
115201	// implements the priorities on a best-effort basis, but optimizes for capacity
115202	// first. capacityOptimizedPrioritized is supported only if your Spot Fleet
115203	// uses a launch template. Note that if the OnDemandAllocationStrategy is set
115204	// to prioritized, the same priority is applied when fulfilling On-Demand capacity.
115205	AllocationStrategy *string `locationName:"allocationStrategy" type:"string" enum:"AllocationStrategy"`
115206
115207	// A unique, case-sensitive identifier that you provide to ensure the idempotency
115208	// of your listings. This helps to avoid duplicate listings. For more information,
115209	// see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
115210	ClientToken *string `locationName:"clientToken" type:"string"`
115211
115212	// Indicates whether running Spot Instances should be terminated if you decrease
115213	// the target capacity of the Spot Fleet request below the current size of the
115214	// Spot Fleet.
115215	ExcessCapacityTerminationPolicy *string `locationName:"excessCapacityTerminationPolicy" type:"string" enum:"ExcessCapacityTerminationPolicy"`
115216
115217	// The number of units fulfilled by this request compared to the set target
115218	// capacity. You cannot set this value.
115219	FulfilledCapacity *float64 `locationName:"fulfilledCapacity" type:"double"`
115220
115221	// The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM)
115222	// role that grants the Spot Fleet the permission to request, launch, terminate,
115223	// and tag instances on your behalf. For more information, see Spot Fleet prerequisites
115224	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html#spot-fleet-prerequisites)
115225	// in the Amazon EC2 User Guide for Linux Instances. Spot Fleet can terminate
115226	// Spot Instances on your behalf when you cancel its Spot Fleet request using
115227	// CancelSpotFleetRequests (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CancelSpotFleetRequests)
115228	// or when the Spot Fleet request expires, if you set TerminateInstancesWithExpiration.
115229	//
115230	// IamFleetRole is a required field
115231	IamFleetRole *string `locationName:"iamFleetRole" type:"string" required:"true"`
115232
115233	// The behavior when a Spot Instance is interrupted. The default is terminate.
115234	InstanceInterruptionBehavior *string `locationName:"instanceInterruptionBehavior" type:"string" enum:"InstanceInterruptionBehavior"`
115235
115236	// The number of Spot pools across which to allocate your target Spot capacity.
115237	// Valid only when Spot AllocationStrategy is set to lowest-price. Spot Fleet
115238	// selects the cheapest Spot pools and evenly allocates your target Spot capacity
115239	// across the number of Spot pools that you specify.
115240	InstancePoolsToUseCount *int64 `locationName:"instancePoolsToUseCount" type:"integer"`
115241
115242	// The launch specifications for the Spot Fleet request. If you specify LaunchSpecifications,
115243	// you can't specify LaunchTemplateConfigs. If you include On-Demand capacity
115244	// in your request, you must use LaunchTemplateConfigs.
115245	LaunchSpecifications []*SpotFleetLaunchSpecification `locationName:"launchSpecifications" locationNameList:"item" type:"list"`
115246
115247	// The launch template and overrides. If you specify LaunchTemplateConfigs,
115248	// you can't specify LaunchSpecifications. If you include On-Demand capacity
115249	// in your request, you must use LaunchTemplateConfigs.
115250	LaunchTemplateConfigs []*LaunchTemplateConfig `locationName:"launchTemplateConfigs" locationNameList:"item" type:"list"`
115251
115252	// One or more Classic Load Balancers and target groups to attach to the Spot
115253	// Fleet request. Spot Fleet registers the running Spot Instances with the specified
115254	// Classic Load Balancers and target groups.
115255	//
115256	// With Network Load Balancers, Spot Fleet cannot register instances that have
115257	// the following instance types: C1, CC1, CC2, CG1, CG2, CR1, CS1, G1, G2, HI1,
115258	// HS1, M1, M2, M3, and T1.
115259	LoadBalancersConfig *LoadBalancersConfig `locationName:"loadBalancersConfig" type:"structure"`
115260
115261	// The order of the launch template overrides to use in fulfilling On-Demand
115262	// capacity. If you specify lowestPrice, Spot Fleet uses price to determine
115263	// the order, launching the lowest price first. If you specify prioritized,
115264	// Spot Fleet uses the priority that you assign to each Spot Fleet launch template
115265	// override, launching the highest priority first. If you do not specify a value,
115266	// Spot Fleet defaults to lowestPrice.
115267	OnDemandAllocationStrategy *string `locationName:"onDemandAllocationStrategy" type:"string" enum:"OnDemandAllocationStrategy"`
115268
115269	// The number of On-Demand units fulfilled by this request compared to the set
115270	// target On-Demand capacity.
115271	OnDemandFulfilledCapacity *float64 `locationName:"onDemandFulfilledCapacity" type:"double"`
115272
115273	// The maximum amount per hour for On-Demand Instances that you're willing to
115274	// pay. You can use the onDemandMaxTotalPrice parameter, the spotMaxTotalPrice
115275	// parameter, or both parameters to ensure that your fleet cost does not exceed
115276	// your budget. If you set a maximum price per hour for the On-Demand Instances
115277	// and Spot Instances in your request, Spot Fleet will launch instances until
115278	// it reaches the maximum amount you're willing to pay. When the maximum amount
115279	// you're willing to pay is reached, the fleet stops launching instances even
115280	// if it hasn’t met the target capacity.
115281	OnDemandMaxTotalPrice *string `locationName:"onDemandMaxTotalPrice" type:"string"`
115282
115283	// The number of On-Demand units to request. You can choose to set the target
115284	// capacity in terms of instances or a performance characteristic that is important
115285	// to your application workload, such as vCPUs, memory, or I/O. If the request
115286	// type is maintain, you can specify a target capacity of 0 and add capacity
115287	// later.
115288	OnDemandTargetCapacity *int64 `locationName:"onDemandTargetCapacity" type:"integer"`
115289
115290	// Indicates whether Spot Fleet should replace unhealthy instances.
115291	ReplaceUnhealthyInstances *bool `locationName:"replaceUnhealthyInstances" type:"boolean"`
115292
115293	// The strategies for managing your Spot Instances that are at an elevated risk
115294	// of being interrupted.
115295	SpotMaintenanceStrategies *SpotMaintenanceStrategies `locationName:"spotMaintenanceStrategies" type:"structure"`
115296
115297	// The maximum amount per hour for Spot Instances that you're willing to pay.
115298	// You can use the spotdMaxTotalPrice parameter, the onDemandMaxTotalPrice parameter,
115299	// or both parameters to ensure that your fleet cost does not exceed your budget.
115300	// If you set a maximum price per hour for the On-Demand Instances and Spot
115301	// Instances in your request, Spot Fleet will launch instances until it reaches
115302	// the maximum amount you're willing to pay. When the maximum amount you're
115303	// willing to pay is reached, the fleet stops launching instances even if it
115304	// hasn’t met the target capacity.
115305	SpotMaxTotalPrice *string `locationName:"spotMaxTotalPrice" type:"string"`
115306
115307	// The maximum price per unit hour that you are willing to pay for a Spot Instance.
115308	// The default is the On-Demand price.
115309	SpotPrice *string `locationName:"spotPrice" type:"string"`
115310
115311	// The key-value pair for tagging the Spot Fleet request on creation. The value
115312	// for ResourceType must be spot-fleet-request, otherwise the Spot Fleet request
115313	// fails. To tag instances at launch, specify the tags in the launch template
115314	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html#create-launch-template)
115315	// (valid only if you use LaunchTemplateConfigs) or in the SpotFleetTagSpecification
115316	// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SpotFleetTagSpecification.html)
115317	// (valid only if you use LaunchSpecifications). For information about tagging
115318	// after launch, see Tagging Your Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-resources).
115319	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
115320
115321	// The number of units to request for the Spot Fleet. You can choose to set
115322	// the target capacity in terms of instances or a performance characteristic
115323	// that is important to your application workload, such as vCPUs, memory, or
115324	// I/O. If the request type is maintain, you can specify a target capacity of
115325	// 0 and add capacity later.
115326	//
115327	// TargetCapacity is a required field
115328	TargetCapacity *int64 `locationName:"targetCapacity" type:"integer" required:"true"`
115329
115330	// Indicates whether running Spot Instances are terminated when the Spot Fleet
115331	// request expires.
115332	TerminateInstancesWithExpiration *bool `locationName:"terminateInstancesWithExpiration" type:"boolean"`
115333
115334	// The type of request. Indicates whether the Spot Fleet only requests the target
115335	// capacity or also attempts to maintain it. When this value is request, the
115336	// Spot Fleet only places the required requests. It does not attempt to replenish
115337	// Spot Instances if capacity is diminished, nor does it submit requests in
115338	// alternative Spot pools if capacity is not available. When this value is maintain,
115339	// the Spot Fleet maintains the target capacity. The Spot Fleet places the required
115340	// requests to meet capacity and automatically replenishes any interrupted instances.
115341	// Default: maintain. instant is listed but is not used by Spot Fleet.
115342	Type *string `locationName:"type" type:"string" enum:"FleetType"`
115343
115344	// The start date and time of the request, in UTC format (YYYY-MM-DDTHH:MM:SSZ).
115345	// By default, Amazon EC2 starts fulfilling the request immediately.
115346	ValidFrom *time.Time `locationName:"validFrom" type:"timestamp"`
115347
115348	// The end date and time of the request, in UTC format (YYYY-MM-DDTHH:MM:SSZ).
115349	// After the end date and time, no new Spot Instance requests are placed or
115350	// able to fulfill the request. If no value is specified, the Spot Fleet request
115351	// remains until you cancel it.
115352	ValidUntil *time.Time `locationName:"validUntil" type:"timestamp"`
115353}
115354
115355// String returns the string representation
115356func (s SpotFleetRequestConfigData) String() string {
115357	return awsutil.Prettify(s)
115358}
115359
115360// GoString returns the string representation
115361func (s SpotFleetRequestConfigData) GoString() string {
115362	return s.String()
115363}
115364
115365// Validate inspects the fields of the type to determine if they are valid.
115366func (s *SpotFleetRequestConfigData) Validate() error {
115367	invalidParams := request.ErrInvalidParams{Context: "SpotFleetRequestConfigData"}
115368	if s.IamFleetRole == nil {
115369		invalidParams.Add(request.NewErrParamRequired("IamFleetRole"))
115370	}
115371	if s.TargetCapacity == nil {
115372		invalidParams.Add(request.NewErrParamRequired("TargetCapacity"))
115373	}
115374	if s.LaunchTemplateConfigs != nil {
115375		for i, v := range s.LaunchTemplateConfigs {
115376			if v == nil {
115377				continue
115378			}
115379			if err := v.Validate(); err != nil {
115380				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LaunchTemplateConfigs", i), err.(request.ErrInvalidParams))
115381			}
115382		}
115383	}
115384	if s.LoadBalancersConfig != nil {
115385		if err := s.LoadBalancersConfig.Validate(); err != nil {
115386			invalidParams.AddNested("LoadBalancersConfig", err.(request.ErrInvalidParams))
115387		}
115388	}
115389
115390	if invalidParams.Len() > 0 {
115391		return invalidParams
115392	}
115393	return nil
115394}
115395
115396// SetAllocationStrategy sets the AllocationStrategy field's value.
115397func (s *SpotFleetRequestConfigData) SetAllocationStrategy(v string) *SpotFleetRequestConfigData {
115398	s.AllocationStrategy = &v
115399	return s
115400}
115401
115402// SetClientToken sets the ClientToken field's value.
115403func (s *SpotFleetRequestConfigData) SetClientToken(v string) *SpotFleetRequestConfigData {
115404	s.ClientToken = &v
115405	return s
115406}
115407
115408// SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
115409func (s *SpotFleetRequestConfigData) SetExcessCapacityTerminationPolicy(v string) *SpotFleetRequestConfigData {
115410	s.ExcessCapacityTerminationPolicy = &v
115411	return s
115412}
115413
115414// SetFulfilledCapacity sets the FulfilledCapacity field's value.
115415func (s *SpotFleetRequestConfigData) SetFulfilledCapacity(v float64) *SpotFleetRequestConfigData {
115416	s.FulfilledCapacity = &v
115417	return s
115418}
115419
115420// SetIamFleetRole sets the IamFleetRole field's value.
115421func (s *SpotFleetRequestConfigData) SetIamFleetRole(v string) *SpotFleetRequestConfigData {
115422	s.IamFleetRole = &v
115423	return s
115424}
115425
115426// SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
115427func (s *SpotFleetRequestConfigData) SetInstanceInterruptionBehavior(v string) *SpotFleetRequestConfigData {
115428	s.InstanceInterruptionBehavior = &v
115429	return s
115430}
115431
115432// SetInstancePoolsToUseCount sets the InstancePoolsToUseCount field's value.
115433func (s *SpotFleetRequestConfigData) SetInstancePoolsToUseCount(v int64) *SpotFleetRequestConfigData {
115434	s.InstancePoolsToUseCount = &v
115435	return s
115436}
115437
115438// SetLaunchSpecifications sets the LaunchSpecifications field's value.
115439func (s *SpotFleetRequestConfigData) SetLaunchSpecifications(v []*SpotFleetLaunchSpecification) *SpotFleetRequestConfigData {
115440	s.LaunchSpecifications = v
115441	return s
115442}
115443
115444// SetLaunchTemplateConfigs sets the LaunchTemplateConfigs field's value.
115445func (s *SpotFleetRequestConfigData) SetLaunchTemplateConfigs(v []*LaunchTemplateConfig) *SpotFleetRequestConfigData {
115446	s.LaunchTemplateConfigs = v
115447	return s
115448}
115449
115450// SetLoadBalancersConfig sets the LoadBalancersConfig field's value.
115451func (s *SpotFleetRequestConfigData) SetLoadBalancersConfig(v *LoadBalancersConfig) *SpotFleetRequestConfigData {
115452	s.LoadBalancersConfig = v
115453	return s
115454}
115455
115456// SetOnDemandAllocationStrategy sets the OnDemandAllocationStrategy field's value.
115457func (s *SpotFleetRequestConfigData) SetOnDemandAllocationStrategy(v string) *SpotFleetRequestConfigData {
115458	s.OnDemandAllocationStrategy = &v
115459	return s
115460}
115461
115462// SetOnDemandFulfilledCapacity sets the OnDemandFulfilledCapacity field's value.
115463func (s *SpotFleetRequestConfigData) SetOnDemandFulfilledCapacity(v float64) *SpotFleetRequestConfigData {
115464	s.OnDemandFulfilledCapacity = &v
115465	return s
115466}
115467
115468// SetOnDemandMaxTotalPrice sets the OnDemandMaxTotalPrice field's value.
115469func (s *SpotFleetRequestConfigData) SetOnDemandMaxTotalPrice(v string) *SpotFleetRequestConfigData {
115470	s.OnDemandMaxTotalPrice = &v
115471	return s
115472}
115473
115474// SetOnDemandTargetCapacity sets the OnDemandTargetCapacity field's value.
115475func (s *SpotFleetRequestConfigData) SetOnDemandTargetCapacity(v int64) *SpotFleetRequestConfigData {
115476	s.OnDemandTargetCapacity = &v
115477	return s
115478}
115479
115480// SetReplaceUnhealthyInstances sets the ReplaceUnhealthyInstances field's value.
115481func (s *SpotFleetRequestConfigData) SetReplaceUnhealthyInstances(v bool) *SpotFleetRequestConfigData {
115482	s.ReplaceUnhealthyInstances = &v
115483	return s
115484}
115485
115486// SetSpotMaintenanceStrategies sets the SpotMaintenanceStrategies field's value.
115487func (s *SpotFleetRequestConfigData) SetSpotMaintenanceStrategies(v *SpotMaintenanceStrategies) *SpotFleetRequestConfigData {
115488	s.SpotMaintenanceStrategies = v
115489	return s
115490}
115491
115492// SetSpotMaxTotalPrice sets the SpotMaxTotalPrice field's value.
115493func (s *SpotFleetRequestConfigData) SetSpotMaxTotalPrice(v string) *SpotFleetRequestConfigData {
115494	s.SpotMaxTotalPrice = &v
115495	return s
115496}
115497
115498// SetSpotPrice sets the SpotPrice field's value.
115499func (s *SpotFleetRequestConfigData) SetSpotPrice(v string) *SpotFleetRequestConfigData {
115500	s.SpotPrice = &v
115501	return s
115502}
115503
115504// SetTagSpecifications sets the TagSpecifications field's value.
115505func (s *SpotFleetRequestConfigData) SetTagSpecifications(v []*TagSpecification) *SpotFleetRequestConfigData {
115506	s.TagSpecifications = v
115507	return s
115508}
115509
115510// SetTargetCapacity sets the TargetCapacity field's value.
115511func (s *SpotFleetRequestConfigData) SetTargetCapacity(v int64) *SpotFleetRequestConfigData {
115512	s.TargetCapacity = &v
115513	return s
115514}
115515
115516// SetTerminateInstancesWithExpiration sets the TerminateInstancesWithExpiration field's value.
115517func (s *SpotFleetRequestConfigData) SetTerminateInstancesWithExpiration(v bool) *SpotFleetRequestConfigData {
115518	s.TerminateInstancesWithExpiration = &v
115519	return s
115520}
115521
115522// SetType sets the Type field's value.
115523func (s *SpotFleetRequestConfigData) SetType(v string) *SpotFleetRequestConfigData {
115524	s.Type = &v
115525	return s
115526}
115527
115528// SetValidFrom sets the ValidFrom field's value.
115529func (s *SpotFleetRequestConfigData) SetValidFrom(v time.Time) *SpotFleetRequestConfigData {
115530	s.ValidFrom = &v
115531	return s
115532}
115533
115534// SetValidUntil sets the ValidUntil field's value.
115535func (s *SpotFleetRequestConfigData) SetValidUntil(v time.Time) *SpotFleetRequestConfigData {
115536	s.ValidUntil = &v
115537	return s
115538}
115539
115540// The tags for a Spot Fleet resource.
115541type SpotFleetTagSpecification struct {
115542	_ struct{} `type:"structure"`
115543
115544	// The type of resource. Currently, the only resource type that is supported
115545	// is instance. To tag the Spot Fleet request on creation, use the TagSpecifications
115546	// parameter in SpotFleetRequestConfigData (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SpotFleetRequestConfigData.html).
115547	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
115548
115549	// The tags.
115550	Tags []*Tag `locationName:"tag" locationNameList:"item" type:"list"`
115551}
115552
115553// String returns the string representation
115554func (s SpotFleetTagSpecification) String() string {
115555	return awsutil.Prettify(s)
115556}
115557
115558// GoString returns the string representation
115559func (s SpotFleetTagSpecification) GoString() string {
115560	return s.String()
115561}
115562
115563// SetResourceType sets the ResourceType field's value.
115564func (s *SpotFleetTagSpecification) SetResourceType(v string) *SpotFleetTagSpecification {
115565	s.ResourceType = &v
115566	return s
115567}
115568
115569// SetTags sets the Tags field's value.
115570func (s *SpotFleetTagSpecification) SetTags(v []*Tag) *SpotFleetTagSpecification {
115571	s.Tags = v
115572	return s
115573}
115574
115575// Describes a Spot Instance request.
115576type SpotInstanceRequest struct {
115577	_ struct{} `type:"structure"`
115578
115579	// If you specified a duration and your Spot Instance request was fulfilled,
115580	// this is the fixed hourly price in effect for the Spot Instance while it runs.
115581	ActualBlockHourlyPrice *string `locationName:"actualBlockHourlyPrice" type:"string"`
115582
115583	// The Availability Zone group. If you specify the same Availability Zone group
115584	// for all Spot Instance requests, all Spot Instances are launched in the same
115585	// Availability Zone.
115586	AvailabilityZoneGroup *string `locationName:"availabilityZoneGroup" type:"string"`
115587
115588	// The duration for the Spot Instance, in minutes.
115589	BlockDurationMinutes *int64 `locationName:"blockDurationMinutes" type:"integer"`
115590
115591	// The date and time when the Spot Instance request was created, in UTC format
115592	// (for example, YYYY-MM-DDTHH:MM:SSZ).
115593	CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
115594
115595	// The fault codes for the Spot Instance request, if any.
115596	Fault *SpotInstanceStateFault `locationName:"fault" type:"structure"`
115597
115598	// The instance ID, if an instance has been launched to fulfill the Spot Instance
115599	// request.
115600	InstanceId *string `locationName:"instanceId" type:"string"`
115601
115602	// The behavior when a Spot Instance is interrupted.
115603	InstanceInterruptionBehavior *string `locationName:"instanceInterruptionBehavior" type:"string" enum:"InstanceInterruptionBehavior"`
115604
115605	// The instance launch group. Launch groups are Spot Instances that launch together
115606	// and terminate together.
115607	LaunchGroup *string `locationName:"launchGroup" type:"string"`
115608
115609	// Additional information for launching instances.
115610	LaunchSpecification *LaunchSpecification `locationName:"launchSpecification" type:"structure"`
115611
115612	// The Availability Zone in which the request is launched.
115613	LaunchedAvailabilityZone *string `locationName:"launchedAvailabilityZone" type:"string"`
115614
115615	// The product description associated with the Spot Instance.
115616	ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
115617
115618	// The ID of the Spot Instance request.
115619	SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
115620
115621	// The maximum price per hour that you are willing to pay for a Spot Instance.
115622	SpotPrice *string `locationName:"spotPrice" type:"string"`
115623
115624	// The state of the Spot Instance request. Spot status information helps track
115625	// your Spot Instance requests. For more information, see Spot status (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html)
115626	// in the Amazon EC2 User Guide for Linux Instances.
115627	State *string `locationName:"state" type:"string" enum:"SpotInstanceState"`
115628
115629	// The status code and status message describing the Spot Instance request.
115630	Status *SpotInstanceStatus `locationName:"status" type:"structure"`
115631
115632	// Any tags assigned to the resource.
115633	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
115634
115635	// The Spot Instance request type.
115636	Type *string `locationName:"type" type:"string" enum:"SpotInstanceType"`
115637
115638	// The start date of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
115639	// The request becomes active at this date and time.
115640	ValidFrom *time.Time `locationName:"validFrom" type:"timestamp"`
115641
115642	// The end date of the request, in UTC format (YYYY-MM-DDTHH:MM:SSZ).
115643	//
115644	//    * For a persistent request, the request remains active until the validUntil
115645	//    date and time is reached. Otherwise, the request remains active until
115646	//    you cancel it.
115647	//
115648	//    * For a one-time request, the request remains active until all instances
115649	//    launch, the request is canceled, or the validUntil date and time is reached.
115650	//    By default, the request is valid for 7 days from the date the request
115651	//    was created.
115652	ValidUntil *time.Time `locationName:"validUntil" type:"timestamp"`
115653}
115654
115655// String returns the string representation
115656func (s SpotInstanceRequest) String() string {
115657	return awsutil.Prettify(s)
115658}
115659
115660// GoString returns the string representation
115661func (s SpotInstanceRequest) GoString() string {
115662	return s.String()
115663}
115664
115665// SetActualBlockHourlyPrice sets the ActualBlockHourlyPrice field's value.
115666func (s *SpotInstanceRequest) SetActualBlockHourlyPrice(v string) *SpotInstanceRequest {
115667	s.ActualBlockHourlyPrice = &v
115668	return s
115669}
115670
115671// SetAvailabilityZoneGroup sets the AvailabilityZoneGroup field's value.
115672func (s *SpotInstanceRequest) SetAvailabilityZoneGroup(v string) *SpotInstanceRequest {
115673	s.AvailabilityZoneGroup = &v
115674	return s
115675}
115676
115677// SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
115678func (s *SpotInstanceRequest) SetBlockDurationMinutes(v int64) *SpotInstanceRequest {
115679	s.BlockDurationMinutes = &v
115680	return s
115681}
115682
115683// SetCreateTime sets the CreateTime field's value.
115684func (s *SpotInstanceRequest) SetCreateTime(v time.Time) *SpotInstanceRequest {
115685	s.CreateTime = &v
115686	return s
115687}
115688
115689// SetFault sets the Fault field's value.
115690func (s *SpotInstanceRequest) SetFault(v *SpotInstanceStateFault) *SpotInstanceRequest {
115691	s.Fault = v
115692	return s
115693}
115694
115695// SetInstanceId sets the InstanceId field's value.
115696func (s *SpotInstanceRequest) SetInstanceId(v string) *SpotInstanceRequest {
115697	s.InstanceId = &v
115698	return s
115699}
115700
115701// SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
115702func (s *SpotInstanceRequest) SetInstanceInterruptionBehavior(v string) *SpotInstanceRequest {
115703	s.InstanceInterruptionBehavior = &v
115704	return s
115705}
115706
115707// SetLaunchGroup sets the LaunchGroup field's value.
115708func (s *SpotInstanceRequest) SetLaunchGroup(v string) *SpotInstanceRequest {
115709	s.LaunchGroup = &v
115710	return s
115711}
115712
115713// SetLaunchSpecification sets the LaunchSpecification field's value.
115714func (s *SpotInstanceRequest) SetLaunchSpecification(v *LaunchSpecification) *SpotInstanceRequest {
115715	s.LaunchSpecification = v
115716	return s
115717}
115718
115719// SetLaunchedAvailabilityZone sets the LaunchedAvailabilityZone field's value.
115720func (s *SpotInstanceRequest) SetLaunchedAvailabilityZone(v string) *SpotInstanceRequest {
115721	s.LaunchedAvailabilityZone = &v
115722	return s
115723}
115724
115725// SetProductDescription sets the ProductDescription field's value.
115726func (s *SpotInstanceRequest) SetProductDescription(v string) *SpotInstanceRequest {
115727	s.ProductDescription = &v
115728	return s
115729}
115730
115731// SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
115732func (s *SpotInstanceRequest) SetSpotInstanceRequestId(v string) *SpotInstanceRequest {
115733	s.SpotInstanceRequestId = &v
115734	return s
115735}
115736
115737// SetSpotPrice sets the SpotPrice field's value.
115738func (s *SpotInstanceRequest) SetSpotPrice(v string) *SpotInstanceRequest {
115739	s.SpotPrice = &v
115740	return s
115741}
115742
115743// SetState sets the State field's value.
115744func (s *SpotInstanceRequest) SetState(v string) *SpotInstanceRequest {
115745	s.State = &v
115746	return s
115747}
115748
115749// SetStatus sets the Status field's value.
115750func (s *SpotInstanceRequest) SetStatus(v *SpotInstanceStatus) *SpotInstanceRequest {
115751	s.Status = v
115752	return s
115753}
115754
115755// SetTags sets the Tags field's value.
115756func (s *SpotInstanceRequest) SetTags(v []*Tag) *SpotInstanceRequest {
115757	s.Tags = v
115758	return s
115759}
115760
115761// SetType sets the Type field's value.
115762func (s *SpotInstanceRequest) SetType(v string) *SpotInstanceRequest {
115763	s.Type = &v
115764	return s
115765}
115766
115767// SetValidFrom sets the ValidFrom field's value.
115768func (s *SpotInstanceRequest) SetValidFrom(v time.Time) *SpotInstanceRequest {
115769	s.ValidFrom = &v
115770	return s
115771}
115772
115773// SetValidUntil sets the ValidUntil field's value.
115774func (s *SpotInstanceRequest) SetValidUntil(v time.Time) *SpotInstanceRequest {
115775	s.ValidUntil = &v
115776	return s
115777}
115778
115779// Describes a Spot Instance state change.
115780type SpotInstanceStateFault struct {
115781	_ struct{} `type:"structure"`
115782
115783	// The reason code for the Spot Instance state change.
115784	Code *string `locationName:"code" type:"string"`
115785
115786	// The message for the Spot Instance state change.
115787	Message *string `locationName:"message" type:"string"`
115788}
115789
115790// String returns the string representation
115791func (s SpotInstanceStateFault) String() string {
115792	return awsutil.Prettify(s)
115793}
115794
115795// GoString returns the string representation
115796func (s SpotInstanceStateFault) GoString() string {
115797	return s.String()
115798}
115799
115800// SetCode sets the Code field's value.
115801func (s *SpotInstanceStateFault) SetCode(v string) *SpotInstanceStateFault {
115802	s.Code = &v
115803	return s
115804}
115805
115806// SetMessage sets the Message field's value.
115807func (s *SpotInstanceStateFault) SetMessage(v string) *SpotInstanceStateFault {
115808	s.Message = &v
115809	return s
115810}
115811
115812// Describes the status of a Spot Instance request.
115813type SpotInstanceStatus struct {
115814	_ struct{} `type:"structure"`
115815
115816	// 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)
115817	// in the Amazon EC2 User Guide for Linux Instances.
115818	Code *string `locationName:"code" type:"string"`
115819
115820	// The description for the status code.
115821	Message *string `locationName:"message" type:"string"`
115822
115823	// The date and time of the most recent status update, in UTC format (for example,
115824	// YYYY-MM-DDTHH:MM:SSZ).
115825	UpdateTime *time.Time `locationName:"updateTime" type:"timestamp"`
115826}
115827
115828// String returns the string representation
115829func (s SpotInstanceStatus) String() string {
115830	return awsutil.Prettify(s)
115831}
115832
115833// GoString returns the string representation
115834func (s SpotInstanceStatus) GoString() string {
115835	return s.String()
115836}
115837
115838// SetCode sets the Code field's value.
115839func (s *SpotInstanceStatus) SetCode(v string) *SpotInstanceStatus {
115840	s.Code = &v
115841	return s
115842}
115843
115844// SetMessage sets the Message field's value.
115845func (s *SpotInstanceStatus) SetMessage(v string) *SpotInstanceStatus {
115846	s.Message = &v
115847	return s
115848}
115849
115850// SetUpdateTime sets the UpdateTime field's value.
115851func (s *SpotInstanceStatus) SetUpdateTime(v time.Time) *SpotInstanceStatus {
115852	s.UpdateTime = &v
115853	return s
115854}
115855
115856// The strategies for managing your Spot Instances that are at an elevated risk
115857// of being interrupted.
115858type SpotMaintenanceStrategies struct {
115859	_ struct{} `type:"structure"`
115860
115861	// The strategy to use when Amazon EC2 emits a signal that your Spot Instance
115862	// is at an elevated risk of being interrupted.
115863	CapacityRebalance *SpotCapacityRebalance `locationName:"capacityRebalance" type:"structure"`
115864}
115865
115866// String returns the string representation
115867func (s SpotMaintenanceStrategies) String() string {
115868	return awsutil.Prettify(s)
115869}
115870
115871// GoString returns the string representation
115872func (s SpotMaintenanceStrategies) GoString() string {
115873	return s.String()
115874}
115875
115876// SetCapacityRebalance sets the CapacityRebalance field's value.
115877func (s *SpotMaintenanceStrategies) SetCapacityRebalance(v *SpotCapacityRebalance) *SpotMaintenanceStrategies {
115878	s.CapacityRebalance = v
115879	return s
115880}
115881
115882// The options for Spot Instances.
115883type SpotMarketOptions struct {
115884	_ struct{} `type:"structure"`
115885
115886	// The required duration for the Spot Instances (also known as Spot blocks),
115887	// in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300,
115888	// or 360).
115889	//
115890	// The duration period starts as soon as your Spot Instance receives its instance
115891	// ID. At the end of the duration period, Amazon EC2 marks the Spot Instance
115892	// for termination and provides a Spot Instance termination notice, which gives
115893	// the instance a two-minute warning before it terminates.
115894	//
115895	// You can't specify an Availability Zone group or a launch group if you specify
115896	// a duration.
115897	//
115898	// New accounts or accounts with no previous billing history with AWS are not
115899	// eligible for Spot Instances with a defined duration (also known as Spot blocks).
115900	BlockDurationMinutes *int64 `type:"integer"`
115901
115902	// The behavior when a Spot Instance is interrupted. The default is terminate.
115903	InstanceInterruptionBehavior *string `type:"string" enum:"InstanceInterruptionBehavior"`
115904
115905	// The maximum hourly price you're willing to pay for the Spot Instances. The
115906	// default is the On-Demand price.
115907	MaxPrice *string `type:"string"`
115908
115909	// The Spot Instance request type. For RunInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances),
115910	// persistent Spot Instance requests are only supported when the instance interruption
115911	// behavior is either hibernate or stop.
115912	SpotInstanceType *string `type:"string" enum:"SpotInstanceType"`
115913
115914	// The end date of the request, in UTC format (YYYY-MM-DDTHH:MM:SSZ). Supported
115915	// only for persistent requests.
115916	//
115917	//    * For a persistent request, the request remains active until the ValidUntil
115918	//    date and time is reached. Otherwise, the request remains active until
115919	//    you cancel it.
115920	//
115921	//    * For a one-time request, ValidUntil is not supported. The request remains
115922	//    active until all instances launch or you cancel the request.
115923	ValidUntil *time.Time `type:"timestamp"`
115924}
115925
115926// String returns the string representation
115927func (s SpotMarketOptions) String() string {
115928	return awsutil.Prettify(s)
115929}
115930
115931// GoString returns the string representation
115932func (s SpotMarketOptions) GoString() string {
115933	return s.String()
115934}
115935
115936// SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
115937func (s *SpotMarketOptions) SetBlockDurationMinutes(v int64) *SpotMarketOptions {
115938	s.BlockDurationMinutes = &v
115939	return s
115940}
115941
115942// SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
115943func (s *SpotMarketOptions) SetInstanceInterruptionBehavior(v string) *SpotMarketOptions {
115944	s.InstanceInterruptionBehavior = &v
115945	return s
115946}
115947
115948// SetMaxPrice sets the MaxPrice field's value.
115949func (s *SpotMarketOptions) SetMaxPrice(v string) *SpotMarketOptions {
115950	s.MaxPrice = &v
115951	return s
115952}
115953
115954// SetSpotInstanceType sets the SpotInstanceType field's value.
115955func (s *SpotMarketOptions) SetSpotInstanceType(v string) *SpotMarketOptions {
115956	s.SpotInstanceType = &v
115957	return s
115958}
115959
115960// SetValidUntil sets the ValidUntil field's value.
115961func (s *SpotMarketOptions) SetValidUntil(v time.Time) *SpotMarketOptions {
115962	s.ValidUntil = &v
115963	return s
115964}
115965
115966// Describes the configuration of Spot Instances in an EC2 Fleet.
115967type SpotOptions struct {
115968	_ struct{} `type:"structure"`
115969
115970	// Indicates how to allocate the target Spot Instance capacity across the Spot
115971	// Instance pools specified by the EC2 Fleet.
115972	//
115973	// If the allocation strategy is lowest-price, EC2 Fleet launches instances
115974	// from the Spot Instance pools with the lowest price. This is the default allocation
115975	// strategy.
115976	//
115977	// If the allocation strategy is diversified, EC2 Fleet launches instances from
115978	// all of the Spot Instance pools that you specify.
115979	//
115980	// If the allocation strategy is capacity-optimized (recommended), EC2 Fleet
115981	// launches instances from Spot Instance pools with optimal capacity for the
115982	// number of instances that are launching. To give certain instance types a
115983	// higher chance of launching first, use capacity-optimized-prioritized. Set
115984	// a priority for each instance type by using the Priority parameter for LaunchTemplateOverrides.
115985	// You can assign the same priority to different LaunchTemplateOverrides. EC2
115986	// implements the priorities on a best-effort basis, but optimizes for capacity
115987	// first. capacity-optimized-prioritized is supported only if your fleet uses
115988	// a launch template. Note that if the On-Demand AllocationStrategy is set to
115989	// prioritized, the same priority is applied when fulfilling On-Demand capacity.
115990	AllocationStrategy *string `locationName:"allocationStrategy" type:"string" enum:"SpotAllocationStrategy"`
115991
115992	// The behavior when a Spot Instance is interrupted. The default is terminate.
115993	InstanceInterruptionBehavior *string `locationName:"instanceInterruptionBehavior" type:"string" enum:"SpotInstanceInterruptionBehavior"`
115994
115995	// The number of Spot pools across which to allocate your target Spot capacity.
115996	// Valid only when AllocationStrategy is set to lowest-price. EC2 Fleet selects
115997	// the cheapest Spot pools and evenly allocates your target Spot capacity across
115998	// the number of Spot pools that you specify.
115999	InstancePoolsToUseCount *int64 `locationName:"instancePoolsToUseCount" type:"integer"`
116000
116001	// The strategies for managing your workloads on your Spot Instances that will
116002	// be interrupted. Currently only the capacity rebalance strategy is available.
116003	MaintenanceStrategies *FleetSpotMaintenanceStrategies `locationName:"maintenanceStrategies" type:"structure"`
116004
116005	// The maximum amount per hour for Spot Instances that you're willing to pay.
116006	MaxTotalPrice *string `locationName:"maxTotalPrice" type:"string"`
116007
116008	// The minimum target capacity for Spot Instances in the fleet. If the minimum
116009	// target capacity is not reached, the fleet launches no instances.
116010	MinTargetCapacity *int64 `locationName:"minTargetCapacity" type:"integer"`
116011
116012	// Indicates that the fleet launches all Spot Instances into a single Availability
116013	// Zone. Supported only for fleets of type instant.
116014	SingleAvailabilityZone *bool `locationName:"singleAvailabilityZone" type:"boolean"`
116015
116016	// Indicates that the fleet uses a single instance type to launch all Spot Instances
116017	// in the fleet. Supported only for fleets of type instant.
116018	SingleInstanceType *bool `locationName:"singleInstanceType" type:"boolean"`
116019}
116020
116021// String returns the string representation
116022func (s SpotOptions) String() string {
116023	return awsutil.Prettify(s)
116024}
116025
116026// GoString returns the string representation
116027func (s SpotOptions) GoString() string {
116028	return s.String()
116029}
116030
116031// SetAllocationStrategy sets the AllocationStrategy field's value.
116032func (s *SpotOptions) SetAllocationStrategy(v string) *SpotOptions {
116033	s.AllocationStrategy = &v
116034	return s
116035}
116036
116037// SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
116038func (s *SpotOptions) SetInstanceInterruptionBehavior(v string) *SpotOptions {
116039	s.InstanceInterruptionBehavior = &v
116040	return s
116041}
116042
116043// SetInstancePoolsToUseCount sets the InstancePoolsToUseCount field's value.
116044func (s *SpotOptions) SetInstancePoolsToUseCount(v int64) *SpotOptions {
116045	s.InstancePoolsToUseCount = &v
116046	return s
116047}
116048
116049// SetMaintenanceStrategies sets the MaintenanceStrategies field's value.
116050func (s *SpotOptions) SetMaintenanceStrategies(v *FleetSpotMaintenanceStrategies) *SpotOptions {
116051	s.MaintenanceStrategies = v
116052	return s
116053}
116054
116055// SetMaxTotalPrice sets the MaxTotalPrice field's value.
116056func (s *SpotOptions) SetMaxTotalPrice(v string) *SpotOptions {
116057	s.MaxTotalPrice = &v
116058	return s
116059}
116060
116061// SetMinTargetCapacity sets the MinTargetCapacity field's value.
116062func (s *SpotOptions) SetMinTargetCapacity(v int64) *SpotOptions {
116063	s.MinTargetCapacity = &v
116064	return s
116065}
116066
116067// SetSingleAvailabilityZone sets the SingleAvailabilityZone field's value.
116068func (s *SpotOptions) SetSingleAvailabilityZone(v bool) *SpotOptions {
116069	s.SingleAvailabilityZone = &v
116070	return s
116071}
116072
116073// SetSingleInstanceType sets the SingleInstanceType field's value.
116074func (s *SpotOptions) SetSingleInstanceType(v bool) *SpotOptions {
116075	s.SingleInstanceType = &v
116076	return s
116077}
116078
116079// Describes the configuration of Spot Instances in an EC2 Fleet request.
116080type SpotOptionsRequest struct {
116081	_ struct{} `type:"structure"`
116082
116083	// Indicates how to allocate the target Spot Instance capacity across the Spot
116084	// Instance pools specified by the EC2 Fleet.
116085	//
116086	// If the allocation strategy is lowest-price, EC2 Fleet launches instances
116087	// from the Spot Instance pools with the lowest price. This is the default allocation
116088	// strategy.
116089	//
116090	// If the allocation strategy is diversified, EC2 Fleet launches instances from
116091	// all of the Spot Instance pools that you specify.
116092	//
116093	// If the allocation strategy is capacity-optimized (recommended), EC2 Fleet
116094	// launches instances from Spot Instance pools with optimal capacity for the
116095	// number of instances that are launching. To give certain instance types a
116096	// higher chance of launching first, use capacity-optimized-prioritized. Set
116097	// a priority for each instance type by using the Priority parameter for LaunchTemplateOverrides.
116098	// You can assign the same priority to different LaunchTemplateOverrides. EC2
116099	// implements the priorities on a best-effort basis, but optimizes for capacity
116100	// first. capacity-optimized-prioritized is supported only if your fleet uses
116101	// a launch template. Note that if the On-Demand AllocationStrategy is set to
116102	// prioritized, the same priority is applied when fulfilling On-Demand capacity.
116103	AllocationStrategy *string `type:"string" enum:"SpotAllocationStrategy"`
116104
116105	// The behavior when a Spot Instance is interrupted. The default is terminate.
116106	InstanceInterruptionBehavior *string `type:"string" enum:"SpotInstanceInterruptionBehavior"`
116107
116108	// The number of Spot pools across which to allocate your target Spot capacity.
116109	// Valid only when Spot AllocationStrategy is set to lowest-price. EC2 Fleet
116110	// selects the cheapest Spot pools and evenly allocates your target Spot capacity
116111	// across the number of Spot pools that you specify.
116112	InstancePoolsToUseCount *int64 `type:"integer"`
116113
116114	// The strategies for managing your Spot Instances that are at an elevated risk
116115	// of being interrupted.
116116	MaintenanceStrategies *FleetSpotMaintenanceStrategiesRequest `type:"structure"`
116117
116118	// The maximum amount per hour for Spot Instances that you're willing to pay.
116119	MaxTotalPrice *string `type:"string"`
116120
116121	// The minimum target capacity for Spot Instances in the fleet. If the minimum
116122	// target capacity is not reached, the fleet launches no instances.
116123	MinTargetCapacity *int64 `type:"integer"`
116124
116125	// Indicates that the fleet launches all Spot Instances into a single Availability
116126	// Zone. Supported only for fleets of type instant.
116127	SingleAvailabilityZone *bool `type:"boolean"`
116128
116129	// Indicates that the fleet uses a single instance type to launch all Spot Instances
116130	// in the fleet. Supported only for fleets of type instant.
116131	SingleInstanceType *bool `type:"boolean"`
116132}
116133
116134// String returns the string representation
116135func (s SpotOptionsRequest) String() string {
116136	return awsutil.Prettify(s)
116137}
116138
116139// GoString returns the string representation
116140func (s SpotOptionsRequest) GoString() string {
116141	return s.String()
116142}
116143
116144// SetAllocationStrategy sets the AllocationStrategy field's value.
116145func (s *SpotOptionsRequest) SetAllocationStrategy(v string) *SpotOptionsRequest {
116146	s.AllocationStrategy = &v
116147	return s
116148}
116149
116150// SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
116151func (s *SpotOptionsRequest) SetInstanceInterruptionBehavior(v string) *SpotOptionsRequest {
116152	s.InstanceInterruptionBehavior = &v
116153	return s
116154}
116155
116156// SetInstancePoolsToUseCount sets the InstancePoolsToUseCount field's value.
116157func (s *SpotOptionsRequest) SetInstancePoolsToUseCount(v int64) *SpotOptionsRequest {
116158	s.InstancePoolsToUseCount = &v
116159	return s
116160}
116161
116162// SetMaintenanceStrategies sets the MaintenanceStrategies field's value.
116163func (s *SpotOptionsRequest) SetMaintenanceStrategies(v *FleetSpotMaintenanceStrategiesRequest) *SpotOptionsRequest {
116164	s.MaintenanceStrategies = v
116165	return s
116166}
116167
116168// SetMaxTotalPrice sets the MaxTotalPrice field's value.
116169func (s *SpotOptionsRequest) SetMaxTotalPrice(v string) *SpotOptionsRequest {
116170	s.MaxTotalPrice = &v
116171	return s
116172}
116173
116174// SetMinTargetCapacity sets the MinTargetCapacity field's value.
116175func (s *SpotOptionsRequest) SetMinTargetCapacity(v int64) *SpotOptionsRequest {
116176	s.MinTargetCapacity = &v
116177	return s
116178}
116179
116180// SetSingleAvailabilityZone sets the SingleAvailabilityZone field's value.
116181func (s *SpotOptionsRequest) SetSingleAvailabilityZone(v bool) *SpotOptionsRequest {
116182	s.SingleAvailabilityZone = &v
116183	return s
116184}
116185
116186// SetSingleInstanceType sets the SingleInstanceType field's value.
116187func (s *SpotOptionsRequest) SetSingleInstanceType(v bool) *SpotOptionsRequest {
116188	s.SingleInstanceType = &v
116189	return s
116190}
116191
116192// Describes Spot Instance placement.
116193type SpotPlacement struct {
116194	_ struct{} `type:"structure"`
116195
116196	// The Availability Zone.
116197	//
116198	// [Spot Fleet only] To specify multiple Availability Zones, separate them using
116199	// commas; for example, "us-west-2a, us-west-2b".
116200	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
116201
116202	// The name of the placement group.
116203	GroupName *string `locationName:"groupName" type:"string"`
116204
116205	// The tenancy of the instance (if the instance is running in a VPC). An instance
116206	// with a tenancy of dedicated runs on single-tenant hardware. The host tenancy
116207	// is not supported for Spot Instances.
116208	Tenancy *string `locationName:"tenancy" type:"string" enum:"Tenancy"`
116209}
116210
116211// String returns the string representation
116212func (s SpotPlacement) String() string {
116213	return awsutil.Prettify(s)
116214}
116215
116216// GoString returns the string representation
116217func (s SpotPlacement) GoString() string {
116218	return s.String()
116219}
116220
116221// SetAvailabilityZone sets the AvailabilityZone field's value.
116222func (s *SpotPlacement) SetAvailabilityZone(v string) *SpotPlacement {
116223	s.AvailabilityZone = &v
116224	return s
116225}
116226
116227// SetGroupName sets the GroupName field's value.
116228func (s *SpotPlacement) SetGroupName(v string) *SpotPlacement {
116229	s.GroupName = &v
116230	return s
116231}
116232
116233// SetTenancy sets the Tenancy field's value.
116234func (s *SpotPlacement) SetTenancy(v string) *SpotPlacement {
116235	s.Tenancy = &v
116236	return s
116237}
116238
116239// Describes the maximum price per hour that you are willing to pay for a Spot
116240// Instance.
116241type SpotPrice struct {
116242	_ struct{} `type:"structure"`
116243
116244	// The Availability Zone.
116245	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
116246
116247	// The instance type.
116248	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
116249
116250	// A general description of the AMI.
116251	ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
116252
116253	// The maximum price per hour that you are willing to pay for a Spot Instance.
116254	SpotPrice *string `locationName:"spotPrice" type:"string"`
116255
116256	// The date and time the request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
116257	Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
116258}
116259
116260// String returns the string representation
116261func (s SpotPrice) String() string {
116262	return awsutil.Prettify(s)
116263}
116264
116265// GoString returns the string representation
116266func (s SpotPrice) GoString() string {
116267	return s.String()
116268}
116269
116270// SetAvailabilityZone sets the AvailabilityZone field's value.
116271func (s *SpotPrice) SetAvailabilityZone(v string) *SpotPrice {
116272	s.AvailabilityZone = &v
116273	return s
116274}
116275
116276// SetInstanceType sets the InstanceType field's value.
116277func (s *SpotPrice) SetInstanceType(v string) *SpotPrice {
116278	s.InstanceType = &v
116279	return s
116280}
116281
116282// SetProductDescription sets the ProductDescription field's value.
116283func (s *SpotPrice) SetProductDescription(v string) *SpotPrice {
116284	s.ProductDescription = &v
116285	return s
116286}
116287
116288// SetSpotPrice sets the SpotPrice field's value.
116289func (s *SpotPrice) SetSpotPrice(v string) *SpotPrice {
116290	s.SpotPrice = &v
116291	return s
116292}
116293
116294// SetTimestamp sets the Timestamp field's value.
116295func (s *SpotPrice) SetTimestamp(v time.Time) *SpotPrice {
116296	s.Timestamp = &v
116297	return s
116298}
116299
116300// Describes a stale rule in a security group.
116301type StaleIpPermission struct {
116302	_ struct{} `type:"structure"`
116303
116304	// The start of the port range for the TCP and UDP protocols, or an ICMP type
116305	// number. A value of -1 indicates all ICMP types.
116306	FromPort *int64 `locationName:"fromPort" type:"integer"`
116307
116308	// The IP protocol name (for tcp, udp, and icmp) or number (see Protocol Numbers)
116309	// (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml).
116310	IpProtocol *string `locationName:"ipProtocol" type:"string"`
116311
116312	// The IP ranges. Not applicable for stale security group rules.
116313	IpRanges []*string `locationName:"ipRanges" locationNameList:"item" type:"list"`
116314
116315	// The prefix list IDs. Not applicable for stale security group rules.
116316	PrefixListIds []*string `locationName:"prefixListIds" locationNameList:"item" type:"list"`
116317
116318	// The end of the port range for the TCP and UDP protocols, or an ICMP type
116319	// number. A value of -1 indicates all ICMP types.
116320	ToPort *int64 `locationName:"toPort" type:"integer"`
116321
116322	// The security group pairs. Returns the ID of the referenced security group
116323	// and VPC, and the ID and status of the VPC peering connection.
116324	UserIdGroupPairs []*UserIdGroupPair `locationName:"groups" locationNameList:"item" type:"list"`
116325}
116326
116327// String returns the string representation
116328func (s StaleIpPermission) String() string {
116329	return awsutil.Prettify(s)
116330}
116331
116332// GoString returns the string representation
116333func (s StaleIpPermission) GoString() string {
116334	return s.String()
116335}
116336
116337// SetFromPort sets the FromPort field's value.
116338func (s *StaleIpPermission) SetFromPort(v int64) *StaleIpPermission {
116339	s.FromPort = &v
116340	return s
116341}
116342
116343// SetIpProtocol sets the IpProtocol field's value.
116344func (s *StaleIpPermission) SetIpProtocol(v string) *StaleIpPermission {
116345	s.IpProtocol = &v
116346	return s
116347}
116348
116349// SetIpRanges sets the IpRanges field's value.
116350func (s *StaleIpPermission) SetIpRanges(v []*string) *StaleIpPermission {
116351	s.IpRanges = v
116352	return s
116353}
116354
116355// SetPrefixListIds sets the PrefixListIds field's value.
116356func (s *StaleIpPermission) SetPrefixListIds(v []*string) *StaleIpPermission {
116357	s.PrefixListIds = v
116358	return s
116359}
116360
116361// SetToPort sets the ToPort field's value.
116362func (s *StaleIpPermission) SetToPort(v int64) *StaleIpPermission {
116363	s.ToPort = &v
116364	return s
116365}
116366
116367// SetUserIdGroupPairs sets the UserIdGroupPairs field's value.
116368func (s *StaleIpPermission) SetUserIdGroupPairs(v []*UserIdGroupPair) *StaleIpPermission {
116369	s.UserIdGroupPairs = v
116370	return s
116371}
116372
116373// Describes a stale security group (a security group that contains stale rules).
116374type StaleSecurityGroup struct {
116375	_ struct{} `type:"structure"`
116376
116377	// The description of the security group.
116378	Description *string `locationName:"description" type:"string"`
116379
116380	// The ID of the security group.
116381	GroupId *string `locationName:"groupId" type:"string"`
116382
116383	// The name of the security group.
116384	GroupName *string `locationName:"groupName" type:"string"`
116385
116386	// Information about the stale inbound rules in the security group.
116387	StaleIpPermissions []*StaleIpPermission `locationName:"staleIpPermissions" locationNameList:"item" type:"list"`
116388
116389	// Information about the stale outbound rules in the security group.
116390	StaleIpPermissionsEgress []*StaleIpPermission `locationName:"staleIpPermissionsEgress" locationNameList:"item" type:"list"`
116391
116392	// The ID of the VPC for the security group.
116393	VpcId *string `locationName:"vpcId" type:"string"`
116394}
116395
116396// String returns the string representation
116397func (s StaleSecurityGroup) String() string {
116398	return awsutil.Prettify(s)
116399}
116400
116401// GoString returns the string representation
116402func (s StaleSecurityGroup) GoString() string {
116403	return s.String()
116404}
116405
116406// SetDescription sets the Description field's value.
116407func (s *StaleSecurityGroup) SetDescription(v string) *StaleSecurityGroup {
116408	s.Description = &v
116409	return s
116410}
116411
116412// SetGroupId sets the GroupId field's value.
116413func (s *StaleSecurityGroup) SetGroupId(v string) *StaleSecurityGroup {
116414	s.GroupId = &v
116415	return s
116416}
116417
116418// SetGroupName sets the GroupName field's value.
116419func (s *StaleSecurityGroup) SetGroupName(v string) *StaleSecurityGroup {
116420	s.GroupName = &v
116421	return s
116422}
116423
116424// SetStaleIpPermissions sets the StaleIpPermissions field's value.
116425func (s *StaleSecurityGroup) SetStaleIpPermissions(v []*StaleIpPermission) *StaleSecurityGroup {
116426	s.StaleIpPermissions = v
116427	return s
116428}
116429
116430// SetStaleIpPermissionsEgress sets the StaleIpPermissionsEgress field's value.
116431func (s *StaleSecurityGroup) SetStaleIpPermissionsEgress(v []*StaleIpPermission) *StaleSecurityGroup {
116432	s.StaleIpPermissionsEgress = v
116433	return s
116434}
116435
116436// SetVpcId sets the VpcId field's value.
116437func (s *StaleSecurityGroup) SetVpcId(v string) *StaleSecurityGroup {
116438	s.VpcId = &v
116439	return s
116440}
116441
116442type StartInstancesInput struct {
116443	_ struct{} `type:"structure"`
116444
116445	// Reserved.
116446	AdditionalInfo *string `locationName:"additionalInfo" type:"string"`
116447
116448	// Checks whether you have the required permissions for the action, without
116449	// actually making the request, and provides an error response. If you have
116450	// the required permissions, the error response is DryRunOperation. Otherwise,
116451	// it is UnauthorizedOperation.
116452	DryRun *bool `locationName:"dryRun" type:"boolean"`
116453
116454	// The IDs of the instances.
116455	//
116456	// InstanceIds is a required field
116457	InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
116458}
116459
116460// String returns the string representation
116461func (s StartInstancesInput) String() string {
116462	return awsutil.Prettify(s)
116463}
116464
116465// GoString returns the string representation
116466func (s StartInstancesInput) GoString() string {
116467	return s.String()
116468}
116469
116470// Validate inspects the fields of the type to determine if they are valid.
116471func (s *StartInstancesInput) Validate() error {
116472	invalidParams := request.ErrInvalidParams{Context: "StartInstancesInput"}
116473	if s.InstanceIds == nil {
116474		invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
116475	}
116476
116477	if invalidParams.Len() > 0 {
116478		return invalidParams
116479	}
116480	return nil
116481}
116482
116483// SetAdditionalInfo sets the AdditionalInfo field's value.
116484func (s *StartInstancesInput) SetAdditionalInfo(v string) *StartInstancesInput {
116485	s.AdditionalInfo = &v
116486	return s
116487}
116488
116489// SetDryRun sets the DryRun field's value.
116490func (s *StartInstancesInput) SetDryRun(v bool) *StartInstancesInput {
116491	s.DryRun = &v
116492	return s
116493}
116494
116495// SetInstanceIds sets the InstanceIds field's value.
116496func (s *StartInstancesInput) SetInstanceIds(v []*string) *StartInstancesInput {
116497	s.InstanceIds = v
116498	return s
116499}
116500
116501type StartInstancesOutput struct {
116502	_ struct{} `type:"structure"`
116503
116504	// Information about the started instances.
116505	StartingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"`
116506}
116507
116508// String returns the string representation
116509func (s StartInstancesOutput) String() string {
116510	return awsutil.Prettify(s)
116511}
116512
116513// GoString returns the string representation
116514func (s StartInstancesOutput) GoString() string {
116515	return s.String()
116516}
116517
116518// SetStartingInstances sets the StartingInstances field's value.
116519func (s *StartInstancesOutput) SetStartingInstances(v []*InstanceStateChange) *StartInstancesOutput {
116520	s.StartingInstances = v
116521	return s
116522}
116523
116524type StartNetworkInsightsAnalysisInput struct {
116525	_ struct{} `type:"structure"`
116526
116527	// Unique, case-sensitive identifier that you provide to ensure the idempotency
116528	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
116529	ClientToken *string `type:"string" idempotencyToken:"true"`
116530
116531	// Checks whether you have the required permissions for the action, without
116532	// actually making the request, and provides an error response. If you have
116533	// the required permissions, the error response is DryRunOperation. Otherwise,
116534	// it is UnauthorizedOperation.
116535	DryRun *bool `type:"boolean"`
116536
116537	// The Amazon Resource Names (ARN) of the resources that the path must traverse.
116538	FilterInArns []*string `locationName:"FilterInArn" locationNameList:"item" type:"list"`
116539
116540	// The ID of the path.
116541	//
116542	// NetworkInsightsPathId is a required field
116543	NetworkInsightsPathId *string `type:"string" required:"true"`
116544
116545	// The tags to apply.
116546	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
116547}
116548
116549// String returns the string representation
116550func (s StartNetworkInsightsAnalysisInput) String() string {
116551	return awsutil.Prettify(s)
116552}
116553
116554// GoString returns the string representation
116555func (s StartNetworkInsightsAnalysisInput) GoString() string {
116556	return s.String()
116557}
116558
116559// Validate inspects the fields of the type to determine if they are valid.
116560func (s *StartNetworkInsightsAnalysisInput) Validate() error {
116561	invalidParams := request.ErrInvalidParams{Context: "StartNetworkInsightsAnalysisInput"}
116562	if s.NetworkInsightsPathId == nil {
116563		invalidParams.Add(request.NewErrParamRequired("NetworkInsightsPathId"))
116564	}
116565
116566	if invalidParams.Len() > 0 {
116567		return invalidParams
116568	}
116569	return nil
116570}
116571
116572// SetClientToken sets the ClientToken field's value.
116573func (s *StartNetworkInsightsAnalysisInput) SetClientToken(v string) *StartNetworkInsightsAnalysisInput {
116574	s.ClientToken = &v
116575	return s
116576}
116577
116578// SetDryRun sets the DryRun field's value.
116579func (s *StartNetworkInsightsAnalysisInput) SetDryRun(v bool) *StartNetworkInsightsAnalysisInput {
116580	s.DryRun = &v
116581	return s
116582}
116583
116584// SetFilterInArns sets the FilterInArns field's value.
116585func (s *StartNetworkInsightsAnalysisInput) SetFilterInArns(v []*string) *StartNetworkInsightsAnalysisInput {
116586	s.FilterInArns = v
116587	return s
116588}
116589
116590// SetNetworkInsightsPathId sets the NetworkInsightsPathId field's value.
116591func (s *StartNetworkInsightsAnalysisInput) SetNetworkInsightsPathId(v string) *StartNetworkInsightsAnalysisInput {
116592	s.NetworkInsightsPathId = &v
116593	return s
116594}
116595
116596// SetTagSpecifications sets the TagSpecifications field's value.
116597func (s *StartNetworkInsightsAnalysisInput) SetTagSpecifications(v []*TagSpecification) *StartNetworkInsightsAnalysisInput {
116598	s.TagSpecifications = v
116599	return s
116600}
116601
116602type StartNetworkInsightsAnalysisOutput struct {
116603	_ struct{} `type:"structure"`
116604
116605	// Information about the network insights analysis.
116606	NetworkInsightsAnalysis *NetworkInsightsAnalysis `locationName:"networkInsightsAnalysis" type:"structure"`
116607}
116608
116609// String returns the string representation
116610func (s StartNetworkInsightsAnalysisOutput) String() string {
116611	return awsutil.Prettify(s)
116612}
116613
116614// GoString returns the string representation
116615func (s StartNetworkInsightsAnalysisOutput) GoString() string {
116616	return s.String()
116617}
116618
116619// SetNetworkInsightsAnalysis sets the NetworkInsightsAnalysis field's value.
116620func (s *StartNetworkInsightsAnalysisOutput) SetNetworkInsightsAnalysis(v *NetworkInsightsAnalysis) *StartNetworkInsightsAnalysisOutput {
116621	s.NetworkInsightsAnalysis = v
116622	return s
116623}
116624
116625type StartVpcEndpointServicePrivateDnsVerificationInput struct {
116626	_ struct{} `type:"structure"`
116627
116628	// Checks whether you have the required permissions for the action, without
116629	// actually making the request, and provides an error response. If you have
116630	// the required permissions, the error response is DryRunOperation. Otherwise,
116631	// it is UnauthorizedOperation.
116632	DryRun *bool `type:"boolean"`
116633
116634	// The ID of the endpoint service.
116635	//
116636	// ServiceId is a required field
116637	ServiceId *string `type:"string" required:"true"`
116638}
116639
116640// String returns the string representation
116641func (s StartVpcEndpointServicePrivateDnsVerificationInput) String() string {
116642	return awsutil.Prettify(s)
116643}
116644
116645// GoString returns the string representation
116646func (s StartVpcEndpointServicePrivateDnsVerificationInput) GoString() string {
116647	return s.String()
116648}
116649
116650// Validate inspects the fields of the type to determine if they are valid.
116651func (s *StartVpcEndpointServicePrivateDnsVerificationInput) Validate() error {
116652	invalidParams := request.ErrInvalidParams{Context: "StartVpcEndpointServicePrivateDnsVerificationInput"}
116653	if s.ServiceId == nil {
116654		invalidParams.Add(request.NewErrParamRequired("ServiceId"))
116655	}
116656
116657	if invalidParams.Len() > 0 {
116658		return invalidParams
116659	}
116660	return nil
116661}
116662
116663// SetDryRun sets the DryRun field's value.
116664func (s *StartVpcEndpointServicePrivateDnsVerificationInput) SetDryRun(v bool) *StartVpcEndpointServicePrivateDnsVerificationInput {
116665	s.DryRun = &v
116666	return s
116667}
116668
116669// SetServiceId sets the ServiceId field's value.
116670func (s *StartVpcEndpointServicePrivateDnsVerificationInput) SetServiceId(v string) *StartVpcEndpointServicePrivateDnsVerificationInput {
116671	s.ServiceId = &v
116672	return s
116673}
116674
116675type StartVpcEndpointServicePrivateDnsVerificationOutput struct {
116676	_ struct{} `type:"structure"`
116677
116678	// Returns true if the request succeeds; otherwise, it returns an error.
116679	ReturnValue *bool `locationName:"return" type:"boolean"`
116680}
116681
116682// String returns the string representation
116683func (s StartVpcEndpointServicePrivateDnsVerificationOutput) String() string {
116684	return awsutil.Prettify(s)
116685}
116686
116687// GoString returns the string representation
116688func (s StartVpcEndpointServicePrivateDnsVerificationOutput) GoString() string {
116689	return s.String()
116690}
116691
116692// SetReturnValue sets the ReturnValue field's value.
116693func (s *StartVpcEndpointServicePrivateDnsVerificationOutput) SetReturnValue(v bool) *StartVpcEndpointServicePrivateDnsVerificationOutput {
116694	s.ReturnValue = &v
116695	return s
116696}
116697
116698// Describes a state change.
116699type StateReason struct {
116700	_ struct{} `type:"structure"`
116701
116702	// The reason code for the state change.
116703	Code *string `locationName:"code" type:"string"`
116704
116705	// The message for the state change.
116706	//
116707	//    * Server.InsufficientInstanceCapacity: There was insufficient capacity
116708	//    available to satisfy the launch request.
116709	//
116710	//    * Server.InternalError: An internal error caused the instance to terminate
116711	//    during launch.
116712	//
116713	//    * Server.ScheduledStop: The instance was stopped due to a scheduled retirement.
116714	//
116715	//    * Server.SpotInstanceShutdown: The instance was stopped because the number
116716	//    of Spot requests with a maximum price equal to or higher than the Spot
116717	//    price exceeded available capacity or because of an increase in the Spot
116718	//    price.
116719	//
116720	//    * Server.SpotInstanceTermination: The instance was terminated because
116721	//    the number of Spot requests with a maximum price equal to or higher than
116722	//    the Spot price exceeded available capacity or because of an increase in
116723	//    the Spot price.
116724	//
116725	//    * Client.InstanceInitiatedShutdown: The instance was shut down using the
116726	//    shutdown -h command from the instance.
116727	//
116728	//    * Client.InstanceTerminated: The instance was terminated or rebooted during
116729	//    AMI creation.
116730	//
116731	//    * Client.InternalError: A client error caused the instance to terminate
116732	//    during launch.
116733	//
116734	//    * Client.InvalidSnapshot.NotFound: The specified snapshot was not found.
116735	//
116736	//    * Client.UserInitiatedHibernate: Hibernation was initiated on the instance.
116737	//
116738	//    * Client.UserInitiatedShutdown: The instance was shut down using the Amazon
116739	//    EC2 API.
116740	//
116741	//    * Client.VolumeLimitExceeded: The limit on the number of EBS volumes or
116742	//    total storage was exceeded. Decrease usage or request an increase in your
116743	//    account limits.
116744	Message *string `locationName:"message" type:"string"`
116745}
116746
116747// String returns the string representation
116748func (s StateReason) String() string {
116749	return awsutil.Prettify(s)
116750}
116751
116752// GoString returns the string representation
116753func (s StateReason) GoString() string {
116754	return s.String()
116755}
116756
116757// SetCode sets the Code field's value.
116758func (s *StateReason) SetCode(v string) *StateReason {
116759	s.Code = &v
116760	return s
116761}
116762
116763// SetMessage sets the Message field's value.
116764func (s *StateReason) SetMessage(v string) *StateReason {
116765	s.Message = &v
116766	return s
116767}
116768
116769type StopInstancesInput struct {
116770	_ struct{} `type:"structure"`
116771
116772	// Checks whether you have the required permissions for the action, without
116773	// actually making the request, and provides an error response. If you have
116774	// the required permissions, the error response is DryRunOperation. Otherwise,
116775	// it is UnauthorizedOperation.
116776	DryRun *bool `locationName:"dryRun" type:"boolean"`
116777
116778	// Forces the instances to stop. The instances do not have an opportunity to
116779	// flush file system caches or file system metadata. If you use this option,
116780	// you must perform file system check and repair procedures. This option is
116781	// not recommended for Windows instances.
116782	//
116783	// Default: false
116784	Force *bool `locationName:"force" type:"boolean"`
116785
116786	// Hibernates the instance if the instance was enabled for hibernation at launch.
116787	// If the instance cannot hibernate successfully, a normal shutdown occurs.
116788	// For more information, see Hibernate your instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
116789	// in the Amazon EC2 User Guide.
116790	//
116791	// Default: false
116792	Hibernate *bool `type:"boolean"`
116793
116794	// The IDs of the instances.
116795	//
116796	// InstanceIds is a required field
116797	InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
116798}
116799
116800// String returns the string representation
116801func (s StopInstancesInput) String() string {
116802	return awsutil.Prettify(s)
116803}
116804
116805// GoString returns the string representation
116806func (s StopInstancesInput) GoString() string {
116807	return s.String()
116808}
116809
116810// Validate inspects the fields of the type to determine if they are valid.
116811func (s *StopInstancesInput) Validate() error {
116812	invalidParams := request.ErrInvalidParams{Context: "StopInstancesInput"}
116813	if s.InstanceIds == nil {
116814		invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
116815	}
116816
116817	if invalidParams.Len() > 0 {
116818		return invalidParams
116819	}
116820	return nil
116821}
116822
116823// SetDryRun sets the DryRun field's value.
116824func (s *StopInstancesInput) SetDryRun(v bool) *StopInstancesInput {
116825	s.DryRun = &v
116826	return s
116827}
116828
116829// SetForce sets the Force field's value.
116830func (s *StopInstancesInput) SetForce(v bool) *StopInstancesInput {
116831	s.Force = &v
116832	return s
116833}
116834
116835// SetHibernate sets the Hibernate field's value.
116836func (s *StopInstancesInput) SetHibernate(v bool) *StopInstancesInput {
116837	s.Hibernate = &v
116838	return s
116839}
116840
116841// SetInstanceIds sets the InstanceIds field's value.
116842func (s *StopInstancesInput) SetInstanceIds(v []*string) *StopInstancesInput {
116843	s.InstanceIds = v
116844	return s
116845}
116846
116847type StopInstancesOutput struct {
116848	_ struct{} `type:"structure"`
116849
116850	// Information about the stopped instances.
116851	StoppingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"`
116852}
116853
116854// String returns the string representation
116855func (s StopInstancesOutput) String() string {
116856	return awsutil.Prettify(s)
116857}
116858
116859// GoString returns the string representation
116860func (s StopInstancesOutput) GoString() string {
116861	return s.String()
116862}
116863
116864// SetStoppingInstances sets the StoppingInstances field's value.
116865func (s *StopInstancesOutput) SetStoppingInstances(v []*InstanceStateChange) *StopInstancesOutput {
116866	s.StoppingInstances = v
116867	return s
116868}
116869
116870// Describes the storage location for an instance store-backed AMI.
116871type Storage struct {
116872	_ struct{} `type:"structure"`
116873
116874	// An Amazon S3 storage location.
116875	S3 *S3Storage `type:"structure"`
116876}
116877
116878// String returns the string representation
116879func (s Storage) String() string {
116880	return awsutil.Prettify(s)
116881}
116882
116883// GoString returns the string representation
116884func (s Storage) GoString() string {
116885	return s.String()
116886}
116887
116888// SetS3 sets the S3 field's value.
116889func (s *Storage) SetS3(v *S3Storage) *Storage {
116890	s.S3 = v
116891	return s
116892}
116893
116894// Describes a storage location in Amazon S3.
116895type StorageLocation struct {
116896	_ struct{} `type:"structure"`
116897
116898	// The name of the S3 bucket.
116899	Bucket *string `type:"string"`
116900
116901	// The key.
116902	Key *string `type:"string"`
116903}
116904
116905// String returns the string representation
116906func (s StorageLocation) String() string {
116907	return awsutil.Prettify(s)
116908}
116909
116910// GoString returns the string representation
116911func (s StorageLocation) GoString() string {
116912	return s.String()
116913}
116914
116915// SetBucket sets the Bucket field's value.
116916func (s *StorageLocation) SetBucket(v string) *StorageLocation {
116917	s.Bucket = &v
116918	return s
116919}
116920
116921// SetKey sets the Key field's value.
116922func (s *StorageLocation) SetKey(v string) *StorageLocation {
116923	s.Key = &v
116924	return s
116925}
116926
116927// The information about the AMI store task, including the progress of the task.
116928type StoreImageTaskResult struct {
116929	_ struct{} `type:"structure"`
116930
116931	// The ID of the AMI that is being stored.
116932	AmiId *string `locationName:"amiId" type:"string"`
116933
116934	// The name of the S3 bucket that contains the stored AMI object.
116935	Bucket *string `locationName:"bucket" type:"string"`
116936
116937	// The progress of the task as a percentage.
116938	ProgressPercentage *int64 `locationName:"progressPercentage" type:"integer"`
116939
116940	// The name of the stored AMI object in the bucket.
116941	S3objectKey *string `locationName:"s3objectKey" type:"string"`
116942
116943	// If the tasks fails, the reason for the failure is returned. If the task succeeds,
116944	// null is returned.
116945	StoreTaskFailureReason *string `locationName:"storeTaskFailureReason" type:"string"`
116946
116947	// The state of the store task (InProgress, Completed, or Failed).
116948	StoreTaskState *string `locationName:"storeTaskState" type:"string"`
116949
116950	// The time the task started.
116951	TaskStartTime *time.Time `locationName:"taskStartTime" type:"timestamp"`
116952}
116953
116954// String returns the string representation
116955func (s StoreImageTaskResult) String() string {
116956	return awsutil.Prettify(s)
116957}
116958
116959// GoString returns the string representation
116960func (s StoreImageTaskResult) GoString() string {
116961	return s.String()
116962}
116963
116964// SetAmiId sets the AmiId field's value.
116965func (s *StoreImageTaskResult) SetAmiId(v string) *StoreImageTaskResult {
116966	s.AmiId = &v
116967	return s
116968}
116969
116970// SetBucket sets the Bucket field's value.
116971func (s *StoreImageTaskResult) SetBucket(v string) *StoreImageTaskResult {
116972	s.Bucket = &v
116973	return s
116974}
116975
116976// SetProgressPercentage sets the ProgressPercentage field's value.
116977func (s *StoreImageTaskResult) SetProgressPercentage(v int64) *StoreImageTaskResult {
116978	s.ProgressPercentage = &v
116979	return s
116980}
116981
116982// SetS3objectKey sets the S3objectKey field's value.
116983func (s *StoreImageTaskResult) SetS3objectKey(v string) *StoreImageTaskResult {
116984	s.S3objectKey = &v
116985	return s
116986}
116987
116988// SetStoreTaskFailureReason sets the StoreTaskFailureReason field's value.
116989func (s *StoreImageTaskResult) SetStoreTaskFailureReason(v string) *StoreImageTaskResult {
116990	s.StoreTaskFailureReason = &v
116991	return s
116992}
116993
116994// SetStoreTaskState sets the StoreTaskState field's value.
116995func (s *StoreImageTaskResult) SetStoreTaskState(v string) *StoreImageTaskResult {
116996	s.StoreTaskState = &v
116997	return s
116998}
116999
117000// SetTaskStartTime sets the TaskStartTime field's value.
117001func (s *StoreImageTaskResult) SetTaskStartTime(v time.Time) *StoreImageTaskResult {
117002	s.TaskStartTime = &v
117003	return s
117004}
117005
117006// Describes a subnet.
117007type Subnet struct {
117008	_ struct{} `type:"structure"`
117009
117010	// Indicates whether a network interface created in this subnet (including a
117011	// network interface created by RunInstances) receives an IPv6 address.
117012	AssignIpv6AddressOnCreation *bool `locationName:"assignIpv6AddressOnCreation" type:"boolean"`
117013
117014	// The Availability Zone of the subnet.
117015	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
117016
117017	// The AZ ID of the subnet.
117018	AvailabilityZoneId *string `locationName:"availabilityZoneId" type:"string"`
117019
117020	// The number of unused private IPv4 addresses in the subnet. The IPv4 addresses
117021	// for any stopped instances are considered unavailable.
117022	AvailableIpAddressCount *int64 `locationName:"availableIpAddressCount" type:"integer"`
117023
117024	// The IPv4 CIDR block assigned to the subnet.
117025	CidrBlock *string `locationName:"cidrBlock" type:"string"`
117026
117027	// The customer-owned IPv4 address pool associated with the subnet.
117028	CustomerOwnedIpv4Pool *string `locationName:"customerOwnedIpv4Pool" type:"string"`
117029
117030	// Indicates whether this is the default subnet for the Availability Zone.
117031	DefaultForAz *bool `locationName:"defaultForAz" type:"boolean"`
117032
117033	// Information about the IPv6 CIDR blocks associated with the subnet.
117034	Ipv6CidrBlockAssociationSet []*SubnetIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociationSet" locationNameList:"item" type:"list"`
117035
117036	// Indicates whether a network interface created in this subnet (including a
117037	// network interface created by RunInstances) receives a customer-owned IPv4
117038	// address.
117039	MapCustomerOwnedIpOnLaunch *bool `locationName:"mapCustomerOwnedIpOnLaunch" type:"boolean"`
117040
117041	// Indicates whether instances launched in this subnet receive a public IPv4
117042	// address.
117043	MapPublicIpOnLaunch *bool `locationName:"mapPublicIpOnLaunch" type:"boolean"`
117044
117045	// The Amazon Resource Name (ARN) of the Outpost.
117046	OutpostArn *string `locationName:"outpostArn" type:"string"`
117047
117048	// The ID of the AWS account that owns the subnet.
117049	OwnerId *string `locationName:"ownerId" type:"string"`
117050
117051	// The current state of the subnet.
117052	State *string `locationName:"state" type:"string" enum:"SubnetState"`
117053
117054	// The Amazon Resource Name (ARN) of the subnet.
117055	SubnetArn *string `locationName:"subnetArn" type:"string"`
117056
117057	// The ID of the subnet.
117058	SubnetId *string `locationName:"subnetId" type:"string"`
117059
117060	// Any tags assigned to the subnet.
117061	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
117062
117063	// The ID of the VPC the subnet is in.
117064	VpcId *string `locationName:"vpcId" type:"string"`
117065}
117066
117067// String returns the string representation
117068func (s Subnet) String() string {
117069	return awsutil.Prettify(s)
117070}
117071
117072// GoString returns the string representation
117073func (s Subnet) GoString() string {
117074	return s.String()
117075}
117076
117077// SetAssignIpv6AddressOnCreation sets the AssignIpv6AddressOnCreation field's value.
117078func (s *Subnet) SetAssignIpv6AddressOnCreation(v bool) *Subnet {
117079	s.AssignIpv6AddressOnCreation = &v
117080	return s
117081}
117082
117083// SetAvailabilityZone sets the AvailabilityZone field's value.
117084func (s *Subnet) SetAvailabilityZone(v string) *Subnet {
117085	s.AvailabilityZone = &v
117086	return s
117087}
117088
117089// SetAvailabilityZoneId sets the AvailabilityZoneId field's value.
117090func (s *Subnet) SetAvailabilityZoneId(v string) *Subnet {
117091	s.AvailabilityZoneId = &v
117092	return s
117093}
117094
117095// SetAvailableIpAddressCount sets the AvailableIpAddressCount field's value.
117096func (s *Subnet) SetAvailableIpAddressCount(v int64) *Subnet {
117097	s.AvailableIpAddressCount = &v
117098	return s
117099}
117100
117101// SetCidrBlock sets the CidrBlock field's value.
117102func (s *Subnet) SetCidrBlock(v string) *Subnet {
117103	s.CidrBlock = &v
117104	return s
117105}
117106
117107// SetCustomerOwnedIpv4Pool sets the CustomerOwnedIpv4Pool field's value.
117108func (s *Subnet) SetCustomerOwnedIpv4Pool(v string) *Subnet {
117109	s.CustomerOwnedIpv4Pool = &v
117110	return s
117111}
117112
117113// SetDefaultForAz sets the DefaultForAz field's value.
117114func (s *Subnet) SetDefaultForAz(v bool) *Subnet {
117115	s.DefaultForAz = &v
117116	return s
117117}
117118
117119// SetIpv6CidrBlockAssociationSet sets the Ipv6CidrBlockAssociationSet field's value.
117120func (s *Subnet) SetIpv6CidrBlockAssociationSet(v []*SubnetIpv6CidrBlockAssociation) *Subnet {
117121	s.Ipv6CidrBlockAssociationSet = v
117122	return s
117123}
117124
117125// SetMapCustomerOwnedIpOnLaunch sets the MapCustomerOwnedIpOnLaunch field's value.
117126func (s *Subnet) SetMapCustomerOwnedIpOnLaunch(v bool) *Subnet {
117127	s.MapCustomerOwnedIpOnLaunch = &v
117128	return s
117129}
117130
117131// SetMapPublicIpOnLaunch sets the MapPublicIpOnLaunch field's value.
117132func (s *Subnet) SetMapPublicIpOnLaunch(v bool) *Subnet {
117133	s.MapPublicIpOnLaunch = &v
117134	return s
117135}
117136
117137// SetOutpostArn sets the OutpostArn field's value.
117138func (s *Subnet) SetOutpostArn(v string) *Subnet {
117139	s.OutpostArn = &v
117140	return s
117141}
117142
117143// SetOwnerId sets the OwnerId field's value.
117144func (s *Subnet) SetOwnerId(v string) *Subnet {
117145	s.OwnerId = &v
117146	return s
117147}
117148
117149// SetState sets the State field's value.
117150func (s *Subnet) SetState(v string) *Subnet {
117151	s.State = &v
117152	return s
117153}
117154
117155// SetSubnetArn sets the SubnetArn field's value.
117156func (s *Subnet) SetSubnetArn(v string) *Subnet {
117157	s.SubnetArn = &v
117158	return s
117159}
117160
117161// SetSubnetId sets the SubnetId field's value.
117162func (s *Subnet) SetSubnetId(v string) *Subnet {
117163	s.SubnetId = &v
117164	return s
117165}
117166
117167// SetTags sets the Tags field's value.
117168func (s *Subnet) SetTags(v []*Tag) *Subnet {
117169	s.Tags = v
117170	return s
117171}
117172
117173// SetVpcId sets the VpcId field's value.
117174func (s *Subnet) SetVpcId(v string) *Subnet {
117175	s.VpcId = &v
117176	return s
117177}
117178
117179// Describes the subnet association with the transit gateway multicast domain.
117180type SubnetAssociation struct {
117181	_ struct{} `type:"structure"`
117182
117183	// The state of the subnet association.
117184	State *string `locationName:"state" type:"string" enum:"TransitGatewayMulitcastDomainAssociationState"`
117185
117186	// The ID of the subnet.
117187	SubnetId *string `locationName:"subnetId" type:"string"`
117188}
117189
117190// String returns the string representation
117191func (s SubnetAssociation) String() string {
117192	return awsutil.Prettify(s)
117193}
117194
117195// GoString returns the string representation
117196func (s SubnetAssociation) GoString() string {
117197	return s.String()
117198}
117199
117200// SetState sets the State field's value.
117201func (s *SubnetAssociation) SetState(v string) *SubnetAssociation {
117202	s.State = &v
117203	return s
117204}
117205
117206// SetSubnetId sets the SubnetId field's value.
117207func (s *SubnetAssociation) SetSubnetId(v string) *SubnetAssociation {
117208	s.SubnetId = &v
117209	return s
117210}
117211
117212// Describes the state of a CIDR block.
117213type SubnetCidrBlockState struct {
117214	_ struct{} `type:"structure"`
117215
117216	// The state of a CIDR block.
117217	State *string `locationName:"state" type:"string" enum:"SubnetCidrBlockStateCode"`
117218
117219	// A message about the status of the CIDR block, if applicable.
117220	StatusMessage *string `locationName:"statusMessage" type:"string"`
117221}
117222
117223// String returns the string representation
117224func (s SubnetCidrBlockState) String() string {
117225	return awsutil.Prettify(s)
117226}
117227
117228// GoString returns the string representation
117229func (s SubnetCidrBlockState) GoString() string {
117230	return s.String()
117231}
117232
117233// SetState sets the State field's value.
117234func (s *SubnetCidrBlockState) SetState(v string) *SubnetCidrBlockState {
117235	s.State = &v
117236	return s
117237}
117238
117239// SetStatusMessage sets the StatusMessage field's value.
117240func (s *SubnetCidrBlockState) SetStatusMessage(v string) *SubnetCidrBlockState {
117241	s.StatusMessage = &v
117242	return s
117243}
117244
117245// Describes an IPv6 CIDR block associated with a subnet.
117246type SubnetIpv6CidrBlockAssociation struct {
117247	_ struct{} `type:"structure"`
117248
117249	// The association ID for the CIDR block.
117250	AssociationId *string `locationName:"associationId" type:"string"`
117251
117252	// The IPv6 CIDR block.
117253	Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
117254
117255	// Information about the state of the CIDR block.
117256	Ipv6CidrBlockState *SubnetCidrBlockState `locationName:"ipv6CidrBlockState" type:"structure"`
117257}
117258
117259// String returns the string representation
117260func (s SubnetIpv6CidrBlockAssociation) String() string {
117261	return awsutil.Prettify(s)
117262}
117263
117264// GoString returns the string representation
117265func (s SubnetIpv6CidrBlockAssociation) GoString() string {
117266	return s.String()
117267}
117268
117269// SetAssociationId sets the AssociationId field's value.
117270func (s *SubnetIpv6CidrBlockAssociation) SetAssociationId(v string) *SubnetIpv6CidrBlockAssociation {
117271	s.AssociationId = &v
117272	return s
117273}
117274
117275// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
117276func (s *SubnetIpv6CidrBlockAssociation) SetIpv6CidrBlock(v string) *SubnetIpv6CidrBlockAssociation {
117277	s.Ipv6CidrBlock = &v
117278	return s
117279}
117280
117281// SetIpv6CidrBlockState sets the Ipv6CidrBlockState field's value.
117282func (s *SubnetIpv6CidrBlockAssociation) SetIpv6CidrBlockState(v *SubnetCidrBlockState) *SubnetIpv6CidrBlockAssociation {
117283	s.Ipv6CidrBlockState = v
117284	return s
117285}
117286
117287// Describes the burstable performance instance whose credit option for CPU
117288// usage was successfully modified.
117289type SuccessfulInstanceCreditSpecificationItem struct {
117290	_ struct{} `type:"structure"`
117291
117292	// The ID of the instance.
117293	InstanceId *string `locationName:"instanceId" type:"string"`
117294}
117295
117296// String returns the string representation
117297func (s SuccessfulInstanceCreditSpecificationItem) String() string {
117298	return awsutil.Prettify(s)
117299}
117300
117301// GoString returns the string representation
117302func (s SuccessfulInstanceCreditSpecificationItem) GoString() string {
117303	return s.String()
117304}
117305
117306// SetInstanceId sets the InstanceId field's value.
117307func (s *SuccessfulInstanceCreditSpecificationItem) SetInstanceId(v string) *SuccessfulInstanceCreditSpecificationItem {
117308	s.InstanceId = &v
117309	return s
117310}
117311
117312// Describes a Reserved Instance whose queued purchase was successfully deleted.
117313type SuccessfulQueuedPurchaseDeletion struct {
117314	_ struct{} `type:"structure"`
117315
117316	// The ID of the Reserved Instance.
117317	ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
117318}
117319
117320// String returns the string representation
117321func (s SuccessfulQueuedPurchaseDeletion) String() string {
117322	return awsutil.Prettify(s)
117323}
117324
117325// GoString returns the string representation
117326func (s SuccessfulQueuedPurchaseDeletion) GoString() string {
117327	return s.String()
117328}
117329
117330// SetReservedInstancesId sets the ReservedInstancesId field's value.
117331func (s *SuccessfulQueuedPurchaseDeletion) SetReservedInstancesId(v string) *SuccessfulQueuedPurchaseDeletion {
117332	s.ReservedInstancesId = &v
117333	return s
117334}
117335
117336// Describes a tag.
117337type Tag struct {
117338	_ struct{} `type:"structure"`
117339
117340	// The key of the tag.
117341	//
117342	// Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode
117343	// characters. May not begin with aws:.
117344	Key *string `locationName:"key" type:"string"`
117345
117346	// The value of the tag.
117347	//
117348	// Constraints: Tag values are case-sensitive and accept a maximum of 255 Unicode
117349	// characters.
117350	Value *string `locationName:"value" type:"string"`
117351}
117352
117353// String returns the string representation
117354func (s Tag) String() string {
117355	return awsutil.Prettify(s)
117356}
117357
117358// GoString returns the string representation
117359func (s Tag) GoString() string {
117360	return s.String()
117361}
117362
117363// SetKey sets the Key field's value.
117364func (s *Tag) SetKey(v string) *Tag {
117365	s.Key = &v
117366	return s
117367}
117368
117369// SetValue sets the Value field's value.
117370func (s *Tag) SetValue(v string) *Tag {
117371	s.Value = &v
117372	return s
117373}
117374
117375// Describes a tag.
117376type TagDescription struct {
117377	_ struct{} `type:"structure"`
117378
117379	// The tag key.
117380	Key *string `locationName:"key" type:"string"`
117381
117382	// The ID of the resource.
117383	ResourceId *string `locationName:"resourceId" type:"string"`
117384
117385	// The resource type.
117386	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
117387
117388	// The tag value.
117389	Value *string `locationName:"value" type:"string"`
117390}
117391
117392// String returns the string representation
117393func (s TagDescription) String() string {
117394	return awsutil.Prettify(s)
117395}
117396
117397// GoString returns the string representation
117398func (s TagDescription) GoString() string {
117399	return s.String()
117400}
117401
117402// SetKey sets the Key field's value.
117403func (s *TagDescription) SetKey(v string) *TagDescription {
117404	s.Key = &v
117405	return s
117406}
117407
117408// SetResourceId sets the ResourceId field's value.
117409func (s *TagDescription) SetResourceId(v string) *TagDescription {
117410	s.ResourceId = &v
117411	return s
117412}
117413
117414// SetResourceType sets the ResourceType field's value.
117415func (s *TagDescription) SetResourceType(v string) *TagDescription {
117416	s.ResourceType = &v
117417	return s
117418}
117419
117420// SetValue sets the Value field's value.
117421func (s *TagDescription) SetValue(v string) *TagDescription {
117422	s.Value = &v
117423	return s
117424}
117425
117426// The tags to apply to a resource when the resource is being created.
117427type TagSpecification struct {
117428	_ struct{} `type:"structure"`
117429
117430	// The type of resource to tag. Currently, the resource types that support tagging
117431	// on creation are: capacity-reservation | carrier-gateway | client-vpn-endpoint
117432	// | customer-gateway | dedicated-host | dhcp-options | egress-only-internet-gateway
117433	// | elastic-ip | elastic-gpu | export-image-task | export-instance-task | fleet
117434	// | fpga-image | host-reservation | image| import-image-task | import-snapshot-task
117435	// | instance | internet-gateway | ipv4pool-ec2 | ipv6pool-ec2 | key-pair |
117436	// launch-template | local-gateway-route-table-vpc-association | placement-group
117437	// | prefix-list | natgateway | network-acl | network-interface | reserved-instances
117438	// |route-table | security-group| snapshot | spot-fleet-request | spot-instances-request
117439	// | snapshot | subnet | traffic-mirror-filter | traffic-mirror-session | traffic-mirror-target
117440	// | transit-gateway | transit-gateway-attachment | transit-gateway-multicast-domain
117441	// | transit-gateway-route-table | volume |vpc | vpc-peering-connection | vpc-endpoint
117442	// (for interface and gateway endpoints) | vpc-endpoint-service (for AWS PrivateLink)
117443	// | vpc-flow-log | vpn-connection | vpn-gateway.
117444	//
117445	// To tag a resource after it has been created, see CreateTags (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).
117446	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
117447
117448	// The tags to apply to the resource.
117449	Tags []*Tag `locationName:"Tag" locationNameList:"item" type:"list"`
117450}
117451
117452// String returns the string representation
117453func (s TagSpecification) String() string {
117454	return awsutil.Prettify(s)
117455}
117456
117457// GoString returns the string representation
117458func (s TagSpecification) GoString() string {
117459	return s.String()
117460}
117461
117462// SetResourceType sets the ResourceType field's value.
117463func (s *TagSpecification) SetResourceType(v string) *TagSpecification {
117464	s.ResourceType = &v
117465	return s
117466}
117467
117468// SetTags sets the Tags field's value.
117469func (s *TagSpecification) SetTags(v []*Tag) *TagSpecification {
117470	s.Tags = v
117471	return s
117472}
117473
117474// The number of units to request. You can choose to set the target capacity
117475// in terms of instances or a performance characteristic that is important to
117476// your application workload, such as vCPUs, memory, or I/O. If the request
117477// type is maintain, you can specify a target capacity of 0 and add capacity
117478// later.
117479//
117480// You can use the On-Demand Instance MaxTotalPrice parameter, the Spot Instance
117481// MaxTotalPrice, or both to ensure that your fleet cost does not exceed your
117482// budget. If you set a maximum price per hour for the On-Demand Instances and
117483// Spot Instances in your request, EC2 Fleet will launch instances until it
117484// reaches the maximum amount that you're willing to pay. When the maximum amount
117485// you're willing to pay is reached, the fleet stops launching instances even
117486// if it hasn’t met the target capacity. The MaxTotalPrice parameters are
117487// located in OnDemandOptions (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_OnDemandOptions.html)
117488// and SpotOptions (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SpotOptions).
117489type TargetCapacitySpecification struct {
117490	_ struct{} `type:"structure"`
117491
117492	// The default TotalTargetCapacity, which is either Spot or On-Demand.
117493	DefaultTargetCapacityType *string `locationName:"defaultTargetCapacityType" type:"string" enum:"DefaultTargetCapacityType"`
117494
117495	// The number of On-Demand units to request. If you specify a target capacity
117496	// for Spot units, you cannot specify a target capacity for On-Demand units.
117497	OnDemandTargetCapacity *int64 `locationName:"onDemandTargetCapacity" type:"integer"`
117498
117499	// The maximum number of Spot units to launch. If you specify a target capacity
117500	// for On-Demand units, you cannot specify a target capacity for Spot units.
117501	SpotTargetCapacity *int64 `locationName:"spotTargetCapacity" type:"integer"`
117502
117503	// The number of units to request, filled using DefaultTargetCapacityType.
117504	TotalTargetCapacity *int64 `locationName:"totalTargetCapacity" type:"integer"`
117505}
117506
117507// String returns the string representation
117508func (s TargetCapacitySpecification) String() string {
117509	return awsutil.Prettify(s)
117510}
117511
117512// GoString returns the string representation
117513func (s TargetCapacitySpecification) GoString() string {
117514	return s.String()
117515}
117516
117517// SetDefaultTargetCapacityType sets the DefaultTargetCapacityType field's value.
117518func (s *TargetCapacitySpecification) SetDefaultTargetCapacityType(v string) *TargetCapacitySpecification {
117519	s.DefaultTargetCapacityType = &v
117520	return s
117521}
117522
117523// SetOnDemandTargetCapacity sets the OnDemandTargetCapacity field's value.
117524func (s *TargetCapacitySpecification) SetOnDemandTargetCapacity(v int64) *TargetCapacitySpecification {
117525	s.OnDemandTargetCapacity = &v
117526	return s
117527}
117528
117529// SetSpotTargetCapacity sets the SpotTargetCapacity field's value.
117530func (s *TargetCapacitySpecification) SetSpotTargetCapacity(v int64) *TargetCapacitySpecification {
117531	s.SpotTargetCapacity = &v
117532	return s
117533}
117534
117535// SetTotalTargetCapacity sets the TotalTargetCapacity field's value.
117536func (s *TargetCapacitySpecification) SetTotalTargetCapacity(v int64) *TargetCapacitySpecification {
117537	s.TotalTargetCapacity = &v
117538	return s
117539}
117540
117541// The number of units to request. You can choose to set the target capacity
117542// as the number of instances. Or you can set the target capacity to a performance
117543// characteristic that is important to your application workload, such as vCPUs,
117544// memory, or I/O. If the request type is maintain, you can specify a target
117545// capacity of 0 and add capacity later.
117546//
117547// You can use the On-Demand Instance MaxTotalPrice parameter, the Spot Instance
117548// MaxTotalPrice parameter, or both parameters to ensure that your fleet cost
117549// does not exceed your budget. If you set a maximum price per hour for the
117550// On-Demand Instances and Spot Instances in your request, EC2 Fleet will launch
117551// instances until it reaches the maximum amount that you're willing to pay.
117552// When the maximum amount you're willing to pay is reached, the fleet stops
117553// launching instances even if it hasn’t met the target capacity. The MaxTotalPrice
117554// parameters are located in OnDemandOptionsRequest (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_OnDemandOptionsRequest)
117555// and SpotOptionsRequest (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SpotOptionsRequest).
117556type TargetCapacitySpecificationRequest struct {
117557	_ struct{} `type:"structure"`
117558
117559	// The default TotalTargetCapacity, which is either Spot or On-Demand.
117560	DefaultTargetCapacityType *string `type:"string" enum:"DefaultTargetCapacityType"`
117561
117562	// The number of On-Demand units to request.
117563	OnDemandTargetCapacity *int64 `type:"integer"`
117564
117565	// The number of Spot units to request.
117566	SpotTargetCapacity *int64 `type:"integer"`
117567
117568	// The number of units to request, filled using DefaultTargetCapacityType.
117569	//
117570	// TotalTargetCapacity is a required field
117571	TotalTargetCapacity *int64 `type:"integer" required:"true"`
117572}
117573
117574// String returns the string representation
117575func (s TargetCapacitySpecificationRequest) String() string {
117576	return awsutil.Prettify(s)
117577}
117578
117579// GoString returns the string representation
117580func (s TargetCapacitySpecificationRequest) GoString() string {
117581	return s.String()
117582}
117583
117584// Validate inspects the fields of the type to determine if they are valid.
117585func (s *TargetCapacitySpecificationRequest) Validate() error {
117586	invalidParams := request.ErrInvalidParams{Context: "TargetCapacitySpecificationRequest"}
117587	if s.TotalTargetCapacity == nil {
117588		invalidParams.Add(request.NewErrParamRequired("TotalTargetCapacity"))
117589	}
117590
117591	if invalidParams.Len() > 0 {
117592		return invalidParams
117593	}
117594	return nil
117595}
117596
117597// SetDefaultTargetCapacityType sets the DefaultTargetCapacityType field's value.
117598func (s *TargetCapacitySpecificationRequest) SetDefaultTargetCapacityType(v string) *TargetCapacitySpecificationRequest {
117599	s.DefaultTargetCapacityType = &v
117600	return s
117601}
117602
117603// SetOnDemandTargetCapacity sets the OnDemandTargetCapacity field's value.
117604func (s *TargetCapacitySpecificationRequest) SetOnDemandTargetCapacity(v int64) *TargetCapacitySpecificationRequest {
117605	s.OnDemandTargetCapacity = &v
117606	return s
117607}
117608
117609// SetSpotTargetCapacity sets the SpotTargetCapacity field's value.
117610func (s *TargetCapacitySpecificationRequest) SetSpotTargetCapacity(v int64) *TargetCapacitySpecificationRequest {
117611	s.SpotTargetCapacity = &v
117612	return s
117613}
117614
117615// SetTotalTargetCapacity sets the TotalTargetCapacity field's value.
117616func (s *TargetCapacitySpecificationRequest) SetTotalTargetCapacity(v int64) *TargetCapacitySpecificationRequest {
117617	s.TotalTargetCapacity = &v
117618	return s
117619}
117620
117621// Information about the Convertible Reserved Instance offering.
117622type TargetConfiguration struct {
117623	_ struct{} `type:"structure"`
117624
117625	// The number of instances the Convertible Reserved Instance offering can be
117626	// applied to. This parameter is reserved and cannot be specified in a request
117627	InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
117628
117629	// The ID of the Convertible Reserved Instance offering.
117630	OfferingId *string `locationName:"offeringId" type:"string"`
117631}
117632
117633// String returns the string representation
117634func (s TargetConfiguration) String() string {
117635	return awsutil.Prettify(s)
117636}
117637
117638// GoString returns the string representation
117639func (s TargetConfiguration) GoString() string {
117640	return s.String()
117641}
117642
117643// SetInstanceCount sets the InstanceCount field's value.
117644func (s *TargetConfiguration) SetInstanceCount(v int64) *TargetConfiguration {
117645	s.InstanceCount = &v
117646	return s
117647}
117648
117649// SetOfferingId sets the OfferingId field's value.
117650func (s *TargetConfiguration) SetOfferingId(v string) *TargetConfiguration {
117651	s.OfferingId = &v
117652	return s
117653}
117654
117655// Details about the target configuration.
117656type TargetConfigurationRequest struct {
117657	_ struct{} `type:"structure"`
117658
117659	// The number of instances the Covertible Reserved Instance offering can be
117660	// applied to. This parameter is reserved and cannot be specified in a request
117661	InstanceCount *int64 `type:"integer"`
117662
117663	// The Convertible Reserved Instance offering ID.
117664	//
117665	// OfferingId is a required field
117666	OfferingId *string `type:"string" required:"true"`
117667}
117668
117669// String returns the string representation
117670func (s TargetConfigurationRequest) String() string {
117671	return awsutil.Prettify(s)
117672}
117673
117674// GoString returns the string representation
117675func (s TargetConfigurationRequest) GoString() string {
117676	return s.String()
117677}
117678
117679// Validate inspects the fields of the type to determine if they are valid.
117680func (s *TargetConfigurationRequest) Validate() error {
117681	invalidParams := request.ErrInvalidParams{Context: "TargetConfigurationRequest"}
117682	if s.OfferingId == nil {
117683		invalidParams.Add(request.NewErrParamRequired("OfferingId"))
117684	}
117685
117686	if invalidParams.Len() > 0 {
117687		return invalidParams
117688	}
117689	return nil
117690}
117691
117692// SetInstanceCount sets the InstanceCount field's value.
117693func (s *TargetConfigurationRequest) SetInstanceCount(v int64) *TargetConfigurationRequest {
117694	s.InstanceCount = &v
117695	return s
117696}
117697
117698// SetOfferingId sets the OfferingId field's value.
117699func (s *TargetConfigurationRequest) SetOfferingId(v string) *TargetConfigurationRequest {
117700	s.OfferingId = &v
117701	return s
117702}
117703
117704// Describes a load balancer target group.
117705type TargetGroup struct {
117706	_ struct{} `type:"structure"`
117707
117708	// The Amazon Resource Name (ARN) of the target group.
117709	Arn *string `locationName:"arn" type:"string"`
117710}
117711
117712// String returns the string representation
117713func (s TargetGroup) String() string {
117714	return awsutil.Prettify(s)
117715}
117716
117717// GoString returns the string representation
117718func (s TargetGroup) GoString() string {
117719	return s.String()
117720}
117721
117722// SetArn sets the Arn field's value.
117723func (s *TargetGroup) SetArn(v string) *TargetGroup {
117724	s.Arn = &v
117725	return s
117726}
117727
117728// Describes the target groups to attach to a Spot Fleet. Spot Fleet registers
117729// the running Spot Instances with these target groups.
117730type TargetGroupsConfig struct {
117731	_ struct{} `type:"structure"`
117732
117733	// One or more target groups.
117734	TargetGroups []*TargetGroup `locationName:"targetGroups" locationNameList:"item" min:"1" type:"list"`
117735}
117736
117737// String returns the string representation
117738func (s TargetGroupsConfig) String() string {
117739	return awsutil.Prettify(s)
117740}
117741
117742// GoString returns the string representation
117743func (s TargetGroupsConfig) GoString() string {
117744	return s.String()
117745}
117746
117747// Validate inspects the fields of the type to determine if they are valid.
117748func (s *TargetGroupsConfig) Validate() error {
117749	invalidParams := request.ErrInvalidParams{Context: "TargetGroupsConfig"}
117750	if s.TargetGroups != nil && len(s.TargetGroups) < 1 {
117751		invalidParams.Add(request.NewErrParamMinLen("TargetGroups", 1))
117752	}
117753
117754	if invalidParams.Len() > 0 {
117755		return invalidParams
117756	}
117757	return nil
117758}
117759
117760// SetTargetGroups sets the TargetGroups field's value.
117761func (s *TargetGroupsConfig) SetTargetGroups(v []*TargetGroup) *TargetGroupsConfig {
117762	s.TargetGroups = v
117763	return s
117764}
117765
117766// Describes a target network associated with a Client VPN endpoint.
117767type TargetNetwork struct {
117768	_ struct{} `type:"structure"`
117769
117770	// The ID of the association.
117771	AssociationId *string `locationName:"associationId" type:"string"`
117772
117773	// The ID of the Client VPN endpoint with which the target network is associated.
117774	ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"`
117775
117776	// The IDs of the security groups applied to the target network association.
117777	SecurityGroups []*string `locationName:"securityGroups" locationNameList:"item" type:"list"`
117778
117779	// The current state of the target network association.
117780	Status *AssociationStatus `locationName:"status" type:"structure"`
117781
117782	// The ID of the subnet specified as the target network.
117783	TargetNetworkId *string `locationName:"targetNetworkId" type:"string"`
117784
117785	// The ID of the VPC in which the target network (subnet) is located.
117786	VpcId *string `locationName:"vpcId" type:"string"`
117787}
117788
117789// String returns the string representation
117790func (s TargetNetwork) String() string {
117791	return awsutil.Prettify(s)
117792}
117793
117794// GoString returns the string representation
117795func (s TargetNetwork) GoString() string {
117796	return s.String()
117797}
117798
117799// SetAssociationId sets the AssociationId field's value.
117800func (s *TargetNetwork) SetAssociationId(v string) *TargetNetwork {
117801	s.AssociationId = &v
117802	return s
117803}
117804
117805// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
117806func (s *TargetNetwork) SetClientVpnEndpointId(v string) *TargetNetwork {
117807	s.ClientVpnEndpointId = &v
117808	return s
117809}
117810
117811// SetSecurityGroups sets the SecurityGroups field's value.
117812func (s *TargetNetwork) SetSecurityGroups(v []*string) *TargetNetwork {
117813	s.SecurityGroups = v
117814	return s
117815}
117816
117817// SetStatus sets the Status field's value.
117818func (s *TargetNetwork) SetStatus(v *AssociationStatus) *TargetNetwork {
117819	s.Status = v
117820	return s
117821}
117822
117823// SetTargetNetworkId sets the TargetNetworkId field's value.
117824func (s *TargetNetwork) SetTargetNetworkId(v string) *TargetNetwork {
117825	s.TargetNetworkId = &v
117826	return s
117827}
117828
117829// SetVpcId sets the VpcId field's value.
117830func (s *TargetNetwork) SetVpcId(v string) *TargetNetwork {
117831	s.VpcId = &v
117832	return s
117833}
117834
117835// The total value of the new Convertible Reserved Instances.
117836type TargetReservationValue struct {
117837	_ struct{} `type:"structure"`
117838
117839	// The total value of the Convertible Reserved Instances that make up the exchange.
117840	// This is the sum of the list value, remaining upfront price, and additional
117841	// upfront cost of the exchange.
117842	ReservationValue *ReservationValue `locationName:"reservationValue" type:"structure"`
117843
117844	// The configuration of the Convertible Reserved Instances that make up the
117845	// exchange.
117846	TargetConfiguration *TargetConfiguration `locationName:"targetConfiguration" type:"structure"`
117847}
117848
117849// String returns the string representation
117850func (s TargetReservationValue) String() string {
117851	return awsutil.Prettify(s)
117852}
117853
117854// GoString returns the string representation
117855func (s TargetReservationValue) GoString() string {
117856	return s.String()
117857}
117858
117859// SetReservationValue sets the ReservationValue field's value.
117860func (s *TargetReservationValue) SetReservationValue(v *ReservationValue) *TargetReservationValue {
117861	s.ReservationValue = v
117862	return s
117863}
117864
117865// SetTargetConfiguration sets the TargetConfiguration field's value.
117866func (s *TargetReservationValue) SetTargetConfiguration(v *TargetConfiguration) *TargetReservationValue {
117867	s.TargetConfiguration = v
117868	return s
117869}
117870
117871type TerminateClientVpnConnectionsInput struct {
117872	_ struct{} `type:"structure"`
117873
117874	// The ID of the Client VPN endpoint to which the client is connected.
117875	//
117876	// ClientVpnEndpointId is a required field
117877	ClientVpnEndpointId *string `type:"string" required:"true"`
117878
117879	// The ID of the client connection to be terminated.
117880	ConnectionId *string `type:"string"`
117881
117882	// Checks whether you have the required permissions for the action, without
117883	// actually making the request, and provides an error response. If you have
117884	// the required permissions, the error response is DryRunOperation. Otherwise,
117885	// it is UnauthorizedOperation.
117886	DryRun *bool `type:"boolean"`
117887
117888	// The name of the user who initiated the connection. Use this option to terminate
117889	// all active connections for the specified user. This option can only be used
117890	// if the user has established up to five connections.
117891	Username *string `type:"string"`
117892}
117893
117894// String returns the string representation
117895func (s TerminateClientVpnConnectionsInput) String() string {
117896	return awsutil.Prettify(s)
117897}
117898
117899// GoString returns the string representation
117900func (s TerminateClientVpnConnectionsInput) GoString() string {
117901	return s.String()
117902}
117903
117904// Validate inspects the fields of the type to determine if they are valid.
117905func (s *TerminateClientVpnConnectionsInput) Validate() error {
117906	invalidParams := request.ErrInvalidParams{Context: "TerminateClientVpnConnectionsInput"}
117907	if s.ClientVpnEndpointId == nil {
117908		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
117909	}
117910
117911	if invalidParams.Len() > 0 {
117912		return invalidParams
117913	}
117914	return nil
117915}
117916
117917// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
117918func (s *TerminateClientVpnConnectionsInput) SetClientVpnEndpointId(v string) *TerminateClientVpnConnectionsInput {
117919	s.ClientVpnEndpointId = &v
117920	return s
117921}
117922
117923// SetConnectionId sets the ConnectionId field's value.
117924func (s *TerminateClientVpnConnectionsInput) SetConnectionId(v string) *TerminateClientVpnConnectionsInput {
117925	s.ConnectionId = &v
117926	return s
117927}
117928
117929// SetDryRun sets the DryRun field's value.
117930func (s *TerminateClientVpnConnectionsInput) SetDryRun(v bool) *TerminateClientVpnConnectionsInput {
117931	s.DryRun = &v
117932	return s
117933}
117934
117935// SetUsername sets the Username field's value.
117936func (s *TerminateClientVpnConnectionsInput) SetUsername(v string) *TerminateClientVpnConnectionsInput {
117937	s.Username = &v
117938	return s
117939}
117940
117941type TerminateClientVpnConnectionsOutput struct {
117942	_ struct{} `type:"structure"`
117943
117944	// The ID of the Client VPN endpoint.
117945	ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"`
117946
117947	// The current state of the client connections.
117948	ConnectionStatuses []*TerminateConnectionStatus `locationName:"connectionStatuses" locationNameList:"item" type:"list"`
117949
117950	// The user who established the terminated client connections.
117951	Username *string `locationName:"username" type:"string"`
117952}
117953
117954// String returns the string representation
117955func (s TerminateClientVpnConnectionsOutput) String() string {
117956	return awsutil.Prettify(s)
117957}
117958
117959// GoString returns the string representation
117960func (s TerminateClientVpnConnectionsOutput) GoString() string {
117961	return s.String()
117962}
117963
117964// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
117965func (s *TerminateClientVpnConnectionsOutput) SetClientVpnEndpointId(v string) *TerminateClientVpnConnectionsOutput {
117966	s.ClientVpnEndpointId = &v
117967	return s
117968}
117969
117970// SetConnectionStatuses sets the ConnectionStatuses field's value.
117971func (s *TerminateClientVpnConnectionsOutput) SetConnectionStatuses(v []*TerminateConnectionStatus) *TerminateClientVpnConnectionsOutput {
117972	s.ConnectionStatuses = v
117973	return s
117974}
117975
117976// SetUsername sets the Username field's value.
117977func (s *TerminateClientVpnConnectionsOutput) SetUsername(v string) *TerminateClientVpnConnectionsOutput {
117978	s.Username = &v
117979	return s
117980}
117981
117982// Information about a terminated Client VPN endpoint client connection.
117983type TerminateConnectionStatus struct {
117984	_ struct{} `type:"structure"`
117985
117986	// The ID of the client connection.
117987	ConnectionId *string `locationName:"connectionId" type:"string"`
117988
117989	// A message about the status of the client connection, if applicable.
117990	CurrentStatus *ClientVpnConnectionStatus `locationName:"currentStatus" type:"structure"`
117991
117992	// The state of the client connection.
117993	PreviousStatus *ClientVpnConnectionStatus `locationName:"previousStatus" type:"structure"`
117994}
117995
117996// String returns the string representation
117997func (s TerminateConnectionStatus) String() string {
117998	return awsutil.Prettify(s)
117999}
118000
118001// GoString returns the string representation
118002func (s TerminateConnectionStatus) GoString() string {
118003	return s.String()
118004}
118005
118006// SetConnectionId sets the ConnectionId field's value.
118007func (s *TerminateConnectionStatus) SetConnectionId(v string) *TerminateConnectionStatus {
118008	s.ConnectionId = &v
118009	return s
118010}
118011
118012// SetCurrentStatus sets the CurrentStatus field's value.
118013func (s *TerminateConnectionStatus) SetCurrentStatus(v *ClientVpnConnectionStatus) *TerminateConnectionStatus {
118014	s.CurrentStatus = v
118015	return s
118016}
118017
118018// SetPreviousStatus sets the PreviousStatus field's value.
118019func (s *TerminateConnectionStatus) SetPreviousStatus(v *ClientVpnConnectionStatus) *TerminateConnectionStatus {
118020	s.PreviousStatus = v
118021	return s
118022}
118023
118024type TerminateInstancesInput struct {
118025	_ struct{} `type:"structure"`
118026
118027	// Checks whether you have the required permissions for the action, without
118028	// actually making the request, and provides an error response. If you have
118029	// the required permissions, the error response is DryRunOperation. Otherwise,
118030	// it is UnauthorizedOperation.
118031	DryRun *bool `locationName:"dryRun" type:"boolean"`
118032
118033	// The IDs of the instances.
118034	//
118035	// Constraints: Up to 1000 instance IDs. We recommend breaking up this request
118036	// into smaller batches.
118037	//
118038	// InstanceIds is a required field
118039	InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
118040}
118041
118042// String returns the string representation
118043func (s TerminateInstancesInput) String() string {
118044	return awsutil.Prettify(s)
118045}
118046
118047// GoString returns the string representation
118048func (s TerminateInstancesInput) GoString() string {
118049	return s.String()
118050}
118051
118052// Validate inspects the fields of the type to determine if they are valid.
118053func (s *TerminateInstancesInput) Validate() error {
118054	invalidParams := request.ErrInvalidParams{Context: "TerminateInstancesInput"}
118055	if s.InstanceIds == nil {
118056		invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
118057	}
118058
118059	if invalidParams.Len() > 0 {
118060		return invalidParams
118061	}
118062	return nil
118063}
118064
118065// SetDryRun sets the DryRun field's value.
118066func (s *TerminateInstancesInput) SetDryRun(v bool) *TerminateInstancesInput {
118067	s.DryRun = &v
118068	return s
118069}
118070
118071// SetInstanceIds sets the InstanceIds field's value.
118072func (s *TerminateInstancesInput) SetInstanceIds(v []*string) *TerminateInstancesInput {
118073	s.InstanceIds = v
118074	return s
118075}
118076
118077type TerminateInstancesOutput struct {
118078	_ struct{} `type:"structure"`
118079
118080	// Information about the terminated instances.
118081	TerminatingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"`
118082}
118083
118084// String returns the string representation
118085func (s TerminateInstancesOutput) String() string {
118086	return awsutil.Prettify(s)
118087}
118088
118089// GoString returns the string representation
118090func (s TerminateInstancesOutput) GoString() string {
118091	return s.String()
118092}
118093
118094// SetTerminatingInstances sets the TerminatingInstances field's value.
118095func (s *TerminateInstancesOutput) SetTerminatingInstances(v []*InstanceStateChange) *TerminateInstancesOutput {
118096	s.TerminatingInstances = v
118097	return s
118098}
118099
118100// Describes the Traffic Mirror filter.
118101type TrafficMirrorFilter struct {
118102	_ struct{} `type:"structure"`
118103
118104	// The description of the Traffic Mirror filter.
118105	Description *string `locationName:"description" type:"string"`
118106
118107	// Information about the egress rules that are associated with the Traffic Mirror
118108	// filter.
118109	EgressFilterRules []*TrafficMirrorFilterRule `locationName:"egressFilterRuleSet" locationNameList:"item" type:"list"`
118110
118111	// Information about the ingress rules that are associated with the Traffic
118112	// Mirror filter.
118113	IngressFilterRules []*TrafficMirrorFilterRule `locationName:"ingressFilterRuleSet" locationNameList:"item" type:"list"`
118114
118115	// The network service traffic that is associated with the Traffic Mirror filter.
118116	NetworkServices []*string `locationName:"networkServiceSet" locationNameList:"item" type:"list"`
118117
118118	// The tags assigned to the Traffic Mirror filter.
118119	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
118120
118121	// The ID of the Traffic Mirror filter.
118122	TrafficMirrorFilterId *string `locationName:"trafficMirrorFilterId" type:"string"`
118123}
118124
118125// String returns the string representation
118126func (s TrafficMirrorFilter) String() string {
118127	return awsutil.Prettify(s)
118128}
118129
118130// GoString returns the string representation
118131func (s TrafficMirrorFilter) GoString() string {
118132	return s.String()
118133}
118134
118135// SetDescription sets the Description field's value.
118136func (s *TrafficMirrorFilter) SetDescription(v string) *TrafficMirrorFilter {
118137	s.Description = &v
118138	return s
118139}
118140
118141// SetEgressFilterRules sets the EgressFilterRules field's value.
118142func (s *TrafficMirrorFilter) SetEgressFilterRules(v []*TrafficMirrorFilterRule) *TrafficMirrorFilter {
118143	s.EgressFilterRules = v
118144	return s
118145}
118146
118147// SetIngressFilterRules sets the IngressFilterRules field's value.
118148func (s *TrafficMirrorFilter) SetIngressFilterRules(v []*TrafficMirrorFilterRule) *TrafficMirrorFilter {
118149	s.IngressFilterRules = v
118150	return s
118151}
118152
118153// SetNetworkServices sets the NetworkServices field's value.
118154func (s *TrafficMirrorFilter) SetNetworkServices(v []*string) *TrafficMirrorFilter {
118155	s.NetworkServices = v
118156	return s
118157}
118158
118159// SetTags sets the Tags field's value.
118160func (s *TrafficMirrorFilter) SetTags(v []*Tag) *TrafficMirrorFilter {
118161	s.Tags = v
118162	return s
118163}
118164
118165// SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value.
118166func (s *TrafficMirrorFilter) SetTrafficMirrorFilterId(v string) *TrafficMirrorFilter {
118167	s.TrafficMirrorFilterId = &v
118168	return s
118169}
118170
118171// Describes the Traffic Mirror rule.
118172type TrafficMirrorFilterRule struct {
118173	_ struct{} `type:"structure"`
118174
118175	// The description of the Traffic Mirror rule.
118176	Description *string `locationName:"description" type:"string"`
118177
118178	// The destination CIDR block assigned to the Traffic Mirror rule.
118179	DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
118180
118181	// The destination port range assigned to the Traffic Mirror rule.
118182	DestinationPortRange *TrafficMirrorPortRange `locationName:"destinationPortRange" type:"structure"`
118183
118184	// The protocol assigned to the Traffic Mirror rule.
118185	Protocol *int64 `locationName:"protocol" type:"integer"`
118186
118187	// The action assigned to the Traffic Mirror rule.
118188	RuleAction *string `locationName:"ruleAction" type:"string" enum:"TrafficMirrorRuleAction"`
118189
118190	// The rule number of the Traffic Mirror rule.
118191	RuleNumber *int64 `locationName:"ruleNumber" type:"integer"`
118192
118193	// The source CIDR block assigned to the Traffic Mirror rule.
118194	SourceCidrBlock *string `locationName:"sourceCidrBlock" type:"string"`
118195
118196	// The source port range assigned to the Traffic Mirror rule.
118197	SourcePortRange *TrafficMirrorPortRange `locationName:"sourcePortRange" type:"structure"`
118198
118199	// The traffic direction assigned to the Traffic Mirror rule.
118200	TrafficDirection *string `locationName:"trafficDirection" type:"string" enum:"TrafficDirection"`
118201
118202	// The ID of the Traffic Mirror filter that the rule is associated with.
118203	TrafficMirrorFilterId *string `locationName:"trafficMirrorFilterId" type:"string"`
118204
118205	// The ID of the Traffic Mirror rule.
118206	TrafficMirrorFilterRuleId *string `locationName:"trafficMirrorFilterRuleId" type:"string"`
118207}
118208
118209// String returns the string representation
118210func (s TrafficMirrorFilterRule) String() string {
118211	return awsutil.Prettify(s)
118212}
118213
118214// GoString returns the string representation
118215func (s TrafficMirrorFilterRule) GoString() string {
118216	return s.String()
118217}
118218
118219// SetDescription sets the Description field's value.
118220func (s *TrafficMirrorFilterRule) SetDescription(v string) *TrafficMirrorFilterRule {
118221	s.Description = &v
118222	return s
118223}
118224
118225// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
118226func (s *TrafficMirrorFilterRule) SetDestinationCidrBlock(v string) *TrafficMirrorFilterRule {
118227	s.DestinationCidrBlock = &v
118228	return s
118229}
118230
118231// SetDestinationPortRange sets the DestinationPortRange field's value.
118232func (s *TrafficMirrorFilterRule) SetDestinationPortRange(v *TrafficMirrorPortRange) *TrafficMirrorFilterRule {
118233	s.DestinationPortRange = v
118234	return s
118235}
118236
118237// SetProtocol sets the Protocol field's value.
118238func (s *TrafficMirrorFilterRule) SetProtocol(v int64) *TrafficMirrorFilterRule {
118239	s.Protocol = &v
118240	return s
118241}
118242
118243// SetRuleAction sets the RuleAction field's value.
118244func (s *TrafficMirrorFilterRule) SetRuleAction(v string) *TrafficMirrorFilterRule {
118245	s.RuleAction = &v
118246	return s
118247}
118248
118249// SetRuleNumber sets the RuleNumber field's value.
118250func (s *TrafficMirrorFilterRule) SetRuleNumber(v int64) *TrafficMirrorFilterRule {
118251	s.RuleNumber = &v
118252	return s
118253}
118254
118255// SetSourceCidrBlock sets the SourceCidrBlock field's value.
118256func (s *TrafficMirrorFilterRule) SetSourceCidrBlock(v string) *TrafficMirrorFilterRule {
118257	s.SourceCidrBlock = &v
118258	return s
118259}
118260
118261// SetSourcePortRange sets the SourcePortRange field's value.
118262func (s *TrafficMirrorFilterRule) SetSourcePortRange(v *TrafficMirrorPortRange) *TrafficMirrorFilterRule {
118263	s.SourcePortRange = v
118264	return s
118265}
118266
118267// SetTrafficDirection sets the TrafficDirection field's value.
118268func (s *TrafficMirrorFilterRule) SetTrafficDirection(v string) *TrafficMirrorFilterRule {
118269	s.TrafficDirection = &v
118270	return s
118271}
118272
118273// SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value.
118274func (s *TrafficMirrorFilterRule) SetTrafficMirrorFilterId(v string) *TrafficMirrorFilterRule {
118275	s.TrafficMirrorFilterId = &v
118276	return s
118277}
118278
118279// SetTrafficMirrorFilterRuleId sets the TrafficMirrorFilterRuleId field's value.
118280func (s *TrafficMirrorFilterRule) SetTrafficMirrorFilterRuleId(v string) *TrafficMirrorFilterRule {
118281	s.TrafficMirrorFilterRuleId = &v
118282	return s
118283}
118284
118285// Describes the Traffic Mirror port range.
118286type TrafficMirrorPortRange struct {
118287	_ struct{} `type:"structure"`
118288
118289	// The start of the Traffic Mirror port range. This applies to the TCP and UDP
118290	// protocols.
118291	FromPort *int64 `locationName:"fromPort" type:"integer"`
118292
118293	// The end of the Traffic Mirror port range. This applies to the TCP and UDP
118294	// protocols.
118295	ToPort *int64 `locationName:"toPort" type:"integer"`
118296}
118297
118298// String returns the string representation
118299func (s TrafficMirrorPortRange) String() string {
118300	return awsutil.Prettify(s)
118301}
118302
118303// GoString returns the string representation
118304func (s TrafficMirrorPortRange) GoString() string {
118305	return s.String()
118306}
118307
118308// SetFromPort sets the FromPort field's value.
118309func (s *TrafficMirrorPortRange) SetFromPort(v int64) *TrafficMirrorPortRange {
118310	s.FromPort = &v
118311	return s
118312}
118313
118314// SetToPort sets the ToPort field's value.
118315func (s *TrafficMirrorPortRange) SetToPort(v int64) *TrafficMirrorPortRange {
118316	s.ToPort = &v
118317	return s
118318}
118319
118320// Information about the Traffic Mirror filter rule port range.
118321type TrafficMirrorPortRangeRequest struct {
118322	_ struct{} `type:"structure"`
118323
118324	// The first port in the Traffic Mirror port range. This applies to the TCP
118325	// and UDP protocols.
118326	FromPort *int64 `type:"integer"`
118327
118328	// The last port in the Traffic Mirror port range. This applies to the TCP and
118329	// UDP protocols.
118330	ToPort *int64 `type:"integer"`
118331}
118332
118333// String returns the string representation
118334func (s TrafficMirrorPortRangeRequest) String() string {
118335	return awsutil.Prettify(s)
118336}
118337
118338// GoString returns the string representation
118339func (s TrafficMirrorPortRangeRequest) GoString() string {
118340	return s.String()
118341}
118342
118343// SetFromPort sets the FromPort field's value.
118344func (s *TrafficMirrorPortRangeRequest) SetFromPort(v int64) *TrafficMirrorPortRangeRequest {
118345	s.FromPort = &v
118346	return s
118347}
118348
118349// SetToPort sets the ToPort field's value.
118350func (s *TrafficMirrorPortRangeRequest) SetToPort(v int64) *TrafficMirrorPortRangeRequest {
118351	s.ToPort = &v
118352	return s
118353}
118354
118355// Describes a Traffic Mirror session.
118356type TrafficMirrorSession struct {
118357	_ struct{} `type:"structure"`
118358
118359	// The description of the Traffic Mirror session.
118360	Description *string `locationName:"description" type:"string"`
118361
118362	// The ID of the Traffic Mirror session's network interface.
118363	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
118364
118365	// The ID of the account that owns the Traffic Mirror session.
118366	OwnerId *string `locationName:"ownerId" type:"string"`
118367
118368	// The number of bytes in each packet to mirror. These are the bytes after the
118369	// VXLAN header. To mirror a subset, set this to the length (in bytes) to mirror.
118370	// For example, if you set this value to 100, then the first 100 bytes that
118371	// meet the filter criteria are copied to the target. Do not specify this parameter
118372	// when you want to mirror the entire packet
118373	PacketLength *int64 `locationName:"packetLength" type:"integer"`
118374
118375	// The session number determines the order in which sessions are evaluated when
118376	// an interface is used by multiple sessions. The first session with a matching
118377	// filter is the one that mirrors the packets.
118378	//
118379	// Valid values are 1-32766.
118380	SessionNumber *int64 `locationName:"sessionNumber" type:"integer"`
118381
118382	// The tags assigned to the Traffic Mirror session.
118383	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
118384
118385	// The ID of the Traffic Mirror filter.
118386	TrafficMirrorFilterId *string `locationName:"trafficMirrorFilterId" type:"string"`
118387
118388	// The ID for the Traffic Mirror session.
118389	TrafficMirrorSessionId *string `locationName:"trafficMirrorSessionId" type:"string"`
118390
118391	// The ID of the Traffic Mirror target.
118392	TrafficMirrorTargetId *string `locationName:"trafficMirrorTargetId" type:"string"`
118393
118394	// The virtual network ID associated with the Traffic Mirror session.
118395	VirtualNetworkId *int64 `locationName:"virtualNetworkId" type:"integer"`
118396}
118397
118398// String returns the string representation
118399func (s TrafficMirrorSession) String() string {
118400	return awsutil.Prettify(s)
118401}
118402
118403// GoString returns the string representation
118404func (s TrafficMirrorSession) GoString() string {
118405	return s.String()
118406}
118407
118408// SetDescription sets the Description field's value.
118409func (s *TrafficMirrorSession) SetDescription(v string) *TrafficMirrorSession {
118410	s.Description = &v
118411	return s
118412}
118413
118414// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
118415func (s *TrafficMirrorSession) SetNetworkInterfaceId(v string) *TrafficMirrorSession {
118416	s.NetworkInterfaceId = &v
118417	return s
118418}
118419
118420// SetOwnerId sets the OwnerId field's value.
118421func (s *TrafficMirrorSession) SetOwnerId(v string) *TrafficMirrorSession {
118422	s.OwnerId = &v
118423	return s
118424}
118425
118426// SetPacketLength sets the PacketLength field's value.
118427func (s *TrafficMirrorSession) SetPacketLength(v int64) *TrafficMirrorSession {
118428	s.PacketLength = &v
118429	return s
118430}
118431
118432// SetSessionNumber sets the SessionNumber field's value.
118433func (s *TrafficMirrorSession) SetSessionNumber(v int64) *TrafficMirrorSession {
118434	s.SessionNumber = &v
118435	return s
118436}
118437
118438// SetTags sets the Tags field's value.
118439func (s *TrafficMirrorSession) SetTags(v []*Tag) *TrafficMirrorSession {
118440	s.Tags = v
118441	return s
118442}
118443
118444// SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value.
118445func (s *TrafficMirrorSession) SetTrafficMirrorFilterId(v string) *TrafficMirrorSession {
118446	s.TrafficMirrorFilterId = &v
118447	return s
118448}
118449
118450// SetTrafficMirrorSessionId sets the TrafficMirrorSessionId field's value.
118451func (s *TrafficMirrorSession) SetTrafficMirrorSessionId(v string) *TrafficMirrorSession {
118452	s.TrafficMirrorSessionId = &v
118453	return s
118454}
118455
118456// SetTrafficMirrorTargetId sets the TrafficMirrorTargetId field's value.
118457func (s *TrafficMirrorSession) SetTrafficMirrorTargetId(v string) *TrafficMirrorSession {
118458	s.TrafficMirrorTargetId = &v
118459	return s
118460}
118461
118462// SetVirtualNetworkId sets the VirtualNetworkId field's value.
118463func (s *TrafficMirrorSession) SetVirtualNetworkId(v int64) *TrafficMirrorSession {
118464	s.VirtualNetworkId = &v
118465	return s
118466}
118467
118468// Describes a Traffic Mirror target.
118469type TrafficMirrorTarget struct {
118470	_ struct{} `type:"structure"`
118471
118472	// Information about the Traffic Mirror target.
118473	Description *string `locationName:"description" type:"string"`
118474
118475	// The network interface ID that is attached to the target.
118476	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
118477
118478	// The Amazon Resource Name (ARN) of the Network Load Balancer.
118479	NetworkLoadBalancerArn *string `locationName:"networkLoadBalancerArn" type:"string"`
118480
118481	// The ID of the account that owns the Traffic Mirror target.
118482	OwnerId *string `locationName:"ownerId" type:"string"`
118483
118484	// The tags assigned to the Traffic Mirror target.
118485	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
118486
118487	// The ID of the Traffic Mirror target.
118488	TrafficMirrorTargetId *string `locationName:"trafficMirrorTargetId" type:"string"`
118489
118490	// The type of Traffic Mirror target.
118491	Type *string `locationName:"type" type:"string" enum:"TrafficMirrorTargetType"`
118492}
118493
118494// String returns the string representation
118495func (s TrafficMirrorTarget) String() string {
118496	return awsutil.Prettify(s)
118497}
118498
118499// GoString returns the string representation
118500func (s TrafficMirrorTarget) GoString() string {
118501	return s.String()
118502}
118503
118504// SetDescription sets the Description field's value.
118505func (s *TrafficMirrorTarget) SetDescription(v string) *TrafficMirrorTarget {
118506	s.Description = &v
118507	return s
118508}
118509
118510// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
118511func (s *TrafficMirrorTarget) SetNetworkInterfaceId(v string) *TrafficMirrorTarget {
118512	s.NetworkInterfaceId = &v
118513	return s
118514}
118515
118516// SetNetworkLoadBalancerArn sets the NetworkLoadBalancerArn field's value.
118517func (s *TrafficMirrorTarget) SetNetworkLoadBalancerArn(v string) *TrafficMirrorTarget {
118518	s.NetworkLoadBalancerArn = &v
118519	return s
118520}
118521
118522// SetOwnerId sets the OwnerId field's value.
118523func (s *TrafficMirrorTarget) SetOwnerId(v string) *TrafficMirrorTarget {
118524	s.OwnerId = &v
118525	return s
118526}
118527
118528// SetTags sets the Tags field's value.
118529func (s *TrafficMirrorTarget) SetTags(v []*Tag) *TrafficMirrorTarget {
118530	s.Tags = v
118531	return s
118532}
118533
118534// SetTrafficMirrorTargetId sets the TrafficMirrorTargetId field's value.
118535func (s *TrafficMirrorTarget) SetTrafficMirrorTargetId(v string) *TrafficMirrorTarget {
118536	s.TrafficMirrorTargetId = &v
118537	return s
118538}
118539
118540// SetType sets the Type field's value.
118541func (s *TrafficMirrorTarget) SetType(v string) *TrafficMirrorTarget {
118542	s.Type = &v
118543	return s
118544}
118545
118546// Describes a transit gateway.
118547type TransitGateway struct {
118548	_ struct{} `type:"structure"`
118549
118550	// The creation time.
118551	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
118552
118553	// The description of the transit gateway.
118554	Description *string `locationName:"description" type:"string"`
118555
118556	// The transit gateway options.
118557	Options *TransitGatewayOptions `locationName:"options" type:"structure"`
118558
118559	// The ID of the AWS account ID that owns the transit gateway.
118560	OwnerId *string `locationName:"ownerId" type:"string"`
118561
118562	// The state of the transit gateway.
118563	State *string `locationName:"state" type:"string" enum:"TransitGatewayState"`
118564
118565	// The tags for the transit gateway.
118566	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
118567
118568	// The Amazon Resource Name (ARN) of the transit gateway.
118569	TransitGatewayArn *string `locationName:"transitGatewayArn" type:"string"`
118570
118571	// The ID of the transit gateway.
118572	TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
118573}
118574
118575// String returns the string representation
118576func (s TransitGateway) String() string {
118577	return awsutil.Prettify(s)
118578}
118579
118580// GoString returns the string representation
118581func (s TransitGateway) GoString() string {
118582	return s.String()
118583}
118584
118585// SetCreationTime sets the CreationTime field's value.
118586func (s *TransitGateway) SetCreationTime(v time.Time) *TransitGateway {
118587	s.CreationTime = &v
118588	return s
118589}
118590
118591// SetDescription sets the Description field's value.
118592func (s *TransitGateway) SetDescription(v string) *TransitGateway {
118593	s.Description = &v
118594	return s
118595}
118596
118597// SetOptions sets the Options field's value.
118598func (s *TransitGateway) SetOptions(v *TransitGatewayOptions) *TransitGateway {
118599	s.Options = v
118600	return s
118601}
118602
118603// SetOwnerId sets the OwnerId field's value.
118604func (s *TransitGateway) SetOwnerId(v string) *TransitGateway {
118605	s.OwnerId = &v
118606	return s
118607}
118608
118609// SetState sets the State field's value.
118610func (s *TransitGateway) SetState(v string) *TransitGateway {
118611	s.State = &v
118612	return s
118613}
118614
118615// SetTags sets the Tags field's value.
118616func (s *TransitGateway) SetTags(v []*Tag) *TransitGateway {
118617	s.Tags = v
118618	return s
118619}
118620
118621// SetTransitGatewayArn sets the TransitGatewayArn field's value.
118622func (s *TransitGateway) SetTransitGatewayArn(v string) *TransitGateway {
118623	s.TransitGatewayArn = &v
118624	return s
118625}
118626
118627// SetTransitGatewayId sets the TransitGatewayId field's value.
118628func (s *TransitGateway) SetTransitGatewayId(v string) *TransitGateway {
118629	s.TransitGatewayId = &v
118630	return s
118631}
118632
118633// Describes an association between a resource attachment and a transit gateway
118634// route table.
118635type TransitGatewayAssociation struct {
118636	_ struct{} `type:"structure"`
118637
118638	// The ID of the resource.
118639	ResourceId *string `locationName:"resourceId" type:"string"`
118640
118641	// The resource type. Note that the tgw-peering resource type has been deprecated.
118642	ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
118643
118644	// The state of the association.
118645	State *string `locationName:"state" type:"string" enum:"TransitGatewayAssociationState"`
118646
118647	// The ID of the attachment.
118648	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
118649
118650	// The ID of the transit gateway route table.
118651	TransitGatewayRouteTableId *string `locationName:"transitGatewayRouteTableId" type:"string"`
118652}
118653
118654// String returns the string representation
118655func (s TransitGatewayAssociation) String() string {
118656	return awsutil.Prettify(s)
118657}
118658
118659// GoString returns the string representation
118660func (s TransitGatewayAssociation) GoString() string {
118661	return s.String()
118662}
118663
118664// SetResourceId sets the ResourceId field's value.
118665func (s *TransitGatewayAssociation) SetResourceId(v string) *TransitGatewayAssociation {
118666	s.ResourceId = &v
118667	return s
118668}
118669
118670// SetResourceType sets the ResourceType field's value.
118671func (s *TransitGatewayAssociation) SetResourceType(v string) *TransitGatewayAssociation {
118672	s.ResourceType = &v
118673	return s
118674}
118675
118676// SetState sets the State field's value.
118677func (s *TransitGatewayAssociation) SetState(v string) *TransitGatewayAssociation {
118678	s.State = &v
118679	return s
118680}
118681
118682// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
118683func (s *TransitGatewayAssociation) SetTransitGatewayAttachmentId(v string) *TransitGatewayAssociation {
118684	s.TransitGatewayAttachmentId = &v
118685	return s
118686}
118687
118688// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
118689func (s *TransitGatewayAssociation) SetTransitGatewayRouteTableId(v string) *TransitGatewayAssociation {
118690	s.TransitGatewayRouteTableId = &v
118691	return s
118692}
118693
118694// Describes an attachment between a resource and a transit gateway.
118695type TransitGatewayAttachment struct {
118696	_ struct{} `type:"structure"`
118697
118698	// The association.
118699	Association *TransitGatewayAttachmentAssociation `locationName:"association" type:"structure"`
118700
118701	// The creation time.
118702	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
118703
118704	// The ID of the resource.
118705	ResourceId *string `locationName:"resourceId" type:"string"`
118706
118707	// The ID of the AWS account that owns the resource.
118708	ResourceOwnerId *string `locationName:"resourceOwnerId" type:"string"`
118709
118710	// The resource type. Note that the tgw-peering resource type has been deprecated.
118711	ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
118712
118713	// The attachment state. Note that the initiating state has been deprecated.
118714	State *string `locationName:"state" type:"string" enum:"TransitGatewayAttachmentState"`
118715
118716	// The tags for the attachment.
118717	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
118718
118719	// The ID of the attachment.
118720	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
118721
118722	// The ID of the transit gateway.
118723	TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
118724
118725	// The ID of the AWS account that owns the transit gateway.
118726	TransitGatewayOwnerId *string `locationName:"transitGatewayOwnerId" type:"string"`
118727}
118728
118729// String returns the string representation
118730func (s TransitGatewayAttachment) String() string {
118731	return awsutil.Prettify(s)
118732}
118733
118734// GoString returns the string representation
118735func (s TransitGatewayAttachment) GoString() string {
118736	return s.String()
118737}
118738
118739// SetAssociation sets the Association field's value.
118740func (s *TransitGatewayAttachment) SetAssociation(v *TransitGatewayAttachmentAssociation) *TransitGatewayAttachment {
118741	s.Association = v
118742	return s
118743}
118744
118745// SetCreationTime sets the CreationTime field's value.
118746func (s *TransitGatewayAttachment) SetCreationTime(v time.Time) *TransitGatewayAttachment {
118747	s.CreationTime = &v
118748	return s
118749}
118750
118751// SetResourceId sets the ResourceId field's value.
118752func (s *TransitGatewayAttachment) SetResourceId(v string) *TransitGatewayAttachment {
118753	s.ResourceId = &v
118754	return s
118755}
118756
118757// SetResourceOwnerId sets the ResourceOwnerId field's value.
118758func (s *TransitGatewayAttachment) SetResourceOwnerId(v string) *TransitGatewayAttachment {
118759	s.ResourceOwnerId = &v
118760	return s
118761}
118762
118763// SetResourceType sets the ResourceType field's value.
118764func (s *TransitGatewayAttachment) SetResourceType(v string) *TransitGatewayAttachment {
118765	s.ResourceType = &v
118766	return s
118767}
118768
118769// SetState sets the State field's value.
118770func (s *TransitGatewayAttachment) SetState(v string) *TransitGatewayAttachment {
118771	s.State = &v
118772	return s
118773}
118774
118775// SetTags sets the Tags field's value.
118776func (s *TransitGatewayAttachment) SetTags(v []*Tag) *TransitGatewayAttachment {
118777	s.Tags = v
118778	return s
118779}
118780
118781// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
118782func (s *TransitGatewayAttachment) SetTransitGatewayAttachmentId(v string) *TransitGatewayAttachment {
118783	s.TransitGatewayAttachmentId = &v
118784	return s
118785}
118786
118787// SetTransitGatewayId sets the TransitGatewayId field's value.
118788func (s *TransitGatewayAttachment) SetTransitGatewayId(v string) *TransitGatewayAttachment {
118789	s.TransitGatewayId = &v
118790	return s
118791}
118792
118793// SetTransitGatewayOwnerId sets the TransitGatewayOwnerId field's value.
118794func (s *TransitGatewayAttachment) SetTransitGatewayOwnerId(v string) *TransitGatewayAttachment {
118795	s.TransitGatewayOwnerId = &v
118796	return s
118797}
118798
118799// Describes an association.
118800type TransitGatewayAttachmentAssociation struct {
118801	_ struct{} `type:"structure"`
118802
118803	// The state of the association.
118804	State *string `locationName:"state" type:"string" enum:"TransitGatewayAssociationState"`
118805
118806	// The ID of the route table for the transit gateway.
118807	TransitGatewayRouteTableId *string `locationName:"transitGatewayRouteTableId" type:"string"`
118808}
118809
118810// String returns the string representation
118811func (s TransitGatewayAttachmentAssociation) String() string {
118812	return awsutil.Prettify(s)
118813}
118814
118815// GoString returns the string representation
118816func (s TransitGatewayAttachmentAssociation) GoString() string {
118817	return s.String()
118818}
118819
118820// SetState sets the State field's value.
118821func (s *TransitGatewayAttachmentAssociation) SetState(v string) *TransitGatewayAttachmentAssociation {
118822	s.State = &v
118823	return s
118824}
118825
118826// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
118827func (s *TransitGatewayAttachmentAssociation) SetTransitGatewayRouteTableId(v string) *TransitGatewayAttachmentAssociation {
118828	s.TransitGatewayRouteTableId = &v
118829	return s
118830}
118831
118832// The BGP configuration information.
118833type TransitGatewayAttachmentBgpConfiguration struct {
118834	_ struct{} `type:"structure"`
118835
118836	// The BGP status.
118837	BgpStatus *string `locationName:"bgpStatus" type:"string" enum:"BgpStatus"`
118838
118839	// The interior BGP peer IP address for the appliance.
118840	PeerAddress *string `locationName:"peerAddress" type:"string"`
118841
118842	// The peer Autonomous System Number (ASN).
118843	PeerAsn *int64 `locationName:"peerAsn" type:"long"`
118844
118845	// The interior BGP peer IP address for the transit gateway.
118846	TransitGatewayAddress *string `locationName:"transitGatewayAddress" type:"string"`
118847
118848	// The transit gateway Autonomous System Number (ASN).
118849	TransitGatewayAsn *int64 `locationName:"transitGatewayAsn" type:"long"`
118850}
118851
118852// String returns the string representation
118853func (s TransitGatewayAttachmentBgpConfiguration) String() string {
118854	return awsutil.Prettify(s)
118855}
118856
118857// GoString returns the string representation
118858func (s TransitGatewayAttachmentBgpConfiguration) GoString() string {
118859	return s.String()
118860}
118861
118862// SetBgpStatus sets the BgpStatus field's value.
118863func (s *TransitGatewayAttachmentBgpConfiguration) SetBgpStatus(v string) *TransitGatewayAttachmentBgpConfiguration {
118864	s.BgpStatus = &v
118865	return s
118866}
118867
118868// SetPeerAddress sets the PeerAddress field's value.
118869func (s *TransitGatewayAttachmentBgpConfiguration) SetPeerAddress(v string) *TransitGatewayAttachmentBgpConfiguration {
118870	s.PeerAddress = &v
118871	return s
118872}
118873
118874// SetPeerAsn sets the PeerAsn field's value.
118875func (s *TransitGatewayAttachmentBgpConfiguration) SetPeerAsn(v int64) *TransitGatewayAttachmentBgpConfiguration {
118876	s.PeerAsn = &v
118877	return s
118878}
118879
118880// SetTransitGatewayAddress sets the TransitGatewayAddress field's value.
118881func (s *TransitGatewayAttachmentBgpConfiguration) SetTransitGatewayAddress(v string) *TransitGatewayAttachmentBgpConfiguration {
118882	s.TransitGatewayAddress = &v
118883	return s
118884}
118885
118886// SetTransitGatewayAsn sets the TransitGatewayAsn field's value.
118887func (s *TransitGatewayAttachmentBgpConfiguration) SetTransitGatewayAsn(v int64) *TransitGatewayAttachmentBgpConfiguration {
118888	s.TransitGatewayAsn = &v
118889	return s
118890}
118891
118892// Describes a propagation route table.
118893type TransitGatewayAttachmentPropagation struct {
118894	_ struct{} `type:"structure"`
118895
118896	// The state of the propagation route table.
118897	State *string `locationName:"state" type:"string" enum:"TransitGatewayPropagationState"`
118898
118899	// The ID of the propagation route table.
118900	TransitGatewayRouteTableId *string `locationName:"transitGatewayRouteTableId" type:"string"`
118901}
118902
118903// String returns the string representation
118904func (s TransitGatewayAttachmentPropagation) String() string {
118905	return awsutil.Prettify(s)
118906}
118907
118908// GoString returns the string representation
118909func (s TransitGatewayAttachmentPropagation) GoString() string {
118910	return s.String()
118911}
118912
118913// SetState sets the State field's value.
118914func (s *TransitGatewayAttachmentPropagation) SetState(v string) *TransitGatewayAttachmentPropagation {
118915	s.State = &v
118916	return s
118917}
118918
118919// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
118920func (s *TransitGatewayAttachmentPropagation) SetTransitGatewayRouteTableId(v string) *TransitGatewayAttachmentPropagation {
118921	s.TransitGatewayRouteTableId = &v
118922	return s
118923}
118924
118925// Describes a transit gateway Connect attachment.
118926type TransitGatewayConnect struct {
118927	_ struct{} `type:"structure"`
118928
118929	// The creation time.
118930	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
118931
118932	// The Connect attachment options.
118933	Options *TransitGatewayConnectOptions `locationName:"options" type:"structure"`
118934
118935	// The state of the attachment.
118936	State *string `locationName:"state" type:"string" enum:"TransitGatewayAttachmentState"`
118937
118938	// The tags for the attachment.
118939	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
118940
118941	// The ID of the Connect attachment.
118942	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
118943
118944	// The ID of the transit gateway.
118945	TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
118946
118947	// The ID of the attachment from which the Connect attachment was created.
118948	TransportTransitGatewayAttachmentId *string `locationName:"transportTransitGatewayAttachmentId" type:"string"`
118949}
118950
118951// String returns the string representation
118952func (s TransitGatewayConnect) String() string {
118953	return awsutil.Prettify(s)
118954}
118955
118956// GoString returns the string representation
118957func (s TransitGatewayConnect) GoString() string {
118958	return s.String()
118959}
118960
118961// SetCreationTime sets the CreationTime field's value.
118962func (s *TransitGatewayConnect) SetCreationTime(v time.Time) *TransitGatewayConnect {
118963	s.CreationTime = &v
118964	return s
118965}
118966
118967// SetOptions sets the Options field's value.
118968func (s *TransitGatewayConnect) SetOptions(v *TransitGatewayConnectOptions) *TransitGatewayConnect {
118969	s.Options = v
118970	return s
118971}
118972
118973// SetState sets the State field's value.
118974func (s *TransitGatewayConnect) SetState(v string) *TransitGatewayConnect {
118975	s.State = &v
118976	return s
118977}
118978
118979// SetTags sets the Tags field's value.
118980func (s *TransitGatewayConnect) SetTags(v []*Tag) *TransitGatewayConnect {
118981	s.Tags = v
118982	return s
118983}
118984
118985// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
118986func (s *TransitGatewayConnect) SetTransitGatewayAttachmentId(v string) *TransitGatewayConnect {
118987	s.TransitGatewayAttachmentId = &v
118988	return s
118989}
118990
118991// SetTransitGatewayId sets the TransitGatewayId field's value.
118992func (s *TransitGatewayConnect) SetTransitGatewayId(v string) *TransitGatewayConnect {
118993	s.TransitGatewayId = &v
118994	return s
118995}
118996
118997// SetTransportTransitGatewayAttachmentId sets the TransportTransitGatewayAttachmentId field's value.
118998func (s *TransitGatewayConnect) SetTransportTransitGatewayAttachmentId(v string) *TransitGatewayConnect {
118999	s.TransportTransitGatewayAttachmentId = &v
119000	return s
119001}
119002
119003// Describes the Connect attachment options.
119004type TransitGatewayConnectOptions struct {
119005	_ struct{} `type:"structure"`
119006
119007	// The tunnel protocol.
119008	Protocol *string `locationName:"protocol" type:"string" enum:"ProtocolValue"`
119009}
119010
119011// String returns the string representation
119012func (s TransitGatewayConnectOptions) String() string {
119013	return awsutil.Prettify(s)
119014}
119015
119016// GoString returns the string representation
119017func (s TransitGatewayConnectOptions) GoString() string {
119018	return s.String()
119019}
119020
119021// SetProtocol sets the Protocol field's value.
119022func (s *TransitGatewayConnectOptions) SetProtocol(v string) *TransitGatewayConnectOptions {
119023	s.Protocol = &v
119024	return s
119025}
119026
119027// Describes a transit gateway Connect peer.
119028type TransitGatewayConnectPeer struct {
119029	_ struct{} `type:"structure"`
119030
119031	// The Connect peer details.
119032	ConnectPeerConfiguration *TransitGatewayConnectPeerConfiguration `locationName:"connectPeerConfiguration" type:"structure"`
119033
119034	// The creation time.
119035	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
119036
119037	// The state of the Connect peer.
119038	State *string `locationName:"state" type:"string" enum:"TransitGatewayConnectPeerState"`
119039
119040	// The tags for the Connect peer.
119041	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
119042
119043	// The ID of the Connect attachment.
119044	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
119045
119046	// The ID of the Connect peer.
119047	TransitGatewayConnectPeerId *string `locationName:"transitGatewayConnectPeerId" type:"string"`
119048}
119049
119050// String returns the string representation
119051func (s TransitGatewayConnectPeer) String() string {
119052	return awsutil.Prettify(s)
119053}
119054
119055// GoString returns the string representation
119056func (s TransitGatewayConnectPeer) GoString() string {
119057	return s.String()
119058}
119059
119060// SetConnectPeerConfiguration sets the ConnectPeerConfiguration field's value.
119061func (s *TransitGatewayConnectPeer) SetConnectPeerConfiguration(v *TransitGatewayConnectPeerConfiguration) *TransitGatewayConnectPeer {
119062	s.ConnectPeerConfiguration = v
119063	return s
119064}
119065
119066// SetCreationTime sets the CreationTime field's value.
119067func (s *TransitGatewayConnectPeer) SetCreationTime(v time.Time) *TransitGatewayConnectPeer {
119068	s.CreationTime = &v
119069	return s
119070}
119071
119072// SetState sets the State field's value.
119073func (s *TransitGatewayConnectPeer) SetState(v string) *TransitGatewayConnectPeer {
119074	s.State = &v
119075	return s
119076}
119077
119078// SetTags sets the Tags field's value.
119079func (s *TransitGatewayConnectPeer) SetTags(v []*Tag) *TransitGatewayConnectPeer {
119080	s.Tags = v
119081	return s
119082}
119083
119084// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
119085func (s *TransitGatewayConnectPeer) SetTransitGatewayAttachmentId(v string) *TransitGatewayConnectPeer {
119086	s.TransitGatewayAttachmentId = &v
119087	return s
119088}
119089
119090// SetTransitGatewayConnectPeerId sets the TransitGatewayConnectPeerId field's value.
119091func (s *TransitGatewayConnectPeer) SetTransitGatewayConnectPeerId(v string) *TransitGatewayConnectPeer {
119092	s.TransitGatewayConnectPeerId = &v
119093	return s
119094}
119095
119096// Describes the Connect peer details.
119097type TransitGatewayConnectPeerConfiguration struct {
119098	_ struct{} `type:"structure"`
119099
119100	// The BGP configuration details.
119101	BgpConfigurations []*TransitGatewayAttachmentBgpConfiguration `locationName:"bgpConfigurations" locationNameList:"item" type:"list"`
119102
119103	// The range of interior BGP peer IP addresses.
119104	InsideCidrBlocks []*string `locationName:"insideCidrBlocks" locationNameList:"item" type:"list"`
119105
119106	// The Connect peer IP address on the appliance side of the tunnel.
119107	PeerAddress *string `locationName:"peerAddress" type:"string"`
119108
119109	// The tunnel protocol.
119110	Protocol *string `locationName:"protocol" type:"string" enum:"ProtocolValue"`
119111
119112	// The Connect peer IP address on the transit gateway side of the tunnel.
119113	TransitGatewayAddress *string `locationName:"transitGatewayAddress" type:"string"`
119114}
119115
119116// String returns the string representation
119117func (s TransitGatewayConnectPeerConfiguration) String() string {
119118	return awsutil.Prettify(s)
119119}
119120
119121// GoString returns the string representation
119122func (s TransitGatewayConnectPeerConfiguration) GoString() string {
119123	return s.String()
119124}
119125
119126// SetBgpConfigurations sets the BgpConfigurations field's value.
119127func (s *TransitGatewayConnectPeerConfiguration) SetBgpConfigurations(v []*TransitGatewayAttachmentBgpConfiguration) *TransitGatewayConnectPeerConfiguration {
119128	s.BgpConfigurations = v
119129	return s
119130}
119131
119132// SetInsideCidrBlocks sets the InsideCidrBlocks field's value.
119133func (s *TransitGatewayConnectPeerConfiguration) SetInsideCidrBlocks(v []*string) *TransitGatewayConnectPeerConfiguration {
119134	s.InsideCidrBlocks = v
119135	return s
119136}
119137
119138// SetPeerAddress sets the PeerAddress field's value.
119139func (s *TransitGatewayConnectPeerConfiguration) SetPeerAddress(v string) *TransitGatewayConnectPeerConfiguration {
119140	s.PeerAddress = &v
119141	return s
119142}
119143
119144// SetProtocol sets the Protocol field's value.
119145func (s *TransitGatewayConnectPeerConfiguration) SetProtocol(v string) *TransitGatewayConnectPeerConfiguration {
119146	s.Protocol = &v
119147	return s
119148}
119149
119150// SetTransitGatewayAddress sets the TransitGatewayAddress field's value.
119151func (s *TransitGatewayConnectPeerConfiguration) SetTransitGatewayAddress(v string) *TransitGatewayConnectPeerConfiguration {
119152	s.TransitGatewayAddress = &v
119153	return s
119154}
119155
119156// The BGP options for the Connect attachment.
119157type TransitGatewayConnectRequestBgpOptions struct {
119158	_ struct{} `type:"structure"`
119159
119160	// The peer Autonomous System Number (ASN).
119161	PeerAsn *int64 `type:"long"`
119162}
119163
119164// String returns the string representation
119165func (s TransitGatewayConnectRequestBgpOptions) String() string {
119166	return awsutil.Prettify(s)
119167}
119168
119169// GoString returns the string representation
119170func (s TransitGatewayConnectRequestBgpOptions) GoString() string {
119171	return s.String()
119172}
119173
119174// SetPeerAsn sets the PeerAsn field's value.
119175func (s *TransitGatewayConnectRequestBgpOptions) SetPeerAsn(v int64) *TransitGatewayConnectRequestBgpOptions {
119176	s.PeerAsn = &v
119177	return s
119178}
119179
119180// Describes the deregistered transit gateway multicast group members.
119181type TransitGatewayMulticastDeregisteredGroupMembers struct {
119182	_ struct{} `type:"structure"`
119183
119184	// The network interface IDs of the deregistered members.
119185	DeregisteredNetworkInterfaceIds []*string `locationName:"deregisteredNetworkInterfaceIds" locationNameList:"item" type:"list"`
119186
119187	// The IP address assigned to the transit gateway multicast group.
119188	GroupIpAddress *string `locationName:"groupIpAddress" type:"string"`
119189
119190	// The ID of the transit gateway multicast domain.
119191	TransitGatewayMulticastDomainId *string `locationName:"transitGatewayMulticastDomainId" type:"string"`
119192}
119193
119194// String returns the string representation
119195func (s TransitGatewayMulticastDeregisteredGroupMembers) String() string {
119196	return awsutil.Prettify(s)
119197}
119198
119199// GoString returns the string representation
119200func (s TransitGatewayMulticastDeregisteredGroupMembers) GoString() string {
119201	return s.String()
119202}
119203
119204// SetDeregisteredNetworkInterfaceIds sets the DeregisteredNetworkInterfaceIds field's value.
119205func (s *TransitGatewayMulticastDeregisteredGroupMembers) SetDeregisteredNetworkInterfaceIds(v []*string) *TransitGatewayMulticastDeregisteredGroupMembers {
119206	s.DeregisteredNetworkInterfaceIds = v
119207	return s
119208}
119209
119210// SetGroupIpAddress sets the GroupIpAddress field's value.
119211func (s *TransitGatewayMulticastDeregisteredGroupMembers) SetGroupIpAddress(v string) *TransitGatewayMulticastDeregisteredGroupMembers {
119212	s.GroupIpAddress = &v
119213	return s
119214}
119215
119216// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
119217func (s *TransitGatewayMulticastDeregisteredGroupMembers) SetTransitGatewayMulticastDomainId(v string) *TransitGatewayMulticastDeregisteredGroupMembers {
119218	s.TransitGatewayMulticastDomainId = &v
119219	return s
119220}
119221
119222// Describes the deregistered transit gateway multicast group sources.
119223type TransitGatewayMulticastDeregisteredGroupSources struct {
119224	_ struct{} `type:"structure"`
119225
119226	// The network interface IDs of the non-registered members.
119227	DeregisteredNetworkInterfaceIds []*string `locationName:"deregisteredNetworkInterfaceIds" locationNameList:"item" type:"list"`
119228
119229	// The IP address assigned to the transit gateway multicast group.
119230	GroupIpAddress *string `locationName:"groupIpAddress" type:"string"`
119231
119232	// The ID of the transit gateway multicast domain.
119233	TransitGatewayMulticastDomainId *string `locationName:"transitGatewayMulticastDomainId" type:"string"`
119234}
119235
119236// String returns the string representation
119237func (s TransitGatewayMulticastDeregisteredGroupSources) String() string {
119238	return awsutil.Prettify(s)
119239}
119240
119241// GoString returns the string representation
119242func (s TransitGatewayMulticastDeregisteredGroupSources) GoString() string {
119243	return s.String()
119244}
119245
119246// SetDeregisteredNetworkInterfaceIds sets the DeregisteredNetworkInterfaceIds field's value.
119247func (s *TransitGatewayMulticastDeregisteredGroupSources) SetDeregisteredNetworkInterfaceIds(v []*string) *TransitGatewayMulticastDeregisteredGroupSources {
119248	s.DeregisteredNetworkInterfaceIds = v
119249	return s
119250}
119251
119252// SetGroupIpAddress sets the GroupIpAddress field's value.
119253func (s *TransitGatewayMulticastDeregisteredGroupSources) SetGroupIpAddress(v string) *TransitGatewayMulticastDeregisteredGroupSources {
119254	s.GroupIpAddress = &v
119255	return s
119256}
119257
119258// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
119259func (s *TransitGatewayMulticastDeregisteredGroupSources) SetTransitGatewayMulticastDomainId(v string) *TransitGatewayMulticastDeregisteredGroupSources {
119260	s.TransitGatewayMulticastDomainId = &v
119261	return s
119262}
119263
119264// Describes the transit gateway multicast domain.
119265type TransitGatewayMulticastDomain struct {
119266	_ struct{} `type:"structure"`
119267
119268	// The time the transit gateway multicast domain was created.
119269	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
119270
119271	// The options for the transit gateway multicast domain.
119272	Options *TransitGatewayMulticastDomainOptions `locationName:"options" type:"structure"`
119273
119274	// The ID of the AWS account that owns the transit gateway multiicast domain.
119275	OwnerId *string `locationName:"ownerId" type:"string"`
119276
119277	// The state of the transit gateway multicast domain.
119278	State *string `locationName:"state" type:"string" enum:"TransitGatewayMulticastDomainState"`
119279
119280	// The tags for the transit gateway multicast domain.
119281	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
119282
119283	// The ID of the transit gateway.
119284	TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
119285
119286	// The Amazon Resource Name (ARN) of the transit gateway multicast domain.
119287	TransitGatewayMulticastDomainArn *string `locationName:"transitGatewayMulticastDomainArn" type:"string"`
119288
119289	// The ID of the transit gateway multicast domain.
119290	TransitGatewayMulticastDomainId *string `locationName:"transitGatewayMulticastDomainId" type:"string"`
119291}
119292
119293// String returns the string representation
119294func (s TransitGatewayMulticastDomain) String() string {
119295	return awsutil.Prettify(s)
119296}
119297
119298// GoString returns the string representation
119299func (s TransitGatewayMulticastDomain) GoString() string {
119300	return s.String()
119301}
119302
119303// SetCreationTime sets the CreationTime field's value.
119304func (s *TransitGatewayMulticastDomain) SetCreationTime(v time.Time) *TransitGatewayMulticastDomain {
119305	s.CreationTime = &v
119306	return s
119307}
119308
119309// SetOptions sets the Options field's value.
119310func (s *TransitGatewayMulticastDomain) SetOptions(v *TransitGatewayMulticastDomainOptions) *TransitGatewayMulticastDomain {
119311	s.Options = v
119312	return s
119313}
119314
119315// SetOwnerId sets the OwnerId field's value.
119316func (s *TransitGatewayMulticastDomain) SetOwnerId(v string) *TransitGatewayMulticastDomain {
119317	s.OwnerId = &v
119318	return s
119319}
119320
119321// SetState sets the State field's value.
119322func (s *TransitGatewayMulticastDomain) SetState(v string) *TransitGatewayMulticastDomain {
119323	s.State = &v
119324	return s
119325}
119326
119327// SetTags sets the Tags field's value.
119328func (s *TransitGatewayMulticastDomain) SetTags(v []*Tag) *TransitGatewayMulticastDomain {
119329	s.Tags = v
119330	return s
119331}
119332
119333// SetTransitGatewayId sets the TransitGatewayId field's value.
119334func (s *TransitGatewayMulticastDomain) SetTransitGatewayId(v string) *TransitGatewayMulticastDomain {
119335	s.TransitGatewayId = &v
119336	return s
119337}
119338
119339// SetTransitGatewayMulticastDomainArn sets the TransitGatewayMulticastDomainArn field's value.
119340func (s *TransitGatewayMulticastDomain) SetTransitGatewayMulticastDomainArn(v string) *TransitGatewayMulticastDomain {
119341	s.TransitGatewayMulticastDomainArn = &v
119342	return s
119343}
119344
119345// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
119346func (s *TransitGatewayMulticastDomain) SetTransitGatewayMulticastDomainId(v string) *TransitGatewayMulticastDomain {
119347	s.TransitGatewayMulticastDomainId = &v
119348	return s
119349}
119350
119351// Describes the resources associated with the transit gateway multicast domain.
119352type TransitGatewayMulticastDomainAssociation struct {
119353	_ struct{} `type:"structure"`
119354
119355	// The ID of the resource.
119356	ResourceId *string `locationName:"resourceId" type:"string"`
119357
119358	// The ID of the AWS account that owns the transit gateway multicast domain
119359	// association resource.
119360	ResourceOwnerId *string `locationName:"resourceOwnerId" type:"string"`
119361
119362	// The type of resource, for example a VPC attachment.
119363	ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
119364
119365	// The subnet associated with the transit gateway multicast domain.
119366	Subnet *SubnetAssociation `locationName:"subnet" type:"structure"`
119367
119368	// The ID of the transit gateway attachment.
119369	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
119370}
119371
119372// String returns the string representation
119373func (s TransitGatewayMulticastDomainAssociation) String() string {
119374	return awsutil.Prettify(s)
119375}
119376
119377// GoString returns the string representation
119378func (s TransitGatewayMulticastDomainAssociation) GoString() string {
119379	return s.String()
119380}
119381
119382// SetResourceId sets the ResourceId field's value.
119383func (s *TransitGatewayMulticastDomainAssociation) SetResourceId(v string) *TransitGatewayMulticastDomainAssociation {
119384	s.ResourceId = &v
119385	return s
119386}
119387
119388// SetResourceOwnerId sets the ResourceOwnerId field's value.
119389func (s *TransitGatewayMulticastDomainAssociation) SetResourceOwnerId(v string) *TransitGatewayMulticastDomainAssociation {
119390	s.ResourceOwnerId = &v
119391	return s
119392}
119393
119394// SetResourceType sets the ResourceType field's value.
119395func (s *TransitGatewayMulticastDomainAssociation) SetResourceType(v string) *TransitGatewayMulticastDomainAssociation {
119396	s.ResourceType = &v
119397	return s
119398}
119399
119400// SetSubnet sets the Subnet field's value.
119401func (s *TransitGatewayMulticastDomainAssociation) SetSubnet(v *SubnetAssociation) *TransitGatewayMulticastDomainAssociation {
119402	s.Subnet = v
119403	return s
119404}
119405
119406// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
119407func (s *TransitGatewayMulticastDomainAssociation) SetTransitGatewayAttachmentId(v string) *TransitGatewayMulticastDomainAssociation {
119408	s.TransitGatewayAttachmentId = &v
119409	return s
119410}
119411
119412// Describes the multicast domain associations.
119413type TransitGatewayMulticastDomainAssociations struct {
119414	_ struct{} `type:"structure"`
119415
119416	// The ID of the resource.
119417	ResourceId *string `locationName:"resourceId" type:"string"`
119418
119419	// The ID of the AWS account that owns the resource.
119420	ResourceOwnerId *string `locationName:"resourceOwnerId" type:"string"`
119421
119422	// The type of resource, for example a VPC attachment.
119423	ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
119424
119425	// The subnets associated with the multicast domain.
119426	Subnets []*SubnetAssociation `locationName:"subnets" locationNameList:"item" type:"list"`
119427
119428	// The ID of the transit gateway attachment.
119429	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
119430
119431	// The ID of the transit gateway multicast domain.
119432	TransitGatewayMulticastDomainId *string `locationName:"transitGatewayMulticastDomainId" type:"string"`
119433}
119434
119435// String returns the string representation
119436func (s TransitGatewayMulticastDomainAssociations) String() string {
119437	return awsutil.Prettify(s)
119438}
119439
119440// GoString returns the string representation
119441func (s TransitGatewayMulticastDomainAssociations) GoString() string {
119442	return s.String()
119443}
119444
119445// SetResourceId sets the ResourceId field's value.
119446func (s *TransitGatewayMulticastDomainAssociations) SetResourceId(v string) *TransitGatewayMulticastDomainAssociations {
119447	s.ResourceId = &v
119448	return s
119449}
119450
119451// SetResourceOwnerId sets the ResourceOwnerId field's value.
119452func (s *TransitGatewayMulticastDomainAssociations) SetResourceOwnerId(v string) *TransitGatewayMulticastDomainAssociations {
119453	s.ResourceOwnerId = &v
119454	return s
119455}
119456
119457// SetResourceType sets the ResourceType field's value.
119458func (s *TransitGatewayMulticastDomainAssociations) SetResourceType(v string) *TransitGatewayMulticastDomainAssociations {
119459	s.ResourceType = &v
119460	return s
119461}
119462
119463// SetSubnets sets the Subnets field's value.
119464func (s *TransitGatewayMulticastDomainAssociations) SetSubnets(v []*SubnetAssociation) *TransitGatewayMulticastDomainAssociations {
119465	s.Subnets = v
119466	return s
119467}
119468
119469// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
119470func (s *TransitGatewayMulticastDomainAssociations) SetTransitGatewayAttachmentId(v string) *TransitGatewayMulticastDomainAssociations {
119471	s.TransitGatewayAttachmentId = &v
119472	return s
119473}
119474
119475// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
119476func (s *TransitGatewayMulticastDomainAssociations) SetTransitGatewayMulticastDomainId(v string) *TransitGatewayMulticastDomainAssociations {
119477	s.TransitGatewayMulticastDomainId = &v
119478	return s
119479}
119480
119481// Describes the options for a transit gateway multicast domain.
119482type TransitGatewayMulticastDomainOptions struct {
119483	_ struct{} `type:"structure"`
119484
119485	// Indicates whether to automatically cross-account subnet associations that
119486	// are associated with the transit gateway multicast domain.
119487	AutoAcceptSharedAssociations *string `locationName:"autoAcceptSharedAssociations" type:"string" enum:"AutoAcceptSharedAssociationsValue"`
119488
119489	// Indicates whether Internet Group Management Protocol (IGMP) version 2 is
119490	// turned on for the transit gateway multicast domain.
119491	Igmpv2Support *string `locationName:"igmpv2Support" type:"string" enum:"Igmpv2SupportValue"`
119492
119493	// Indicates whether support for statically configuring transit gateway multicast
119494	// group sources is turned on.
119495	StaticSourcesSupport *string `locationName:"staticSourcesSupport" type:"string" enum:"StaticSourcesSupportValue"`
119496}
119497
119498// String returns the string representation
119499func (s TransitGatewayMulticastDomainOptions) String() string {
119500	return awsutil.Prettify(s)
119501}
119502
119503// GoString returns the string representation
119504func (s TransitGatewayMulticastDomainOptions) GoString() string {
119505	return s.String()
119506}
119507
119508// SetAutoAcceptSharedAssociations sets the AutoAcceptSharedAssociations field's value.
119509func (s *TransitGatewayMulticastDomainOptions) SetAutoAcceptSharedAssociations(v string) *TransitGatewayMulticastDomainOptions {
119510	s.AutoAcceptSharedAssociations = &v
119511	return s
119512}
119513
119514// SetIgmpv2Support sets the Igmpv2Support field's value.
119515func (s *TransitGatewayMulticastDomainOptions) SetIgmpv2Support(v string) *TransitGatewayMulticastDomainOptions {
119516	s.Igmpv2Support = &v
119517	return s
119518}
119519
119520// SetStaticSourcesSupport sets the StaticSourcesSupport field's value.
119521func (s *TransitGatewayMulticastDomainOptions) SetStaticSourcesSupport(v string) *TransitGatewayMulticastDomainOptions {
119522	s.StaticSourcesSupport = &v
119523	return s
119524}
119525
119526// Describes the transit gateway multicast group resources.
119527type TransitGatewayMulticastGroup struct {
119528	_ struct{} `type:"structure"`
119529
119530	// The IP address assigned to the transit gateway multicast group.
119531	GroupIpAddress *string `locationName:"groupIpAddress" type:"string"`
119532
119533	// Indicates that the resource is a transit gateway multicast group member.
119534	GroupMember *bool `locationName:"groupMember" type:"boolean"`
119535
119536	// Indicates that the resource is a transit gateway multicast group member.
119537	GroupSource *bool `locationName:"groupSource" type:"boolean"`
119538
119539	// The member type (for example, static).
119540	MemberType *string `locationName:"memberType" type:"string" enum:"MembershipType"`
119541
119542	// The ID of the transit gateway attachment.
119543	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
119544
119545	// The ID of the resource.
119546	ResourceId *string `locationName:"resourceId" type:"string"`
119547
119548	// The ID of the AWS account that owns the transit gateway multicast domain
119549	// group resource.
119550	ResourceOwnerId *string `locationName:"resourceOwnerId" type:"string"`
119551
119552	// The type of resource, for example a VPC attachment.
119553	ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
119554
119555	// The source type.
119556	SourceType *string `locationName:"sourceType" type:"string" enum:"MembershipType"`
119557
119558	// The ID of the subnet.
119559	SubnetId *string `locationName:"subnetId" type:"string"`
119560
119561	// The ID of the transit gateway attachment.
119562	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
119563}
119564
119565// String returns the string representation
119566func (s TransitGatewayMulticastGroup) String() string {
119567	return awsutil.Prettify(s)
119568}
119569
119570// GoString returns the string representation
119571func (s TransitGatewayMulticastGroup) GoString() string {
119572	return s.String()
119573}
119574
119575// SetGroupIpAddress sets the GroupIpAddress field's value.
119576func (s *TransitGatewayMulticastGroup) SetGroupIpAddress(v string) *TransitGatewayMulticastGroup {
119577	s.GroupIpAddress = &v
119578	return s
119579}
119580
119581// SetGroupMember sets the GroupMember field's value.
119582func (s *TransitGatewayMulticastGroup) SetGroupMember(v bool) *TransitGatewayMulticastGroup {
119583	s.GroupMember = &v
119584	return s
119585}
119586
119587// SetGroupSource sets the GroupSource field's value.
119588func (s *TransitGatewayMulticastGroup) SetGroupSource(v bool) *TransitGatewayMulticastGroup {
119589	s.GroupSource = &v
119590	return s
119591}
119592
119593// SetMemberType sets the MemberType field's value.
119594func (s *TransitGatewayMulticastGroup) SetMemberType(v string) *TransitGatewayMulticastGroup {
119595	s.MemberType = &v
119596	return s
119597}
119598
119599// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
119600func (s *TransitGatewayMulticastGroup) SetNetworkInterfaceId(v string) *TransitGatewayMulticastGroup {
119601	s.NetworkInterfaceId = &v
119602	return s
119603}
119604
119605// SetResourceId sets the ResourceId field's value.
119606func (s *TransitGatewayMulticastGroup) SetResourceId(v string) *TransitGatewayMulticastGroup {
119607	s.ResourceId = &v
119608	return s
119609}
119610
119611// SetResourceOwnerId sets the ResourceOwnerId field's value.
119612func (s *TransitGatewayMulticastGroup) SetResourceOwnerId(v string) *TransitGatewayMulticastGroup {
119613	s.ResourceOwnerId = &v
119614	return s
119615}
119616
119617// SetResourceType sets the ResourceType field's value.
119618func (s *TransitGatewayMulticastGroup) SetResourceType(v string) *TransitGatewayMulticastGroup {
119619	s.ResourceType = &v
119620	return s
119621}
119622
119623// SetSourceType sets the SourceType field's value.
119624func (s *TransitGatewayMulticastGroup) SetSourceType(v string) *TransitGatewayMulticastGroup {
119625	s.SourceType = &v
119626	return s
119627}
119628
119629// SetSubnetId sets the SubnetId field's value.
119630func (s *TransitGatewayMulticastGroup) SetSubnetId(v string) *TransitGatewayMulticastGroup {
119631	s.SubnetId = &v
119632	return s
119633}
119634
119635// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
119636func (s *TransitGatewayMulticastGroup) SetTransitGatewayAttachmentId(v string) *TransitGatewayMulticastGroup {
119637	s.TransitGatewayAttachmentId = &v
119638	return s
119639}
119640
119641// Describes the registered transit gateway multicast group members.
119642type TransitGatewayMulticastRegisteredGroupMembers struct {
119643	_ struct{} `type:"structure"`
119644
119645	// The IP address assigned to the transit gateway multicast group.
119646	GroupIpAddress *string `locationName:"groupIpAddress" type:"string"`
119647
119648	// The ID of the registered network interfaces.
119649	RegisteredNetworkInterfaceIds []*string `locationName:"registeredNetworkInterfaceIds" locationNameList:"item" type:"list"`
119650
119651	// The ID of the transit gateway multicast domain.
119652	TransitGatewayMulticastDomainId *string `locationName:"transitGatewayMulticastDomainId" type:"string"`
119653}
119654
119655// String returns the string representation
119656func (s TransitGatewayMulticastRegisteredGroupMembers) String() string {
119657	return awsutil.Prettify(s)
119658}
119659
119660// GoString returns the string representation
119661func (s TransitGatewayMulticastRegisteredGroupMembers) GoString() string {
119662	return s.String()
119663}
119664
119665// SetGroupIpAddress sets the GroupIpAddress field's value.
119666func (s *TransitGatewayMulticastRegisteredGroupMembers) SetGroupIpAddress(v string) *TransitGatewayMulticastRegisteredGroupMembers {
119667	s.GroupIpAddress = &v
119668	return s
119669}
119670
119671// SetRegisteredNetworkInterfaceIds sets the RegisteredNetworkInterfaceIds field's value.
119672func (s *TransitGatewayMulticastRegisteredGroupMembers) SetRegisteredNetworkInterfaceIds(v []*string) *TransitGatewayMulticastRegisteredGroupMembers {
119673	s.RegisteredNetworkInterfaceIds = v
119674	return s
119675}
119676
119677// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
119678func (s *TransitGatewayMulticastRegisteredGroupMembers) SetTransitGatewayMulticastDomainId(v string) *TransitGatewayMulticastRegisteredGroupMembers {
119679	s.TransitGatewayMulticastDomainId = &v
119680	return s
119681}
119682
119683// Describes the members registered with the transit gateway multicast group.
119684type TransitGatewayMulticastRegisteredGroupSources struct {
119685	_ struct{} `type:"structure"`
119686
119687	// The IP address assigned to the transit gateway multicast group.
119688	GroupIpAddress *string `locationName:"groupIpAddress" type:"string"`
119689
119690	// The IDs of the network interfaces members registered with the transit gateway
119691	// multicast group.
119692	RegisteredNetworkInterfaceIds []*string `locationName:"registeredNetworkInterfaceIds" locationNameList:"item" type:"list"`
119693
119694	// The ID of the transit gateway multicast domain.
119695	TransitGatewayMulticastDomainId *string `locationName:"transitGatewayMulticastDomainId" type:"string"`
119696}
119697
119698// String returns the string representation
119699func (s TransitGatewayMulticastRegisteredGroupSources) String() string {
119700	return awsutil.Prettify(s)
119701}
119702
119703// GoString returns the string representation
119704func (s TransitGatewayMulticastRegisteredGroupSources) GoString() string {
119705	return s.String()
119706}
119707
119708// SetGroupIpAddress sets the GroupIpAddress field's value.
119709func (s *TransitGatewayMulticastRegisteredGroupSources) SetGroupIpAddress(v string) *TransitGatewayMulticastRegisteredGroupSources {
119710	s.GroupIpAddress = &v
119711	return s
119712}
119713
119714// SetRegisteredNetworkInterfaceIds sets the RegisteredNetworkInterfaceIds field's value.
119715func (s *TransitGatewayMulticastRegisteredGroupSources) SetRegisteredNetworkInterfaceIds(v []*string) *TransitGatewayMulticastRegisteredGroupSources {
119716	s.RegisteredNetworkInterfaceIds = v
119717	return s
119718}
119719
119720// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
119721func (s *TransitGatewayMulticastRegisteredGroupSources) SetTransitGatewayMulticastDomainId(v string) *TransitGatewayMulticastRegisteredGroupSources {
119722	s.TransitGatewayMulticastDomainId = &v
119723	return s
119724}
119725
119726// Describes the options for a transit gateway.
119727type TransitGatewayOptions struct {
119728	_ struct{} `type:"structure"`
119729
119730	// A private Autonomous System Number (ASN) for the Amazon side of a BGP session.
119731	// The range is 64512 to 65534 for 16-bit ASNs and 4200000000 to 4294967294
119732	// for 32-bit ASNs.
119733	AmazonSideAsn *int64 `locationName:"amazonSideAsn" type:"long"`
119734
119735	// The ID of the default association route table.
119736	AssociationDefaultRouteTableId *string `locationName:"associationDefaultRouteTableId" type:"string"`
119737
119738	// Indicates whether attachment requests are automatically accepted.
119739	AutoAcceptSharedAttachments *string `locationName:"autoAcceptSharedAttachments" type:"string" enum:"AutoAcceptSharedAttachmentsValue"`
119740
119741	// Indicates whether resource attachments are automatically associated with
119742	// the default association route table.
119743	DefaultRouteTableAssociation *string `locationName:"defaultRouteTableAssociation" type:"string" enum:"DefaultRouteTableAssociationValue"`
119744
119745	// Indicates whether resource attachments automatically propagate routes to
119746	// the default propagation route table.
119747	DefaultRouteTablePropagation *string `locationName:"defaultRouteTablePropagation" type:"string" enum:"DefaultRouteTablePropagationValue"`
119748
119749	// Indicates whether DNS support is enabled.
119750	DnsSupport *string `locationName:"dnsSupport" type:"string" enum:"DnsSupportValue"`
119751
119752	// Indicates whether multicast is enabled on the transit gateway
119753	MulticastSupport *string `locationName:"multicastSupport" type:"string" enum:"MulticastSupportValue"`
119754
119755	// The ID of the default propagation route table.
119756	PropagationDefaultRouteTableId *string `locationName:"propagationDefaultRouteTableId" type:"string"`
119757
119758	// The transit gateway CIDR blocks.
119759	TransitGatewayCidrBlocks []*string `locationName:"transitGatewayCidrBlocks" locationNameList:"item" type:"list"`
119760
119761	// Indicates whether Equal Cost Multipath Protocol support is enabled.
119762	VpnEcmpSupport *string `locationName:"vpnEcmpSupport" type:"string" enum:"VpnEcmpSupportValue"`
119763}
119764
119765// String returns the string representation
119766func (s TransitGatewayOptions) String() string {
119767	return awsutil.Prettify(s)
119768}
119769
119770// GoString returns the string representation
119771func (s TransitGatewayOptions) GoString() string {
119772	return s.String()
119773}
119774
119775// SetAmazonSideAsn sets the AmazonSideAsn field's value.
119776func (s *TransitGatewayOptions) SetAmazonSideAsn(v int64) *TransitGatewayOptions {
119777	s.AmazonSideAsn = &v
119778	return s
119779}
119780
119781// SetAssociationDefaultRouteTableId sets the AssociationDefaultRouteTableId field's value.
119782func (s *TransitGatewayOptions) SetAssociationDefaultRouteTableId(v string) *TransitGatewayOptions {
119783	s.AssociationDefaultRouteTableId = &v
119784	return s
119785}
119786
119787// SetAutoAcceptSharedAttachments sets the AutoAcceptSharedAttachments field's value.
119788func (s *TransitGatewayOptions) SetAutoAcceptSharedAttachments(v string) *TransitGatewayOptions {
119789	s.AutoAcceptSharedAttachments = &v
119790	return s
119791}
119792
119793// SetDefaultRouteTableAssociation sets the DefaultRouteTableAssociation field's value.
119794func (s *TransitGatewayOptions) SetDefaultRouteTableAssociation(v string) *TransitGatewayOptions {
119795	s.DefaultRouteTableAssociation = &v
119796	return s
119797}
119798
119799// SetDefaultRouteTablePropagation sets the DefaultRouteTablePropagation field's value.
119800func (s *TransitGatewayOptions) SetDefaultRouteTablePropagation(v string) *TransitGatewayOptions {
119801	s.DefaultRouteTablePropagation = &v
119802	return s
119803}
119804
119805// SetDnsSupport sets the DnsSupport field's value.
119806func (s *TransitGatewayOptions) SetDnsSupport(v string) *TransitGatewayOptions {
119807	s.DnsSupport = &v
119808	return s
119809}
119810
119811// SetMulticastSupport sets the MulticastSupport field's value.
119812func (s *TransitGatewayOptions) SetMulticastSupport(v string) *TransitGatewayOptions {
119813	s.MulticastSupport = &v
119814	return s
119815}
119816
119817// SetPropagationDefaultRouteTableId sets the PropagationDefaultRouteTableId field's value.
119818func (s *TransitGatewayOptions) SetPropagationDefaultRouteTableId(v string) *TransitGatewayOptions {
119819	s.PropagationDefaultRouteTableId = &v
119820	return s
119821}
119822
119823// SetTransitGatewayCidrBlocks sets the TransitGatewayCidrBlocks field's value.
119824func (s *TransitGatewayOptions) SetTransitGatewayCidrBlocks(v []*string) *TransitGatewayOptions {
119825	s.TransitGatewayCidrBlocks = v
119826	return s
119827}
119828
119829// SetVpnEcmpSupport sets the VpnEcmpSupport field's value.
119830func (s *TransitGatewayOptions) SetVpnEcmpSupport(v string) *TransitGatewayOptions {
119831	s.VpnEcmpSupport = &v
119832	return s
119833}
119834
119835// Describes the transit gateway peering attachment.
119836type TransitGatewayPeeringAttachment struct {
119837	_ struct{} `type:"structure"`
119838
119839	// Information about the accepter transit gateway.
119840	AccepterTgwInfo *PeeringTgwInfo `locationName:"accepterTgwInfo" type:"structure"`
119841
119842	// The time the transit gateway peering attachment was created.
119843	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
119844
119845	// Information about the requester transit gateway.
119846	RequesterTgwInfo *PeeringTgwInfo `locationName:"requesterTgwInfo" type:"structure"`
119847
119848	// The state of the transit gateway peering attachment. Note that the initiating
119849	// state has been deprecated.
119850	State *string `locationName:"state" type:"string" enum:"TransitGatewayAttachmentState"`
119851
119852	// The status of the transit gateway peering attachment.
119853	Status *PeeringAttachmentStatus `locationName:"status" type:"structure"`
119854
119855	// The tags for the transit gateway peering attachment.
119856	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
119857
119858	// The ID of the transit gateway peering attachment.
119859	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
119860}
119861
119862// String returns the string representation
119863func (s TransitGatewayPeeringAttachment) String() string {
119864	return awsutil.Prettify(s)
119865}
119866
119867// GoString returns the string representation
119868func (s TransitGatewayPeeringAttachment) GoString() string {
119869	return s.String()
119870}
119871
119872// SetAccepterTgwInfo sets the AccepterTgwInfo field's value.
119873func (s *TransitGatewayPeeringAttachment) SetAccepterTgwInfo(v *PeeringTgwInfo) *TransitGatewayPeeringAttachment {
119874	s.AccepterTgwInfo = v
119875	return s
119876}
119877
119878// SetCreationTime sets the CreationTime field's value.
119879func (s *TransitGatewayPeeringAttachment) SetCreationTime(v time.Time) *TransitGatewayPeeringAttachment {
119880	s.CreationTime = &v
119881	return s
119882}
119883
119884// SetRequesterTgwInfo sets the RequesterTgwInfo field's value.
119885func (s *TransitGatewayPeeringAttachment) SetRequesterTgwInfo(v *PeeringTgwInfo) *TransitGatewayPeeringAttachment {
119886	s.RequesterTgwInfo = v
119887	return s
119888}
119889
119890// SetState sets the State field's value.
119891func (s *TransitGatewayPeeringAttachment) SetState(v string) *TransitGatewayPeeringAttachment {
119892	s.State = &v
119893	return s
119894}
119895
119896// SetStatus sets the Status field's value.
119897func (s *TransitGatewayPeeringAttachment) SetStatus(v *PeeringAttachmentStatus) *TransitGatewayPeeringAttachment {
119898	s.Status = v
119899	return s
119900}
119901
119902// SetTags sets the Tags field's value.
119903func (s *TransitGatewayPeeringAttachment) SetTags(v []*Tag) *TransitGatewayPeeringAttachment {
119904	s.Tags = v
119905	return s
119906}
119907
119908// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
119909func (s *TransitGatewayPeeringAttachment) SetTransitGatewayAttachmentId(v string) *TransitGatewayPeeringAttachment {
119910	s.TransitGatewayAttachmentId = &v
119911	return s
119912}
119913
119914// Describes a transit gateway prefix list attachment.
119915type TransitGatewayPrefixListAttachment struct {
119916	_ struct{} `type:"structure"`
119917
119918	// The ID of the resource.
119919	ResourceId *string `locationName:"resourceId" type:"string"`
119920
119921	// The resource type. Note that the tgw-peering resource type has been deprecated.
119922	ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
119923
119924	// The ID of the attachment.
119925	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
119926}
119927
119928// String returns the string representation
119929func (s TransitGatewayPrefixListAttachment) String() string {
119930	return awsutil.Prettify(s)
119931}
119932
119933// GoString returns the string representation
119934func (s TransitGatewayPrefixListAttachment) GoString() string {
119935	return s.String()
119936}
119937
119938// SetResourceId sets the ResourceId field's value.
119939func (s *TransitGatewayPrefixListAttachment) SetResourceId(v string) *TransitGatewayPrefixListAttachment {
119940	s.ResourceId = &v
119941	return s
119942}
119943
119944// SetResourceType sets the ResourceType field's value.
119945func (s *TransitGatewayPrefixListAttachment) SetResourceType(v string) *TransitGatewayPrefixListAttachment {
119946	s.ResourceType = &v
119947	return s
119948}
119949
119950// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
119951func (s *TransitGatewayPrefixListAttachment) SetTransitGatewayAttachmentId(v string) *TransitGatewayPrefixListAttachment {
119952	s.TransitGatewayAttachmentId = &v
119953	return s
119954}
119955
119956// Describes a prefix list reference.
119957type TransitGatewayPrefixListReference struct {
119958	_ struct{} `type:"structure"`
119959
119960	// Indicates whether traffic that matches this route is dropped.
119961	Blackhole *bool `locationName:"blackhole" type:"boolean"`
119962
119963	// The ID of the prefix list.
119964	PrefixListId *string `locationName:"prefixListId" type:"string"`
119965
119966	// The ID of the prefix list owner.
119967	PrefixListOwnerId *string `locationName:"prefixListOwnerId" type:"string"`
119968
119969	// The state of the prefix list reference.
119970	State *string `locationName:"state" type:"string" enum:"TransitGatewayPrefixListReferenceState"`
119971
119972	// Information about the transit gateway attachment.
119973	TransitGatewayAttachment *TransitGatewayPrefixListAttachment `locationName:"transitGatewayAttachment" type:"structure"`
119974
119975	// The ID of the transit gateway route table.
119976	TransitGatewayRouteTableId *string `locationName:"transitGatewayRouteTableId" type:"string"`
119977}
119978
119979// String returns the string representation
119980func (s TransitGatewayPrefixListReference) String() string {
119981	return awsutil.Prettify(s)
119982}
119983
119984// GoString returns the string representation
119985func (s TransitGatewayPrefixListReference) GoString() string {
119986	return s.String()
119987}
119988
119989// SetBlackhole sets the Blackhole field's value.
119990func (s *TransitGatewayPrefixListReference) SetBlackhole(v bool) *TransitGatewayPrefixListReference {
119991	s.Blackhole = &v
119992	return s
119993}
119994
119995// SetPrefixListId sets the PrefixListId field's value.
119996func (s *TransitGatewayPrefixListReference) SetPrefixListId(v string) *TransitGatewayPrefixListReference {
119997	s.PrefixListId = &v
119998	return s
119999}
120000
120001// SetPrefixListOwnerId sets the PrefixListOwnerId field's value.
120002func (s *TransitGatewayPrefixListReference) SetPrefixListOwnerId(v string) *TransitGatewayPrefixListReference {
120003	s.PrefixListOwnerId = &v
120004	return s
120005}
120006
120007// SetState sets the State field's value.
120008func (s *TransitGatewayPrefixListReference) SetState(v string) *TransitGatewayPrefixListReference {
120009	s.State = &v
120010	return s
120011}
120012
120013// SetTransitGatewayAttachment sets the TransitGatewayAttachment field's value.
120014func (s *TransitGatewayPrefixListReference) SetTransitGatewayAttachment(v *TransitGatewayPrefixListAttachment) *TransitGatewayPrefixListReference {
120015	s.TransitGatewayAttachment = v
120016	return s
120017}
120018
120019// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
120020func (s *TransitGatewayPrefixListReference) SetTransitGatewayRouteTableId(v string) *TransitGatewayPrefixListReference {
120021	s.TransitGatewayRouteTableId = &v
120022	return s
120023}
120024
120025// Describes route propagation.
120026type TransitGatewayPropagation struct {
120027	_ struct{} `type:"structure"`
120028
120029	// The ID of the resource.
120030	ResourceId *string `locationName:"resourceId" type:"string"`
120031
120032	// The resource type. Note that the tgw-peering resource type has been deprecated.
120033	ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
120034
120035	// The state.
120036	State *string `locationName:"state" type:"string" enum:"TransitGatewayPropagationState"`
120037
120038	// The ID of the attachment.
120039	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
120040
120041	// The ID of the transit gateway route table.
120042	TransitGatewayRouteTableId *string `locationName:"transitGatewayRouteTableId" type:"string"`
120043}
120044
120045// String returns the string representation
120046func (s TransitGatewayPropagation) String() string {
120047	return awsutil.Prettify(s)
120048}
120049
120050// GoString returns the string representation
120051func (s TransitGatewayPropagation) GoString() string {
120052	return s.String()
120053}
120054
120055// SetResourceId sets the ResourceId field's value.
120056func (s *TransitGatewayPropagation) SetResourceId(v string) *TransitGatewayPropagation {
120057	s.ResourceId = &v
120058	return s
120059}
120060
120061// SetResourceType sets the ResourceType field's value.
120062func (s *TransitGatewayPropagation) SetResourceType(v string) *TransitGatewayPropagation {
120063	s.ResourceType = &v
120064	return s
120065}
120066
120067// SetState sets the State field's value.
120068func (s *TransitGatewayPropagation) SetState(v string) *TransitGatewayPropagation {
120069	s.State = &v
120070	return s
120071}
120072
120073// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
120074func (s *TransitGatewayPropagation) SetTransitGatewayAttachmentId(v string) *TransitGatewayPropagation {
120075	s.TransitGatewayAttachmentId = &v
120076	return s
120077}
120078
120079// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
120080func (s *TransitGatewayPropagation) SetTransitGatewayRouteTableId(v string) *TransitGatewayPropagation {
120081	s.TransitGatewayRouteTableId = &v
120082	return s
120083}
120084
120085// Describes the options for a transit gateway.
120086type TransitGatewayRequestOptions struct {
120087	_ struct{} `type:"structure"`
120088
120089	// A private Autonomous System Number (ASN) for the Amazon side of a BGP session.
120090	// The range is 64512 to 65534 for 16-bit ASNs and 4200000000 to 4294967294
120091	// for 32-bit ASNs. The default is 64512.
120092	AmazonSideAsn *int64 `type:"long"`
120093
120094	// Enable or disable automatic acceptance of attachment requests. Disabled by
120095	// default.
120096	AutoAcceptSharedAttachments *string `type:"string" enum:"AutoAcceptSharedAttachmentsValue"`
120097
120098	// Enable or disable automatic association with the default association route
120099	// table. Enabled by default.
120100	DefaultRouteTableAssociation *string `type:"string" enum:"DefaultRouteTableAssociationValue"`
120101
120102	// Enable or disable automatic propagation of routes to the default propagation
120103	// route table. Enabled by default.
120104	DefaultRouteTablePropagation *string `type:"string" enum:"DefaultRouteTablePropagationValue"`
120105
120106	// Enable or disable DNS support. Enabled by default.
120107	DnsSupport *string `type:"string" enum:"DnsSupportValue"`
120108
120109	// Indicates whether multicast is enabled on the transit gateway
120110	MulticastSupport *string `type:"string" enum:"MulticastSupportValue"`
120111
120112	// One or more IPv4 or IPv6 CIDR blocks for the transit gateway. Must be a size
120113	// /24 CIDR block or larger for IPv4, or a size /64 CIDR block or larger for
120114	// IPv6.
120115	TransitGatewayCidrBlocks []*string `locationNameList:"item" type:"list"`
120116
120117	// Enable or disable Equal Cost Multipath Protocol support. Enabled by default.
120118	VpnEcmpSupport *string `type:"string" enum:"VpnEcmpSupportValue"`
120119}
120120
120121// String returns the string representation
120122func (s TransitGatewayRequestOptions) String() string {
120123	return awsutil.Prettify(s)
120124}
120125
120126// GoString returns the string representation
120127func (s TransitGatewayRequestOptions) GoString() string {
120128	return s.String()
120129}
120130
120131// SetAmazonSideAsn sets the AmazonSideAsn field's value.
120132func (s *TransitGatewayRequestOptions) SetAmazonSideAsn(v int64) *TransitGatewayRequestOptions {
120133	s.AmazonSideAsn = &v
120134	return s
120135}
120136
120137// SetAutoAcceptSharedAttachments sets the AutoAcceptSharedAttachments field's value.
120138func (s *TransitGatewayRequestOptions) SetAutoAcceptSharedAttachments(v string) *TransitGatewayRequestOptions {
120139	s.AutoAcceptSharedAttachments = &v
120140	return s
120141}
120142
120143// SetDefaultRouteTableAssociation sets the DefaultRouteTableAssociation field's value.
120144func (s *TransitGatewayRequestOptions) SetDefaultRouteTableAssociation(v string) *TransitGatewayRequestOptions {
120145	s.DefaultRouteTableAssociation = &v
120146	return s
120147}
120148
120149// SetDefaultRouteTablePropagation sets the DefaultRouteTablePropagation field's value.
120150func (s *TransitGatewayRequestOptions) SetDefaultRouteTablePropagation(v string) *TransitGatewayRequestOptions {
120151	s.DefaultRouteTablePropagation = &v
120152	return s
120153}
120154
120155// SetDnsSupport sets the DnsSupport field's value.
120156func (s *TransitGatewayRequestOptions) SetDnsSupport(v string) *TransitGatewayRequestOptions {
120157	s.DnsSupport = &v
120158	return s
120159}
120160
120161// SetMulticastSupport sets the MulticastSupport field's value.
120162func (s *TransitGatewayRequestOptions) SetMulticastSupport(v string) *TransitGatewayRequestOptions {
120163	s.MulticastSupport = &v
120164	return s
120165}
120166
120167// SetTransitGatewayCidrBlocks sets the TransitGatewayCidrBlocks field's value.
120168func (s *TransitGatewayRequestOptions) SetTransitGatewayCidrBlocks(v []*string) *TransitGatewayRequestOptions {
120169	s.TransitGatewayCidrBlocks = v
120170	return s
120171}
120172
120173// SetVpnEcmpSupport sets the VpnEcmpSupport field's value.
120174func (s *TransitGatewayRequestOptions) SetVpnEcmpSupport(v string) *TransitGatewayRequestOptions {
120175	s.VpnEcmpSupport = &v
120176	return s
120177}
120178
120179// Describes a route for a transit gateway route table.
120180type TransitGatewayRoute struct {
120181	_ struct{} `type:"structure"`
120182
120183	// The CIDR block used for destination matches.
120184	DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
120185
120186	// The ID of the prefix list used for destination matches.
120187	PrefixListId *string `locationName:"prefixListId" type:"string"`
120188
120189	// The state of the route.
120190	State *string `locationName:"state" type:"string" enum:"TransitGatewayRouteState"`
120191
120192	// The attachments.
120193	TransitGatewayAttachments []*TransitGatewayRouteAttachment `locationName:"transitGatewayAttachments" locationNameList:"item" type:"list"`
120194
120195	// The route type.
120196	Type *string `locationName:"type" type:"string" enum:"TransitGatewayRouteType"`
120197}
120198
120199// String returns the string representation
120200func (s TransitGatewayRoute) String() string {
120201	return awsutil.Prettify(s)
120202}
120203
120204// GoString returns the string representation
120205func (s TransitGatewayRoute) GoString() string {
120206	return s.String()
120207}
120208
120209// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
120210func (s *TransitGatewayRoute) SetDestinationCidrBlock(v string) *TransitGatewayRoute {
120211	s.DestinationCidrBlock = &v
120212	return s
120213}
120214
120215// SetPrefixListId sets the PrefixListId field's value.
120216func (s *TransitGatewayRoute) SetPrefixListId(v string) *TransitGatewayRoute {
120217	s.PrefixListId = &v
120218	return s
120219}
120220
120221// SetState sets the State field's value.
120222func (s *TransitGatewayRoute) SetState(v string) *TransitGatewayRoute {
120223	s.State = &v
120224	return s
120225}
120226
120227// SetTransitGatewayAttachments sets the TransitGatewayAttachments field's value.
120228func (s *TransitGatewayRoute) SetTransitGatewayAttachments(v []*TransitGatewayRouteAttachment) *TransitGatewayRoute {
120229	s.TransitGatewayAttachments = v
120230	return s
120231}
120232
120233// SetType sets the Type field's value.
120234func (s *TransitGatewayRoute) SetType(v string) *TransitGatewayRoute {
120235	s.Type = &v
120236	return s
120237}
120238
120239// Describes a route attachment.
120240type TransitGatewayRouteAttachment struct {
120241	_ struct{} `type:"structure"`
120242
120243	// The ID of the resource.
120244	ResourceId *string `locationName:"resourceId" type:"string"`
120245
120246	// The resource type. Note that the tgw-peering resource type has been deprecated.
120247	ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
120248
120249	// The ID of the attachment.
120250	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
120251}
120252
120253// String returns the string representation
120254func (s TransitGatewayRouteAttachment) String() string {
120255	return awsutil.Prettify(s)
120256}
120257
120258// GoString returns the string representation
120259func (s TransitGatewayRouteAttachment) GoString() string {
120260	return s.String()
120261}
120262
120263// SetResourceId sets the ResourceId field's value.
120264func (s *TransitGatewayRouteAttachment) SetResourceId(v string) *TransitGatewayRouteAttachment {
120265	s.ResourceId = &v
120266	return s
120267}
120268
120269// SetResourceType sets the ResourceType field's value.
120270func (s *TransitGatewayRouteAttachment) SetResourceType(v string) *TransitGatewayRouteAttachment {
120271	s.ResourceType = &v
120272	return s
120273}
120274
120275// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
120276func (s *TransitGatewayRouteAttachment) SetTransitGatewayAttachmentId(v string) *TransitGatewayRouteAttachment {
120277	s.TransitGatewayAttachmentId = &v
120278	return s
120279}
120280
120281// Describes a transit gateway route table.
120282type TransitGatewayRouteTable struct {
120283	_ struct{} `type:"structure"`
120284
120285	// The creation time.
120286	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
120287
120288	// Indicates whether this is the default association route table for the transit
120289	// gateway.
120290	DefaultAssociationRouteTable *bool `locationName:"defaultAssociationRouteTable" type:"boolean"`
120291
120292	// Indicates whether this is the default propagation route table for the transit
120293	// gateway.
120294	DefaultPropagationRouteTable *bool `locationName:"defaultPropagationRouteTable" type:"boolean"`
120295
120296	// The state of the transit gateway route table.
120297	State *string `locationName:"state" type:"string" enum:"TransitGatewayRouteTableState"`
120298
120299	// Any tags assigned to the route table.
120300	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
120301
120302	// The ID of the transit gateway.
120303	TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
120304
120305	// The ID of the transit gateway route table.
120306	TransitGatewayRouteTableId *string `locationName:"transitGatewayRouteTableId" type:"string"`
120307}
120308
120309// String returns the string representation
120310func (s TransitGatewayRouteTable) String() string {
120311	return awsutil.Prettify(s)
120312}
120313
120314// GoString returns the string representation
120315func (s TransitGatewayRouteTable) GoString() string {
120316	return s.String()
120317}
120318
120319// SetCreationTime sets the CreationTime field's value.
120320func (s *TransitGatewayRouteTable) SetCreationTime(v time.Time) *TransitGatewayRouteTable {
120321	s.CreationTime = &v
120322	return s
120323}
120324
120325// SetDefaultAssociationRouteTable sets the DefaultAssociationRouteTable field's value.
120326func (s *TransitGatewayRouteTable) SetDefaultAssociationRouteTable(v bool) *TransitGatewayRouteTable {
120327	s.DefaultAssociationRouteTable = &v
120328	return s
120329}
120330
120331// SetDefaultPropagationRouteTable sets the DefaultPropagationRouteTable field's value.
120332func (s *TransitGatewayRouteTable) SetDefaultPropagationRouteTable(v bool) *TransitGatewayRouteTable {
120333	s.DefaultPropagationRouteTable = &v
120334	return s
120335}
120336
120337// SetState sets the State field's value.
120338func (s *TransitGatewayRouteTable) SetState(v string) *TransitGatewayRouteTable {
120339	s.State = &v
120340	return s
120341}
120342
120343// SetTags sets the Tags field's value.
120344func (s *TransitGatewayRouteTable) SetTags(v []*Tag) *TransitGatewayRouteTable {
120345	s.Tags = v
120346	return s
120347}
120348
120349// SetTransitGatewayId sets the TransitGatewayId field's value.
120350func (s *TransitGatewayRouteTable) SetTransitGatewayId(v string) *TransitGatewayRouteTable {
120351	s.TransitGatewayId = &v
120352	return s
120353}
120354
120355// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
120356func (s *TransitGatewayRouteTable) SetTransitGatewayRouteTableId(v string) *TransitGatewayRouteTable {
120357	s.TransitGatewayRouteTableId = &v
120358	return s
120359}
120360
120361// Describes an association between a route table and a resource attachment.
120362type TransitGatewayRouteTableAssociation struct {
120363	_ struct{} `type:"structure"`
120364
120365	// The ID of the resource.
120366	ResourceId *string `locationName:"resourceId" type:"string"`
120367
120368	// The resource type. Note that the tgw-peering resource type has been deprecated.
120369	ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
120370
120371	// The state of the association.
120372	State *string `locationName:"state" type:"string" enum:"TransitGatewayAssociationState"`
120373
120374	// The ID of the attachment.
120375	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
120376}
120377
120378// String returns the string representation
120379func (s TransitGatewayRouteTableAssociation) String() string {
120380	return awsutil.Prettify(s)
120381}
120382
120383// GoString returns the string representation
120384func (s TransitGatewayRouteTableAssociation) GoString() string {
120385	return s.String()
120386}
120387
120388// SetResourceId sets the ResourceId field's value.
120389func (s *TransitGatewayRouteTableAssociation) SetResourceId(v string) *TransitGatewayRouteTableAssociation {
120390	s.ResourceId = &v
120391	return s
120392}
120393
120394// SetResourceType sets the ResourceType field's value.
120395func (s *TransitGatewayRouteTableAssociation) SetResourceType(v string) *TransitGatewayRouteTableAssociation {
120396	s.ResourceType = &v
120397	return s
120398}
120399
120400// SetState sets the State field's value.
120401func (s *TransitGatewayRouteTableAssociation) SetState(v string) *TransitGatewayRouteTableAssociation {
120402	s.State = &v
120403	return s
120404}
120405
120406// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
120407func (s *TransitGatewayRouteTableAssociation) SetTransitGatewayAttachmentId(v string) *TransitGatewayRouteTableAssociation {
120408	s.TransitGatewayAttachmentId = &v
120409	return s
120410}
120411
120412// Describes a route table propagation.
120413type TransitGatewayRouteTablePropagation struct {
120414	_ struct{} `type:"structure"`
120415
120416	// The ID of the resource.
120417	ResourceId *string `locationName:"resourceId" type:"string"`
120418
120419	// The type of resource. Note that the tgw-peering resource type has been deprecated.
120420	ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
120421
120422	// The state of the resource.
120423	State *string `locationName:"state" type:"string" enum:"TransitGatewayPropagationState"`
120424
120425	// The ID of the attachment.
120426	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
120427}
120428
120429// String returns the string representation
120430func (s TransitGatewayRouteTablePropagation) String() string {
120431	return awsutil.Prettify(s)
120432}
120433
120434// GoString returns the string representation
120435func (s TransitGatewayRouteTablePropagation) GoString() string {
120436	return s.String()
120437}
120438
120439// SetResourceId sets the ResourceId field's value.
120440func (s *TransitGatewayRouteTablePropagation) SetResourceId(v string) *TransitGatewayRouteTablePropagation {
120441	s.ResourceId = &v
120442	return s
120443}
120444
120445// SetResourceType sets the ResourceType field's value.
120446func (s *TransitGatewayRouteTablePropagation) SetResourceType(v string) *TransitGatewayRouteTablePropagation {
120447	s.ResourceType = &v
120448	return s
120449}
120450
120451// SetState sets the State field's value.
120452func (s *TransitGatewayRouteTablePropagation) SetState(v string) *TransitGatewayRouteTablePropagation {
120453	s.State = &v
120454	return s
120455}
120456
120457// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
120458func (s *TransitGatewayRouteTablePropagation) SetTransitGatewayAttachmentId(v string) *TransitGatewayRouteTablePropagation {
120459	s.TransitGatewayAttachmentId = &v
120460	return s
120461}
120462
120463// Describes a VPC attachment.
120464type TransitGatewayVpcAttachment struct {
120465	_ struct{} `type:"structure"`
120466
120467	// The creation time.
120468	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
120469
120470	// The VPC attachment options.
120471	Options *TransitGatewayVpcAttachmentOptions `locationName:"options" type:"structure"`
120472
120473	// The state of the VPC attachment. Note that the initiating state has been
120474	// deprecated.
120475	State *string `locationName:"state" type:"string" enum:"TransitGatewayAttachmentState"`
120476
120477	// The IDs of the subnets.
120478	SubnetIds []*string `locationName:"subnetIds" locationNameList:"item" type:"list"`
120479
120480	// The tags for the VPC attachment.
120481	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
120482
120483	// The ID of the attachment.
120484	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
120485
120486	// The ID of the transit gateway.
120487	TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
120488
120489	// The ID of the VPC.
120490	VpcId *string `locationName:"vpcId" type:"string"`
120491
120492	// The ID of the AWS account that owns the VPC.
120493	VpcOwnerId *string `locationName:"vpcOwnerId" type:"string"`
120494}
120495
120496// String returns the string representation
120497func (s TransitGatewayVpcAttachment) String() string {
120498	return awsutil.Prettify(s)
120499}
120500
120501// GoString returns the string representation
120502func (s TransitGatewayVpcAttachment) GoString() string {
120503	return s.String()
120504}
120505
120506// SetCreationTime sets the CreationTime field's value.
120507func (s *TransitGatewayVpcAttachment) SetCreationTime(v time.Time) *TransitGatewayVpcAttachment {
120508	s.CreationTime = &v
120509	return s
120510}
120511
120512// SetOptions sets the Options field's value.
120513func (s *TransitGatewayVpcAttachment) SetOptions(v *TransitGatewayVpcAttachmentOptions) *TransitGatewayVpcAttachment {
120514	s.Options = v
120515	return s
120516}
120517
120518// SetState sets the State field's value.
120519func (s *TransitGatewayVpcAttachment) SetState(v string) *TransitGatewayVpcAttachment {
120520	s.State = &v
120521	return s
120522}
120523
120524// SetSubnetIds sets the SubnetIds field's value.
120525func (s *TransitGatewayVpcAttachment) SetSubnetIds(v []*string) *TransitGatewayVpcAttachment {
120526	s.SubnetIds = v
120527	return s
120528}
120529
120530// SetTags sets the Tags field's value.
120531func (s *TransitGatewayVpcAttachment) SetTags(v []*Tag) *TransitGatewayVpcAttachment {
120532	s.Tags = v
120533	return s
120534}
120535
120536// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
120537func (s *TransitGatewayVpcAttachment) SetTransitGatewayAttachmentId(v string) *TransitGatewayVpcAttachment {
120538	s.TransitGatewayAttachmentId = &v
120539	return s
120540}
120541
120542// SetTransitGatewayId sets the TransitGatewayId field's value.
120543func (s *TransitGatewayVpcAttachment) SetTransitGatewayId(v string) *TransitGatewayVpcAttachment {
120544	s.TransitGatewayId = &v
120545	return s
120546}
120547
120548// SetVpcId sets the VpcId field's value.
120549func (s *TransitGatewayVpcAttachment) SetVpcId(v string) *TransitGatewayVpcAttachment {
120550	s.VpcId = &v
120551	return s
120552}
120553
120554// SetVpcOwnerId sets the VpcOwnerId field's value.
120555func (s *TransitGatewayVpcAttachment) SetVpcOwnerId(v string) *TransitGatewayVpcAttachment {
120556	s.VpcOwnerId = &v
120557	return s
120558}
120559
120560// Describes the VPC attachment options.
120561type TransitGatewayVpcAttachmentOptions struct {
120562	_ struct{} `type:"structure"`
120563
120564	// Indicates whether appliance mode support is enabled.
120565	ApplianceModeSupport *string `locationName:"applianceModeSupport" type:"string" enum:"ApplianceModeSupportValue"`
120566
120567	// Indicates whether DNS support is enabled.
120568	DnsSupport *string `locationName:"dnsSupport" type:"string" enum:"DnsSupportValue"`
120569
120570	// Indicates whether IPv6 support is disabled.
120571	Ipv6Support *string `locationName:"ipv6Support" type:"string" enum:"Ipv6SupportValue"`
120572}
120573
120574// String returns the string representation
120575func (s TransitGatewayVpcAttachmentOptions) String() string {
120576	return awsutil.Prettify(s)
120577}
120578
120579// GoString returns the string representation
120580func (s TransitGatewayVpcAttachmentOptions) GoString() string {
120581	return s.String()
120582}
120583
120584// SetApplianceModeSupport sets the ApplianceModeSupport field's value.
120585func (s *TransitGatewayVpcAttachmentOptions) SetApplianceModeSupport(v string) *TransitGatewayVpcAttachmentOptions {
120586	s.ApplianceModeSupport = &v
120587	return s
120588}
120589
120590// SetDnsSupport sets the DnsSupport field's value.
120591func (s *TransitGatewayVpcAttachmentOptions) SetDnsSupport(v string) *TransitGatewayVpcAttachmentOptions {
120592	s.DnsSupport = &v
120593	return s
120594}
120595
120596// SetIpv6Support sets the Ipv6Support field's value.
120597func (s *TransitGatewayVpcAttachmentOptions) SetIpv6Support(v string) *TransitGatewayVpcAttachmentOptions {
120598	s.Ipv6Support = &v
120599	return s
120600}
120601
120602// The VPN tunnel options.
120603type TunnelOption struct {
120604	_ struct{} `type:"structure"`
120605
120606	// The action to take after a DPD timeout occurs.
120607	DpdTimeoutAction *string `locationName:"dpdTimeoutAction" type:"string"`
120608
120609	// The number of seconds after which a DPD timeout occurs.
120610	DpdTimeoutSeconds *int64 `locationName:"dpdTimeoutSeconds" type:"integer"`
120611
120612	// The IKE versions that are permitted for the VPN tunnel.
120613	IkeVersions []*IKEVersionsListValue `locationName:"ikeVersionSet" locationNameList:"item" type:"list"`
120614
120615	// The external IP address of the VPN tunnel.
120616	OutsideIpAddress *string `locationName:"outsideIpAddress" type:"string"`
120617
120618	// The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 1
120619	// IKE negotiations.
120620	Phase1DHGroupNumbers []*Phase1DHGroupNumbersListValue `locationName:"phase1DHGroupNumberSet" locationNameList:"item" type:"list"`
120621
120622	// The permitted encryption algorithms for the VPN tunnel for phase 1 IKE negotiations.
120623	Phase1EncryptionAlgorithms []*Phase1EncryptionAlgorithmsListValue `locationName:"phase1EncryptionAlgorithmSet" locationNameList:"item" type:"list"`
120624
120625	// The permitted integrity algorithms for the VPN tunnel for phase 1 IKE negotiations.
120626	Phase1IntegrityAlgorithms []*Phase1IntegrityAlgorithmsListValue `locationName:"phase1IntegrityAlgorithmSet" locationNameList:"item" type:"list"`
120627
120628	// The lifetime for phase 1 of the IKE negotiation, in seconds.
120629	Phase1LifetimeSeconds *int64 `locationName:"phase1LifetimeSeconds" type:"integer"`
120630
120631	// The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 2
120632	// IKE negotiations.
120633	Phase2DHGroupNumbers []*Phase2DHGroupNumbersListValue `locationName:"phase2DHGroupNumberSet" locationNameList:"item" type:"list"`
120634
120635	// The permitted encryption algorithms for the VPN tunnel for phase 2 IKE negotiations.
120636	Phase2EncryptionAlgorithms []*Phase2EncryptionAlgorithmsListValue `locationName:"phase2EncryptionAlgorithmSet" locationNameList:"item" type:"list"`
120637
120638	// The permitted integrity algorithms for the VPN tunnel for phase 2 IKE negotiations.
120639	Phase2IntegrityAlgorithms []*Phase2IntegrityAlgorithmsListValue `locationName:"phase2IntegrityAlgorithmSet" locationNameList:"item" type:"list"`
120640
120641	// The lifetime for phase 2 of the IKE negotiation, in seconds.
120642	Phase2LifetimeSeconds *int64 `locationName:"phase2LifetimeSeconds" type:"integer"`
120643
120644	// The pre-shared key (PSK) to establish initial authentication between the
120645	// virtual private gateway and the customer gateway.
120646	PreSharedKey *string `locationName:"preSharedKey" type:"string"`
120647
120648	// The percentage of the rekey window determined by RekeyMarginTimeSeconds during
120649	// which the rekey time is randomly selected.
120650	RekeyFuzzPercentage *int64 `locationName:"rekeyFuzzPercentage" type:"integer"`
120651
120652	// The margin time, in seconds, before the phase 2 lifetime expires, during
120653	// which the AWS side of the VPN connection performs an IKE rekey.
120654	RekeyMarginTimeSeconds *int64 `locationName:"rekeyMarginTimeSeconds" type:"integer"`
120655
120656	// The number of packets in an IKE replay window.
120657	ReplayWindowSize *int64 `locationName:"replayWindowSize" type:"integer"`
120658
120659	// The action to take when the establishing the VPN tunnels for a VPN connection.
120660	StartupAction *string `locationName:"startupAction" type:"string"`
120661
120662	// The range of inside IPv4 addresses for the tunnel.
120663	TunnelInsideCidr *string `locationName:"tunnelInsideCidr" type:"string"`
120664
120665	// The range of inside IPv6 addresses for the tunnel.
120666	TunnelInsideIpv6Cidr *string `locationName:"tunnelInsideIpv6Cidr" type:"string"`
120667}
120668
120669// String returns the string representation
120670func (s TunnelOption) String() string {
120671	return awsutil.Prettify(s)
120672}
120673
120674// GoString returns the string representation
120675func (s TunnelOption) GoString() string {
120676	return s.String()
120677}
120678
120679// SetDpdTimeoutAction sets the DpdTimeoutAction field's value.
120680func (s *TunnelOption) SetDpdTimeoutAction(v string) *TunnelOption {
120681	s.DpdTimeoutAction = &v
120682	return s
120683}
120684
120685// SetDpdTimeoutSeconds sets the DpdTimeoutSeconds field's value.
120686func (s *TunnelOption) SetDpdTimeoutSeconds(v int64) *TunnelOption {
120687	s.DpdTimeoutSeconds = &v
120688	return s
120689}
120690
120691// SetIkeVersions sets the IkeVersions field's value.
120692func (s *TunnelOption) SetIkeVersions(v []*IKEVersionsListValue) *TunnelOption {
120693	s.IkeVersions = v
120694	return s
120695}
120696
120697// SetOutsideIpAddress sets the OutsideIpAddress field's value.
120698func (s *TunnelOption) SetOutsideIpAddress(v string) *TunnelOption {
120699	s.OutsideIpAddress = &v
120700	return s
120701}
120702
120703// SetPhase1DHGroupNumbers sets the Phase1DHGroupNumbers field's value.
120704func (s *TunnelOption) SetPhase1DHGroupNumbers(v []*Phase1DHGroupNumbersListValue) *TunnelOption {
120705	s.Phase1DHGroupNumbers = v
120706	return s
120707}
120708
120709// SetPhase1EncryptionAlgorithms sets the Phase1EncryptionAlgorithms field's value.
120710func (s *TunnelOption) SetPhase1EncryptionAlgorithms(v []*Phase1EncryptionAlgorithmsListValue) *TunnelOption {
120711	s.Phase1EncryptionAlgorithms = v
120712	return s
120713}
120714
120715// SetPhase1IntegrityAlgorithms sets the Phase1IntegrityAlgorithms field's value.
120716func (s *TunnelOption) SetPhase1IntegrityAlgorithms(v []*Phase1IntegrityAlgorithmsListValue) *TunnelOption {
120717	s.Phase1IntegrityAlgorithms = v
120718	return s
120719}
120720
120721// SetPhase1LifetimeSeconds sets the Phase1LifetimeSeconds field's value.
120722func (s *TunnelOption) SetPhase1LifetimeSeconds(v int64) *TunnelOption {
120723	s.Phase1LifetimeSeconds = &v
120724	return s
120725}
120726
120727// SetPhase2DHGroupNumbers sets the Phase2DHGroupNumbers field's value.
120728func (s *TunnelOption) SetPhase2DHGroupNumbers(v []*Phase2DHGroupNumbersListValue) *TunnelOption {
120729	s.Phase2DHGroupNumbers = v
120730	return s
120731}
120732
120733// SetPhase2EncryptionAlgorithms sets the Phase2EncryptionAlgorithms field's value.
120734func (s *TunnelOption) SetPhase2EncryptionAlgorithms(v []*Phase2EncryptionAlgorithmsListValue) *TunnelOption {
120735	s.Phase2EncryptionAlgorithms = v
120736	return s
120737}
120738
120739// SetPhase2IntegrityAlgorithms sets the Phase2IntegrityAlgorithms field's value.
120740func (s *TunnelOption) SetPhase2IntegrityAlgorithms(v []*Phase2IntegrityAlgorithmsListValue) *TunnelOption {
120741	s.Phase2IntegrityAlgorithms = v
120742	return s
120743}
120744
120745// SetPhase2LifetimeSeconds sets the Phase2LifetimeSeconds field's value.
120746func (s *TunnelOption) SetPhase2LifetimeSeconds(v int64) *TunnelOption {
120747	s.Phase2LifetimeSeconds = &v
120748	return s
120749}
120750
120751// SetPreSharedKey sets the PreSharedKey field's value.
120752func (s *TunnelOption) SetPreSharedKey(v string) *TunnelOption {
120753	s.PreSharedKey = &v
120754	return s
120755}
120756
120757// SetRekeyFuzzPercentage sets the RekeyFuzzPercentage field's value.
120758func (s *TunnelOption) SetRekeyFuzzPercentage(v int64) *TunnelOption {
120759	s.RekeyFuzzPercentage = &v
120760	return s
120761}
120762
120763// SetRekeyMarginTimeSeconds sets the RekeyMarginTimeSeconds field's value.
120764func (s *TunnelOption) SetRekeyMarginTimeSeconds(v int64) *TunnelOption {
120765	s.RekeyMarginTimeSeconds = &v
120766	return s
120767}
120768
120769// SetReplayWindowSize sets the ReplayWindowSize field's value.
120770func (s *TunnelOption) SetReplayWindowSize(v int64) *TunnelOption {
120771	s.ReplayWindowSize = &v
120772	return s
120773}
120774
120775// SetStartupAction sets the StartupAction field's value.
120776func (s *TunnelOption) SetStartupAction(v string) *TunnelOption {
120777	s.StartupAction = &v
120778	return s
120779}
120780
120781// SetTunnelInsideCidr sets the TunnelInsideCidr field's value.
120782func (s *TunnelOption) SetTunnelInsideCidr(v string) *TunnelOption {
120783	s.TunnelInsideCidr = &v
120784	return s
120785}
120786
120787// SetTunnelInsideIpv6Cidr sets the TunnelInsideIpv6Cidr field's value.
120788func (s *TunnelOption) SetTunnelInsideIpv6Cidr(v string) *TunnelOption {
120789	s.TunnelInsideIpv6Cidr = &v
120790	return s
120791}
120792
120793type UnassignIpv6AddressesInput struct {
120794	_ struct{} `type:"structure"`
120795
120796	// The IPv6 addresses to unassign from the network interface.
120797	//
120798	// Ipv6Addresses is a required field
120799	Ipv6Addresses []*string `locationName:"ipv6Addresses" locationNameList:"item" type:"list" required:"true"`
120800
120801	// The ID of the network interface.
120802	//
120803	// NetworkInterfaceId is a required field
120804	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
120805}
120806
120807// String returns the string representation
120808func (s UnassignIpv6AddressesInput) String() string {
120809	return awsutil.Prettify(s)
120810}
120811
120812// GoString returns the string representation
120813func (s UnassignIpv6AddressesInput) GoString() string {
120814	return s.String()
120815}
120816
120817// Validate inspects the fields of the type to determine if they are valid.
120818func (s *UnassignIpv6AddressesInput) Validate() error {
120819	invalidParams := request.ErrInvalidParams{Context: "UnassignIpv6AddressesInput"}
120820	if s.Ipv6Addresses == nil {
120821		invalidParams.Add(request.NewErrParamRequired("Ipv6Addresses"))
120822	}
120823	if s.NetworkInterfaceId == nil {
120824		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
120825	}
120826
120827	if invalidParams.Len() > 0 {
120828		return invalidParams
120829	}
120830	return nil
120831}
120832
120833// SetIpv6Addresses sets the Ipv6Addresses field's value.
120834func (s *UnassignIpv6AddressesInput) SetIpv6Addresses(v []*string) *UnassignIpv6AddressesInput {
120835	s.Ipv6Addresses = v
120836	return s
120837}
120838
120839// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
120840func (s *UnassignIpv6AddressesInput) SetNetworkInterfaceId(v string) *UnassignIpv6AddressesInput {
120841	s.NetworkInterfaceId = &v
120842	return s
120843}
120844
120845type UnassignIpv6AddressesOutput struct {
120846	_ struct{} `type:"structure"`
120847
120848	// The ID of the network interface.
120849	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
120850
120851	// The IPv6 addresses that have been unassigned from the network interface.
120852	UnassignedIpv6Addresses []*string `locationName:"unassignedIpv6Addresses" locationNameList:"item" type:"list"`
120853}
120854
120855// String returns the string representation
120856func (s UnassignIpv6AddressesOutput) String() string {
120857	return awsutil.Prettify(s)
120858}
120859
120860// GoString returns the string representation
120861func (s UnassignIpv6AddressesOutput) GoString() string {
120862	return s.String()
120863}
120864
120865// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
120866func (s *UnassignIpv6AddressesOutput) SetNetworkInterfaceId(v string) *UnassignIpv6AddressesOutput {
120867	s.NetworkInterfaceId = &v
120868	return s
120869}
120870
120871// SetUnassignedIpv6Addresses sets the UnassignedIpv6Addresses field's value.
120872func (s *UnassignIpv6AddressesOutput) SetUnassignedIpv6Addresses(v []*string) *UnassignIpv6AddressesOutput {
120873	s.UnassignedIpv6Addresses = v
120874	return s
120875}
120876
120877// Contains the parameters for UnassignPrivateIpAddresses.
120878type UnassignPrivateIpAddressesInput struct {
120879	_ struct{} `type:"structure"`
120880
120881	// The ID of the network interface.
120882	//
120883	// NetworkInterfaceId is a required field
120884	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
120885
120886	// The secondary private IP addresses to unassign from the network interface.
120887	// You can specify this option multiple times to unassign more than one IP address.
120888	//
120889	// PrivateIpAddresses is a required field
120890	PrivateIpAddresses []*string `locationName:"privateIpAddress" locationNameList:"PrivateIpAddress" type:"list" required:"true"`
120891}
120892
120893// String returns the string representation
120894func (s UnassignPrivateIpAddressesInput) String() string {
120895	return awsutil.Prettify(s)
120896}
120897
120898// GoString returns the string representation
120899func (s UnassignPrivateIpAddressesInput) GoString() string {
120900	return s.String()
120901}
120902
120903// Validate inspects the fields of the type to determine if they are valid.
120904func (s *UnassignPrivateIpAddressesInput) Validate() error {
120905	invalidParams := request.ErrInvalidParams{Context: "UnassignPrivateIpAddressesInput"}
120906	if s.NetworkInterfaceId == nil {
120907		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
120908	}
120909	if s.PrivateIpAddresses == nil {
120910		invalidParams.Add(request.NewErrParamRequired("PrivateIpAddresses"))
120911	}
120912
120913	if invalidParams.Len() > 0 {
120914		return invalidParams
120915	}
120916	return nil
120917}
120918
120919// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
120920func (s *UnassignPrivateIpAddressesInput) SetNetworkInterfaceId(v string) *UnassignPrivateIpAddressesInput {
120921	s.NetworkInterfaceId = &v
120922	return s
120923}
120924
120925// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
120926func (s *UnassignPrivateIpAddressesInput) SetPrivateIpAddresses(v []*string) *UnassignPrivateIpAddressesInput {
120927	s.PrivateIpAddresses = v
120928	return s
120929}
120930
120931type UnassignPrivateIpAddressesOutput struct {
120932	_ struct{} `type:"structure"`
120933}
120934
120935// String returns the string representation
120936func (s UnassignPrivateIpAddressesOutput) String() string {
120937	return awsutil.Prettify(s)
120938}
120939
120940// GoString returns the string representation
120941func (s UnassignPrivateIpAddressesOutput) GoString() string {
120942	return s.String()
120943}
120944
120945type UnmonitorInstancesInput struct {
120946	_ struct{} `type:"structure"`
120947
120948	// Checks whether you have the required permissions for the action, without
120949	// actually making the request, and provides an error response. If you have
120950	// the required permissions, the error response is DryRunOperation. Otherwise,
120951	// it is UnauthorizedOperation.
120952	DryRun *bool `locationName:"dryRun" type:"boolean"`
120953
120954	// The IDs of the instances.
120955	//
120956	// InstanceIds is a required field
120957	InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
120958}
120959
120960// String returns the string representation
120961func (s UnmonitorInstancesInput) String() string {
120962	return awsutil.Prettify(s)
120963}
120964
120965// GoString returns the string representation
120966func (s UnmonitorInstancesInput) GoString() string {
120967	return s.String()
120968}
120969
120970// Validate inspects the fields of the type to determine if they are valid.
120971func (s *UnmonitorInstancesInput) Validate() error {
120972	invalidParams := request.ErrInvalidParams{Context: "UnmonitorInstancesInput"}
120973	if s.InstanceIds == nil {
120974		invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
120975	}
120976
120977	if invalidParams.Len() > 0 {
120978		return invalidParams
120979	}
120980	return nil
120981}
120982
120983// SetDryRun sets the DryRun field's value.
120984func (s *UnmonitorInstancesInput) SetDryRun(v bool) *UnmonitorInstancesInput {
120985	s.DryRun = &v
120986	return s
120987}
120988
120989// SetInstanceIds sets the InstanceIds field's value.
120990func (s *UnmonitorInstancesInput) SetInstanceIds(v []*string) *UnmonitorInstancesInput {
120991	s.InstanceIds = v
120992	return s
120993}
120994
120995type UnmonitorInstancesOutput struct {
120996	_ struct{} `type:"structure"`
120997
120998	// The monitoring information.
120999	InstanceMonitorings []*InstanceMonitoring `locationName:"instancesSet" locationNameList:"item" type:"list"`
121000}
121001
121002// String returns the string representation
121003func (s UnmonitorInstancesOutput) String() string {
121004	return awsutil.Prettify(s)
121005}
121006
121007// GoString returns the string representation
121008func (s UnmonitorInstancesOutput) GoString() string {
121009	return s.String()
121010}
121011
121012// SetInstanceMonitorings sets the InstanceMonitorings field's value.
121013func (s *UnmonitorInstancesOutput) SetInstanceMonitorings(v []*InstanceMonitoring) *UnmonitorInstancesOutput {
121014	s.InstanceMonitorings = v
121015	return s
121016}
121017
121018// Describes the burstable performance instance whose credit option for CPU
121019// usage was not modified.
121020type UnsuccessfulInstanceCreditSpecificationItem struct {
121021	_ struct{} `type:"structure"`
121022
121023	// The applicable error for the burstable performance instance whose credit
121024	// option for CPU usage was not modified.
121025	Error *UnsuccessfulInstanceCreditSpecificationItemError `locationName:"error" type:"structure"`
121026
121027	// The ID of the instance.
121028	InstanceId *string `locationName:"instanceId" type:"string"`
121029}
121030
121031// String returns the string representation
121032func (s UnsuccessfulInstanceCreditSpecificationItem) String() string {
121033	return awsutil.Prettify(s)
121034}
121035
121036// GoString returns the string representation
121037func (s UnsuccessfulInstanceCreditSpecificationItem) GoString() string {
121038	return s.String()
121039}
121040
121041// SetError sets the Error field's value.
121042func (s *UnsuccessfulInstanceCreditSpecificationItem) SetError(v *UnsuccessfulInstanceCreditSpecificationItemError) *UnsuccessfulInstanceCreditSpecificationItem {
121043	s.Error = v
121044	return s
121045}
121046
121047// SetInstanceId sets the InstanceId field's value.
121048func (s *UnsuccessfulInstanceCreditSpecificationItem) SetInstanceId(v string) *UnsuccessfulInstanceCreditSpecificationItem {
121049	s.InstanceId = &v
121050	return s
121051}
121052
121053// Information about the error for the burstable performance instance whose
121054// credit option for CPU usage was not modified.
121055type UnsuccessfulInstanceCreditSpecificationItemError struct {
121056	_ struct{} `type:"structure"`
121057
121058	// The error code.
121059	Code *string `locationName:"code" type:"string" enum:"UnsuccessfulInstanceCreditSpecificationErrorCode"`
121060
121061	// The applicable error message.
121062	Message *string `locationName:"message" type:"string"`
121063}
121064
121065// String returns the string representation
121066func (s UnsuccessfulInstanceCreditSpecificationItemError) String() string {
121067	return awsutil.Prettify(s)
121068}
121069
121070// GoString returns the string representation
121071func (s UnsuccessfulInstanceCreditSpecificationItemError) GoString() string {
121072	return s.String()
121073}
121074
121075// SetCode sets the Code field's value.
121076func (s *UnsuccessfulInstanceCreditSpecificationItemError) SetCode(v string) *UnsuccessfulInstanceCreditSpecificationItemError {
121077	s.Code = &v
121078	return s
121079}
121080
121081// SetMessage sets the Message field's value.
121082func (s *UnsuccessfulInstanceCreditSpecificationItemError) SetMessage(v string) *UnsuccessfulInstanceCreditSpecificationItemError {
121083	s.Message = &v
121084	return s
121085}
121086
121087// Information about items that were not successfully processed in a batch call.
121088type UnsuccessfulItem struct {
121089	_ struct{} `type:"structure"`
121090
121091	// Information about the error.
121092	Error *UnsuccessfulItemError `locationName:"error" type:"structure"`
121093
121094	// The ID of the resource.
121095	ResourceId *string `locationName:"resourceId" type:"string"`
121096}
121097
121098// String returns the string representation
121099func (s UnsuccessfulItem) String() string {
121100	return awsutil.Prettify(s)
121101}
121102
121103// GoString returns the string representation
121104func (s UnsuccessfulItem) GoString() string {
121105	return s.String()
121106}
121107
121108// SetError sets the Error field's value.
121109func (s *UnsuccessfulItem) SetError(v *UnsuccessfulItemError) *UnsuccessfulItem {
121110	s.Error = v
121111	return s
121112}
121113
121114// SetResourceId sets the ResourceId field's value.
121115func (s *UnsuccessfulItem) SetResourceId(v string) *UnsuccessfulItem {
121116	s.ResourceId = &v
121117	return s
121118}
121119
121120// Information about the error that occurred. For more information about errors,
121121// see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html).
121122type UnsuccessfulItemError struct {
121123	_ struct{} `type:"structure"`
121124
121125	// The error code.
121126	Code *string `locationName:"code" type:"string"`
121127
121128	// The error message accompanying the error code.
121129	Message *string `locationName:"message" type:"string"`
121130}
121131
121132// String returns the string representation
121133func (s UnsuccessfulItemError) String() string {
121134	return awsutil.Prettify(s)
121135}
121136
121137// GoString returns the string representation
121138func (s UnsuccessfulItemError) GoString() string {
121139	return s.String()
121140}
121141
121142// SetCode sets the Code field's value.
121143func (s *UnsuccessfulItemError) SetCode(v string) *UnsuccessfulItemError {
121144	s.Code = &v
121145	return s
121146}
121147
121148// SetMessage sets the Message field's value.
121149func (s *UnsuccessfulItemError) SetMessage(v string) *UnsuccessfulItemError {
121150	s.Message = &v
121151	return s
121152}
121153
121154type UpdateSecurityGroupRuleDescriptionsEgressInput struct {
121155	_ struct{} `type:"structure"`
121156
121157	// Checks whether you have the required permissions for the action, without
121158	// actually making the request, and provides an error response. If you have
121159	// the required permissions, the error response is DryRunOperation. Otherwise,
121160	// it is UnauthorizedOperation.
121161	DryRun *bool `type:"boolean"`
121162
121163	// The ID of the security group. You must specify either the security group
121164	// ID or the security group name in the request. For security groups in a nondefault
121165	// VPC, you must specify the security group ID.
121166	GroupId *string `type:"string"`
121167
121168	// [Default VPC] The name of the security group. You must specify either the
121169	// security group ID or the security group name in the request.
121170	GroupName *string `type:"string"`
121171
121172	// The IP permissions for the security group rule.
121173	//
121174	// IpPermissions is a required field
121175	IpPermissions []*IpPermission `locationNameList:"item" type:"list" required:"true"`
121176}
121177
121178// String returns the string representation
121179func (s UpdateSecurityGroupRuleDescriptionsEgressInput) String() string {
121180	return awsutil.Prettify(s)
121181}
121182
121183// GoString returns the string representation
121184func (s UpdateSecurityGroupRuleDescriptionsEgressInput) GoString() string {
121185	return s.String()
121186}
121187
121188// Validate inspects the fields of the type to determine if they are valid.
121189func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) Validate() error {
121190	invalidParams := request.ErrInvalidParams{Context: "UpdateSecurityGroupRuleDescriptionsEgressInput"}
121191	if s.IpPermissions == nil {
121192		invalidParams.Add(request.NewErrParamRequired("IpPermissions"))
121193	}
121194
121195	if invalidParams.Len() > 0 {
121196		return invalidParams
121197	}
121198	return nil
121199}
121200
121201// SetDryRun sets the DryRun field's value.
121202func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) SetDryRun(v bool) *UpdateSecurityGroupRuleDescriptionsEgressInput {
121203	s.DryRun = &v
121204	return s
121205}
121206
121207// SetGroupId sets the GroupId field's value.
121208func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) SetGroupId(v string) *UpdateSecurityGroupRuleDescriptionsEgressInput {
121209	s.GroupId = &v
121210	return s
121211}
121212
121213// SetGroupName sets the GroupName field's value.
121214func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) SetGroupName(v string) *UpdateSecurityGroupRuleDescriptionsEgressInput {
121215	s.GroupName = &v
121216	return s
121217}
121218
121219// SetIpPermissions sets the IpPermissions field's value.
121220func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) SetIpPermissions(v []*IpPermission) *UpdateSecurityGroupRuleDescriptionsEgressInput {
121221	s.IpPermissions = v
121222	return s
121223}
121224
121225type UpdateSecurityGroupRuleDescriptionsEgressOutput struct {
121226	_ struct{} `type:"structure"`
121227
121228	// Returns true if the request succeeds; otherwise, returns an error.
121229	Return *bool `locationName:"return" type:"boolean"`
121230}
121231
121232// String returns the string representation
121233func (s UpdateSecurityGroupRuleDescriptionsEgressOutput) String() string {
121234	return awsutil.Prettify(s)
121235}
121236
121237// GoString returns the string representation
121238func (s UpdateSecurityGroupRuleDescriptionsEgressOutput) GoString() string {
121239	return s.String()
121240}
121241
121242// SetReturn sets the Return field's value.
121243func (s *UpdateSecurityGroupRuleDescriptionsEgressOutput) SetReturn(v bool) *UpdateSecurityGroupRuleDescriptionsEgressOutput {
121244	s.Return = &v
121245	return s
121246}
121247
121248type UpdateSecurityGroupRuleDescriptionsIngressInput struct {
121249	_ struct{} `type:"structure"`
121250
121251	// Checks whether you have the required permissions for the action, without
121252	// actually making the request, and provides an error response. If you have
121253	// the required permissions, the error response is DryRunOperation. Otherwise,
121254	// it is UnauthorizedOperation.
121255	DryRun *bool `type:"boolean"`
121256
121257	// The ID of the security group. You must specify either the security group
121258	// ID or the security group name in the request. For security groups in a nondefault
121259	// VPC, you must specify the security group ID.
121260	GroupId *string `type:"string"`
121261
121262	// [EC2-Classic, default VPC] The name of the security group. You must specify
121263	// either the security group ID or the security group name in the request.
121264	GroupName *string `type:"string"`
121265
121266	// The IP permissions for the security group rule.
121267	//
121268	// IpPermissions is a required field
121269	IpPermissions []*IpPermission `locationNameList:"item" type:"list" required:"true"`
121270}
121271
121272// String returns the string representation
121273func (s UpdateSecurityGroupRuleDescriptionsIngressInput) String() string {
121274	return awsutil.Prettify(s)
121275}
121276
121277// GoString returns the string representation
121278func (s UpdateSecurityGroupRuleDescriptionsIngressInput) GoString() string {
121279	return s.String()
121280}
121281
121282// Validate inspects the fields of the type to determine if they are valid.
121283func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) Validate() error {
121284	invalidParams := request.ErrInvalidParams{Context: "UpdateSecurityGroupRuleDescriptionsIngressInput"}
121285	if s.IpPermissions == nil {
121286		invalidParams.Add(request.NewErrParamRequired("IpPermissions"))
121287	}
121288
121289	if invalidParams.Len() > 0 {
121290		return invalidParams
121291	}
121292	return nil
121293}
121294
121295// SetDryRun sets the DryRun field's value.
121296func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) SetDryRun(v bool) *UpdateSecurityGroupRuleDescriptionsIngressInput {
121297	s.DryRun = &v
121298	return s
121299}
121300
121301// SetGroupId sets the GroupId field's value.
121302func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) SetGroupId(v string) *UpdateSecurityGroupRuleDescriptionsIngressInput {
121303	s.GroupId = &v
121304	return s
121305}
121306
121307// SetGroupName sets the GroupName field's value.
121308func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) SetGroupName(v string) *UpdateSecurityGroupRuleDescriptionsIngressInput {
121309	s.GroupName = &v
121310	return s
121311}
121312
121313// SetIpPermissions sets the IpPermissions field's value.
121314func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) SetIpPermissions(v []*IpPermission) *UpdateSecurityGroupRuleDescriptionsIngressInput {
121315	s.IpPermissions = v
121316	return s
121317}
121318
121319type UpdateSecurityGroupRuleDescriptionsIngressOutput struct {
121320	_ struct{} `type:"structure"`
121321
121322	// Returns true if the request succeeds; otherwise, returns an error.
121323	Return *bool `locationName:"return" type:"boolean"`
121324}
121325
121326// String returns the string representation
121327func (s UpdateSecurityGroupRuleDescriptionsIngressOutput) String() string {
121328	return awsutil.Prettify(s)
121329}
121330
121331// GoString returns the string representation
121332func (s UpdateSecurityGroupRuleDescriptionsIngressOutput) GoString() string {
121333	return s.String()
121334}
121335
121336// SetReturn sets the Return field's value.
121337func (s *UpdateSecurityGroupRuleDescriptionsIngressOutput) SetReturn(v bool) *UpdateSecurityGroupRuleDescriptionsIngressOutput {
121338	s.Return = &v
121339	return s
121340}
121341
121342// Describes the Amazon S3 bucket for the disk image.
121343type UserBucket struct {
121344	_ struct{} `type:"structure"`
121345
121346	// The name of the Amazon S3 bucket where the disk image is located.
121347	S3Bucket *string `type:"string"`
121348
121349	// The file name of the disk image.
121350	S3Key *string `type:"string"`
121351}
121352
121353// String returns the string representation
121354func (s UserBucket) String() string {
121355	return awsutil.Prettify(s)
121356}
121357
121358// GoString returns the string representation
121359func (s UserBucket) GoString() string {
121360	return s.String()
121361}
121362
121363// SetS3Bucket sets the S3Bucket field's value.
121364func (s *UserBucket) SetS3Bucket(v string) *UserBucket {
121365	s.S3Bucket = &v
121366	return s
121367}
121368
121369// SetS3Key sets the S3Key field's value.
121370func (s *UserBucket) SetS3Key(v string) *UserBucket {
121371	s.S3Key = &v
121372	return s
121373}
121374
121375// Describes the Amazon S3 bucket for the disk image.
121376type UserBucketDetails struct {
121377	_ struct{} `type:"structure"`
121378
121379	// The Amazon S3 bucket from which the disk image was created.
121380	S3Bucket *string `locationName:"s3Bucket" type:"string"`
121381
121382	// The file name of the disk image.
121383	S3Key *string `locationName:"s3Key" type:"string"`
121384}
121385
121386// String returns the string representation
121387func (s UserBucketDetails) String() string {
121388	return awsutil.Prettify(s)
121389}
121390
121391// GoString returns the string representation
121392func (s UserBucketDetails) GoString() string {
121393	return s.String()
121394}
121395
121396// SetS3Bucket sets the S3Bucket field's value.
121397func (s *UserBucketDetails) SetS3Bucket(v string) *UserBucketDetails {
121398	s.S3Bucket = &v
121399	return s
121400}
121401
121402// SetS3Key sets the S3Key field's value.
121403func (s *UserBucketDetails) SetS3Key(v string) *UserBucketDetails {
121404	s.S3Key = &v
121405	return s
121406}
121407
121408// Describes the user data for an instance.
121409type UserData struct {
121410	_ struct{} `type:"structure" sensitive:"true"`
121411
121412	// The user data. If you are using an AWS SDK or command line tool, Base64-encoding
121413	// is performed for you, and you can load the text from a file. Otherwise, you
121414	// must provide Base64-encoded text.
121415	Data *string `locationName:"data" type:"string"`
121416}
121417
121418// String returns the string representation
121419func (s UserData) String() string {
121420	return awsutil.Prettify(s)
121421}
121422
121423// GoString returns the string representation
121424func (s UserData) GoString() string {
121425	return s.String()
121426}
121427
121428// SetData sets the Data field's value.
121429func (s *UserData) SetData(v string) *UserData {
121430	s.Data = &v
121431	return s
121432}
121433
121434// Describes a security group and AWS account ID pair.
121435type UserIdGroupPair struct {
121436	_ struct{} `type:"structure"`
121437
121438	// A description for the security group rule that references this user ID group
121439	// pair.
121440	//
121441	// Constraints: Up to 255 characters in length. Allowed characters are a-z,
121442	// A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*
121443	Description *string `locationName:"description" type:"string"`
121444
121445	// The ID of the security group.
121446	GroupId *string `locationName:"groupId" type:"string"`
121447
121448	// The name of the security group. In a request, use this parameter for a security
121449	// group in EC2-Classic or a default VPC only. For a security group in a nondefault
121450	// VPC, use the security group ID.
121451	//
121452	// For a referenced security group in another VPC, this value is not returned
121453	// if the referenced security group is deleted.
121454	GroupName *string `locationName:"groupName" type:"string"`
121455
121456	// The status of a VPC peering connection, if applicable.
121457	PeeringStatus *string `locationName:"peeringStatus" type:"string"`
121458
121459	// The ID of an AWS account.
121460	//
121461	// For a referenced security group in another VPC, the account ID of the referenced
121462	// security group is returned in the response. If the referenced security group
121463	// is deleted, this value is not returned.
121464	//
121465	// [EC2-Classic] Required when adding or removing rules that reference a security
121466	// group in another AWS account.
121467	UserId *string `locationName:"userId" type:"string"`
121468
121469	// The ID of the VPC for the referenced security group, if applicable.
121470	VpcId *string `locationName:"vpcId" type:"string"`
121471
121472	// The ID of the VPC peering connection, if applicable.
121473	VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
121474}
121475
121476// String returns the string representation
121477func (s UserIdGroupPair) String() string {
121478	return awsutil.Prettify(s)
121479}
121480
121481// GoString returns the string representation
121482func (s UserIdGroupPair) GoString() string {
121483	return s.String()
121484}
121485
121486// SetDescription sets the Description field's value.
121487func (s *UserIdGroupPair) SetDescription(v string) *UserIdGroupPair {
121488	s.Description = &v
121489	return s
121490}
121491
121492// SetGroupId sets the GroupId field's value.
121493func (s *UserIdGroupPair) SetGroupId(v string) *UserIdGroupPair {
121494	s.GroupId = &v
121495	return s
121496}
121497
121498// SetGroupName sets the GroupName field's value.
121499func (s *UserIdGroupPair) SetGroupName(v string) *UserIdGroupPair {
121500	s.GroupName = &v
121501	return s
121502}
121503
121504// SetPeeringStatus sets the PeeringStatus field's value.
121505func (s *UserIdGroupPair) SetPeeringStatus(v string) *UserIdGroupPair {
121506	s.PeeringStatus = &v
121507	return s
121508}
121509
121510// SetUserId sets the UserId field's value.
121511func (s *UserIdGroupPair) SetUserId(v string) *UserIdGroupPair {
121512	s.UserId = &v
121513	return s
121514}
121515
121516// SetVpcId sets the VpcId field's value.
121517func (s *UserIdGroupPair) SetVpcId(v string) *UserIdGroupPair {
121518	s.VpcId = &v
121519	return s
121520}
121521
121522// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
121523func (s *UserIdGroupPair) SetVpcPeeringConnectionId(v string) *UserIdGroupPair {
121524	s.VpcPeeringConnectionId = &v
121525	return s
121526}
121527
121528// Describes the vCPU configurations for the instance type.
121529type VCpuInfo struct {
121530	_ struct{} `type:"structure"`
121531
121532	// The default number of cores for the instance type.
121533	DefaultCores *int64 `locationName:"defaultCores" type:"integer"`
121534
121535	// The default number of threads per core for the instance type.
121536	DefaultThreadsPerCore *int64 `locationName:"defaultThreadsPerCore" type:"integer"`
121537
121538	// The default number of vCPUs for the instance type.
121539	DefaultVCpus *int64 `locationName:"defaultVCpus" type:"integer"`
121540
121541	// The valid number of cores that can be configured for the instance type.
121542	ValidCores []*int64 `locationName:"validCores" locationNameList:"item" type:"list"`
121543
121544	// The valid number of threads per core that can be configured for the instance
121545	// type.
121546	ValidThreadsPerCore []*int64 `locationName:"validThreadsPerCore" locationNameList:"item" type:"list"`
121547}
121548
121549// String returns the string representation
121550func (s VCpuInfo) String() string {
121551	return awsutil.Prettify(s)
121552}
121553
121554// GoString returns the string representation
121555func (s VCpuInfo) GoString() string {
121556	return s.String()
121557}
121558
121559// SetDefaultCores sets the DefaultCores field's value.
121560func (s *VCpuInfo) SetDefaultCores(v int64) *VCpuInfo {
121561	s.DefaultCores = &v
121562	return s
121563}
121564
121565// SetDefaultThreadsPerCore sets the DefaultThreadsPerCore field's value.
121566func (s *VCpuInfo) SetDefaultThreadsPerCore(v int64) *VCpuInfo {
121567	s.DefaultThreadsPerCore = &v
121568	return s
121569}
121570
121571// SetDefaultVCpus sets the DefaultVCpus field's value.
121572func (s *VCpuInfo) SetDefaultVCpus(v int64) *VCpuInfo {
121573	s.DefaultVCpus = &v
121574	return s
121575}
121576
121577// SetValidCores sets the ValidCores field's value.
121578func (s *VCpuInfo) SetValidCores(v []*int64) *VCpuInfo {
121579	s.ValidCores = v
121580	return s
121581}
121582
121583// SetValidThreadsPerCore sets the ValidThreadsPerCore field's value.
121584func (s *VCpuInfo) SetValidThreadsPerCore(v []*int64) *VCpuInfo {
121585	s.ValidThreadsPerCore = v
121586	return s
121587}
121588
121589// The error code and error message that is returned for a parameter or parameter
121590// combination that is not valid when a new launch template or new version of
121591// a launch template is created.
121592type ValidationError struct {
121593	_ struct{} `type:"structure"`
121594
121595	// The error code that indicates why the parameter or parameter combination
121596	// is not valid. For more information about error codes, see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html).
121597	Code *string `locationName:"code" type:"string"`
121598
121599	// The error message that describes why the parameter or parameter combination
121600	// is not valid. For more information about error messages, see Error Codes
121601	// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html).
121602	Message *string `locationName:"message" type:"string"`
121603}
121604
121605// String returns the string representation
121606func (s ValidationError) String() string {
121607	return awsutil.Prettify(s)
121608}
121609
121610// GoString returns the string representation
121611func (s ValidationError) GoString() string {
121612	return s.String()
121613}
121614
121615// SetCode sets the Code field's value.
121616func (s *ValidationError) SetCode(v string) *ValidationError {
121617	s.Code = &v
121618	return s
121619}
121620
121621// SetMessage sets the Message field's value.
121622func (s *ValidationError) SetMessage(v string) *ValidationError {
121623	s.Message = &v
121624	return s
121625}
121626
121627// The error codes and error messages that are returned for the parameters or
121628// parameter combinations that are not valid when a new launch template or new
121629// version of a launch template is created.
121630type ValidationWarning struct {
121631	_ struct{} `type:"structure"`
121632
121633	// The error codes and error messages.
121634	Errors []*ValidationError `locationName:"errorSet" locationNameList:"item" type:"list"`
121635}
121636
121637// String returns the string representation
121638func (s ValidationWarning) String() string {
121639	return awsutil.Prettify(s)
121640}
121641
121642// GoString returns the string representation
121643func (s ValidationWarning) GoString() string {
121644	return s.String()
121645}
121646
121647// SetErrors sets the Errors field's value.
121648func (s *ValidationWarning) SetErrors(v []*ValidationError) *ValidationWarning {
121649	s.Errors = v
121650	return s
121651}
121652
121653// Describes telemetry for a VPN tunnel.
121654type VgwTelemetry struct {
121655	_ struct{} `type:"structure"`
121656
121657	// The number of accepted routes.
121658	AcceptedRouteCount *int64 `locationName:"acceptedRouteCount" type:"integer"`
121659
121660	// The Amazon Resource Name (ARN) of the VPN tunnel endpoint certificate.
121661	CertificateArn *string `locationName:"certificateArn" type:"string"`
121662
121663	// The date and time of the last change in status.
121664	LastStatusChange *time.Time `locationName:"lastStatusChange" type:"timestamp"`
121665
121666	// The Internet-routable IP address of the virtual private gateway's outside
121667	// interface.
121668	OutsideIpAddress *string `locationName:"outsideIpAddress" type:"string"`
121669
121670	// The status of the VPN tunnel.
121671	Status *string `locationName:"status" type:"string" enum:"TelemetryStatus"`
121672
121673	// If an error occurs, a description of the error.
121674	StatusMessage *string `locationName:"statusMessage" type:"string"`
121675}
121676
121677// String returns the string representation
121678func (s VgwTelemetry) String() string {
121679	return awsutil.Prettify(s)
121680}
121681
121682// GoString returns the string representation
121683func (s VgwTelemetry) GoString() string {
121684	return s.String()
121685}
121686
121687// SetAcceptedRouteCount sets the AcceptedRouteCount field's value.
121688func (s *VgwTelemetry) SetAcceptedRouteCount(v int64) *VgwTelemetry {
121689	s.AcceptedRouteCount = &v
121690	return s
121691}
121692
121693// SetCertificateArn sets the CertificateArn field's value.
121694func (s *VgwTelemetry) SetCertificateArn(v string) *VgwTelemetry {
121695	s.CertificateArn = &v
121696	return s
121697}
121698
121699// SetLastStatusChange sets the LastStatusChange field's value.
121700func (s *VgwTelemetry) SetLastStatusChange(v time.Time) *VgwTelemetry {
121701	s.LastStatusChange = &v
121702	return s
121703}
121704
121705// SetOutsideIpAddress sets the OutsideIpAddress field's value.
121706func (s *VgwTelemetry) SetOutsideIpAddress(v string) *VgwTelemetry {
121707	s.OutsideIpAddress = &v
121708	return s
121709}
121710
121711// SetStatus sets the Status field's value.
121712func (s *VgwTelemetry) SetStatus(v string) *VgwTelemetry {
121713	s.Status = &v
121714	return s
121715}
121716
121717// SetStatusMessage sets the StatusMessage field's value.
121718func (s *VgwTelemetry) SetStatusMessage(v string) *VgwTelemetry {
121719	s.StatusMessage = &v
121720	return s
121721}
121722
121723// Describes a volume.
121724type Volume struct {
121725	_ struct{} `type:"structure"`
121726
121727	// Information about the volume attachments.
121728	Attachments []*VolumeAttachment `locationName:"attachmentSet" locationNameList:"item" type:"list"`
121729
121730	// The Availability Zone for the volume.
121731	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
121732
121733	// The time stamp when volume creation was initiated.
121734	CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
121735
121736	// Indicates whether the volume is encrypted.
121737	Encrypted *bool `locationName:"encrypted" type:"boolean"`
121738
121739	// Indicates whether the volume was created using fast snapshot restore.
121740	FastRestored *bool `locationName:"fastRestored" type:"boolean"`
121741
121742	// The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes,
121743	// this represents the number of IOPS that are provisioned for the volume. For
121744	// gp2 volumes, this represents the baseline performance of the volume and the
121745	// rate at which the volume accumulates I/O credits for bursting.
121746	Iops *int64 `locationName:"iops" type:"integer"`
121747
121748	// The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS)
121749	// customer master key (CMK) that was used to protect the volume encryption
121750	// key for the volume.
121751	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
121752
121753	// Indicates whether Amazon EBS Multi-Attach is enabled.
121754	MultiAttachEnabled *bool `locationName:"multiAttachEnabled" type:"boolean"`
121755
121756	// The Amazon Resource Name (ARN) of the Outpost.
121757	OutpostArn *string `locationName:"outpostArn" type:"string"`
121758
121759	// The size of the volume, in GiBs.
121760	Size *int64 `locationName:"size" type:"integer"`
121761
121762	// The snapshot from which the volume was created, if applicable.
121763	SnapshotId *string `locationName:"snapshotId" type:"string"`
121764
121765	// The volume state.
121766	State *string `locationName:"status" type:"string" enum:"VolumeState"`
121767
121768	// Any tags assigned to the volume.
121769	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
121770
121771	// The throughput that the volume supports, in MiB/s.
121772	Throughput *int64 `locationName:"throughput" type:"integer"`
121773
121774	// The ID of the volume.
121775	VolumeId *string `locationName:"volumeId" type:"string"`
121776
121777	// The volume type.
121778	VolumeType *string `locationName:"volumeType" type:"string" enum:"VolumeType"`
121779}
121780
121781// String returns the string representation
121782func (s Volume) String() string {
121783	return awsutil.Prettify(s)
121784}
121785
121786// GoString returns the string representation
121787func (s Volume) GoString() string {
121788	return s.String()
121789}
121790
121791// SetAttachments sets the Attachments field's value.
121792func (s *Volume) SetAttachments(v []*VolumeAttachment) *Volume {
121793	s.Attachments = v
121794	return s
121795}
121796
121797// SetAvailabilityZone sets the AvailabilityZone field's value.
121798func (s *Volume) SetAvailabilityZone(v string) *Volume {
121799	s.AvailabilityZone = &v
121800	return s
121801}
121802
121803// SetCreateTime sets the CreateTime field's value.
121804func (s *Volume) SetCreateTime(v time.Time) *Volume {
121805	s.CreateTime = &v
121806	return s
121807}
121808
121809// SetEncrypted sets the Encrypted field's value.
121810func (s *Volume) SetEncrypted(v bool) *Volume {
121811	s.Encrypted = &v
121812	return s
121813}
121814
121815// SetFastRestored sets the FastRestored field's value.
121816func (s *Volume) SetFastRestored(v bool) *Volume {
121817	s.FastRestored = &v
121818	return s
121819}
121820
121821// SetIops sets the Iops field's value.
121822func (s *Volume) SetIops(v int64) *Volume {
121823	s.Iops = &v
121824	return s
121825}
121826
121827// SetKmsKeyId sets the KmsKeyId field's value.
121828func (s *Volume) SetKmsKeyId(v string) *Volume {
121829	s.KmsKeyId = &v
121830	return s
121831}
121832
121833// SetMultiAttachEnabled sets the MultiAttachEnabled field's value.
121834func (s *Volume) SetMultiAttachEnabled(v bool) *Volume {
121835	s.MultiAttachEnabled = &v
121836	return s
121837}
121838
121839// SetOutpostArn sets the OutpostArn field's value.
121840func (s *Volume) SetOutpostArn(v string) *Volume {
121841	s.OutpostArn = &v
121842	return s
121843}
121844
121845// SetSize sets the Size field's value.
121846func (s *Volume) SetSize(v int64) *Volume {
121847	s.Size = &v
121848	return s
121849}
121850
121851// SetSnapshotId sets the SnapshotId field's value.
121852func (s *Volume) SetSnapshotId(v string) *Volume {
121853	s.SnapshotId = &v
121854	return s
121855}
121856
121857// SetState sets the State field's value.
121858func (s *Volume) SetState(v string) *Volume {
121859	s.State = &v
121860	return s
121861}
121862
121863// SetTags sets the Tags field's value.
121864func (s *Volume) SetTags(v []*Tag) *Volume {
121865	s.Tags = v
121866	return s
121867}
121868
121869// SetThroughput sets the Throughput field's value.
121870func (s *Volume) SetThroughput(v int64) *Volume {
121871	s.Throughput = &v
121872	return s
121873}
121874
121875// SetVolumeId sets the VolumeId field's value.
121876func (s *Volume) SetVolumeId(v string) *Volume {
121877	s.VolumeId = &v
121878	return s
121879}
121880
121881// SetVolumeType sets the VolumeType field's value.
121882func (s *Volume) SetVolumeType(v string) *Volume {
121883	s.VolumeType = &v
121884	return s
121885}
121886
121887// Describes volume attachment details.
121888type VolumeAttachment struct {
121889	_ struct{} `type:"structure"`
121890
121891	// The time stamp when the attachment initiated.
121892	AttachTime *time.Time `locationName:"attachTime" type:"timestamp"`
121893
121894	// Indicates whether the EBS volume is deleted on instance termination.
121895	DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
121896
121897	// The device name.
121898	Device *string `locationName:"device" type:"string"`
121899
121900	// The ID of the instance.
121901	InstanceId *string `locationName:"instanceId" type:"string"`
121902
121903	// The attachment state of the volume.
121904	State *string `locationName:"status" type:"string" enum:"VolumeAttachmentState"`
121905
121906	// The ID of the volume.
121907	VolumeId *string `locationName:"volumeId" type:"string"`
121908}
121909
121910// String returns the string representation
121911func (s VolumeAttachment) String() string {
121912	return awsutil.Prettify(s)
121913}
121914
121915// GoString returns the string representation
121916func (s VolumeAttachment) GoString() string {
121917	return s.String()
121918}
121919
121920// SetAttachTime sets the AttachTime field's value.
121921func (s *VolumeAttachment) SetAttachTime(v time.Time) *VolumeAttachment {
121922	s.AttachTime = &v
121923	return s
121924}
121925
121926// SetDeleteOnTermination sets the DeleteOnTermination field's value.
121927func (s *VolumeAttachment) SetDeleteOnTermination(v bool) *VolumeAttachment {
121928	s.DeleteOnTermination = &v
121929	return s
121930}
121931
121932// SetDevice sets the Device field's value.
121933func (s *VolumeAttachment) SetDevice(v string) *VolumeAttachment {
121934	s.Device = &v
121935	return s
121936}
121937
121938// SetInstanceId sets the InstanceId field's value.
121939func (s *VolumeAttachment) SetInstanceId(v string) *VolumeAttachment {
121940	s.InstanceId = &v
121941	return s
121942}
121943
121944// SetState sets the State field's value.
121945func (s *VolumeAttachment) SetState(v string) *VolumeAttachment {
121946	s.State = &v
121947	return s
121948}
121949
121950// SetVolumeId sets the VolumeId field's value.
121951func (s *VolumeAttachment) SetVolumeId(v string) *VolumeAttachment {
121952	s.VolumeId = &v
121953	return s
121954}
121955
121956// Describes an EBS volume.
121957type VolumeDetail struct {
121958	_ struct{} `type:"structure"`
121959
121960	// The size of the volume, in GiB.
121961	//
121962	// Size is a required field
121963	Size *int64 `locationName:"size" type:"long" required:"true"`
121964}
121965
121966// String returns the string representation
121967func (s VolumeDetail) String() string {
121968	return awsutil.Prettify(s)
121969}
121970
121971// GoString returns the string representation
121972func (s VolumeDetail) GoString() string {
121973	return s.String()
121974}
121975
121976// Validate inspects the fields of the type to determine if they are valid.
121977func (s *VolumeDetail) Validate() error {
121978	invalidParams := request.ErrInvalidParams{Context: "VolumeDetail"}
121979	if s.Size == nil {
121980		invalidParams.Add(request.NewErrParamRequired("Size"))
121981	}
121982
121983	if invalidParams.Len() > 0 {
121984		return invalidParams
121985	}
121986	return nil
121987}
121988
121989// SetSize sets the Size field's value.
121990func (s *VolumeDetail) SetSize(v int64) *VolumeDetail {
121991	s.Size = &v
121992	return s
121993}
121994
121995// Describes the modification status of an EBS volume.
121996//
121997// If the volume has never been modified, some element values will be null.
121998type VolumeModification struct {
121999	_ struct{} `type:"structure"`
122000
122001	// The modification completion or failure time.
122002	EndTime *time.Time `locationName:"endTime" type:"timestamp"`
122003
122004	// The current modification state. The modification state is null for unmodified
122005	// volumes.
122006	ModificationState *string `locationName:"modificationState" type:"string" enum:"VolumeModificationState"`
122007
122008	// The original IOPS rate of the volume.
122009	OriginalIops *int64 `locationName:"originalIops" type:"integer"`
122010
122011	// The original setting for Amazon EBS Multi-Attach.
122012	OriginalMultiAttachEnabled *bool `locationName:"originalMultiAttachEnabled" type:"boolean"`
122013
122014	// The original size of the volume, in GiB.
122015	OriginalSize *int64 `locationName:"originalSize" type:"integer"`
122016
122017	// The original throughput of the volume, in MiB/s.
122018	OriginalThroughput *int64 `locationName:"originalThroughput" type:"integer"`
122019
122020	// The original EBS volume type of the volume.
122021	OriginalVolumeType *string `locationName:"originalVolumeType" type:"string" enum:"VolumeType"`
122022
122023	// The modification progress, from 0 to 100 percent complete.
122024	Progress *int64 `locationName:"progress" type:"long"`
122025
122026	// The modification start time.
122027	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
122028
122029	// A status message about the modification progress or failure.
122030	StatusMessage *string `locationName:"statusMessage" type:"string"`
122031
122032	// The target IOPS rate of the volume.
122033	TargetIops *int64 `locationName:"targetIops" type:"integer"`
122034
122035	// The target setting for Amazon EBS Multi-Attach.
122036	TargetMultiAttachEnabled *bool `locationName:"targetMultiAttachEnabled" type:"boolean"`
122037
122038	// The target size of the volume, in GiB.
122039	TargetSize *int64 `locationName:"targetSize" type:"integer"`
122040
122041	// The target throughput of the volume, in MiB/s.
122042	TargetThroughput *int64 `locationName:"targetThroughput" type:"integer"`
122043
122044	// The target EBS volume type of the volume.
122045	TargetVolumeType *string `locationName:"targetVolumeType" type:"string" enum:"VolumeType"`
122046
122047	// The ID of the volume.
122048	VolumeId *string `locationName:"volumeId" type:"string"`
122049}
122050
122051// String returns the string representation
122052func (s VolumeModification) String() string {
122053	return awsutil.Prettify(s)
122054}
122055
122056// GoString returns the string representation
122057func (s VolumeModification) GoString() string {
122058	return s.String()
122059}
122060
122061// SetEndTime sets the EndTime field's value.
122062func (s *VolumeModification) SetEndTime(v time.Time) *VolumeModification {
122063	s.EndTime = &v
122064	return s
122065}
122066
122067// SetModificationState sets the ModificationState field's value.
122068func (s *VolumeModification) SetModificationState(v string) *VolumeModification {
122069	s.ModificationState = &v
122070	return s
122071}
122072
122073// SetOriginalIops sets the OriginalIops field's value.
122074func (s *VolumeModification) SetOriginalIops(v int64) *VolumeModification {
122075	s.OriginalIops = &v
122076	return s
122077}
122078
122079// SetOriginalMultiAttachEnabled sets the OriginalMultiAttachEnabled field's value.
122080func (s *VolumeModification) SetOriginalMultiAttachEnabled(v bool) *VolumeModification {
122081	s.OriginalMultiAttachEnabled = &v
122082	return s
122083}
122084
122085// SetOriginalSize sets the OriginalSize field's value.
122086func (s *VolumeModification) SetOriginalSize(v int64) *VolumeModification {
122087	s.OriginalSize = &v
122088	return s
122089}
122090
122091// SetOriginalThroughput sets the OriginalThroughput field's value.
122092func (s *VolumeModification) SetOriginalThroughput(v int64) *VolumeModification {
122093	s.OriginalThroughput = &v
122094	return s
122095}
122096
122097// SetOriginalVolumeType sets the OriginalVolumeType field's value.
122098func (s *VolumeModification) SetOriginalVolumeType(v string) *VolumeModification {
122099	s.OriginalVolumeType = &v
122100	return s
122101}
122102
122103// SetProgress sets the Progress field's value.
122104func (s *VolumeModification) SetProgress(v int64) *VolumeModification {
122105	s.Progress = &v
122106	return s
122107}
122108
122109// SetStartTime sets the StartTime field's value.
122110func (s *VolumeModification) SetStartTime(v time.Time) *VolumeModification {
122111	s.StartTime = &v
122112	return s
122113}
122114
122115// SetStatusMessage sets the StatusMessage field's value.
122116func (s *VolumeModification) SetStatusMessage(v string) *VolumeModification {
122117	s.StatusMessage = &v
122118	return s
122119}
122120
122121// SetTargetIops sets the TargetIops field's value.
122122func (s *VolumeModification) SetTargetIops(v int64) *VolumeModification {
122123	s.TargetIops = &v
122124	return s
122125}
122126
122127// SetTargetMultiAttachEnabled sets the TargetMultiAttachEnabled field's value.
122128func (s *VolumeModification) SetTargetMultiAttachEnabled(v bool) *VolumeModification {
122129	s.TargetMultiAttachEnabled = &v
122130	return s
122131}
122132
122133// SetTargetSize sets the TargetSize field's value.
122134func (s *VolumeModification) SetTargetSize(v int64) *VolumeModification {
122135	s.TargetSize = &v
122136	return s
122137}
122138
122139// SetTargetThroughput sets the TargetThroughput field's value.
122140func (s *VolumeModification) SetTargetThroughput(v int64) *VolumeModification {
122141	s.TargetThroughput = &v
122142	return s
122143}
122144
122145// SetTargetVolumeType sets the TargetVolumeType field's value.
122146func (s *VolumeModification) SetTargetVolumeType(v string) *VolumeModification {
122147	s.TargetVolumeType = &v
122148	return s
122149}
122150
122151// SetVolumeId sets the VolumeId field's value.
122152func (s *VolumeModification) SetVolumeId(v string) *VolumeModification {
122153	s.VolumeId = &v
122154	return s
122155}
122156
122157// Describes a volume status operation code.
122158type VolumeStatusAction struct {
122159	_ struct{} `type:"structure"`
122160
122161	// The code identifying the operation, for example, enable-volume-io.
122162	Code *string `locationName:"code" type:"string"`
122163
122164	// A description of the operation.
122165	Description *string `locationName:"description" type:"string"`
122166
122167	// The ID of the event associated with this operation.
122168	EventId *string `locationName:"eventId" type:"string"`
122169
122170	// The event type associated with this operation.
122171	EventType *string `locationName:"eventType" type:"string"`
122172}
122173
122174// String returns the string representation
122175func (s VolumeStatusAction) String() string {
122176	return awsutil.Prettify(s)
122177}
122178
122179// GoString returns the string representation
122180func (s VolumeStatusAction) GoString() string {
122181	return s.String()
122182}
122183
122184// SetCode sets the Code field's value.
122185func (s *VolumeStatusAction) SetCode(v string) *VolumeStatusAction {
122186	s.Code = &v
122187	return s
122188}
122189
122190// SetDescription sets the Description field's value.
122191func (s *VolumeStatusAction) SetDescription(v string) *VolumeStatusAction {
122192	s.Description = &v
122193	return s
122194}
122195
122196// SetEventId sets the EventId field's value.
122197func (s *VolumeStatusAction) SetEventId(v string) *VolumeStatusAction {
122198	s.EventId = &v
122199	return s
122200}
122201
122202// SetEventType sets the EventType field's value.
122203func (s *VolumeStatusAction) SetEventType(v string) *VolumeStatusAction {
122204	s.EventType = &v
122205	return s
122206}
122207
122208// Information about the instances to which the volume is attached.
122209type VolumeStatusAttachmentStatus struct {
122210	_ struct{} `type:"structure"`
122211
122212	// The ID of the attached instance.
122213	InstanceId *string `locationName:"instanceId" type:"string"`
122214
122215	// The maximum IOPS supported by the attached instance.
122216	IoPerformance *string `locationName:"ioPerformance" type:"string"`
122217}
122218
122219// String returns the string representation
122220func (s VolumeStatusAttachmentStatus) String() string {
122221	return awsutil.Prettify(s)
122222}
122223
122224// GoString returns the string representation
122225func (s VolumeStatusAttachmentStatus) GoString() string {
122226	return s.String()
122227}
122228
122229// SetInstanceId sets the InstanceId field's value.
122230func (s *VolumeStatusAttachmentStatus) SetInstanceId(v string) *VolumeStatusAttachmentStatus {
122231	s.InstanceId = &v
122232	return s
122233}
122234
122235// SetIoPerformance sets the IoPerformance field's value.
122236func (s *VolumeStatusAttachmentStatus) SetIoPerformance(v string) *VolumeStatusAttachmentStatus {
122237	s.IoPerformance = &v
122238	return s
122239}
122240
122241// Describes a volume status.
122242type VolumeStatusDetails struct {
122243	_ struct{} `type:"structure"`
122244
122245	// The name of the volume status.
122246	Name *string `locationName:"name" type:"string" enum:"VolumeStatusName"`
122247
122248	// The intended status of the volume status.
122249	Status *string `locationName:"status" type:"string"`
122250}
122251
122252// String returns the string representation
122253func (s VolumeStatusDetails) String() string {
122254	return awsutil.Prettify(s)
122255}
122256
122257// GoString returns the string representation
122258func (s VolumeStatusDetails) GoString() string {
122259	return s.String()
122260}
122261
122262// SetName sets the Name field's value.
122263func (s *VolumeStatusDetails) SetName(v string) *VolumeStatusDetails {
122264	s.Name = &v
122265	return s
122266}
122267
122268// SetStatus sets the Status field's value.
122269func (s *VolumeStatusDetails) SetStatus(v string) *VolumeStatusDetails {
122270	s.Status = &v
122271	return s
122272}
122273
122274// Describes a volume status event.
122275type VolumeStatusEvent struct {
122276	_ struct{} `type:"structure"`
122277
122278	// A description of the event.
122279	Description *string `locationName:"description" type:"string"`
122280
122281	// The ID of this event.
122282	EventId *string `locationName:"eventId" type:"string"`
122283
122284	// The type of this event.
122285	EventType *string `locationName:"eventType" type:"string"`
122286
122287	// The ID of the instance associated with the event.
122288	InstanceId *string `locationName:"instanceId" type:"string"`
122289
122290	// The latest end time of the event.
122291	NotAfter *time.Time `locationName:"notAfter" type:"timestamp"`
122292
122293	// The earliest start time of the event.
122294	NotBefore *time.Time `locationName:"notBefore" type:"timestamp"`
122295}
122296
122297// String returns the string representation
122298func (s VolumeStatusEvent) String() string {
122299	return awsutil.Prettify(s)
122300}
122301
122302// GoString returns the string representation
122303func (s VolumeStatusEvent) GoString() string {
122304	return s.String()
122305}
122306
122307// SetDescription sets the Description field's value.
122308func (s *VolumeStatusEvent) SetDescription(v string) *VolumeStatusEvent {
122309	s.Description = &v
122310	return s
122311}
122312
122313// SetEventId sets the EventId field's value.
122314func (s *VolumeStatusEvent) SetEventId(v string) *VolumeStatusEvent {
122315	s.EventId = &v
122316	return s
122317}
122318
122319// SetEventType sets the EventType field's value.
122320func (s *VolumeStatusEvent) SetEventType(v string) *VolumeStatusEvent {
122321	s.EventType = &v
122322	return s
122323}
122324
122325// SetInstanceId sets the InstanceId field's value.
122326func (s *VolumeStatusEvent) SetInstanceId(v string) *VolumeStatusEvent {
122327	s.InstanceId = &v
122328	return s
122329}
122330
122331// SetNotAfter sets the NotAfter field's value.
122332func (s *VolumeStatusEvent) SetNotAfter(v time.Time) *VolumeStatusEvent {
122333	s.NotAfter = &v
122334	return s
122335}
122336
122337// SetNotBefore sets the NotBefore field's value.
122338func (s *VolumeStatusEvent) SetNotBefore(v time.Time) *VolumeStatusEvent {
122339	s.NotBefore = &v
122340	return s
122341}
122342
122343// Describes the status of a volume.
122344type VolumeStatusInfo struct {
122345	_ struct{} `type:"structure"`
122346
122347	// The details of the volume status.
122348	Details []*VolumeStatusDetails `locationName:"details" locationNameList:"item" type:"list"`
122349
122350	// The status of the volume.
122351	Status *string `locationName:"status" type:"string" enum:"VolumeStatusInfoStatus"`
122352}
122353
122354// String returns the string representation
122355func (s VolumeStatusInfo) String() string {
122356	return awsutil.Prettify(s)
122357}
122358
122359// GoString returns the string representation
122360func (s VolumeStatusInfo) GoString() string {
122361	return s.String()
122362}
122363
122364// SetDetails sets the Details field's value.
122365func (s *VolumeStatusInfo) SetDetails(v []*VolumeStatusDetails) *VolumeStatusInfo {
122366	s.Details = v
122367	return s
122368}
122369
122370// SetStatus sets the Status field's value.
122371func (s *VolumeStatusInfo) SetStatus(v string) *VolumeStatusInfo {
122372	s.Status = &v
122373	return s
122374}
122375
122376// Describes the volume status.
122377type VolumeStatusItem struct {
122378	_ struct{} `type:"structure"`
122379
122380	// The details of the operation.
122381	Actions []*VolumeStatusAction `locationName:"actionsSet" locationNameList:"item" type:"list"`
122382
122383	// Information about the instances to which the volume is attached.
122384	AttachmentStatuses []*VolumeStatusAttachmentStatus `locationName:"attachmentStatuses" locationNameList:"item" type:"list"`
122385
122386	// The Availability Zone of the volume.
122387	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
122388
122389	// A list of events associated with the volume.
122390	Events []*VolumeStatusEvent `locationName:"eventsSet" locationNameList:"item" type:"list"`
122391
122392	// The Amazon Resource Name (ARN) of the Outpost.
122393	OutpostArn *string `locationName:"outpostArn" type:"string"`
122394
122395	// The volume ID.
122396	VolumeId *string `locationName:"volumeId" type:"string"`
122397
122398	// The volume status.
122399	VolumeStatus *VolumeStatusInfo `locationName:"volumeStatus" type:"structure"`
122400}
122401
122402// String returns the string representation
122403func (s VolumeStatusItem) String() string {
122404	return awsutil.Prettify(s)
122405}
122406
122407// GoString returns the string representation
122408func (s VolumeStatusItem) GoString() string {
122409	return s.String()
122410}
122411
122412// SetActions sets the Actions field's value.
122413func (s *VolumeStatusItem) SetActions(v []*VolumeStatusAction) *VolumeStatusItem {
122414	s.Actions = v
122415	return s
122416}
122417
122418// SetAttachmentStatuses sets the AttachmentStatuses field's value.
122419func (s *VolumeStatusItem) SetAttachmentStatuses(v []*VolumeStatusAttachmentStatus) *VolumeStatusItem {
122420	s.AttachmentStatuses = v
122421	return s
122422}
122423
122424// SetAvailabilityZone sets the AvailabilityZone field's value.
122425func (s *VolumeStatusItem) SetAvailabilityZone(v string) *VolumeStatusItem {
122426	s.AvailabilityZone = &v
122427	return s
122428}
122429
122430// SetEvents sets the Events field's value.
122431func (s *VolumeStatusItem) SetEvents(v []*VolumeStatusEvent) *VolumeStatusItem {
122432	s.Events = v
122433	return s
122434}
122435
122436// SetOutpostArn sets the OutpostArn field's value.
122437func (s *VolumeStatusItem) SetOutpostArn(v string) *VolumeStatusItem {
122438	s.OutpostArn = &v
122439	return s
122440}
122441
122442// SetVolumeId sets the VolumeId field's value.
122443func (s *VolumeStatusItem) SetVolumeId(v string) *VolumeStatusItem {
122444	s.VolumeId = &v
122445	return s
122446}
122447
122448// SetVolumeStatus sets the VolumeStatus field's value.
122449func (s *VolumeStatusItem) SetVolumeStatus(v *VolumeStatusInfo) *VolumeStatusItem {
122450	s.VolumeStatus = v
122451	return s
122452}
122453
122454// Describes a VPC.
122455type Vpc struct {
122456	_ struct{} `type:"structure"`
122457
122458	// The primary IPv4 CIDR block for the VPC.
122459	CidrBlock *string `locationName:"cidrBlock" type:"string"`
122460
122461	// Information about the IPv4 CIDR blocks associated with the VPC.
122462	CidrBlockAssociationSet []*VpcCidrBlockAssociation `locationName:"cidrBlockAssociationSet" locationNameList:"item" type:"list"`
122463
122464	// The ID of the set of DHCP options you've associated with the VPC.
122465	DhcpOptionsId *string `locationName:"dhcpOptionsId" type:"string"`
122466
122467	// The allowed tenancy of instances launched into the VPC.
122468	InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
122469
122470	// Information about the IPv6 CIDR blocks associated with the VPC.
122471	Ipv6CidrBlockAssociationSet []*VpcIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociationSet" locationNameList:"item" type:"list"`
122472
122473	// Indicates whether the VPC is the default VPC.
122474	IsDefault *bool `locationName:"isDefault" type:"boolean"`
122475
122476	// The ID of the AWS account that owns the VPC.
122477	OwnerId *string `locationName:"ownerId" type:"string"`
122478
122479	// The current state of the VPC.
122480	State *string `locationName:"state" type:"string" enum:"VpcState"`
122481
122482	// Any tags assigned to the VPC.
122483	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
122484
122485	// The ID of the VPC.
122486	VpcId *string `locationName:"vpcId" type:"string"`
122487}
122488
122489// String returns the string representation
122490func (s Vpc) String() string {
122491	return awsutil.Prettify(s)
122492}
122493
122494// GoString returns the string representation
122495func (s Vpc) GoString() string {
122496	return s.String()
122497}
122498
122499// SetCidrBlock sets the CidrBlock field's value.
122500func (s *Vpc) SetCidrBlock(v string) *Vpc {
122501	s.CidrBlock = &v
122502	return s
122503}
122504
122505// SetCidrBlockAssociationSet sets the CidrBlockAssociationSet field's value.
122506func (s *Vpc) SetCidrBlockAssociationSet(v []*VpcCidrBlockAssociation) *Vpc {
122507	s.CidrBlockAssociationSet = v
122508	return s
122509}
122510
122511// SetDhcpOptionsId sets the DhcpOptionsId field's value.
122512func (s *Vpc) SetDhcpOptionsId(v string) *Vpc {
122513	s.DhcpOptionsId = &v
122514	return s
122515}
122516
122517// SetInstanceTenancy sets the InstanceTenancy field's value.
122518func (s *Vpc) SetInstanceTenancy(v string) *Vpc {
122519	s.InstanceTenancy = &v
122520	return s
122521}
122522
122523// SetIpv6CidrBlockAssociationSet sets the Ipv6CidrBlockAssociationSet field's value.
122524func (s *Vpc) SetIpv6CidrBlockAssociationSet(v []*VpcIpv6CidrBlockAssociation) *Vpc {
122525	s.Ipv6CidrBlockAssociationSet = v
122526	return s
122527}
122528
122529// SetIsDefault sets the IsDefault field's value.
122530func (s *Vpc) SetIsDefault(v bool) *Vpc {
122531	s.IsDefault = &v
122532	return s
122533}
122534
122535// SetOwnerId sets the OwnerId field's value.
122536func (s *Vpc) SetOwnerId(v string) *Vpc {
122537	s.OwnerId = &v
122538	return s
122539}
122540
122541// SetState sets the State field's value.
122542func (s *Vpc) SetState(v string) *Vpc {
122543	s.State = &v
122544	return s
122545}
122546
122547// SetTags sets the Tags field's value.
122548func (s *Vpc) SetTags(v []*Tag) *Vpc {
122549	s.Tags = v
122550	return s
122551}
122552
122553// SetVpcId sets the VpcId field's value.
122554func (s *Vpc) SetVpcId(v string) *Vpc {
122555	s.VpcId = &v
122556	return s
122557}
122558
122559// Describes an attachment between a virtual private gateway and a VPC.
122560type VpcAttachment struct {
122561	_ struct{} `type:"structure"`
122562
122563	// The current state of the attachment.
122564	State *string `locationName:"state" type:"string" enum:"AttachmentStatus"`
122565
122566	// The ID of the VPC.
122567	VpcId *string `locationName:"vpcId" type:"string"`
122568}
122569
122570// String returns the string representation
122571func (s VpcAttachment) String() string {
122572	return awsutil.Prettify(s)
122573}
122574
122575// GoString returns the string representation
122576func (s VpcAttachment) GoString() string {
122577	return s.String()
122578}
122579
122580// SetState sets the State field's value.
122581func (s *VpcAttachment) SetState(v string) *VpcAttachment {
122582	s.State = &v
122583	return s
122584}
122585
122586// SetVpcId sets the VpcId field's value.
122587func (s *VpcAttachment) SetVpcId(v string) *VpcAttachment {
122588	s.VpcId = &v
122589	return s
122590}
122591
122592// Describes an IPv4 CIDR block associated with a VPC.
122593type VpcCidrBlockAssociation struct {
122594	_ struct{} `type:"structure"`
122595
122596	// The association ID for the IPv4 CIDR block.
122597	AssociationId *string `locationName:"associationId" type:"string"`
122598
122599	// The IPv4 CIDR block.
122600	CidrBlock *string `locationName:"cidrBlock" type:"string"`
122601
122602	// Information about the state of the CIDR block.
122603	CidrBlockState *VpcCidrBlockState `locationName:"cidrBlockState" type:"structure"`
122604}
122605
122606// String returns the string representation
122607func (s VpcCidrBlockAssociation) String() string {
122608	return awsutil.Prettify(s)
122609}
122610
122611// GoString returns the string representation
122612func (s VpcCidrBlockAssociation) GoString() string {
122613	return s.String()
122614}
122615
122616// SetAssociationId sets the AssociationId field's value.
122617func (s *VpcCidrBlockAssociation) SetAssociationId(v string) *VpcCidrBlockAssociation {
122618	s.AssociationId = &v
122619	return s
122620}
122621
122622// SetCidrBlock sets the CidrBlock field's value.
122623func (s *VpcCidrBlockAssociation) SetCidrBlock(v string) *VpcCidrBlockAssociation {
122624	s.CidrBlock = &v
122625	return s
122626}
122627
122628// SetCidrBlockState sets the CidrBlockState field's value.
122629func (s *VpcCidrBlockAssociation) SetCidrBlockState(v *VpcCidrBlockState) *VpcCidrBlockAssociation {
122630	s.CidrBlockState = v
122631	return s
122632}
122633
122634// Describes the state of a CIDR block.
122635type VpcCidrBlockState struct {
122636	_ struct{} `type:"structure"`
122637
122638	// The state of the CIDR block.
122639	State *string `locationName:"state" type:"string" enum:"VpcCidrBlockStateCode"`
122640
122641	// A message about the status of the CIDR block, if applicable.
122642	StatusMessage *string `locationName:"statusMessage" type:"string"`
122643}
122644
122645// String returns the string representation
122646func (s VpcCidrBlockState) String() string {
122647	return awsutil.Prettify(s)
122648}
122649
122650// GoString returns the string representation
122651func (s VpcCidrBlockState) GoString() string {
122652	return s.String()
122653}
122654
122655// SetState sets the State field's value.
122656func (s *VpcCidrBlockState) SetState(v string) *VpcCidrBlockState {
122657	s.State = &v
122658	return s
122659}
122660
122661// SetStatusMessage sets the StatusMessage field's value.
122662func (s *VpcCidrBlockState) SetStatusMessage(v string) *VpcCidrBlockState {
122663	s.StatusMessage = &v
122664	return s
122665}
122666
122667// Describes whether a VPC is enabled for ClassicLink.
122668type VpcClassicLink struct {
122669	_ struct{} `type:"structure"`
122670
122671	// Indicates whether the VPC is enabled for ClassicLink.
122672	ClassicLinkEnabled *bool `locationName:"classicLinkEnabled" type:"boolean"`
122673
122674	// Any tags assigned to the VPC.
122675	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
122676
122677	// The ID of the VPC.
122678	VpcId *string `locationName:"vpcId" type:"string"`
122679}
122680
122681// String returns the string representation
122682func (s VpcClassicLink) String() string {
122683	return awsutil.Prettify(s)
122684}
122685
122686// GoString returns the string representation
122687func (s VpcClassicLink) GoString() string {
122688	return s.String()
122689}
122690
122691// SetClassicLinkEnabled sets the ClassicLinkEnabled field's value.
122692func (s *VpcClassicLink) SetClassicLinkEnabled(v bool) *VpcClassicLink {
122693	s.ClassicLinkEnabled = &v
122694	return s
122695}
122696
122697// SetTags sets the Tags field's value.
122698func (s *VpcClassicLink) SetTags(v []*Tag) *VpcClassicLink {
122699	s.Tags = v
122700	return s
122701}
122702
122703// SetVpcId sets the VpcId field's value.
122704func (s *VpcClassicLink) SetVpcId(v string) *VpcClassicLink {
122705	s.VpcId = &v
122706	return s
122707}
122708
122709// Describes a VPC endpoint.
122710type VpcEndpoint struct {
122711	_ struct{} `type:"structure"`
122712
122713	// The date and time that the VPC endpoint was created.
122714	CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp"`
122715
122716	// (Interface endpoint) The DNS entries for the endpoint.
122717	DnsEntries []*DnsEntry `locationName:"dnsEntrySet" locationNameList:"item" type:"list"`
122718
122719	// (Interface endpoint) Information about the security groups that are associated
122720	// with the network interface.
122721	Groups []*SecurityGroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
122722
122723	// The last error that occurred for VPC endpoint.
122724	LastError *LastError `locationName:"lastError" type:"structure"`
122725
122726	// (Interface endpoint) One or more network interfaces for the endpoint.
122727	NetworkInterfaceIds []*string `locationName:"networkInterfaceIdSet" locationNameList:"item" type:"list"`
122728
122729	// The ID of the AWS account that owns the VPC endpoint.
122730	OwnerId *string `locationName:"ownerId" type:"string"`
122731
122732	// The policy document associated with the endpoint, if applicable.
122733	PolicyDocument *string `locationName:"policyDocument" type:"string"`
122734
122735	// (Interface endpoint) Indicates whether the VPC is associated with a private
122736	// hosted zone.
122737	PrivateDnsEnabled *bool `locationName:"privateDnsEnabled" type:"boolean"`
122738
122739	// Indicates whether the VPC endpoint is being managed by its service.
122740	RequesterManaged *bool `locationName:"requesterManaged" type:"boolean"`
122741
122742	// (Gateway endpoint) One or more route tables associated with the endpoint.
122743	RouteTableIds []*string `locationName:"routeTableIdSet" locationNameList:"item" type:"list"`
122744
122745	// The name of the service to which the endpoint is associated.
122746	ServiceName *string `locationName:"serviceName" type:"string"`
122747
122748	// The state of the VPC endpoint.
122749	State *string `locationName:"state" type:"string" enum:"State"`
122750
122751	// (Interface endpoint) One or more subnets in which the endpoint is located.
122752	SubnetIds []*string `locationName:"subnetIdSet" locationNameList:"item" type:"list"`
122753
122754	// Any tags assigned to the VPC endpoint.
122755	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
122756
122757	// The ID of the VPC endpoint.
122758	VpcEndpointId *string `locationName:"vpcEndpointId" type:"string"`
122759
122760	// The type of endpoint.
122761	VpcEndpointType *string `locationName:"vpcEndpointType" type:"string" enum:"VpcEndpointType"`
122762
122763	// The ID of the VPC to which the endpoint is associated.
122764	VpcId *string `locationName:"vpcId" type:"string"`
122765}
122766
122767// String returns the string representation
122768func (s VpcEndpoint) String() string {
122769	return awsutil.Prettify(s)
122770}
122771
122772// GoString returns the string representation
122773func (s VpcEndpoint) GoString() string {
122774	return s.String()
122775}
122776
122777// SetCreationTimestamp sets the CreationTimestamp field's value.
122778func (s *VpcEndpoint) SetCreationTimestamp(v time.Time) *VpcEndpoint {
122779	s.CreationTimestamp = &v
122780	return s
122781}
122782
122783// SetDnsEntries sets the DnsEntries field's value.
122784func (s *VpcEndpoint) SetDnsEntries(v []*DnsEntry) *VpcEndpoint {
122785	s.DnsEntries = v
122786	return s
122787}
122788
122789// SetGroups sets the Groups field's value.
122790func (s *VpcEndpoint) SetGroups(v []*SecurityGroupIdentifier) *VpcEndpoint {
122791	s.Groups = v
122792	return s
122793}
122794
122795// SetLastError sets the LastError field's value.
122796func (s *VpcEndpoint) SetLastError(v *LastError) *VpcEndpoint {
122797	s.LastError = v
122798	return s
122799}
122800
122801// SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value.
122802func (s *VpcEndpoint) SetNetworkInterfaceIds(v []*string) *VpcEndpoint {
122803	s.NetworkInterfaceIds = v
122804	return s
122805}
122806
122807// SetOwnerId sets the OwnerId field's value.
122808func (s *VpcEndpoint) SetOwnerId(v string) *VpcEndpoint {
122809	s.OwnerId = &v
122810	return s
122811}
122812
122813// SetPolicyDocument sets the PolicyDocument field's value.
122814func (s *VpcEndpoint) SetPolicyDocument(v string) *VpcEndpoint {
122815	s.PolicyDocument = &v
122816	return s
122817}
122818
122819// SetPrivateDnsEnabled sets the PrivateDnsEnabled field's value.
122820func (s *VpcEndpoint) SetPrivateDnsEnabled(v bool) *VpcEndpoint {
122821	s.PrivateDnsEnabled = &v
122822	return s
122823}
122824
122825// SetRequesterManaged sets the RequesterManaged field's value.
122826func (s *VpcEndpoint) SetRequesterManaged(v bool) *VpcEndpoint {
122827	s.RequesterManaged = &v
122828	return s
122829}
122830
122831// SetRouteTableIds sets the RouteTableIds field's value.
122832func (s *VpcEndpoint) SetRouteTableIds(v []*string) *VpcEndpoint {
122833	s.RouteTableIds = v
122834	return s
122835}
122836
122837// SetServiceName sets the ServiceName field's value.
122838func (s *VpcEndpoint) SetServiceName(v string) *VpcEndpoint {
122839	s.ServiceName = &v
122840	return s
122841}
122842
122843// SetState sets the State field's value.
122844func (s *VpcEndpoint) SetState(v string) *VpcEndpoint {
122845	s.State = &v
122846	return s
122847}
122848
122849// SetSubnetIds sets the SubnetIds field's value.
122850func (s *VpcEndpoint) SetSubnetIds(v []*string) *VpcEndpoint {
122851	s.SubnetIds = v
122852	return s
122853}
122854
122855// SetTags sets the Tags field's value.
122856func (s *VpcEndpoint) SetTags(v []*Tag) *VpcEndpoint {
122857	s.Tags = v
122858	return s
122859}
122860
122861// SetVpcEndpointId sets the VpcEndpointId field's value.
122862func (s *VpcEndpoint) SetVpcEndpointId(v string) *VpcEndpoint {
122863	s.VpcEndpointId = &v
122864	return s
122865}
122866
122867// SetVpcEndpointType sets the VpcEndpointType field's value.
122868func (s *VpcEndpoint) SetVpcEndpointType(v string) *VpcEndpoint {
122869	s.VpcEndpointType = &v
122870	return s
122871}
122872
122873// SetVpcId sets the VpcId field's value.
122874func (s *VpcEndpoint) SetVpcId(v string) *VpcEndpoint {
122875	s.VpcId = &v
122876	return s
122877}
122878
122879// Describes a VPC endpoint connection to a service.
122880type VpcEndpointConnection struct {
122881	_ struct{} `type:"structure"`
122882
122883	// The date and time that the VPC endpoint was created.
122884	CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp"`
122885
122886	// The DNS entries for the VPC endpoint.
122887	DnsEntries []*DnsEntry `locationName:"dnsEntrySet" locationNameList:"item" type:"list"`
122888
122889	// The Amazon Resource Names (ARNs) of the Gateway Load Balancers for the service.
122890	GatewayLoadBalancerArns []*string `locationName:"gatewayLoadBalancerArnSet" locationNameList:"item" type:"list"`
122891
122892	// The Amazon Resource Names (ARNs) of the network load balancers for the service.
122893	NetworkLoadBalancerArns []*string `locationName:"networkLoadBalancerArnSet" locationNameList:"item" type:"list"`
122894
122895	// The ID of the service to which the endpoint is connected.
122896	ServiceId *string `locationName:"serviceId" type:"string"`
122897
122898	// The ID of the VPC endpoint.
122899	VpcEndpointId *string `locationName:"vpcEndpointId" type:"string"`
122900
122901	// The AWS account ID of the owner of the VPC endpoint.
122902	VpcEndpointOwner *string `locationName:"vpcEndpointOwner" type:"string"`
122903
122904	// The state of the VPC endpoint.
122905	VpcEndpointState *string `locationName:"vpcEndpointState" type:"string" enum:"State"`
122906}
122907
122908// String returns the string representation
122909func (s VpcEndpointConnection) String() string {
122910	return awsutil.Prettify(s)
122911}
122912
122913// GoString returns the string representation
122914func (s VpcEndpointConnection) GoString() string {
122915	return s.String()
122916}
122917
122918// SetCreationTimestamp sets the CreationTimestamp field's value.
122919func (s *VpcEndpointConnection) SetCreationTimestamp(v time.Time) *VpcEndpointConnection {
122920	s.CreationTimestamp = &v
122921	return s
122922}
122923
122924// SetDnsEntries sets the DnsEntries field's value.
122925func (s *VpcEndpointConnection) SetDnsEntries(v []*DnsEntry) *VpcEndpointConnection {
122926	s.DnsEntries = v
122927	return s
122928}
122929
122930// SetGatewayLoadBalancerArns sets the GatewayLoadBalancerArns field's value.
122931func (s *VpcEndpointConnection) SetGatewayLoadBalancerArns(v []*string) *VpcEndpointConnection {
122932	s.GatewayLoadBalancerArns = v
122933	return s
122934}
122935
122936// SetNetworkLoadBalancerArns sets the NetworkLoadBalancerArns field's value.
122937func (s *VpcEndpointConnection) SetNetworkLoadBalancerArns(v []*string) *VpcEndpointConnection {
122938	s.NetworkLoadBalancerArns = v
122939	return s
122940}
122941
122942// SetServiceId sets the ServiceId field's value.
122943func (s *VpcEndpointConnection) SetServiceId(v string) *VpcEndpointConnection {
122944	s.ServiceId = &v
122945	return s
122946}
122947
122948// SetVpcEndpointId sets the VpcEndpointId field's value.
122949func (s *VpcEndpointConnection) SetVpcEndpointId(v string) *VpcEndpointConnection {
122950	s.VpcEndpointId = &v
122951	return s
122952}
122953
122954// SetVpcEndpointOwner sets the VpcEndpointOwner field's value.
122955func (s *VpcEndpointConnection) SetVpcEndpointOwner(v string) *VpcEndpointConnection {
122956	s.VpcEndpointOwner = &v
122957	return s
122958}
122959
122960// SetVpcEndpointState sets the VpcEndpointState field's value.
122961func (s *VpcEndpointConnection) SetVpcEndpointState(v string) *VpcEndpointConnection {
122962	s.VpcEndpointState = &v
122963	return s
122964}
122965
122966// Describes an IPv6 CIDR block associated with a VPC.
122967type VpcIpv6CidrBlockAssociation struct {
122968	_ struct{} `type:"structure"`
122969
122970	// The association ID for the IPv6 CIDR block.
122971	AssociationId *string `locationName:"associationId" type:"string"`
122972
122973	// The IPv6 CIDR block.
122974	Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
122975
122976	// Information about the state of the CIDR block.
122977	Ipv6CidrBlockState *VpcCidrBlockState `locationName:"ipv6CidrBlockState" type:"structure"`
122978
122979	// The ID of the IPv6 address pool from which the IPv6 CIDR block is allocated.
122980	Ipv6Pool *string `locationName:"ipv6Pool" type:"string"`
122981
122982	// The name of the unique set of Availability Zones, Local Zones, or Wavelength
122983	// Zones from which AWS advertises IP addresses, for example, us-east-1-wl1-bos-wlz-1.
122984	NetworkBorderGroup *string `locationName:"networkBorderGroup" type:"string"`
122985}
122986
122987// String returns the string representation
122988func (s VpcIpv6CidrBlockAssociation) String() string {
122989	return awsutil.Prettify(s)
122990}
122991
122992// GoString returns the string representation
122993func (s VpcIpv6CidrBlockAssociation) GoString() string {
122994	return s.String()
122995}
122996
122997// SetAssociationId sets the AssociationId field's value.
122998func (s *VpcIpv6CidrBlockAssociation) SetAssociationId(v string) *VpcIpv6CidrBlockAssociation {
122999	s.AssociationId = &v
123000	return s
123001}
123002
123003// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
123004func (s *VpcIpv6CidrBlockAssociation) SetIpv6CidrBlock(v string) *VpcIpv6CidrBlockAssociation {
123005	s.Ipv6CidrBlock = &v
123006	return s
123007}
123008
123009// SetIpv6CidrBlockState sets the Ipv6CidrBlockState field's value.
123010func (s *VpcIpv6CidrBlockAssociation) SetIpv6CidrBlockState(v *VpcCidrBlockState) *VpcIpv6CidrBlockAssociation {
123011	s.Ipv6CidrBlockState = v
123012	return s
123013}
123014
123015// SetIpv6Pool sets the Ipv6Pool field's value.
123016func (s *VpcIpv6CidrBlockAssociation) SetIpv6Pool(v string) *VpcIpv6CidrBlockAssociation {
123017	s.Ipv6Pool = &v
123018	return s
123019}
123020
123021// SetNetworkBorderGroup sets the NetworkBorderGroup field's value.
123022func (s *VpcIpv6CidrBlockAssociation) SetNetworkBorderGroup(v string) *VpcIpv6CidrBlockAssociation {
123023	s.NetworkBorderGroup = &v
123024	return s
123025}
123026
123027// Describes a VPC peering connection.
123028type VpcPeeringConnection struct {
123029	_ struct{} `type:"structure"`
123030
123031	// Information about the accepter VPC. CIDR block information is only returned
123032	// when describing an active VPC peering connection.
123033	AccepterVpcInfo *VpcPeeringConnectionVpcInfo `locationName:"accepterVpcInfo" type:"structure"`
123034
123035	// The time that an unaccepted VPC peering connection will expire.
123036	ExpirationTime *time.Time `locationName:"expirationTime" type:"timestamp"`
123037
123038	// Information about the requester VPC. CIDR block information is only returned
123039	// when describing an active VPC peering connection.
123040	RequesterVpcInfo *VpcPeeringConnectionVpcInfo `locationName:"requesterVpcInfo" type:"structure"`
123041
123042	// The status of the VPC peering connection.
123043	Status *VpcPeeringConnectionStateReason `locationName:"status" type:"structure"`
123044
123045	// Any tags assigned to the resource.
123046	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
123047
123048	// The ID of the VPC peering connection.
123049	VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
123050}
123051
123052// String returns the string representation
123053func (s VpcPeeringConnection) String() string {
123054	return awsutil.Prettify(s)
123055}
123056
123057// GoString returns the string representation
123058func (s VpcPeeringConnection) GoString() string {
123059	return s.String()
123060}
123061
123062// SetAccepterVpcInfo sets the AccepterVpcInfo field's value.
123063func (s *VpcPeeringConnection) SetAccepterVpcInfo(v *VpcPeeringConnectionVpcInfo) *VpcPeeringConnection {
123064	s.AccepterVpcInfo = v
123065	return s
123066}
123067
123068// SetExpirationTime sets the ExpirationTime field's value.
123069func (s *VpcPeeringConnection) SetExpirationTime(v time.Time) *VpcPeeringConnection {
123070	s.ExpirationTime = &v
123071	return s
123072}
123073
123074// SetRequesterVpcInfo sets the RequesterVpcInfo field's value.
123075func (s *VpcPeeringConnection) SetRequesterVpcInfo(v *VpcPeeringConnectionVpcInfo) *VpcPeeringConnection {
123076	s.RequesterVpcInfo = v
123077	return s
123078}
123079
123080// SetStatus sets the Status field's value.
123081func (s *VpcPeeringConnection) SetStatus(v *VpcPeeringConnectionStateReason) *VpcPeeringConnection {
123082	s.Status = v
123083	return s
123084}
123085
123086// SetTags sets the Tags field's value.
123087func (s *VpcPeeringConnection) SetTags(v []*Tag) *VpcPeeringConnection {
123088	s.Tags = v
123089	return s
123090}
123091
123092// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
123093func (s *VpcPeeringConnection) SetVpcPeeringConnectionId(v string) *VpcPeeringConnection {
123094	s.VpcPeeringConnectionId = &v
123095	return s
123096}
123097
123098// Describes the VPC peering connection options.
123099type VpcPeeringConnectionOptionsDescription struct {
123100	_ struct{} `type:"structure"`
123101
123102	// Indicates whether a local VPC can resolve public DNS hostnames to private
123103	// IP addresses when queried from instances in a peer VPC.
123104	AllowDnsResolutionFromRemoteVpc *bool `locationName:"allowDnsResolutionFromRemoteVpc" type:"boolean"`
123105
123106	// Indicates whether a local ClassicLink connection can communicate with the
123107	// peer VPC over the VPC peering connection.
123108	AllowEgressFromLocalClassicLinkToRemoteVpc *bool `locationName:"allowEgressFromLocalClassicLinkToRemoteVpc" type:"boolean"`
123109
123110	// Indicates whether a local VPC can communicate with a ClassicLink connection
123111	// in the peer VPC over the VPC peering connection.
123112	AllowEgressFromLocalVpcToRemoteClassicLink *bool `locationName:"allowEgressFromLocalVpcToRemoteClassicLink" type:"boolean"`
123113}
123114
123115// String returns the string representation
123116func (s VpcPeeringConnectionOptionsDescription) String() string {
123117	return awsutil.Prettify(s)
123118}
123119
123120// GoString returns the string representation
123121func (s VpcPeeringConnectionOptionsDescription) GoString() string {
123122	return s.String()
123123}
123124
123125// SetAllowDnsResolutionFromRemoteVpc sets the AllowDnsResolutionFromRemoteVpc field's value.
123126func (s *VpcPeeringConnectionOptionsDescription) SetAllowDnsResolutionFromRemoteVpc(v bool) *VpcPeeringConnectionOptionsDescription {
123127	s.AllowDnsResolutionFromRemoteVpc = &v
123128	return s
123129}
123130
123131// SetAllowEgressFromLocalClassicLinkToRemoteVpc sets the AllowEgressFromLocalClassicLinkToRemoteVpc field's value.
123132func (s *VpcPeeringConnectionOptionsDescription) SetAllowEgressFromLocalClassicLinkToRemoteVpc(v bool) *VpcPeeringConnectionOptionsDescription {
123133	s.AllowEgressFromLocalClassicLinkToRemoteVpc = &v
123134	return s
123135}
123136
123137// SetAllowEgressFromLocalVpcToRemoteClassicLink sets the AllowEgressFromLocalVpcToRemoteClassicLink field's value.
123138func (s *VpcPeeringConnectionOptionsDescription) SetAllowEgressFromLocalVpcToRemoteClassicLink(v bool) *VpcPeeringConnectionOptionsDescription {
123139	s.AllowEgressFromLocalVpcToRemoteClassicLink = &v
123140	return s
123141}
123142
123143// Describes the status of a VPC peering connection.
123144type VpcPeeringConnectionStateReason struct {
123145	_ struct{} `type:"structure"`
123146
123147	// The status of the VPC peering connection.
123148	Code *string `locationName:"code" type:"string" enum:"VpcPeeringConnectionStateReasonCode"`
123149
123150	// A message that provides more information about the status, if applicable.
123151	Message *string `locationName:"message" type:"string"`
123152}
123153
123154// String returns the string representation
123155func (s VpcPeeringConnectionStateReason) String() string {
123156	return awsutil.Prettify(s)
123157}
123158
123159// GoString returns the string representation
123160func (s VpcPeeringConnectionStateReason) GoString() string {
123161	return s.String()
123162}
123163
123164// SetCode sets the Code field's value.
123165func (s *VpcPeeringConnectionStateReason) SetCode(v string) *VpcPeeringConnectionStateReason {
123166	s.Code = &v
123167	return s
123168}
123169
123170// SetMessage sets the Message field's value.
123171func (s *VpcPeeringConnectionStateReason) SetMessage(v string) *VpcPeeringConnectionStateReason {
123172	s.Message = &v
123173	return s
123174}
123175
123176// Describes a VPC in a VPC peering connection.
123177type VpcPeeringConnectionVpcInfo struct {
123178	_ struct{} `type:"structure"`
123179
123180	// The IPv4 CIDR block for the VPC.
123181	CidrBlock *string `locationName:"cidrBlock" type:"string"`
123182
123183	// Information about the IPv4 CIDR blocks for the VPC.
123184	CidrBlockSet []*CidrBlock `locationName:"cidrBlockSet" locationNameList:"item" type:"list"`
123185
123186	// The IPv6 CIDR block for the VPC.
123187	Ipv6CidrBlockSet []*Ipv6CidrBlock `locationName:"ipv6CidrBlockSet" locationNameList:"item" type:"list"`
123188
123189	// The AWS account ID of the VPC owner.
123190	OwnerId *string `locationName:"ownerId" type:"string"`
123191
123192	// Information about the VPC peering connection options for the accepter or
123193	// requester VPC.
123194	PeeringOptions *VpcPeeringConnectionOptionsDescription `locationName:"peeringOptions" type:"structure"`
123195
123196	// The Region in which the VPC is located.
123197	Region *string `locationName:"region" type:"string"`
123198
123199	// The ID of the VPC.
123200	VpcId *string `locationName:"vpcId" type:"string"`
123201}
123202
123203// String returns the string representation
123204func (s VpcPeeringConnectionVpcInfo) String() string {
123205	return awsutil.Prettify(s)
123206}
123207
123208// GoString returns the string representation
123209func (s VpcPeeringConnectionVpcInfo) GoString() string {
123210	return s.String()
123211}
123212
123213// SetCidrBlock sets the CidrBlock field's value.
123214func (s *VpcPeeringConnectionVpcInfo) SetCidrBlock(v string) *VpcPeeringConnectionVpcInfo {
123215	s.CidrBlock = &v
123216	return s
123217}
123218
123219// SetCidrBlockSet sets the CidrBlockSet field's value.
123220func (s *VpcPeeringConnectionVpcInfo) SetCidrBlockSet(v []*CidrBlock) *VpcPeeringConnectionVpcInfo {
123221	s.CidrBlockSet = v
123222	return s
123223}
123224
123225// SetIpv6CidrBlockSet sets the Ipv6CidrBlockSet field's value.
123226func (s *VpcPeeringConnectionVpcInfo) SetIpv6CidrBlockSet(v []*Ipv6CidrBlock) *VpcPeeringConnectionVpcInfo {
123227	s.Ipv6CidrBlockSet = v
123228	return s
123229}
123230
123231// SetOwnerId sets the OwnerId field's value.
123232func (s *VpcPeeringConnectionVpcInfo) SetOwnerId(v string) *VpcPeeringConnectionVpcInfo {
123233	s.OwnerId = &v
123234	return s
123235}
123236
123237// SetPeeringOptions sets the PeeringOptions field's value.
123238func (s *VpcPeeringConnectionVpcInfo) SetPeeringOptions(v *VpcPeeringConnectionOptionsDescription) *VpcPeeringConnectionVpcInfo {
123239	s.PeeringOptions = v
123240	return s
123241}
123242
123243// SetRegion sets the Region field's value.
123244func (s *VpcPeeringConnectionVpcInfo) SetRegion(v string) *VpcPeeringConnectionVpcInfo {
123245	s.Region = &v
123246	return s
123247}
123248
123249// SetVpcId sets the VpcId field's value.
123250func (s *VpcPeeringConnectionVpcInfo) SetVpcId(v string) *VpcPeeringConnectionVpcInfo {
123251	s.VpcId = &v
123252	return s
123253}
123254
123255// Describes a VPN connection.
123256type VpnConnection struct {
123257	_ struct{} `type:"structure"`
123258
123259	// The category of the VPN connection. A value of VPN indicates an AWS VPN connection.
123260	// A value of VPN-Classic indicates an AWS Classic VPN connection.
123261	Category *string `locationName:"category" type:"string"`
123262
123263	// The configuration information for the VPN connection's customer gateway (in
123264	// the native XML format). This element is always present in the CreateVpnConnection
123265	// response; however, it's present in the DescribeVpnConnections response only
123266	// if the VPN connection is in the pending or available state.
123267	CustomerGatewayConfiguration *string `locationName:"customerGatewayConfiguration" type:"string"`
123268
123269	// The ID of the customer gateway at your end of the VPN connection.
123270	CustomerGatewayId *string `locationName:"customerGatewayId" type:"string"`
123271
123272	// The VPN connection options.
123273	Options *VpnConnectionOptions `locationName:"options" type:"structure"`
123274
123275	// The static routes associated with the VPN connection.
123276	Routes []*VpnStaticRoute `locationName:"routes" locationNameList:"item" type:"list"`
123277
123278	// The current state of the VPN connection.
123279	State *string `locationName:"state" type:"string" enum:"VpnState"`
123280
123281	// Any tags assigned to the VPN connection.
123282	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
123283
123284	// The ID of the transit gateway associated with the VPN connection.
123285	TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
123286
123287	// The type of VPN connection.
123288	Type *string `locationName:"type" type:"string" enum:"GatewayType"`
123289
123290	// Information about the VPN tunnel.
123291	VgwTelemetry []*VgwTelemetry `locationName:"vgwTelemetry" locationNameList:"item" type:"list"`
123292
123293	// The ID of the VPN connection.
123294	VpnConnectionId *string `locationName:"vpnConnectionId" type:"string"`
123295
123296	// The ID of the virtual private gateway at the AWS side of the VPN connection.
123297	VpnGatewayId *string `locationName:"vpnGatewayId" type:"string"`
123298}
123299
123300// String returns the string representation
123301func (s VpnConnection) String() string {
123302	return awsutil.Prettify(s)
123303}
123304
123305// GoString returns the string representation
123306func (s VpnConnection) GoString() string {
123307	return s.String()
123308}
123309
123310// SetCategory sets the Category field's value.
123311func (s *VpnConnection) SetCategory(v string) *VpnConnection {
123312	s.Category = &v
123313	return s
123314}
123315
123316// SetCustomerGatewayConfiguration sets the CustomerGatewayConfiguration field's value.
123317func (s *VpnConnection) SetCustomerGatewayConfiguration(v string) *VpnConnection {
123318	s.CustomerGatewayConfiguration = &v
123319	return s
123320}
123321
123322// SetCustomerGatewayId sets the CustomerGatewayId field's value.
123323func (s *VpnConnection) SetCustomerGatewayId(v string) *VpnConnection {
123324	s.CustomerGatewayId = &v
123325	return s
123326}
123327
123328// SetOptions sets the Options field's value.
123329func (s *VpnConnection) SetOptions(v *VpnConnectionOptions) *VpnConnection {
123330	s.Options = v
123331	return s
123332}
123333
123334// SetRoutes sets the Routes field's value.
123335func (s *VpnConnection) SetRoutes(v []*VpnStaticRoute) *VpnConnection {
123336	s.Routes = v
123337	return s
123338}
123339
123340// SetState sets the State field's value.
123341func (s *VpnConnection) SetState(v string) *VpnConnection {
123342	s.State = &v
123343	return s
123344}
123345
123346// SetTags sets the Tags field's value.
123347func (s *VpnConnection) SetTags(v []*Tag) *VpnConnection {
123348	s.Tags = v
123349	return s
123350}
123351
123352// SetTransitGatewayId sets the TransitGatewayId field's value.
123353func (s *VpnConnection) SetTransitGatewayId(v string) *VpnConnection {
123354	s.TransitGatewayId = &v
123355	return s
123356}
123357
123358// SetType sets the Type field's value.
123359func (s *VpnConnection) SetType(v string) *VpnConnection {
123360	s.Type = &v
123361	return s
123362}
123363
123364// SetVgwTelemetry sets the VgwTelemetry field's value.
123365func (s *VpnConnection) SetVgwTelemetry(v []*VgwTelemetry) *VpnConnection {
123366	s.VgwTelemetry = v
123367	return s
123368}
123369
123370// SetVpnConnectionId sets the VpnConnectionId field's value.
123371func (s *VpnConnection) SetVpnConnectionId(v string) *VpnConnection {
123372	s.VpnConnectionId = &v
123373	return s
123374}
123375
123376// SetVpnGatewayId sets the VpnGatewayId field's value.
123377func (s *VpnConnection) SetVpnGatewayId(v string) *VpnConnection {
123378	s.VpnGatewayId = &v
123379	return s
123380}
123381
123382// Describes VPN connection options.
123383type VpnConnectionOptions struct {
123384	_ struct{} `type:"structure"`
123385
123386	// Indicates whether acceleration is enabled for the VPN connection.
123387	EnableAcceleration *bool `locationName:"enableAcceleration" type:"boolean"`
123388
123389	// The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.
123390	LocalIpv4NetworkCidr *string `locationName:"localIpv4NetworkCidr" type:"string"`
123391
123392	// The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.
123393	LocalIpv6NetworkCidr *string `locationName:"localIpv6NetworkCidr" type:"string"`
123394
123395	// The IPv4 CIDR on the AWS side of the VPN connection.
123396	RemoteIpv4NetworkCidr *string `locationName:"remoteIpv4NetworkCidr" type:"string"`
123397
123398	// The IPv6 CIDR on the AWS side of the VPN connection.
123399	RemoteIpv6NetworkCidr *string `locationName:"remoteIpv6NetworkCidr" type:"string"`
123400
123401	// Indicates whether the VPN connection uses static routes only. Static routes
123402	// must be used for devices that don't support BGP.
123403	StaticRoutesOnly *bool `locationName:"staticRoutesOnly" type:"boolean"`
123404
123405	// Indicates whether the VPN tunnels process IPv4 or IPv6 traffic.
123406	TunnelInsideIpVersion *string `locationName:"tunnelInsideIpVersion" type:"string" enum:"TunnelInsideIpVersion"`
123407
123408	// Indicates the VPN tunnel options.
123409	TunnelOptions []*TunnelOption `locationName:"tunnelOptionSet" locationNameList:"item" type:"list"`
123410}
123411
123412// String returns the string representation
123413func (s VpnConnectionOptions) String() string {
123414	return awsutil.Prettify(s)
123415}
123416
123417// GoString returns the string representation
123418func (s VpnConnectionOptions) GoString() string {
123419	return s.String()
123420}
123421
123422// SetEnableAcceleration sets the EnableAcceleration field's value.
123423func (s *VpnConnectionOptions) SetEnableAcceleration(v bool) *VpnConnectionOptions {
123424	s.EnableAcceleration = &v
123425	return s
123426}
123427
123428// SetLocalIpv4NetworkCidr sets the LocalIpv4NetworkCidr field's value.
123429func (s *VpnConnectionOptions) SetLocalIpv4NetworkCidr(v string) *VpnConnectionOptions {
123430	s.LocalIpv4NetworkCidr = &v
123431	return s
123432}
123433
123434// SetLocalIpv6NetworkCidr sets the LocalIpv6NetworkCidr field's value.
123435func (s *VpnConnectionOptions) SetLocalIpv6NetworkCidr(v string) *VpnConnectionOptions {
123436	s.LocalIpv6NetworkCidr = &v
123437	return s
123438}
123439
123440// SetRemoteIpv4NetworkCidr sets the RemoteIpv4NetworkCidr field's value.
123441func (s *VpnConnectionOptions) SetRemoteIpv4NetworkCidr(v string) *VpnConnectionOptions {
123442	s.RemoteIpv4NetworkCidr = &v
123443	return s
123444}
123445
123446// SetRemoteIpv6NetworkCidr sets the RemoteIpv6NetworkCidr field's value.
123447func (s *VpnConnectionOptions) SetRemoteIpv6NetworkCidr(v string) *VpnConnectionOptions {
123448	s.RemoteIpv6NetworkCidr = &v
123449	return s
123450}
123451
123452// SetStaticRoutesOnly sets the StaticRoutesOnly field's value.
123453func (s *VpnConnectionOptions) SetStaticRoutesOnly(v bool) *VpnConnectionOptions {
123454	s.StaticRoutesOnly = &v
123455	return s
123456}
123457
123458// SetTunnelInsideIpVersion sets the TunnelInsideIpVersion field's value.
123459func (s *VpnConnectionOptions) SetTunnelInsideIpVersion(v string) *VpnConnectionOptions {
123460	s.TunnelInsideIpVersion = &v
123461	return s
123462}
123463
123464// SetTunnelOptions sets the TunnelOptions field's value.
123465func (s *VpnConnectionOptions) SetTunnelOptions(v []*TunnelOption) *VpnConnectionOptions {
123466	s.TunnelOptions = v
123467	return s
123468}
123469
123470// Describes VPN connection options.
123471type VpnConnectionOptionsSpecification struct {
123472	_ struct{} `type:"structure"`
123473
123474	// Indicate whether to enable acceleration for the VPN connection.
123475	//
123476	// Default: false
123477	EnableAcceleration *bool `type:"boolean"`
123478
123479	// The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.
123480	//
123481	// Default: 0.0.0.0/0
123482	LocalIpv4NetworkCidr *string `type:"string"`
123483
123484	// The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.
123485	//
123486	// Default: ::/0
123487	LocalIpv6NetworkCidr *string `type:"string"`
123488
123489	// The IPv4 CIDR on the AWS side of the VPN connection.
123490	//
123491	// Default: 0.0.0.0/0
123492	RemoteIpv4NetworkCidr *string `type:"string"`
123493
123494	// The IPv6 CIDR on the AWS side of the VPN connection.
123495	//
123496	// Default: ::/0
123497	RemoteIpv6NetworkCidr *string `type:"string"`
123498
123499	// Indicate whether the VPN connection uses static routes only. If you are creating
123500	// a VPN connection for a device that does not support BGP, you must specify
123501	// true. Use CreateVpnConnectionRoute to create a static route.
123502	//
123503	// Default: false
123504	StaticRoutesOnly *bool `locationName:"staticRoutesOnly" type:"boolean"`
123505
123506	// Indicate whether the VPN tunnels process IPv4 or IPv6 traffic.
123507	//
123508	// Default: ipv4
123509	TunnelInsideIpVersion *string `type:"string" enum:"TunnelInsideIpVersion"`
123510
123511	// The tunnel options for the VPN connection.
123512	TunnelOptions []*VpnTunnelOptionsSpecification `type:"list"`
123513}
123514
123515// String returns the string representation
123516func (s VpnConnectionOptionsSpecification) String() string {
123517	return awsutil.Prettify(s)
123518}
123519
123520// GoString returns the string representation
123521func (s VpnConnectionOptionsSpecification) GoString() string {
123522	return s.String()
123523}
123524
123525// SetEnableAcceleration sets the EnableAcceleration field's value.
123526func (s *VpnConnectionOptionsSpecification) SetEnableAcceleration(v bool) *VpnConnectionOptionsSpecification {
123527	s.EnableAcceleration = &v
123528	return s
123529}
123530
123531// SetLocalIpv4NetworkCidr sets the LocalIpv4NetworkCidr field's value.
123532func (s *VpnConnectionOptionsSpecification) SetLocalIpv4NetworkCidr(v string) *VpnConnectionOptionsSpecification {
123533	s.LocalIpv4NetworkCidr = &v
123534	return s
123535}
123536
123537// SetLocalIpv6NetworkCidr sets the LocalIpv6NetworkCidr field's value.
123538func (s *VpnConnectionOptionsSpecification) SetLocalIpv6NetworkCidr(v string) *VpnConnectionOptionsSpecification {
123539	s.LocalIpv6NetworkCidr = &v
123540	return s
123541}
123542
123543// SetRemoteIpv4NetworkCidr sets the RemoteIpv4NetworkCidr field's value.
123544func (s *VpnConnectionOptionsSpecification) SetRemoteIpv4NetworkCidr(v string) *VpnConnectionOptionsSpecification {
123545	s.RemoteIpv4NetworkCidr = &v
123546	return s
123547}
123548
123549// SetRemoteIpv6NetworkCidr sets the RemoteIpv6NetworkCidr field's value.
123550func (s *VpnConnectionOptionsSpecification) SetRemoteIpv6NetworkCidr(v string) *VpnConnectionOptionsSpecification {
123551	s.RemoteIpv6NetworkCidr = &v
123552	return s
123553}
123554
123555// SetStaticRoutesOnly sets the StaticRoutesOnly field's value.
123556func (s *VpnConnectionOptionsSpecification) SetStaticRoutesOnly(v bool) *VpnConnectionOptionsSpecification {
123557	s.StaticRoutesOnly = &v
123558	return s
123559}
123560
123561// SetTunnelInsideIpVersion sets the TunnelInsideIpVersion field's value.
123562func (s *VpnConnectionOptionsSpecification) SetTunnelInsideIpVersion(v string) *VpnConnectionOptionsSpecification {
123563	s.TunnelInsideIpVersion = &v
123564	return s
123565}
123566
123567// SetTunnelOptions sets the TunnelOptions field's value.
123568func (s *VpnConnectionOptionsSpecification) SetTunnelOptions(v []*VpnTunnelOptionsSpecification) *VpnConnectionOptionsSpecification {
123569	s.TunnelOptions = v
123570	return s
123571}
123572
123573// Describes a virtual private gateway.
123574type VpnGateway struct {
123575	_ struct{} `type:"structure"`
123576
123577	// The private Autonomous System Number (ASN) for the Amazon side of a BGP session.
123578	AmazonSideAsn *int64 `locationName:"amazonSideAsn" type:"long"`
123579
123580	// The Availability Zone where the virtual private gateway was created, if applicable.
123581	// This field may be empty or not returned.
123582	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
123583
123584	// The current state of the virtual private gateway.
123585	State *string `locationName:"state" type:"string" enum:"VpnState"`
123586
123587	// Any tags assigned to the virtual private gateway.
123588	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
123589
123590	// The type of VPN connection the virtual private gateway supports.
123591	Type *string `locationName:"type" type:"string" enum:"GatewayType"`
123592
123593	// Any VPCs attached to the virtual private gateway.
123594	VpcAttachments []*VpcAttachment `locationName:"attachments" locationNameList:"item" type:"list"`
123595
123596	// The ID of the virtual private gateway.
123597	VpnGatewayId *string `locationName:"vpnGatewayId" type:"string"`
123598}
123599
123600// String returns the string representation
123601func (s VpnGateway) String() string {
123602	return awsutil.Prettify(s)
123603}
123604
123605// GoString returns the string representation
123606func (s VpnGateway) GoString() string {
123607	return s.String()
123608}
123609
123610// SetAmazonSideAsn sets the AmazonSideAsn field's value.
123611func (s *VpnGateway) SetAmazonSideAsn(v int64) *VpnGateway {
123612	s.AmazonSideAsn = &v
123613	return s
123614}
123615
123616// SetAvailabilityZone sets the AvailabilityZone field's value.
123617func (s *VpnGateway) SetAvailabilityZone(v string) *VpnGateway {
123618	s.AvailabilityZone = &v
123619	return s
123620}
123621
123622// SetState sets the State field's value.
123623func (s *VpnGateway) SetState(v string) *VpnGateway {
123624	s.State = &v
123625	return s
123626}
123627
123628// SetTags sets the Tags field's value.
123629func (s *VpnGateway) SetTags(v []*Tag) *VpnGateway {
123630	s.Tags = v
123631	return s
123632}
123633
123634// SetType sets the Type field's value.
123635func (s *VpnGateway) SetType(v string) *VpnGateway {
123636	s.Type = &v
123637	return s
123638}
123639
123640// SetVpcAttachments sets the VpcAttachments field's value.
123641func (s *VpnGateway) SetVpcAttachments(v []*VpcAttachment) *VpnGateway {
123642	s.VpcAttachments = v
123643	return s
123644}
123645
123646// SetVpnGatewayId sets the VpnGatewayId field's value.
123647func (s *VpnGateway) SetVpnGatewayId(v string) *VpnGateway {
123648	s.VpnGatewayId = &v
123649	return s
123650}
123651
123652// Describes a static route for a VPN connection.
123653type VpnStaticRoute struct {
123654	_ struct{} `type:"structure"`
123655
123656	// The CIDR block associated with the local subnet of the customer data center.
123657	DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
123658
123659	// Indicates how the routes were provided.
123660	Source *string `locationName:"source" type:"string" enum:"VpnStaticRouteSource"`
123661
123662	// The current state of the static route.
123663	State *string `locationName:"state" type:"string" enum:"VpnState"`
123664}
123665
123666// String returns the string representation
123667func (s VpnStaticRoute) String() string {
123668	return awsutil.Prettify(s)
123669}
123670
123671// GoString returns the string representation
123672func (s VpnStaticRoute) GoString() string {
123673	return s.String()
123674}
123675
123676// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
123677func (s *VpnStaticRoute) SetDestinationCidrBlock(v string) *VpnStaticRoute {
123678	s.DestinationCidrBlock = &v
123679	return s
123680}
123681
123682// SetSource sets the Source field's value.
123683func (s *VpnStaticRoute) SetSource(v string) *VpnStaticRoute {
123684	s.Source = &v
123685	return s
123686}
123687
123688// SetState sets the State field's value.
123689func (s *VpnStaticRoute) SetState(v string) *VpnStaticRoute {
123690	s.State = &v
123691	return s
123692}
123693
123694// The tunnel options for a single VPN tunnel.
123695type VpnTunnelOptionsSpecification struct {
123696	_ struct{} `type:"structure"`
123697
123698	// The action to take after DPD timeout occurs. Specify restart to restart the
123699	// IKE initiation. Specify clear to end the IKE session.
123700	//
123701	// Valid Values: clear | none | restart
123702	//
123703	// Default: clear
123704	DPDTimeoutAction *string `type:"string"`
123705
123706	// The number of seconds after which a DPD timeout occurs.
123707	//
123708	// Constraints: A value between 0 and 30.
123709	//
123710	// Default: 30
123711	DPDTimeoutSeconds *int64 `type:"integer"`
123712
123713	// The IKE versions that are permitted for the VPN tunnel.
123714	//
123715	// Valid values: ikev1 | ikev2
123716	IKEVersions []*IKEVersionsRequestListValue `locationName:"IKEVersion" locationNameList:"item" type:"list"`
123717
123718	// One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel
123719	// for phase 1 IKE negotiations.
123720	//
123721	// Valid values: 2 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24
123722	Phase1DHGroupNumbers []*Phase1DHGroupNumbersRequestListValue `locationName:"Phase1DHGroupNumber" locationNameList:"item" type:"list"`
123723
123724	// One or more encryption algorithms that are permitted for the VPN tunnel for
123725	// phase 1 IKE negotiations.
123726	//
123727	// Valid values: AES128 | AES256 | AES128-GCM-16 | AES256-GCM-16
123728	Phase1EncryptionAlgorithms []*Phase1EncryptionAlgorithmsRequestListValue `locationName:"Phase1EncryptionAlgorithm" locationNameList:"item" type:"list"`
123729
123730	// One or more integrity algorithms that are permitted for the VPN tunnel for
123731	// phase 1 IKE negotiations.
123732	//
123733	// Valid values: SHA1 | SHA2-256 | SHA2-384 | SHA2-512
123734	Phase1IntegrityAlgorithms []*Phase1IntegrityAlgorithmsRequestListValue `locationName:"Phase1IntegrityAlgorithm" locationNameList:"item" type:"list"`
123735
123736	// The lifetime for phase 1 of the IKE negotiation, in seconds.
123737	//
123738	// Constraints: A value between 900 and 28,800.
123739	//
123740	// Default: 28800
123741	Phase1LifetimeSeconds *int64 `type:"integer"`
123742
123743	// One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel
123744	// for phase 2 IKE negotiations.
123745	//
123746	// Valid values: 2 | 5 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24
123747	Phase2DHGroupNumbers []*Phase2DHGroupNumbersRequestListValue `locationName:"Phase2DHGroupNumber" locationNameList:"item" type:"list"`
123748
123749	// One or more encryption algorithms that are permitted for the VPN tunnel for
123750	// phase 2 IKE negotiations.
123751	//
123752	// Valid values: AES128 | AES256 | AES128-GCM-16 | AES256-GCM-16
123753	Phase2EncryptionAlgorithms []*Phase2EncryptionAlgorithmsRequestListValue `locationName:"Phase2EncryptionAlgorithm" locationNameList:"item" type:"list"`
123754
123755	// One or more integrity algorithms that are permitted for the VPN tunnel for
123756	// phase 2 IKE negotiations.
123757	//
123758	// Valid values: SHA1 | SHA2-256 | SHA2-384 | SHA2-512
123759	Phase2IntegrityAlgorithms []*Phase2IntegrityAlgorithmsRequestListValue `locationName:"Phase2IntegrityAlgorithm" locationNameList:"item" type:"list"`
123760
123761	// The lifetime for phase 2 of the IKE negotiation, in seconds.
123762	//
123763	// Constraints: A value between 900 and 3,600. The value must be less than the
123764	// value for Phase1LifetimeSeconds.
123765	//
123766	// Default: 3600
123767	Phase2LifetimeSeconds *int64 `type:"integer"`
123768
123769	// The pre-shared key (PSK) to establish initial authentication between the
123770	// virtual private gateway and customer gateway.
123771	//
123772	// Constraints: Allowed characters are alphanumeric characters, periods (.),
123773	// and underscores (_). Must be between 8 and 64 characters in length and cannot
123774	// start with zero (0).
123775	PreSharedKey *string `type:"string"`
123776
123777	// The percentage of the rekey window (determined by RekeyMarginTimeSeconds)
123778	// during which the rekey time is randomly selected.
123779	//
123780	// Constraints: A value between 0 and 100.
123781	//
123782	// Default: 100
123783	RekeyFuzzPercentage *int64 `type:"integer"`
123784
123785	// The margin time, in seconds, before the phase 2 lifetime expires, during
123786	// which the AWS side of the VPN connection performs an IKE rekey. The exact
123787	// time of the rekey is randomly selected based on the value for RekeyFuzzPercentage.
123788	//
123789	// Constraints: A value between 60 and half of Phase2LifetimeSeconds.
123790	//
123791	// Default: 540
123792	RekeyMarginTimeSeconds *int64 `type:"integer"`
123793
123794	// The number of packets in an IKE replay window.
123795	//
123796	// Constraints: A value between 64 and 2048.
123797	//
123798	// Default: 1024
123799	ReplayWindowSize *int64 `type:"integer"`
123800
123801	// The action to take when the establishing the tunnel for the VPN connection.
123802	// By default, your customer gateway device must initiate the IKE negotiation
123803	// and bring up the tunnel. Specify start for AWS to initiate the IKE negotiation.
123804	//
123805	// Valid Values: add | start
123806	//
123807	// Default: add
123808	StartupAction *string `type:"string"`
123809
123810	// The range of inside IPv4 addresses for the tunnel. Any specified CIDR blocks
123811	// must be unique across all VPN connections that use the same virtual private
123812	// gateway.
123813	//
123814	// Constraints: A size /30 CIDR block from the 169.254.0.0/16 range. The following
123815	// CIDR blocks are reserved and cannot be used:
123816	//
123817	//    * 169.254.0.0/30
123818	//
123819	//    * 169.254.1.0/30
123820	//
123821	//    * 169.254.2.0/30
123822	//
123823	//    * 169.254.3.0/30
123824	//
123825	//    * 169.254.4.0/30
123826	//
123827	//    * 169.254.5.0/30
123828	//
123829	//    * 169.254.169.252/30
123830	TunnelInsideCidr *string `type:"string"`
123831
123832	// The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks
123833	// must be unique across all VPN connections that use the same transit gateway.
123834	//
123835	// Constraints: A size /126 CIDR block from the local fd00::/8 range.
123836	TunnelInsideIpv6Cidr *string `type:"string"`
123837}
123838
123839// String returns the string representation
123840func (s VpnTunnelOptionsSpecification) String() string {
123841	return awsutil.Prettify(s)
123842}
123843
123844// GoString returns the string representation
123845func (s VpnTunnelOptionsSpecification) GoString() string {
123846	return s.String()
123847}
123848
123849// SetDPDTimeoutAction sets the DPDTimeoutAction field's value.
123850func (s *VpnTunnelOptionsSpecification) SetDPDTimeoutAction(v string) *VpnTunnelOptionsSpecification {
123851	s.DPDTimeoutAction = &v
123852	return s
123853}
123854
123855// SetDPDTimeoutSeconds sets the DPDTimeoutSeconds field's value.
123856func (s *VpnTunnelOptionsSpecification) SetDPDTimeoutSeconds(v int64) *VpnTunnelOptionsSpecification {
123857	s.DPDTimeoutSeconds = &v
123858	return s
123859}
123860
123861// SetIKEVersions sets the IKEVersions field's value.
123862func (s *VpnTunnelOptionsSpecification) SetIKEVersions(v []*IKEVersionsRequestListValue) *VpnTunnelOptionsSpecification {
123863	s.IKEVersions = v
123864	return s
123865}
123866
123867// SetPhase1DHGroupNumbers sets the Phase1DHGroupNumbers field's value.
123868func (s *VpnTunnelOptionsSpecification) SetPhase1DHGroupNumbers(v []*Phase1DHGroupNumbersRequestListValue) *VpnTunnelOptionsSpecification {
123869	s.Phase1DHGroupNumbers = v
123870	return s
123871}
123872
123873// SetPhase1EncryptionAlgorithms sets the Phase1EncryptionAlgorithms field's value.
123874func (s *VpnTunnelOptionsSpecification) SetPhase1EncryptionAlgorithms(v []*Phase1EncryptionAlgorithmsRequestListValue) *VpnTunnelOptionsSpecification {
123875	s.Phase1EncryptionAlgorithms = v
123876	return s
123877}
123878
123879// SetPhase1IntegrityAlgorithms sets the Phase1IntegrityAlgorithms field's value.
123880func (s *VpnTunnelOptionsSpecification) SetPhase1IntegrityAlgorithms(v []*Phase1IntegrityAlgorithmsRequestListValue) *VpnTunnelOptionsSpecification {
123881	s.Phase1IntegrityAlgorithms = v
123882	return s
123883}
123884
123885// SetPhase1LifetimeSeconds sets the Phase1LifetimeSeconds field's value.
123886func (s *VpnTunnelOptionsSpecification) SetPhase1LifetimeSeconds(v int64) *VpnTunnelOptionsSpecification {
123887	s.Phase1LifetimeSeconds = &v
123888	return s
123889}
123890
123891// SetPhase2DHGroupNumbers sets the Phase2DHGroupNumbers field's value.
123892func (s *VpnTunnelOptionsSpecification) SetPhase2DHGroupNumbers(v []*Phase2DHGroupNumbersRequestListValue) *VpnTunnelOptionsSpecification {
123893	s.Phase2DHGroupNumbers = v
123894	return s
123895}
123896
123897// SetPhase2EncryptionAlgorithms sets the Phase2EncryptionAlgorithms field's value.
123898func (s *VpnTunnelOptionsSpecification) SetPhase2EncryptionAlgorithms(v []*Phase2EncryptionAlgorithmsRequestListValue) *VpnTunnelOptionsSpecification {
123899	s.Phase2EncryptionAlgorithms = v
123900	return s
123901}
123902
123903// SetPhase2IntegrityAlgorithms sets the Phase2IntegrityAlgorithms field's value.
123904func (s *VpnTunnelOptionsSpecification) SetPhase2IntegrityAlgorithms(v []*Phase2IntegrityAlgorithmsRequestListValue) *VpnTunnelOptionsSpecification {
123905	s.Phase2IntegrityAlgorithms = v
123906	return s
123907}
123908
123909// SetPhase2LifetimeSeconds sets the Phase2LifetimeSeconds field's value.
123910func (s *VpnTunnelOptionsSpecification) SetPhase2LifetimeSeconds(v int64) *VpnTunnelOptionsSpecification {
123911	s.Phase2LifetimeSeconds = &v
123912	return s
123913}
123914
123915// SetPreSharedKey sets the PreSharedKey field's value.
123916func (s *VpnTunnelOptionsSpecification) SetPreSharedKey(v string) *VpnTunnelOptionsSpecification {
123917	s.PreSharedKey = &v
123918	return s
123919}
123920
123921// SetRekeyFuzzPercentage sets the RekeyFuzzPercentage field's value.
123922func (s *VpnTunnelOptionsSpecification) SetRekeyFuzzPercentage(v int64) *VpnTunnelOptionsSpecification {
123923	s.RekeyFuzzPercentage = &v
123924	return s
123925}
123926
123927// SetRekeyMarginTimeSeconds sets the RekeyMarginTimeSeconds field's value.
123928func (s *VpnTunnelOptionsSpecification) SetRekeyMarginTimeSeconds(v int64) *VpnTunnelOptionsSpecification {
123929	s.RekeyMarginTimeSeconds = &v
123930	return s
123931}
123932
123933// SetReplayWindowSize sets the ReplayWindowSize field's value.
123934func (s *VpnTunnelOptionsSpecification) SetReplayWindowSize(v int64) *VpnTunnelOptionsSpecification {
123935	s.ReplayWindowSize = &v
123936	return s
123937}
123938
123939// SetStartupAction sets the StartupAction field's value.
123940func (s *VpnTunnelOptionsSpecification) SetStartupAction(v string) *VpnTunnelOptionsSpecification {
123941	s.StartupAction = &v
123942	return s
123943}
123944
123945// SetTunnelInsideCidr sets the TunnelInsideCidr field's value.
123946func (s *VpnTunnelOptionsSpecification) SetTunnelInsideCidr(v string) *VpnTunnelOptionsSpecification {
123947	s.TunnelInsideCidr = &v
123948	return s
123949}
123950
123951// SetTunnelInsideIpv6Cidr sets the TunnelInsideIpv6Cidr field's value.
123952func (s *VpnTunnelOptionsSpecification) SetTunnelInsideIpv6Cidr(v string) *VpnTunnelOptionsSpecification {
123953	s.TunnelInsideIpv6Cidr = &v
123954	return s
123955}
123956
123957type WithdrawByoipCidrInput struct {
123958	_ struct{} `type:"structure"`
123959
123960	// The address range, in CIDR notation.
123961	//
123962	// Cidr is a required field
123963	Cidr *string `type:"string" required:"true"`
123964
123965	// Checks whether you have the required permissions for the action, without
123966	// actually making the request, and provides an error response. If you have
123967	// the required permissions, the error response is DryRunOperation. Otherwise,
123968	// it is UnauthorizedOperation.
123969	DryRun *bool `type:"boolean"`
123970}
123971
123972// String returns the string representation
123973func (s WithdrawByoipCidrInput) String() string {
123974	return awsutil.Prettify(s)
123975}
123976
123977// GoString returns the string representation
123978func (s WithdrawByoipCidrInput) GoString() string {
123979	return s.String()
123980}
123981
123982// Validate inspects the fields of the type to determine if they are valid.
123983func (s *WithdrawByoipCidrInput) Validate() error {
123984	invalidParams := request.ErrInvalidParams{Context: "WithdrawByoipCidrInput"}
123985	if s.Cidr == nil {
123986		invalidParams.Add(request.NewErrParamRequired("Cidr"))
123987	}
123988
123989	if invalidParams.Len() > 0 {
123990		return invalidParams
123991	}
123992	return nil
123993}
123994
123995// SetCidr sets the Cidr field's value.
123996func (s *WithdrawByoipCidrInput) SetCidr(v string) *WithdrawByoipCidrInput {
123997	s.Cidr = &v
123998	return s
123999}
124000
124001// SetDryRun sets the DryRun field's value.
124002func (s *WithdrawByoipCidrInput) SetDryRun(v bool) *WithdrawByoipCidrInput {
124003	s.DryRun = &v
124004	return s
124005}
124006
124007type WithdrawByoipCidrOutput struct {
124008	_ struct{} `type:"structure"`
124009
124010	// Information about the address pool.
124011	ByoipCidr *ByoipCidr `locationName:"byoipCidr" type:"structure"`
124012}
124013
124014// String returns the string representation
124015func (s WithdrawByoipCidrOutput) String() string {
124016	return awsutil.Prettify(s)
124017}
124018
124019// GoString returns the string representation
124020func (s WithdrawByoipCidrOutput) GoString() string {
124021	return s.String()
124022}
124023
124024// SetByoipCidr sets the ByoipCidr field's value.
124025func (s *WithdrawByoipCidrOutput) SetByoipCidr(v *ByoipCidr) *WithdrawByoipCidrOutput {
124026	s.ByoipCidr = v
124027	return s
124028}
124029
124030const (
124031	// AccountAttributeNameSupportedPlatforms is a AccountAttributeName enum value
124032	AccountAttributeNameSupportedPlatforms = "supported-platforms"
124033
124034	// AccountAttributeNameDefaultVpc is a AccountAttributeName enum value
124035	AccountAttributeNameDefaultVpc = "default-vpc"
124036)
124037
124038// AccountAttributeName_Values returns all elements of the AccountAttributeName enum
124039func AccountAttributeName_Values() []string {
124040	return []string{
124041		AccountAttributeNameSupportedPlatforms,
124042		AccountAttributeNameDefaultVpc,
124043	}
124044}
124045
124046const (
124047	// ActivityStatusError is a ActivityStatus enum value
124048	ActivityStatusError = "error"
124049
124050	// ActivityStatusPendingFulfillment is a ActivityStatus enum value
124051	ActivityStatusPendingFulfillment = "pending_fulfillment"
124052
124053	// ActivityStatusPendingTermination is a ActivityStatus enum value
124054	ActivityStatusPendingTermination = "pending_termination"
124055
124056	// ActivityStatusFulfilled is a ActivityStatus enum value
124057	ActivityStatusFulfilled = "fulfilled"
124058)
124059
124060// ActivityStatus_Values returns all elements of the ActivityStatus enum
124061func ActivityStatus_Values() []string {
124062	return []string{
124063		ActivityStatusError,
124064		ActivityStatusPendingFulfillment,
124065		ActivityStatusPendingTermination,
124066		ActivityStatusFulfilled,
124067	}
124068}
124069
124070const (
124071	// AddressAttributeNameDomainName is a AddressAttributeName enum value
124072	AddressAttributeNameDomainName = "domain-name"
124073)
124074
124075// AddressAttributeName_Values returns all elements of the AddressAttributeName enum
124076func AddressAttributeName_Values() []string {
124077	return []string{
124078		AddressAttributeNameDomainName,
124079	}
124080}
124081
124082const (
124083	// AffinityDefault is a Affinity enum value
124084	AffinityDefault = "default"
124085
124086	// AffinityHost is a Affinity enum value
124087	AffinityHost = "host"
124088)
124089
124090// Affinity_Values returns all elements of the Affinity enum
124091func Affinity_Values() []string {
124092	return []string{
124093		AffinityDefault,
124094		AffinityHost,
124095	}
124096}
124097
124098const (
124099	// AllocationStateAvailable is a AllocationState enum value
124100	AllocationStateAvailable = "available"
124101
124102	// AllocationStateUnderAssessment is a AllocationState enum value
124103	AllocationStateUnderAssessment = "under-assessment"
124104
124105	// AllocationStatePermanentFailure is a AllocationState enum value
124106	AllocationStatePermanentFailure = "permanent-failure"
124107
124108	// AllocationStateReleased is a AllocationState enum value
124109	AllocationStateReleased = "released"
124110
124111	// AllocationStateReleasedPermanentFailure is a AllocationState enum value
124112	AllocationStateReleasedPermanentFailure = "released-permanent-failure"
124113
124114	// AllocationStatePending is a AllocationState enum value
124115	AllocationStatePending = "pending"
124116)
124117
124118// AllocationState_Values returns all elements of the AllocationState enum
124119func AllocationState_Values() []string {
124120	return []string{
124121		AllocationStateAvailable,
124122		AllocationStateUnderAssessment,
124123		AllocationStatePermanentFailure,
124124		AllocationStateReleased,
124125		AllocationStateReleasedPermanentFailure,
124126		AllocationStatePending,
124127	}
124128}
124129
124130const (
124131	// AllocationStrategyLowestPrice is a AllocationStrategy enum value
124132	AllocationStrategyLowestPrice = "lowestPrice"
124133
124134	// AllocationStrategyDiversified is a AllocationStrategy enum value
124135	AllocationStrategyDiversified = "diversified"
124136
124137	// AllocationStrategyCapacityOptimized is a AllocationStrategy enum value
124138	AllocationStrategyCapacityOptimized = "capacityOptimized"
124139
124140	// AllocationStrategyCapacityOptimizedPrioritized is a AllocationStrategy enum value
124141	AllocationStrategyCapacityOptimizedPrioritized = "capacityOptimizedPrioritized"
124142)
124143
124144// AllocationStrategy_Values returns all elements of the AllocationStrategy enum
124145func AllocationStrategy_Values() []string {
124146	return []string{
124147		AllocationStrategyLowestPrice,
124148		AllocationStrategyDiversified,
124149		AllocationStrategyCapacityOptimized,
124150		AllocationStrategyCapacityOptimizedPrioritized,
124151	}
124152}
124153
124154const (
124155	// AllowsMultipleInstanceTypesOn is a AllowsMultipleInstanceTypes enum value
124156	AllowsMultipleInstanceTypesOn = "on"
124157
124158	// AllowsMultipleInstanceTypesOff is a AllowsMultipleInstanceTypes enum value
124159	AllowsMultipleInstanceTypesOff = "off"
124160)
124161
124162// AllowsMultipleInstanceTypes_Values returns all elements of the AllowsMultipleInstanceTypes enum
124163func AllowsMultipleInstanceTypes_Values() []string {
124164	return []string{
124165		AllowsMultipleInstanceTypesOn,
124166		AllowsMultipleInstanceTypesOff,
124167	}
124168}
124169
124170const (
124171	// AnalysisStatusRunning is a AnalysisStatus enum value
124172	AnalysisStatusRunning = "running"
124173
124174	// AnalysisStatusSucceeded is a AnalysisStatus enum value
124175	AnalysisStatusSucceeded = "succeeded"
124176
124177	// AnalysisStatusFailed is a AnalysisStatus enum value
124178	AnalysisStatusFailed = "failed"
124179)
124180
124181// AnalysisStatus_Values returns all elements of the AnalysisStatus enum
124182func AnalysisStatus_Values() []string {
124183	return []string{
124184		AnalysisStatusRunning,
124185		AnalysisStatusSucceeded,
124186		AnalysisStatusFailed,
124187	}
124188}
124189
124190const (
124191	// ApplianceModeSupportValueEnable is a ApplianceModeSupportValue enum value
124192	ApplianceModeSupportValueEnable = "enable"
124193
124194	// ApplianceModeSupportValueDisable is a ApplianceModeSupportValue enum value
124195	ApplianceModeSupportValueDisable = "disable"
124196)
124197
124198// ApplianceModeSupportValue_Values returns all elements of the ApplianceModeSupportValue enum
124199func ApplianceModeSupportValue_Values() []string {
124200	return []string{
124201		ApplianceModeSupportValueEnable,
124202		ApplianceModeSupportValueDisable,
124203	}
124204}
124205
124206const (
124207	// ArchitectureTypeI386 is a ArchitectureType enum value
124208	ArchitectureTypeI386 = "i386"
124209
124210	// ArchitectureTypeX8664 is a ArchitectureType enum value
124211	ArchitectureTypeX8664 = "x86_64"
124212
124213	// ArchitectureTypeArm64 is a ArchitectureType enum value
124214	ArchitectureTypeArm64 = "arm64"
124215)
124216
124217// ArchitectureType_Values returns all elements of the ArchitectureType enum
124218func ArchitectureType_Values() []string {
124219	return []string{
124220		ArchitectureTypeI386,
124221		ArchitectureTypeX8664,
124222		ArchitectureTypeArm64,
124223	}
124224}
124225
124226const (
124227	// ArchitectureValuesI386 is a ArchitectureValues enum value
124228	ArchitectureValuesI386 = "i386"
124229
124230	// ArchitectureValuesX8664 is a ArchitectureValues enum value
124231	ArchitectureValuesX8664 = "x86_64"
124232
124233	// ArchitectureValuesArm64 is a ArchitectureValues enum value
124234	ArchitectureValuesArm64 = "arm64"
124235)
124236
124237// ArchitectureValues_Values returns all elements of the ArchitectureValues enum
124238func ArchitectureValues_Values() []string {
124239	return []string{
124240		ArchitectureValuesI386,
124241		ArchitectureValuesX8664,
124242		ArchitectureValuesArm64,
124243	}
124244}
124245
124246const (
124247	// AssociatedNetworkTypeVpc is a AssociatedNetworkType enum value
124248	AssociatedNetworkTypeVpc = "vpc"
124249)
124250
124251// AssociatedNetworkType_Values returns all elements of the AssociatedNetworkType enum
124252func AssociatedNetworkType_Values() []string {
124253	return []string{
124254		AssociatedNetworkTypeVpc,
124255	}
124256}
124257
124258const (
124259	// AssociationStatusCodeAssociating is a AssociationStatusCode enum value
124260	AssociationStatusCodeAssociating = "associating"
124261
124262	// AssociationStatusCodeAssociated is a AssociationStatusCode enum value
124263	AssociationStatusCodeAssociated = "associated"
124264
124265	// AssociationStatusCodeAssociationFailed is a AssociationStatusCode enum value
124266	AssociationStatusCodeAssociationFailed = "association-failed"
124267
124268	// AssociationStatusCodeDisassociating is a AssociationStatusCode enum value
124269	AssociationStatusCodeDisassociating = "disassociating"
124270
124271	// AssociationStatusCodeDisassociated is a AssociationStatusCode enum value
124272	AssociationStatusCodeDisassociated = "disassociated"
124273)
124274
124275// AssociationStatusCode_Values returns all elements of the AssociationStatusCode enum
124276func AssociationStatusCode_Values() []string {
124277	return []string{
124278		AssociationStatusCodeAssociating,
124279		AssociationStatusCodeAssociated,
124280		AssociationStatusCodeAssociationFailed,
124281		AssociationStatusCodeDisassociating,
124282		AssociationStatusCodeDisassociated,
124283	}
124284}
124285
124286const (
124287	// AttachmentStatusAttaching is a AttachmentStatus enum value
124288	AttachmentStatusAttaching = "attaching"
124289
124290	// AttachmentStatusAttached is a AttachmentStatus enum value
124291	AttachmentStatusAttached = "attached"
124292
124293	// AttachmentStatusDetaching is a AttachmentStatus enum value
124294	AttachmentStatusDetaching = "detaching"
124295
124296	// AttachmentStatusDetached is a AttachmentStatus enum value
124297	AttachmentStatusDetached = "detached"
124298)
124299
124300// AttachmentStatus_Values returns all elements of the AttachmentStatus enum
124301func AttachmentStatus_Values() []string {
124302	return []string{
124303		AttachmentStatusAttaching,
124304		AttachmentStatusAttached,
124305		AttachmentStatusDetaching,
124306		AttachmentStatusDetached,
124307	}
124308}
124309
124310const (
124311	// AutoAcceptSharedAssociationsValueEnable is a AutoAcceptSharedAssociationsValue enum value
124312	AutoAcceptSharedAssociationsValueEnable = "enable"
124313
124314	// AutoAcceptSharedAssociationsValueDisable is a AutoAcceptSharedAssociationsValue enum value
124315	AutoAcceptSharedAssociationsValueDisable = "disable"
124316)
124317
124318// AutoAcceptSharedAssociationsValue_Values returns all elements of the AutoAcceptSharedAssociationsValue enum
124319func AutoAcceptSharedAssociationsValue_Values() []string {
124320	return []string{
124321		AutoAcceptSharedAssociationsValueEnable,
124322		AutoAcceptSharedAssociationsValueDisable,
124323	}
124324}
124325
124326const (
124327	// AutoAcceptSharedAttachmentsValueEnable is a AutoAcceptSharedAttachmentsValue enum value
124328	AutoAcceptSharedAttachmentsValueEnable = "enable"
124329
124330	// AutoAcceptSharedAttachmentsValueDisable is a AutoAcceptSharedAttachmentsValue enum value
124331	AutoAcceptSharedAttachmentsValueDisable = "disable"
124332)
124333
124334// AutoAcceptSharedAttachmentsValue_Values returns all elements of the AutoAcceptSharedAttachmentsValue enum
124335func AutoAcceptSharedAttachmentsValue_Values() []string {
124336	return []string{
124337		AutoAcceptSharedAttachmentsValueEnable,
124338		AutoAcceptSharedAttachmentsValueDisable,
124339	}
124340}
124341
124342const (
124343	// AutoPlacementOn is a AutoPlacement enum value
124344	AutoPlacementOn = "on"
124345
124346	// AutoPlacementOff is a AutoPlacement enum value
124347	AutoPlacementOff = "off"
124348)
124349
124350// AutoPlacement_Values returns all elements of the AutoPlacement enum
124351func AutoPlacement_Values() []string {
124352	return []string{
124353		AutoPlacementOn,
124354		AutoPlacementOff,
124355	}
124356}
124357
124358const (
124359	// AvailabilityZoneOptInStatusOptInNotRequired is a AvailabilityZoneOptInStatus enum value
124360	AvailabilityZoneOptInStatusOptInNotRequired = "opt-in-not-required"
124361
124362	// AvailabilityZoneOptInStatusOptedIn is a AvailabilityZoneOptInStatus enum value
124363	AvailabilityZoneOptInStatusOptedIn = "opted-in"
124364
124365	// AvailabilityZoneOptInStatusNotOptedIn is a AvailabilityZoneOptInStatus enum value
124366	AvailabilityZoneOptInStatusNotOptedIn = "not-opted-in"
124367)
124368
124369// AvailabilityZoneOptInStatus_Values returns all elements of the AvailabilityZoneOptInStatus enum
124370func AvailabilityZoneOptInStatus_Values() []string {
124371	return []string{
124372		AvailabilityZoneOptInStatusOptInNotRequired,
124373		AvailabilityZoneOptInStatusOptedIn,
124374		AvailabilityZoneOptInStatusNotOptedIn,
124375	}
124376}
124377
124378const (
124379	// AvailabilityZoneStateAvailable is a AvailabilityZoneState enum value
124380	AvailabilityZoneStateAvailable = "available"
124381
124382	// AvailabilityZoneStateInformation is a AvailabilityZoneState enum value
124383	AvailabilityZoneStateInformation = "information"
124384
124385	// AvailabilityZoneStateImpaired is a AvailabilityZoneState enum value
124386	AvailabilityZoneStateImpaired = "impaired"
124387
124388	// AvailabilityZoneStateUnavailable is a AvailabilityZoneState enum value
124389	AvailabilityZoneStateUnavailable = "unavailable"
124390)
124391
124392// AvailabilityZoneState_Values returns all elements of the AvailabilityZoneState enum
124393func AvailabilityZoneState_Values() []string {
124394	return []string{
124395		AvailabilityZoneStateAvailable,
124396		AvailabilityZoneStateInformation,
124397		AvailabilityZoneStateImpaired,
124398		AvailabilityZoneStateUnavailable,
124399	}
124400}
124401
124402const (
124403	// BatchStateSubmitted is a BatchState enum value
124404	BatchStateSubmitted = "submitted"
124405
124406	// BatchStateActive is a BatchState enum value
124407	BatchStateActive = "active"
124408
124409	// BatchStateCancelled is a BatchState enum value
124410	BatchStateCancelled = "cancelled"
124411
124412	// BatchStateFailed is a BatchState enum value
124413	BatchStateFailed = "failed"
124414
124415	// BatchStateCancelledRunning is a BatchState enum value
124416	BatchStateCancelledRunning = "cancelled_running"
124417
124418	// BatchStateCancelledTerminating is a BatchState enum value
124419	BatchStateCancelledTerminating = "cancelled_terminating"
124420
124421	// BatchStateModifying is a BatchState enum value
124422	BatchStateModifying = "modifying"
124423)
124424
124425// BatchState_Values returns all elements of the BatchState enum
124426func BatchState_Values() []string {
124427	return []string{
124428		BatchStateSubmitted,
124429		BatchStateActive,
124430		BatchStateCancelled,
124431		BatchStateFailed,
124432		BatchStateCancelledRunning,
124433		BatchStateCancelledTerminating,
124434		BatchStateModifying,
124435	}
124436}
124437
124438const (
124439	// BgpStatusUp is a BgpStatus enum value
124440	BgpStatusUp = "up"
124441
124442	// BgpStatusDown is a BgpStatus enum value
124443	BgpStatusDown = "down"
124444)
124445
124446// BgpStatus_Values returns all elements of the BgpStatus enum
124447func BgpStatus_Values() []string {
124448	return []string{
124449		BgpStatusUp,
124450		BgpStatusDown,
124451	}
124452}
124453
124454const (
124455	// BootModeTypeLegacyBios is a BootModeType enum value
124456	BootModeTypeLegacyBios = "legacy-bios"
124457
124458	// BootModeTypeUefi is a BootModeType enum value
124459	BootModeTypeUefi = "uefi"
124460)
124461
124462// BootModeType_Values returns all elements of the BootModeType enum
124463func BootModeType_Values() []string {
124464	return []string{
124465		BootModeTypeLegacyBios,
124466		BootModeTypeUefi,
124467	}
124468}
124469
124470const (
124471	// BootModeValuesLegacyBios is a BootModeValues enum value
124472	BootModeValuesLegacyBios = "legacy-bios"
124473
124474	// BootModeValuesUefi is a BootModeValues enum value
124475	BootModeValuesUefi = "uefi"
124476)
124477
124478// BootModeValues_Values returns all elements of the BootModeValues enum
124479func BootModeValues_Values() []string {
124480	return []string{
124481		BootModeValuesLegacyBios,
124482		BootModeValuesUefi,
124483	}
124484}
124485
124486const (
124487	// BundleTaskStatePending is a BundleTaskState enum value
124488	BundleTaskStatePending = "pending"
124489
124490	// BundleTaskStateWaitingForShutdown is a BundleTaskState enum value
124491	BundleTaskStateWaitingForShutdown = "waiting-for-shutdown"
124492
124493	// BundleTaskStateBundling is a BundleTaskState enum value
124494	BundleTaskStateBundling = "bundling"
124495
124496	// BundleTaskStateStoring is a BundleTaskState enum value
124497	BundleTaskStateStoring = "storing"
124498
124499	// BundleTaskStateCancelling is a BundleTaskState enum value
124500	BundleTaskStateCancelling = "cancelling"
124501
124502	// BundleTaskStateComplete is a BundleTaskState enum value
124503	BundleTaskStateComplete = "complete"
124504
124505	// BundleTaskStateFailed is a BundleTaskState enum value
124506	BundleTaskStateFailed = "failed"
124507)
124508
124509// BundleTaskState_Values returns all elements of the BundleTaskState enum
124510func BundleTaskState_Values() []string {
124511	return []string{
124512		BundleTaskStatePending,
124513		BundleTaskStateWaitingForShutdown,
124514		BundleTaskStateBundling,
124515		BundleTaskStateStoring,
124516		BundleTaskStateCancelling,
124517		BundleTaskStateComplete,
124518		BundleTaskStateFailed,
124519	}
124520}
124521
124522const (
124523	// ByoipCidrStateAdvertised is a ByoipCidrState enum value
124524	ByoipCidrStateAdvertised = "advertised"
124525
124526	// ByoipCidrStateDeprovisioned is a ByoipCidrState enum value
124527	ByoipCidrStateDeprovisioned = "deprovisioned"
124528
124529	// ByoipCidrStateFailedDeprovision is a ByoipCidrState enum value
124530	ByoipCidrStateFailedDeprovision = "failed-deprovision"
124531
124532	// ByoipCidrStateFailedProvision is a ByoipCidrState enum value
124533	ByoipCidrStateFailedProvision = "failed-provision"
124534
124535	// ByoipCidrStatePendingDeprovision is a ByoipCidrState enum value
124536	ByoipCidrStatePendingDeprovision = "pending-deprovision"
124537
124538	// ByoipCidrStatePendingProvision is a ByoipCidrState enum value
124539	ByoipCidrStatePendingProvision = "pending-provision"
124540
124541	// ByoipCidrStateProvisioned is a ByoipCidrState enum value
124542	ByoipCidrStateProvisioned = "provisioned"
124543
124544	// ByoipCidrStateProvisionedNotPubliclyAdvertisable is a ByoipCidrState enum value
124545	ByoipCidrStateProvisionedNotPubliclyAdvertisable = "provisioned-not-publicly-advertisable"
124546)
124547
124548// ByoipCidrState_Values returns all elements of the ByoipCidrState enum
124549func ByoipCidrState_Values() []string {
124550	return []string{
124551		ByoipCidrStateAdvertised,
124552		ByoipCidrStateDeprovisioned,
124553		ByoipCidrStateFailedDeprovision,
124554		ByoipCidrStateFailedProvision,
124555		ByoipCidrStatePendingDeprovision,
124556		ByoipCidrStatePendingProvision,
124557		ByoipCidrStateProvisioned,
124558		ByoipCidrStateProvisionedNotPubliclyAdvertisable,
124559	}
124560}
124561
124562const (
124563	// CancelBatchErrorCodeFleetRequestIdDoesNotExist is a CancelBatchErrorCode enum value
124564	CancelBatchErrorCodeFleetRequestIdDoesNotExist = "fleetRequestIdDoesNotExist"
124565
124566	// CancelBatchErrorCodeFleetRequestIdMalformed is a CancelBatchErrorCode enum value
124567	CancelBatchErrorCodeFleetRequestIdMalformed = "fleetRequestIdMalformed"
124568
124569	// CancelBatchErrorCodeFleetRequestNotInCancellableState is a CancelBatchErrorCode enum value
124570	CancelBatchErrorCodeFleetRequestNotInCancellableState = "fleetRequestNotInCancellableState"
124571
124572	// CancelBatchErrorCodeUnexpectedError is a CancelBatchErrorCode enum value
124573	CancelBatchErrorCodeUnexpectedError = "unexpectedError"
124574)
124575
124576// CancelBatchErrorCode_Values returns all elements of the CancelBatchErrorCode enum
124577func CancelBatchErrorCode_Values() []string {
124578	return []string{
124579		CancelBatchErrorCodeFleetRequestIdDoesNotExist,
124580		CancelBatchErrorCodeFleetRequestIdMalformed,
124581		CancelBatchErrorCodeFleetRequestNotInCancellableState,
124582		CancelBatchErrorCodeUnexpectedError,
124583	}
124584}
124585
124586const (
124587	// CancelSpotInstanceRequestStateActive is a CancelSpotInstanceRequestState enum value
124588	CancelSpotInstanceRequestStateActive = "active"
124589
124590	// CancelSpotInstanceRequestStateOpen is a CancelSpotInstanceRequestState enum value
124591	CancelSpotInstanceRequestStateOpen = "open"
124592
124593	// CancelSpotInstanceRequestStateClosed is a CancelSpotInstanceRequestState enum value
124594	CancelSpotInstanceRequestStateClosed = "closed"
124595
124596	// CancelSpotInstanceRequestStateCancelled is a CancelSpotInstanceRequestState enum value
124597	CancelSpotInstanceRequestStateCancelled = "cancelled"
124598
124599	// CancelSpotInstanceRequestStateCompleted is a CancelSpotInstanceRequestState enum value
124600	CancelSpotInstanceRequestStateCompleted = "completed"
124601)
124602
124603// CancelSpotInstanceRequestState_Values returns all elements of the CancelSpotInstanceRequestState enum
124604func CancelSpotInstanceRequestState_Values() []string {
124605	return []string{
124606		CancelSpotInstanceRequestStateActive,
124607		CancelSpotInstanceRequestStateOpen,
124608		CancelSpotInstanceRequestStateClosed,
124609		CancelSpotInstanceRequestStateCancelled,
124610		CancelSpotInstanceRequestStateCompleted,
124611	}
124612}
124613
124614const (
124615	// CapacityReservationInstancePlatformLinuxUnix is a CapacityReservationInstancePlatform enum value
124616	CapacityReservationInstancePlatformLinuxUnix = "Linux/UNIX"
124617
124618	// CapacityReservationInstancePlatformRedHatEnterpriseLinux is a CapacityReservationInstancePlatform enum value
124619	CapacityReservationInstancePlatformRedHatEnterpriseLinux = "Red Hat Enterprise Linux"
124620
124621	// CapacityReservationInstancePlatformSuselinux is a CapacityReservationInstancePlatform enum value
124622	CapacityReservationInstancePlatformSuselinux = "SUSE Linux"
124623
124624	// CapacityReservationInstancePlatformWindows is a CapacityReservationInstancePlatform enum value
124625	CapacityReservationInstancePlatformWindows = "Windows"
124626
124627	// CapacityReservationInstancePlatformWindowswithSqlserver is a CapacityReservationInstancePlatform enum value
124628	CapacityReservationInstancePlatformWindowswithSqlserver = "Windows with SQL Server"
124629
124630	// CapacityReservationInstancePlatformWindowswithSqlserverEnterprise is a CapacityReservationInstancePlatform enum value
124631	CapacityReservationInstancePlatformWindowswithSqlserverEnterprise = "Windows with SQL Server Enterprise"
124632
124633	// CapacityReservationInstancePlatformWindowswithSqlserverStandard is a CapacityReservationInstancePlatform enum value
124634	CapacityReservationInstancePlatformWindowswithSqlserverStandard = "Windows with SQL Server Standard"
124635
124636	// CapacityReservationInstancePlatformWindowswithSqlserverWeb is a CapacityReservationInstancePlatform enum value
124637	CapacityReservationInstancePlatformWindowswithSqlserverWeb = "Windows with SQL Server Web"
124638
124639	// CapacityReservationInstancePlatformLinuxwithSqlserverStandard is a CapacityReservationInstancePlatform enum value
124640	CapacityReservationInstancePlatformLinuxwithSqlserverStandard = "Linux with SQL Server Standard"
124641
124642	// CapacityReservationInstancePlatformLinuxwithSqlserverWeb is a CapacityReservationInstancePlatform enum value
124643	CapacityReservationInstancePlatformLinuxwithSqlserverWeb = "Linux with SQL Server Web"
124644
124645	// CapacityReservationInstancePlatformLinuxwithSqlserverEnterprise is a CapacityReservationInstancePlatform enum value
124646	CapacityReservationInstancePlatformLinuxwithSqlserverEnterprise = "Linux with SQL Server Enterprise"
124647)
124648
124649// CapacityReservationInstancePlatform_Values returns all elements of the CapacityReservationInstancePlatform enum
124650func CapacityReservationInstancePlatform_Values() []string {
124651	return []string{
124652		CapacityReservationInstancePlatformLinuxUnix,
124653		CapacityReservationInstancePlatformRedHatEnterpriseLinux,
124654		CapacityReservationInstancePlatformSuselinux,
124655		CapacityReservationInstancePlatformWindows,
124656		CapacityReservationInstancePlatformWindowswithSqlserver,
124657		CapacityReservationInstancePlatformWindowswithSqlserverEnterprise,
124658		CapacityReservationInstancePlatformWindowswithSqlserverStandard,
124659		CapacityReservationInstancePlatformWindowswithSqlserverWeb,
124660		CapacityReservationInstancePlatformLinuxwithSqlserverStandard,
124661		CapacityReservationInstancePlatformLinuxwithSqlserverWeb,
124662		CapacityReservationInstancePlatformLinuxwithSqlserverEnterprise,
124663	}
124664}
124665
124666const (
124667	// CapacityReservationPreferenceOpen is a CapacityReservationPreference enum value
124668	CapacityReservationPreferenceOpen = "open"
124669
124670	// CapacityReservationPreferenceNone is a CapacityReservationPreference enum value
124671	CapacityReservationPreferenceNone = "none"
124672)
124673
124674// CapacityReservationPreference_Values returns all elements of the CapacityReservationPreference enum
124675func CapacityReservationPreference_Values() []string {
124676	return []string{
124677		CapacityReservationPreferenceOpen,
124678		CapacityReservationPreferenceNone,
124679	}
124680}
124681
124682const (
124683	// CapacityReservationStateActive is a CapacityReservationState enum value
124684	CapacityReservationStateActive = "active"
124685
124686	// CapacityReservationStateExpired is a CapacityReservationState enum value
124687	CapacityReservationStateExpired = "expired"
124688
124689	// CapacityReservationStateCancelled is a CapacityReservationState enum value
124690	CapacityReservationStateCancelled = "cancelled"
124691
124692	// CapacityReservationStatePending is a CapacityReservationState enum value
124693	CapacityReservationStatePending = "pending"
124694
124695	// CapacityReservationStateFailed is a CapacityReservationState enum value
124696	CapacityReservationStateFailed = "failed"
124697)
124698
124699// CapacityReservationState_Values returns all elements of the CapacityReservationState enum
124700func CapacityReservationState_Values() []string {
124701	return []string{
124702		CapacityReservationStateActive,
124703		CapacityReservationStateExpired,
124704		CapacityReservationStateCancelled,
124705		CapacityReservationStatePending,
124706		CapacityReservationStateFailed,
124707	}
124708}
124709
124710const (
124711	// CapacityReservationTenancyDefault is a CapacityReservationTenancy enum value
124712	CapacityReservationTenancyDefault = "default"
124713
124714	// CapacityReservationTenancyDedicated is a CapacityReservationTenancy enum value
124715	CapacityReservationTenancyDedicated = "dedicated"
124716)
124717
124718// CapacityReservationTenancy_Values returns all elements of the CapacityReservationTenancy enum
124719func CapacityReservationTenancy_Values() []string {
124720	return []string{
124721		CapacityReservationTenancyDefault,
124722		CapacityReservationTenancyDedicated,
124723	}
124724}
124725
124726const (
124727	// CarrierGatewayStatePending is a CarrierGatewayState enum value
124728	CarrierGatewayStatePending = "pending"
124729
124730	// CarrierGatewayStateAvailable is a CarrierGatewayState enum value
124731	CarrierGatewayStateAvailable = "available"
124732
124733	// CarrierGatewayStateDeleting is a CarrierGatewayState enum value
124734	CarrierGatewayStateDeleting = "deleting"
124735
124736	// CarrierGatewayStateDeleted is a CarrierGatewayState enum value
124737	CarrierGatewayStateDeleted = "deleted"
124738)
124739
124740// CarrierGatewayState_Values returns all elements of the CarrierGatewayState enum
124741func CarrierGatewayState_Values() []string {
124742	return []string{
124743		CarrierGatewayStatePending,
124744		CarrierGatewayStateAvailable,
124745		CarrierGatewayStateDeleting,
124746		CarrierGatewayStateDeleted,
124747	}
124748}
124749
124750const (
124751	// ClientCertificateRevocationListStatusCodePending is a ClientCertificateRevocationListStatusCode enum value
124752	ClientCertificateRevocationListStatusCodePending = "pending"
124753
124754	// ClientCertificateRevocationListStatusCodeActive is a ClientCertificateRevocationListStatusCode enum value
124755	ClientCertificateRevocationListStatusCodeActive = "active"
124756)
124757
124758// ClientCertificateRevocationListStatusCode_Values returns all elements of the ClientCertificateRevocationListStatusCode enum
124759func ClientCertificateRevocationListStatusCode_Values() []string {
124760	return []string{
124761		ClientCertificateRevocationListStatusCodePending,
124762		ClientCertificateRevocationListStatusCodeActive,
124763	}
124764}
124765
124766const (
124767	// ClientVpnAuthenticationTypeCertificateAuthentication is a ClientVpnAuthenticationType enum value
124768	ClientVpnAuthenticationTypeCertificateAuthentication = "certificate-authentication"
124769
124770	// ClientVpnAuthenticationTypeDirectoryServiceAuthentication is a ClientVpnAuthenticationType enum value
124771	ClientVpnAuthenticationTypeDirectoryServiceAuthentication = "directory-service-authentication"
124772
124773	// ClientVpnAuthenticationTypeFederatedAuthentication is a ClientVpnAuthenticationType enum value
124774	ClientVpnAuthenticationTypeFederatedAuthentication = "federated-authentication"
124775)
124776
124777// ClientVpnAuthenticationType_Values returns all elements of the ClientVpnAuthenticationType enum
124778func ClientVpnAuthenticationType_Values() []string {
124779	return []string{
124780		ClientVpnAuthenticationTypeCertificateAuthentication,
124781		ClientVpnAuthenticationTypeDirectoryServiceAuthentication,
124782		ClientVpnAuthenticationTypeFederatedAuthentication,
124783	}
124784}
124785
124786const (
124787	// ClientVpnAuthorizationRuleStatusCodeAuthorizing is a ClientVpnAuthorizationRuleStatusCode enum value
124788	ClientVpnAuthorizationRuleStatusCodeAuthorizing = "authorizing"
124789
124790	// ClientVpnAuthorizationRuleStatusCodeActive is a ClientVpnAuthorizationRuleStatusCode enum value
124791	ClientVpnAuthorizationRuleStatusCodeActive = "active"
124792
124793	// ClientVpnAuthorizationRuleStatusCodeFailed is a ClientVpnAuthorizationRuleStatusCode enum value
124794	ClientVpnAuthorizationRuleStatusCodeFailed = "failed"
124795
124796	// ClientVpnAuthorizationRuleStatusCodeRevoking is a ClientVpnAuthorizationRuleStatusCode enum value
124797	ClientVpnAuthorizationRuleStatusCodeRevoking = "revoking"
124798)
124799
124800// ClientVpnAuthorizationRuleStatusCode_Values returns all elements of the ClientVpnAuthorizationRuleStatusCode enum
124801func ClientVpnAuthorizationRuleStatusCode_Values() []string {
124802	return []string{
124803		ClientVpnAuthorizationRuleStatusCodeAuthorizing,
124804		ClientVpnAuthorizationRuleStatusCodeActive,
124805		ClientVpnAuthorizationRuleStatusCodeFailed,
124806		ClientVpnAuthorizationRuleStatusCodeRevoking,
124807	}
124808}
124809
124810const (
124811	// ClientVpnConnectionStatusCodeActive is a ClientVpnConnectionStatusCode enum value
124812	ClientVpnConnectionStatusCodeActive = "active"
124813
124814	// ClientVpnConnectionStatusCodeFailedToTerminate is a ClientVpnConnectionStatusCode enum value
124815	ClientVpnConnectionStatusCodeFailedToTerminate = "failed-to-terminate"
124816
124817	// ClientVpnConnectionStatusCodeTerminating is a ClientVpnConnectionStatusCode enum value
124818	ClientVpnConnectionStatusCodeTerminating = "terminating"
124819
124820	// ClientVpnConnectionStatusCodeTerminated is a ClientVpnConnectionStatusCode enum value
124821	ClientVpnConnectionStatusCodeTerminated = "terminated"
124822)
124823
124824// ClientVpnConnectionStatusCode_Values returns all elements of the ClientVpnConnectionStatusCode enum
124825func ClientVpnConnectionStatusCode_Values() []string {
124826	return []string{
124827		ClientVpnConnectionStatusCodeActive,
124828		ClientVpnConnectionStatusCodeFailedToTerminate,
124829		ClientVpnConnectionStatusCodeTerminating,
124830		ClientVpnConnectionStatusCodeTerminated,
124831	}
124832}
124833
124834const (
124835	// ClientVpnEndpointAttributeStatusCodeApplying is a ClientVpnEndpointAttributeStatusCode enum value
124836	ClientVpnEndpointAttributeStatusCodeApplying = "applying"
124837
124838	// ClientVpnEndpointAttributeStatusCodeApplied is a ClientVpnEndpointAttributeStatusCode enum value
124839	ClientVpnEndpointAttributeStatusCodeApplied = "applied"
124840)
124841
124842// ClientVpnEndpointAttributeStatusCode_Values returns all elements of the ClientVpnEndpointAttributeStatusCode enum
124843func ClientVpnEndpointAttributeStatusCode_Values() []string {
124844	return []string{
124845		ClientVpnEndpointAttributeStatusCodeApplying,
124846		ClientVpnEndpointAttributeStatusCodeApplied,
124847	}
124848}
124849
124850const (
124851	// ClientVpnEndpointStatusCodePendingAssociate is a ClientVpnEndpointStatusCode enum value
124852	ClientVpnEndpointStatusCodePendingAssociate = "pending-associate"
124853
124854	// ClientVpnEndpointStatusCodeAvailable is a ClientVpnEndpointStatusCode enum value
124855	ClientVpnEndpointStatusCodeAvailable = "available"
124856
124857	// ClientVpnEndpointStatusCodeDeleting is a ClientVpnEndpointStatusCode enum value
124858	ClientVpnEndpointStatusCodeDeleting = "deleting"
124859
124860	// ClientVpnEndpointStatusCodeDeleted is a ClientVpnEndpointStatusCode enum value
124861	ClientVpnEndpointStatusCodeDeleted = "deleted"
124862)
124863
124864// ClientVpnEndpointStatusCode_Values returns all elements of the ClientVpnEndpointStatusCode enum
124865func ClientVpnEndpointStatusCode_Values() []string {
124866	return []string{
124867		ClientVpnEndpointStatusCodePendingAssociate,
124868		ClientVpnEndpointStatusCodeAvailable,
124869		ClientVpnEndpointStatusCodeDeleting,
124870		ClientVpnEndpointStatusCodeDeleted,
124871	}
124872}
124873
124874const (
124875	// ClientVpnRouteStatusCodeCreating is a ClientVpnRouteStatusCode enum value
124876	ClientVpnRouteStatusCodeCreating = "creating"
124877
124878	// ClientVpnRouteStatusCodeActive is a ClientVpnRouteStatusCode enum value
124879	ClientVpnRouteStatusCodeActive = "active"
124880
124881	// ClientVpnRouteStatusCodeFailed is a ClientVpnRouteStatusCode enum value
124882	ClientVpnRouteStatusCodeFailed = "failed"
124883
124884	// ClientVpnRouteStatusCodeDeleting is a ClientVpnRouteStatusCode enum value
124885	ClientVpnRouteStatusCodeDeleting = "deleting"
124886)
124887
124888// ClientVpnRouteStatusCode_Values returns all elements of the ClientVpnRouteStatusCode enum
124889func ClientVpnRouteStatusCode_Values() []string {
124890	return []string{
124891		ClientVpnRouteStatusCodeCreating,
124892		ClientVpnRouteStatusCodeActive,
124893		ClientVpnRouteStatusCodeFailed,
124894		ClientVpnRouteStatusCodeDeleting,
124895	}
124896}
124897
124898const (
124899	// ConnectionNotificationStateEnabled is a ConnectionNotificationState enum value
124900	ConnectionNotificationStateEnabled = "Enabled"
124901
124902	// ConnectionNotificationStateDisabled is a ConnectionNotificationState enum value
124903	ConnectionNotificationStateDisabled = "Disabled"
124904)
124905
124906// ConnectionNotificationState_Values returns all elements of the ConnectionNotificationState enum
124907func ConnectionNotificationState_Values() []string {
124908	return []string{
124909		ConnectionNotificationStateEnabled,
124910		ConnectionNotificationStateDisabled,
124911	}
124912}
124913
124914const (
124915	// ConnectionNotificationTypeTopic is a ConnectionNotificationType enum value
124916	ConnectionNotificationTypeTopic = "Topic"
124917)
124918
124919// ConnectionNotificationType_Values returns all elements of the ConnectionNotificationType enum
124920func ConnectionNotificationType_Values() []string {
124921	return []string{
124922		ConnectionNotificationTypeTopic,
124923	}
124924}
124925
124926const (
124927	// ContainerFormatOva is a ContainerFormat enum value
124928	ContainerFormatOva = "ova"
124929)
124930
124931// ContainerFormat_Values returns all elements of the ContainerFormat enum
124932func ContainerFormat_Values() []string {
124933	return []string{
124934		ContainerFormatOva,
124935	}
124936}
124937
124938const (
124939	// ConversionTaskStateActive is a ConversionTaskState enum value
124940	ConversionTaskStateActive = "active"
124941
124942	// ConversionTaskStateCancelling is a ConversionTaskState enum value
124943	ConversionTaskStateCancelling = "cancelling"
124944
124945	// ConversionTaskStateCancelled is a ConversionTaskState enum value
124946	ConversionTaskStateCancelled = "cancelled"
124947
124948	// ConversionTaskStateCompleted is a ConversionTaskState enum value
124949	ConversionTaskStateCompleted = "completed"
124950)
124951
124952// ConversionTaskState_Values returns all elements of the ConversionTaskState enum
124953func ConversionTaskState_Values() []string {
124954	return []string{
124955		ConversionTaskStateActive,
124956		ConversionTaskStateCancelling,
124957		ConversionTaskStateCancelled,
124958		ConversionTaskStateCompleted,
124959	}
124960}
124961
124962const (
124963	// CopyTagsFromSourceVolume is a CopyTagsFromSource enum value
124964	CopyTagsFromSourceVolume = "volume"
124965)
124966
124967// CopyTagsFromSource_Values returns all elements of the CopyTagsFromSource enum
124968func CopyTagsFromSource_Values() []string {
124969	return []string{
124970		CopyTagsFromSourceVolume,
124971	}
124972}
124973
124974const (
124975	// CurrencyCodeValuesUsd is a CurrencyCodeValues enum value
124976	CurrencyCodeValuesUsd = "USD"
124977)
124978
124979// CurrencyCodeValues_Values returns all elements of the CurrencyCodeValues enum
124980func CurrencyCodeValues_Values() []string {
124981	return []string{
124982		CurrencyCodeValuesUsd,
124983	}
124984}
124985
124986const (
124987	// DatafeedSubscriptionStateActive is a DatafeedSubscriptionState enum value
124988	DatafeedSubscriptionStateActive = "Active"
124989
124990	// DatafeedSubscriptionStateInactive is a DatafeedSubscriptionState enum value
124991	DatafeedSubscriptionStateInactive = "Inactive"
124992)
124993
124994// DatafeedSubscriptionState_Values returns all elements of the DatafeedSubscriptionState enum
124995func DatafeedSubscriptionState_Values() []string {
124996	return []string{
124997		DatafeedSubscriptionStateActive,
124998		DatafeedSubscriptionStateInactive,
124999	}
125000}
125001
125002const (
125003	// DefaultRouteTableAssociationValueEnable is a DefaultRouteTableAssociationValue enum value
125004	DefaultRouteTableAssociationValueEnable = "enable"
125005
125006	// DefaultRouteTableAssociationValueDisable is a DefaultRouteTableAssociationValue enum value
125007	DefaultRouteTableAssociationValueDisable = "disable"
125008)
125009
125010// DefaultRouteTableAssociationValue_Values returns all elements of the DefaultRouteTableAssociationValue enum
125011func DefaultRouteTableAssociationValue_Values() []string {
125012	return []string{
125013		DefaultRouteTableAssociationValueEnable,
125014		DefaultRouteTableAssociationValueDisable,
125015	}
125016}
125017
125018const (
125019	// DefaultRouteTablePropagationValueEnable is a DefaultRouteTablePropagationValue enum value
125020	DefaultRouteTablePropagationValueEnable = "enable"
125021
125022	// DefaultRouteTablePropagationValueDisable is a DefaultRouteTablePropagationValue enum value
125023	DefaultRouteTablePropagationValueDisable = "disable"
125024)
125025
125026// DefaultRouteTablePropagationValue_Values returns all elements of the DefaultRouteTablePropagationValue enum
125027func DefaultRouteTablePropagationValue_Values() []string {
125028	return []string{
125029		DefaultRouteTablePropagationValueEnable,
125030		DefaultRouteTablePropagationValueDisable,
125031	}
125032}
125033
125034const (
125035	// DefaultTargetCapacityTypeSpot is a DefaultTargetCapacityType enum value
125036	DefaultTargetCapacityTypeSpot = "spot"
125037
125038	// DefaultTargetCapacityTypeOnDemand is a DefaultTargetCapacityType enum value
125039	DefaultTargetCapacityTypeOnDemand = "on-demand"
125040)
125041
125042// DefaultTargetCapacityType_Values returns all elements of the DefaultTargetCapacityType enum
125043func DefaultTargetCapacityType_Values() []string {
125044	return []string{
125045		DefaultTargetCapacityTypeSpot,
125046		DefaultTargetCapacityTypeOnDemand,
125047	}
125048}
125049
125050const (
125051	// DeleteFleetErrorCodeFleetIdDoesNotExist is a DeleteFleetErrorCode enum value
125052	DeleteFleetErrorCodeFleetIdDoesNotExist = "fleetIdDoesNotExist"
125053
125054	// DeleteFleetErrorCodeFleetIdMalformed is a DeleteFleetErrorCode enum value
125055	DeleteFleetErrorCodeFleetIdMalformed = "fleetIdMalformed"
125056
125057	// DeleteFleetErrorCodeFleetNotInDeletableState is a DeleteFleetErrorCode enum value
125058	DeleteFleetErrorCodeFleetNotInDeletableState = "fleetNotInDeletableState"
125059
125060	// DeleteFleetErrorCodeUnexpectedError is a DeleteFleetErrorCode enum value
125061	DeleteFleetErrorCodeUnexpectedError = "unexpectedError"
125062)
125063
125064// DeleteFleetErrorCode_Values returns all elements of the DeleteFleetErrorCode enum
125065func DeleteFleetErrorCode_Values() []string {
125066	return []string{
125067		DeleteFleetErrorCodeFleetIdDoesNotExist,
125068		DeleteFleetErrorCodeFleetIdMalformed,
125069		DeleteFleetErrorCodeFleetNotInDeletableState,
125070		DeleteFleetErrorCodeUnexpectedError,
125071	}
125072}
125073
125074const (
125075	// DeleteQueuedReservedInstancesErrorCodeReservedInstancesIdInvalid is a DeleteQueuedReservedInstancesErrorCode enum value
125076	DeleteQueuedReservedInstancesErrorCodeReservedInstancesIdInvalid = "reserved-instances-id-invalid"
125077
125078	// DeleteQueuedReservedInstancesErrorCodeReservedInstancesNotInQueuedState is a DeleteQueuedReservedInstancesErrorCode enum value
125079	DeleteQueuedReservedInstancesErrorCodeReservedInstancesNotInQueuedState = "reserved-instances-not-in-queued-state"
125080
125081	// DeleteQueuedReservedInstancesErrorCodeUnexpectedError is a DeleteQueuedReservedInstancesErrorCode enum value
125082	DeleteQueuedReservedInstancesErrorCodeUnexpectedError = "unexpected-error"
125083)
125084
125085// DeleteQueuedReservedInstancesErrorCode_Values returns all elements of the DeleteQueuedReservedInstancesErrorCode enum
125086func DeleteQueuedReservedInstancesErrorCode_Values() []string {
125087	return []string{
125088		DeleteQueuedReservedInstancesErrorCodeReservedInstancesIdInvalid,
125089		DeleteQueuedReservedInstancesErrorCodeReservedInstancesNotInQueuedState,
125090		DeleteQueuedReservedInstancesErrorCodeUnexpectedError,
125091	}
125092}
125093
125094const (
125095	// DeviceTypeEbs is a DeviceType enum value
125096	DeviceTypeEbs = "ebs"
125097
125098	// DeviceTypeInstanceStore is a DeviceType enum value
125099	DeviceTypeInstanceStore = "instance-store"
125100)
125101
125102// DeviceType_Values returns all elements of the DeviceType enum
125103func DeviceType_Values() []string {
125104	return []string{
125105		DeviceTypeEbs,
125106		DeviceTypeInstanceStore,
125107	}
125108}
125109
125110const (
125111	// DiskImageFormatVmdk is a DiskImageFormat enum value
125112	DiskImageFormatVmdk = "VMDK"
125113
125114	// DiskImageFormatRaw is a DiskImageFormat enum value
125115	DiskImageFormatRaw = "RAW"
125116
125117	// DiskImageFormatVhd is a DiskImageFormat enum value
125118	DiskImageFormatVhd = "VHD"
125119)
125120
125121// DiskImageFormat_Values returns all elements of the DiskImageFormat enum
125122func DiskImageFormat_Values() []string {
125123	return []string{
125124		DiskImageFormatVmdk,
125125		DiskImageFormatRaw,
125126		DiskImageFormatVhd,
125127	}
125128}
125129
125130const (
125131	// DiskTypeHdd is a DiskType enum value
125132	DiskTypeHdd = "hdd"
125133
125134	// DiskTypeSsd is a DiskType enum value
125135	DiskTypeSsd = "ssd"
125136)
125137
125138// DiskType_Values returns all elements of the DiskType enum
125139func DiskType_Values() []string {
125140	return []string{
125141		DiskTypeHdd,
125142		DiskTypeSsd,
125143	}
125144}
125145
125146const (
125147	// DnsNameStatePendingVerification is a DnsNameState enum value
125148	DnsNameStatePendingVerification = "pendingVerification"
125149
125150	// DnsNameStateVerified is a DnsNameState enum value
125151	DnsNameStateVerified = "verified"
125152
125153	// DnsNameStateFailed is a DnsNameState enum value
125154	DnsNameStateFailed = "failed"
125155)
125156
125157// DnsNameState_Values returns all elements of the DnsNameState enum
125158func DnsNameState_Values() []string {
125159	return []string{
125160		DnsNameStatePendingVerification,
125161		DnsNameStateVerified,
125162		DnsNameStateFailed,
125163	}
125164}
125165
125166const (
125167	// DnsSupportValueEnable is a DnsSupportValue enum value
125168	DnsSupportValueEnable = "enable"
125169
125170	// DnsSupportValueDisable is a DnsSupportValue enum value
125171	DnsSupportValueDisable = "disable"
125172)
125173
125174// DnsSupportValue_Values returns all elements of the DnsSupportValue enum
125175func DnsSupportValue_Values() []string {
125176	return []string{
125177		DnsSupportValueEnable,
125178		DnsSupportValueDisable,
125179	}
125180}
125181
125182const (
125183	// DomainTypeVpc is a DomainType enum value
125184	DomainTypeVpc = "vpc"
125185
125186	// DomainTypeStandard is a DomainType enum value
125187	DomainTypeStandard = "standard"
125188)
125189
125190// DomainType_Values returns all elements of the DomainType enum
125191func DomainType_Values() []string {
125192	return []string{
125193		DomainTypeVpc,
125194		DomainTypeStandard,
125195	}
125196}
125197
125198const (
125199	// EbsEncryptionSupportUnsupported is a EbsEncryptionSupport enum value
125200	EbsEncryptionSupportUnsupported = "unsupported"
125201
125202	// EbsEncryptionSupportSupported is a EbsEncryptionSupport enum value
125203	EbsEncryptionSupportSupported = "supported"
125204)
125205
125206// EbsEncryptionSupport_Values returns all elements of the EbsEncryptionSupport enum
125207func EbsEncryptionSupport_Values() []string {
125208	return []string{
125209		EbsEncryptionSupportUnsupported,
125210		EbsEncryptionSupportSupported,
125211	}
125212}
125213
125214const (
125215	// EbsNvmeSupportUnsupported is a EbsNvmeSupport enum value
125216	EbsNvmeSupportUnsupported = "unsupported"
125217
125218	// EbsNvmeSupportSupported is a EbsNvmeSupport enum value
125219	EbsNvmeSupportSupported = "supported"
125220
125221	// EbsNvmeSupportRequired is a EbsNvmeSupport enum value
125222	EbsNvmeSupportRequired = "required"
125223)
125224
125225// EbsNvmeSupport_Values returns all elements of the EbsNvmeSupport enum
125226func EbsNvmeSupport_Values() []string {
125227	return []string{
125228		EbsNvmeSupportUnsupported,
125229		EbsNvmeSupportSupported,
125230		EbsNvmeSupportRequired,
125231	}
125232}
125233
125234const (
125235	// EbsOptimizedSupportUnsupported is a EbsOptimizedSupport enum value
125236	EbsOptimizedSupportUnsupported = "unsupported"
125237
125238	// EbsOptimizedSupportSupported is a EbsOptimizedSupport enum value
125239	EbsOptimizedSupportSupported = "supported"
125240
125241	// EbsOptimizedSupportDefault is a EbsOptimizedSupport enum value
125242	EbsOptimizedSupportDefault = "default"
125243)
125244
125245// EbsOptimizedSupport_Values returns all elements of the EbsOptimizedSupport enum
125246func EbsOptimizedSupport_Values() []string {
125247	return []string{
125248		EbsOptimizedSupportUnsupported,
125249		EbsOptimizedSupportSupported,
125250		EbsOptimizedSupportDefault,
125251	}
125252}
125253
125254const (
125255	// ElasticGpuStateAttached is a ElasticGpuState enum value
125256	ElasticGpuStateAttached = "ATTACHED"
125257)
125258
125259// ElasticGpuState_Values returns all elements of the ElasticGpuState enum
125260func ElasticGpuState_Values() []string {
125261	return []string{
125262		ElasticGpuStateAttached,
125263	}
125264}
125265
125266const (
125267	// ElasticGpuStatusOk is a ElasticGpuStatus enum value
125268	ElasticGpuStatusOk = "OK"
125269
125270	// ElasticGpuStatusImpaired is a ElasticGpuStatus enum value
125271	ElasticGpuStatusImpaired = "IMPAIRED"
125272)
125273
125274// ElasticGpuStatus_Values returns all elements of the ElasticGpuStatus enum
125275func ElasticGpuStatus_Values() []string {
125276	return []string{
125277		ElasticGpuStatusOk,
125278		ElasticGpuStatusImpaired,
125279	}
125280}
125281
125282const (
125283	// EnaSupportUnsupported is a EnaSupport enum value
125284	EnaSupportUnsupported = "unsupported"
125285
125286	// EnaSupportSupported is a EnaSupport enum value
125287	EnaSupportSupported = "supported"
125288
125289	// EnaSupportRequired is a EnaSupport enum value
125290	EnaSupportRequired = "required"
125291)
125292
125293// EnaSupport_Values returns all elements of the EnaSupport enum
125294func EnaSupport_Values() []string {
125295	return []string{
125296		EnaSupportUnsupported,
125297		EnaSupportSupported,
125298		EnaSupportRequired,
125299	}
125300}
125301
125302const (
125303	// EndDateTypeUnlimited is a EndDateType enum value
125304	EndDateTypeUnlimited = "unlimited"
125305
125306	// EndDateTypeLimited is a EndDateType enum value
125307	EndDateTypeLimited = "limited"
125308)
125309
125310// EndDateType_Values returns all elements of the EndDateType enum
125311func EndDateType_Values() []string {
125312	return []string{
125313		EndDateTypeUnlimited,
125314		EndDateTypeLimited,
125315	}
125316}
125317
125318const (
125319	// EphemeralNvmeSupportUnsupported is a EphemeralNvmeSupport enum value
125320	EphemeralNvmeSupportUnsupported = "unsupported"
125321
125322	// EphemeralNvmeSupportSupported is a EphemeralNvmeSupport enum value
125323	EphemeralNvmeSupportSupported = "supported"
125324
125325	// EphemeralNvmeSupportRequired is a EphemeralNvmeSupport enum value
125326	EphemeralNvmeSupportRequired = "required"
125327)
125328
125329// EphemeralNvmeSupport_Values returns all elements of the EphemeralNvmeSupport enum
125330func EphemeralNvmeSupport_Values() []string {
125331	return []string{
125332		EphemeralNvmeSupportUnsupported,
125333		EphemeralNvmeSupportSupported,
125334		EphemeralNvmeSupportRequired,
125335	}
125336}
125337
125338const (
125339	// EventCodeInstanceReboot is a EventCode enum value
125340	EventCodeInstanceReboot = "instance-reboot"
125341
125342	// EventCodeSystemReboot is a EventCode enum value
125343	EventCodeSystemReboot = "system-reboot"
125344
125345	// EventCodeSystemMaintenance is a EventCode enum value
125346	EventCodeSystemMaintenance = "system-maintenance"
125347
125348	// EventCodeInstanceRetirement is a EventCode enum value
125349	EventCodeInstanceRetirement = "instance-retirement"
125350
125351	// EventCodeInstanceStop is a EventCode enum value
125352	EventCodeInstanceStop = "instance-stop"
125353)
125354
125355// EventCode_Values returns all elements of the EventCode enum
125356func EventCode_Values() []string {
125357	return []string{
125358		EventCodeInstanceReboot,
125359		EventCodeSystemReboot,
125360		EventCodeSystemMaintenance,
125361		EventCodeInstanceRetirement,
125362		EventCodeInstanceStop,
125363	}
125364}
125365
125366const (
125367	// EventTypeInstanceChange is a EventType enum value
125368	EventTypeInstanceChange = "instanceChange"
125369
125370	// EventTypeFleetRequestChange is a EventType enum value
125371	EventTypeFleetRequestChange = "fleetRequestChange"
125372
125373	// EventTypeError is a EventType enum value
125374	EventTypeError = "error"
125375
125376	// EventTypeInformation is a EventType enum value
125377	EventTypeInformation = "information"
125378)
125379
125380// EventType_Values returns all elements of the EventType enum
125381func EventType_Values() []string {
125382	return []string{
125383		EventTypeInstanceChange,
125384		EventTypeFleetRequestChange,
125385		EventTypeError,
125386		EventTypeInformation,
125387	}
125388}
125389
125390const (
125391	// ExcessCapacityTerminationPolicyNoTermination is a ExcessCapacityTerminationPolicy enum value
125392	ExcessCapacityTerminationPolicyNoTermination = "noTermination"
125393
125394	// ExcessCapacityTerminationPolicyDefault is a ExcessCapacityTerminationPolicy enum value
125395	ExcessCapacityTerminationPolicyDefault = "default"
125396)
125397
125398// ExcessCapacityTerminationPolicy_Values returns all elements of the ExcessCapacityTerminationPolicy enum
125399func ExcessCapacityTerminationPolicy_Values() []string {
125400	return []string{
125401		ExcessCapacityTerminationPolicyNoTermination,
125402		ExcessCapacityTerminationPolicyDefault,
125403	}
125404}
125405
125406const (
125407	// ExportEnvironmentCitrix is a ExportEnvironment enum value
125408	ExportEnvironmentCitrix = "citrix"
125409
125410	// ExportEnvironmentVmware is a ExportEnvironment enum value
125411	ExportEnvironmentVmware = "vmware"
125412
125413	// ExportEnvironmentMicrosoft is a ExportEnvironment enum value
125414	ExportEnvironmentMicrosoft = "microsoft"
125415)
125416
125417// ExportEnvironment_Values returns all elements of the ExportEnvironment enum
125418func ExportEnvironment_Values() []string {
125419	return []string{
125420		ExportEnvironmentCitrix,
125421		ExportEnvironmentVmware,
125422		ExportEnvironmentMicrosoft,
125423	}
125424}
125425
125426const (
125427	// ExportTaskStateActive is a ExportTaskState enum value
125428	ExportTaskStateActive = "active"
125429
125430	// ExportTaskStateCancelling is a ExportTaskState enum value
125431	ExportTaskStateCancelling = "cancelling"
125432
125433	// ExportTaskStateCancelled is a ExportTaskState enum value
125434	ExportTaskStateCancelled = "cancelled"
125435
125436	// ExportTaskStateCompleted is a ExportTaskState enum value
125437	ExportTaskStateCompleted = "completed"
125438)
125439
125440// ExportTaskState_Values returns all elements of the ExportTaskState enum
125441func ExportTaskState_Values() []string {
125442	return []string{
125443		ExportTaskStateActive,
125444		ExportTaskStateCancelling,
125445		ExportTaskStateCancelled,
125446		ExportTaskStateCompleted,
125447	}
125448}
125449
125450const (
125451	// FastSnapshotRestoreStateCodeEnabling is a FastSnapshotRestoreStateCode enum value
125452	FastSnapshotRestoreStateCodeEnabling = "enabling"
125453
125454	// FastSnapshotRestoreStateCodeOptimizing is a FastSnapshotRestoreStateCode enum value
125455	FastSnapshotRestoreStateCodeOptimizing = "optimizing"
125456
125457	// FastSnapshotRestoreStateCodeEnabled is a FastSnapshotRestoreStateCode enum value
125458	FastSnapshotRestoreStateCodeEnabled = "enabled"
125459
125460	// FastSnapshotRestoreStateCodeDisabling is a FastSnapshotRestoreStateCode enum value
125461	FastSnapshotRestoreStateCodeDisabling = "disabling"
125462
125463	// FastSnapshotRestoreStateCodeDisabled is a FastSnapshotRestoreStateCode enum value
125464	FastSnapshotRestoreStateCodeDisabled = "disabled"
125465)
125466
125467// FastSnapshotRestoreStateCode_Values returns all elements of the FastSnapshotRestoreStateCode enum
125468func FastSnapshotRestoreStateCode_Values() []string {
125469	return []string{
125470		FastSnapshotRestoreStateCodeEnabling,
125471		FastSnapshotRestoreStateCodeOptimizing,
125472		FastSnapshotRestoreStateCodeEnabled,
125473		FastSnapshotRestoreStateCodeDisabling,
125474		FastSnapshotRestoreStateCodeDisabled,
125475	}
125476}
125477
125478const (
125479	// FleetActivityStatusError is a FleetActivityStatus enum value
125480	FleetActivityStatusError = "error"
125481
125482	// FleetActivityStatusPendingFulfillment is a FleetActivityStatus enum value
125483	FleetActivityStatusPendingFulfillment = "pending_fulfillment"
125484
125485	// FleetActivityStatusPendingTermination is a FleetActivityStatus enum value
125486	FleetActivityStatusPendingTermination = "pending_termination"
125487
125488	// FleetActivityStatusFulfilled is a FleetActivityStatus enum value
125489	FleetActivityStatusFulfilled = "fulfilled"
125490)
125491
125492// FleetActivityStatus_Values returns all elements of the FleetActivityStatus enum
125493func FleetActivityStatus_Values() []string {
125494	return []string{
125495		FleetActivityStatusError,
125496		FleetActivityStatusPendingFulfillment,
125497		FleetActivityStatusPendingTermination,
125498		FleetActivityStatusFulfilled,
125499	}
125500}
125501
125502const (
125503	// FleetCapacityReservationUsageStrategyUseCapacityReservationsFirst is a FleetCapacityReservationUsageStrategy enum value
125504	FleetCapacityReservationUsageStrategyUseCapacityReservationsFirst = "use-capacity-reservations-first"
125505)
125506
125507// FleetCapacityReservationUsageStrategy_Values returns all elements of the FleetCapacityReservationUsageStrategy enum
125508func FleetCapacityReservationUsageStrategy_Values() []string {
125509	return []string{
125510		FleetCapacityReservationUsageStrategyUseCapacityReservationsFirst,
125511	}
125512}
125513
125514const (
125515	// FleetEventTypeInstanceChange is a FleetEventType enum value
125516	FleetEventTypeInstanceChange = "instance-change"
125517
125518	// FleetEventTypeFleetChange is a FleetEventType enum value
125519	FleetEventTypeFleetChange = "fleet-change"
125520
125521	// FleetEventTypeServiceError is a FleetEventType enum value
125522	FleetEventTypeServiceError = "service-error"
125523)
125524
125525// FleetEventType_Values returns all elements of the FleetEventType enum
125526func FleetEventType_Values() []string {
125527	return []string{
125528		FleetEventTypeInstanceChange,
125529		FleetEventTypeFleetChange,
125530		FleetEventTypeServiceError,
125531	}
125532}
125533
125534const (
125535	// FleetExcessCapacityTerminationPolicyNoTermination is a FleetExcessCapacityTerminationPolicy enum value
125536	FleetExcessCapacityTerminationPolicyNoTermination = "no-termination"
125537
125538	// FleetExcessCapacityTerminationPolicyTermination is a FleetExcessCapacityTerminationPolicy enum value
125539	FleetExcessCapacityTerminationPolicyTermination = "termination"
125540)
125541
125542// FleetExcessCapacityTerminationPolicy_Values returns all elements of the FleetExcessCapacityTerminationPolicy enum
125543func FleetExcessCapacityTerminationPolicy_Values() []string {
125544	return []string{
125545		FleetExcessCapacityTerminationPolicyNoTermination,
125546		FleetExcessCapacityTerminationPolicyTermination,
125547	}
125548}
125549
125550const (
125551	// FleetOnDemandAllocationStrategyLowestPrice is a FleetOnDemandAllocationStrategy enum value
125552	FleetOnDemandAllocationStrategyLowestPrice = "lowest-price"
125553
125554	// FleetOnDemandAllocationStrategyPrioritized is a FleetOnDemandAllocationStrategy enum value
125555	FleetOnDemandAllocationStrategyPrioritized = "prioritized"
125556)
125557
125558// FleetOnDemandAllocationStrategy_Values returns all elements of the FleetOnDemandAllocationStrategy enum
125559func FleetOnDemandAllocationStrategy_Values() []string {
125560	return []string{
125561		FleetOnDemandAllocationStrategyLowestPrice,
125562		FleetOnDemandAllocationStrategyPrioritized,
125563	}
125564}
125565
125566const (
125567	// FleetReplacementStrategyLaunch is a FleetReplacementStrategy enum value
125568	FleetReplacementStrategyLaunch = "launch"
125569)
125570
125571// FleetReplacementStrategy_Values returns all elements of the FleetReplacementStrategy enum
125572func FleetReplacementStrategy_Values() []string {
125573	return []string{
125574		FleetReplacementStrategyLaunch,
125575	}
125576}
125577
125578const (
125579	// FleetStateCodeSubmitted is a FleetStateCode enum value
125580	FleetStateCodeSubmitted = "submitted"
125581
125582	// FleetStateCodeActive is a FleetStateCode enum value
125583	FleetStateCodeActive = "active"
125584
125585	// FleetStateCodeDeleted is a FleetStateCode enum value
125586	FleetStateCodeDeleted = "deleted"
125587
125588	// FleetStateCodeFailed is a FleetStateCode enum value
125589	FleetStateCodeFailed = "failed"
125590
125591	// FleetStateCodeDeletedRunning is a FleetStateCode enum value
125592	FleetStateCodeDeletedRunning = "deleted_running"
125593
125594	// FleetStateCodeDeletedTerminating is a FleetStateCode enum value
125595	FleetStateCodeDeletedTerminating = "deleted_terminating"
125596
125597	// FleetStateCodeModifying is a FleetStateCode enum value
125598	FleetStateCodeModifying = "modifying"
125599)
125600
125601// FleetStateCode_Values returns all elements of the FleetStateCode enum
125602func FleetStateCode_Values() []string {
125603	return []string{
125604		FleetStateCodeSubmitted,
125605		FleetStateCodeActive,
125606		FleetStateCodeDeleted,
125607		FleetStateCodeFailed,
125608		FleetStateCodeDeletedRunning,
125609		FleetStateCodeDeletedTerminating,
125610		FleetStateCodeModifying,
125611	}
125612}
125613
125614const (
125615	// FleetTypeRequest is a FleetType enum value
125616	FleetTypeRequest = "request"
125617
125618	// FleetTypeMaintain is a FleetType enum value
125619	FleetTypeMaintain = "maintain"
125620
125621	// FleetTypeInstant is a FleetType enum value
125622	FleetTypeInstant = "instant"
125623)
125624
125625// FleetType_Values returns all elements of the FleetType enum
125626func FleetType_Values() []string {
125627	return []string{
125628		FleetTypeRequest,
125629		FleetTypeMaintain,
125630		FleetTypeInstant,
125631	}
125632}
125633
125634const (
125635	// FlowLogsResourceTypeVpc is a FlowLogsResourceType enum value
125636	FlowLogsResourceTypeVpc = "VPC"
125637
125638	// FlowLogsResourceTypeSubnet is a FlowLogsResourceType enum value
125639	FlowLogsResourceTypeSubnet = "Subnet"
125640
125641	// FlowLogsResourceTypeNetworkInterface is a FlowLogsResourceType enum value
125642	FlowLogsResourceTypeNetworkInterface = "NetworkInterface"
125643)
125644
125645// FlowLogsResourceType_Values returns all elements of the FlowLogsResourceType enum
125646func FlowLogsResourceType_Values() []string {
125647	return []string{
125648		FlowLogsResourceTypeVpc,
125649		FlowLogsResourceTypeSubnet,
125650		FlowLogsResourceTypeNetworkInterface,
125651	}
125652}
125653
125654const (
125655	// FpgaImageAttributeNameDescription is a FpgaImageAttributeName enum value
125656	FpgaImageAttributeNameDescription = "description"
125657
125658	// FpgaImageAttributeNameName is a FpgaImageAttributeName enum value
125659	FpgaImageAttributeNameName = "name"
125660
125661	// FpgaImageAttributeNameLoadPermission is a FpgaImageAttributeName enum value
125662	FpgaImageAttributeNameLoadPermission = "loadPermission"
125663
125664	// FpgaImageAttributeNameProductCodes is a FpgaImageAttributeName enum value
125665	FpgaImageAttributeNameProductCodes = "productCodes"
125666)
125667
125668// FpgaImageAttributeName_Values returns all elements of the FpgaImageAttributeName enum
125669func FpgaImageAttributeName_Values() []string {
125670	return []string{
125671		FpgaImageAttributeNameDescription,
125672		FpgaImageAttributeNameName,
125673		FpgaImageAttributeNameLoadPermission,
125674		FpgaImageAttributeNameProductCodes,
125675	}
125676}
125677
125678const (
125679	// FpgaImageStateCodePending is a FpgaImageStateCode enum value
125680	FpgaImageStateCodePending = "pending"
125681
125682	// FpgaImageStateCodeFailed is a FpgaImageStateCode enum value
125683	FpgaImageStateCodeFailed = "failed"
125684
125685	// FpgaImageStateCodeAvailable is a FpgaImageStateCode enum value
125686	FpgaImageStateCodeAvailable = "available"
125687
125688	// FpgaImageStateCodeUnavailable is a FpgaImageStateCode enum value
125689	FpgaImageStateCodeUnavailable = "unavailable"
125690)
125691
125692// FpgaImageStateCode_Values returns all elements of the FpgaImageStateCode enum
125693func FpgaImageStateCode_Values() []string {
125694	return []string{
125695		FpgaImageStateCodePending,
125696		FpgaImageStateCodeFailed,
125697		FpgaImageStateCodeAvailable,
125698		FpgaImageStateCodeUnavailable,
125699	}
125700}
125701
125702const (
125703	// GatewayTypeIpsec1 is a GatewayType enum value
125704	GatewayTypeIpsec1 = "ipsec.1"
125705)
125706
125707// GatewayType_Values returns all elements of the GatewayType enum
125708func GatewayType_Values() []string {
125709	return []string{
125710		GatewayTypeIpsec1,
125711	}
125712}
125713
125714const (
125715	// HostRecoveryOn is a HostRecovery enum value
125716	HostRecoveryOn = "on"
125717
125718	// HostRecoveryOff is a HostRecovery enum value
125719	HostRecoveryOff = "off"
125720)
125721
125722// HostRecovery_Values returns all elements of the HostRecovery enum
125723func HostRecovery_Values() []string {
125724	return []string{
125725		HostRecoveryOn,
125726		HostRecoveryOff,
125727	}
125728}
125729
125730const (
125731	// HostTenancyDedicated is a HostTenancy enum value
125732	HostTenancyDedicated = "dedicated"
125733
125734	// HostTenancyHost is a HostTenancy enum value
125735	HostTenancyHost = "host"
125736)
125737
125738// HostTenancy_Values returns all elements of the HostTenancy enum
125739func HostTenancy_Values() []string {
125740	return []string{
125741		HostTenancyDedicated,
125742		HostTenancyHost,
125743	}
125744}
125745
125746const (
125747	// HttpTokensStateOptional is a HttpTokensState enum value
125748	HttpTokensStateOptional = "optional"
125749
125750	// HttpTokensStateRequired is a HttpTokensState enum value
125751	HttpTokensStateRequired = "required"
125752)
125753
125754// HttpTokensState_Values returns all elements of the HttpTokensState enum
125755func HttpTokensState_Values() []string {
125756	return []string{
125757		HttpTokensStateOptional,
125758		HttpTokensStateRequired,
125759	}
125760}
125761
125762const (
125763	// HypervisorTypeOvm is a HypervisorType enum value
125764	HypervisorTypeOvm = "ovm"
125765
125766	// HypervisorTypeXen is a HypervisorType enum value
125767	HypervisorTypeXen = "xen"
125768)
125769
125770// HypervisorType_Values returns all elements of the HypervisorType enum
125771func HypervisorType_Values() []string {
125772	return []string{
125773		HypervisorTypeOvm,
125774		HypervisorTypeXen,
125775	}
125776}
125777
125778const (
125779	// IamInstanceProfileAssociationStateAssociating is a IamInstanceProfileAssociationState enum value
125780	IamInstanceProfileAssociationStateAssociating = "associating"
125781
125782	// IamInstanceProfileAssociationStateAssociated is a IamInstanceProfileAssociationState enum value
125783	IamInstanceProfileAssociationStateAssociated = "associated"
125784
125785	// IamInstanceProfileAssociationStateDisassociating is a IamInstanceProfileAssociationState enum value
125786	IamInstanceProfileAssociationStateDisassociating = "disassociating"
125787
125788	// IamInstanceProfileAssociationStateDisassociated is a IamInstanceProfileAssociationState enum value
125789	IamInstanceProfileAssociationStateDisassociated = "disassociated"
125790)
125791
125792// IamInstanceProfileAssociationState_Values returns all elements of the IamInstanceProfileAssociationState enum
125793func IamInstanceProfileAssociationState_Values() []string {
125794	return []string{
125795		IamInstanceProfileAssociationStateAssociating,
125796		IamInstanceProfileAssociationStateAssociated,
125797		IamInstanceProfileAssociationStateDisassociating,
125798		IamInstanceProfileAssociationStateDisassociated,
125799	}
125800}
125801
125802const (
125803	// Igmpv2SupportValueEnable is a Igmpv2SupportValue enum value
125804	Igmpv2SupportValueEnable = "enable"
125805
125806	// Igmpv2SupportValueDisable is a Igmpv2SupportValue enum value
125807	Igmpv2SupportValueDisable = "disable"
125808)
125809
125810// Igmpv2SupportValue_Values returns all elements of the Igmpv2SupportValue enum
125811func Igmpv2SupportValue_Values() []string {
125812	return []string{
125813		Igmpv2SupportValueEnable,
125814		Igmpv2SupportValueDisable,
125815	}
125816}
125817
125818const (
125819	// ImageAttributeNameDescription is a ImageAttributeName enum value
125820	ImageAttributeNameDescription = "description"
125821
125822	// ImageAttributeNameKernel is a ImageAttributeName enum value
125823	ImageAttributeNameKernel = "kernel"
125824
125825	// ImageAttributeNameRamdisk is a ImageAttributeName enum value
125826	ImageAttributeNameRamdisk = "ramdisk"
125827
125828	// ImageAttributeNameLaunchPermission is a ImageAttributeName enum value
125829	ImageAttributeNameLaunchPermission = "launchPermission"
125830
125831	// ImageAttributeNameProductCodes is a ImageAttributeName enum value
125832	ImageAttributeNameProductCodes = "productCodes"
125833
125834	// ImageAttributeNameBlockDeviceMapping is a ImageAttributeName enum value
125835	ImageAttributeNameBlockDeviceMapping = "blockDeviceMapping"
125836
125837	// ImageAttributeNameSriovNetSupport is a ImageAttributeName enum value
125838	ImageAttributeNameSriovNetSupport = "sriovNetSupport"
125839
125840	// ImageAttributeNameBootMode is a ImageAttributeName enum value
125841	ImageAttributeNameBootMode = "bootMode"
125842)
125843
125844// ImageAttributeName_Values returns all elements of the ImageAttributeName enum
125845func ImageAttributeName_Values() []string {
125846	return []string{
125847		ImageAttributeNameDescription,
125848		ImageAttributeNameKernel,
125849		ImageAttributeNameRamdisk,
125850		ImageAttributeNameLaunchPermission,
125851		ImageAttributeNameProductCodes,
125852		ImageAttributeNameBlockDeviceMapping,
125853		ImageAttributeNameSriovNetSupport,
125854		ImageAttributeNameBootMode,
125855	}
125856}
125857
125858const (
125859	// ImageStatePending is a ImageState enum value
125860	ImageStatePending = "pending"
125861
125862	// ImageStateAvailable is a ImageState enum value
125863	ImageStateAvailable = "available"
125864
125865	// ImageStateInvalid is a ImageState enum value
125866	ImageStateInvalid = "invalid"
125867
125868	// ImageStateDeregistered is a ImageState enum value
125869	ImageStateDeregistered = "deregistered"
125870
125871	// ImageStateTransient is a ImageState enum value
125872	ImageStateTransient = "transient"
125873
125874	// ImageStateFailed is a ImageState enum value
125875	ImageStateFailed = "failed"
125876
125877	// ImageStateError is a ImageState enum value
125878	ImageStateError = "error"
125879)
125880
125881// ImageState_Values returns all elements of the ImageState enum
125882func ImageState_Values() []string {
125883	return []string{
125884		ImageStatePending,
125885		ImageStateAvailable,
125886		ImageStateInvalid,
125887		ImageStateDeregistered,
125888		ImageStateTransient,
125889		ImageStateFailed,
125890		ImageStateError,
125891	}
125892}
125893
125894const (
125895	// ImageTypeValuesMachine is a ImageTypeValues enum value
125896	ImageTypeValuesMachine = "machine"
125897
125898	// ImageTypeValuesKernel is a ImageTypeValues enum value
125899	ImageTypeValuesKernel = "kernel"
125900
125901	// ImageTypeValuesRamdisk is a ImageTypeValues enum value
125902	ImageTypeValuesRamdisk = "ramdisk"
125903)
125904
125905// ImageTypeValues_Values returns all elements of the ImageTypeValues enum
125906func ImageTypeValues_Values() []string {
125907	return []string{
125908		ImageTypeValuesMachine,
125909		ImageTypeValuesKernel,
125910		ImageTypeValuesRamdisk,
125911	}
125912}
125913
125914const (
125915	// InstanceAttributeNameInstanceType is a InstanceAttributeName enum value
125916	InstanceAttributeNameInstanceType = "instanceType"
125917
125918	// InstanceAttributeNameKernel is a InstanceAttributeName enum value
125919	InstanceAttributeNameKernel = "kernel"
125920
125921	// InstanceAttributeNameRamdisk is a InstanceAttributeName enum value
125922	InstanceAttributeNameRamdisk = "ramdisk"
125923
125924	// InstanceAttributeNameUserData is a InstanceAttributeName enum value
125925	InstanceAttributeNameUserData = "userData"
125926
125927	// InstanceAttributeNameDisableApiTermination is a InstanceAttributeName enum value
125928	InstanceAttributeNameDisableApiTermination = "disableApiTermination"
125929
125930	// InstanceAttributeNameInstanceInitiatedShutdownBehavior is a InstanceAttributeName enum value
125931	InstanceAttributeNameInstanceInitiatedShutdownBehavior = "instanceInitiatedShutdownBehavior"
125932
125933	// InstanceAttributeNameRootDeviceName is a InstanceAttributeName enum value
125934	InstanceAttributeNameRootDeviceName = "rootDeviceName"
125935
125936	// InstanceAttributeNameBlockDeviceMapping is a InstanceAttributeName enum value
125937	InstanceAttributeNameBlockDeviceMapping = "blockDeviceMapping"
125938
125939	// InstanceAttributeNameProductCodes is a InstanceAttributeName enum value
125940	InstanceAttributeNameProductCodes = "productCodes"
125941
125942	// InstanceAttributeNameSourceDestCheck is a InstanceAttributeName enum value
125943	InstanceAttributeNameSourceDestCheck = "sourceDestCheck"
125944
125945	// InstanceAttributeNameGroupSet is a InstanceAttributeName enum value
125946	InstanceAttributeNameGroupSet = "groupSet"
125947
125948	// InstanceAttributeNameEbsOptimized is a InstanceAttributeName enum value
125949	InstanceAttributeNameEbsOptimized = "ebsOptimized"
125950
125951	// InstanceAttributeNameSriovNetSupport is a InstanceAttributeName enum value
125952	InstanceAttributeNameSriovNetSupport = "sriovNetSupport"
125953
125954	// InstanceAttributeNameEnaSupport is a InstanceAttributeName enum value
125955	InstanceAttributeNameEnaSupport = "enaSupport"
125956
125957	// InstanceAttributeNameEnclaveOptions is a InstanceAttributeName enum value
125958	InstanceAttributeNameEnclaveOptions = "enclaveOptions"
125959)
125960
125961// InstanceAttributeName_Values returns all elements of the InstanceAttributeName enum
125962func InstanceAttributeName_Values() []string {
125963	return []string{
125964		InstanceAttributeNameInstanceType,
125965		InstanceAttributeNameKernel,
125966		InstanceAttributeNameRamdisk,
125967		InstanceAttributeNameUserData,
125968		InstanceAttributeNameDisableApiTermination,
125969		InstanceAttributeNameInstanceInitiatedShutdownBehavior,
125970		InstanceAttributeNameRootDeviceName,
125971		InstanceAttributeNameBlockDeviceMapping,
125972		InstanceAttributeNameProductCodes,
125973		InstanceAttributeNameSourceDestCheck,
125974		InstanceAttributeNameGroupSet,
125975		InstanceAttributeNameEbsOptimized,
125976		InstanceAttributeNameSriovNetSupport,
125977		InstanceAttributeNameEnaSupport,
125978		InstanceAttributeNameEnclaveOptions,
125979	}
125980}
125981
125982const (
125983	// InstanceHealthStatusHealthy is a InstanceHealthStatus enum value
125984	InstanceHealthStatusHealthy = "healthy"
125985
125986	// InstanceHealthStatusUnhealthy is a InstanceHealthStatus enum value
125987	InstanceHealthStatusUnhealthy = "unhealthy"
125988)
125989
125990// InstanceHealthStatus_Values returns all elements of the InstanceHealthStatus enum
125991func InstanceHealthStatus_Values() []string {
125992	return []string{
125993		InstanceHealthStatusHealthy,
125994		InstanceHealthStatusUnhealthy,
125995	}
125996}
125997
125998const (
125999	// InstanceInterruptionBehaviorHibernate is a InstanceInterruptionBehavior enum value
126000	InstanceInterruptionBehaviorHibernate = "hibernate"
126001
126002	// InstanceInterruptionBehaviorStop is a InstanceInterruptionBehavior enum value
126003	InstanceInterruptionBehaviorStop = "stop"
126004
126005	// InstanceInterruptionBehaviorTerminate is a InstanceInterruptionBehavior enum value
126006	InstanceInterruptionBehaviorTerminate = "terminate"
126007)
126008
126009// InstanceInterruptionBehavior_Values returns all elements of the InstanceInterruptionBehavior enum
126010func InstanceInterruptionBehavior_Values() []string {
126011	return []string{
126012		InstanceInterruptionBehaviorHibernate,
126013		InstanceInterruptionBehaviorStop,
126014		InstanceInterruptionBehaviorTerminate,
126015	}
126016}
126017
126018const (
126019	// InstanceLifecycleSpot is a InstanceLifecycle enum value
126020	InstanceLifecycleSpot = "spot"
126021
126022	// InstanceLifecycleOnDemand is a InstanceLifecycle enum value
126023	InstanceLifecycleOnDemand = "on-demand"
126024)
126025
126026// InstanceLifecycle_Values returns all elements of the InstanceLifecycle enum
126027func InstanceLifecycle_Values() []string {
126028	return []string{
126029		InstanceLifecycleSpot,
126030		InstanceLifecycleOnDemand,
126031	}
126032}
126033
126034const (
126035	// InstanceLifecycleTypeSpot is a InstanceLifecycleType enum value
126036	InstanceLifecycleTypeSpot = "spot"
126037
126038	// InstanceLifecycleTypeScheduled is a InstanceLifecycleType enum value
126039	InstanceLifecycleTypeScheduled = "scheduled"
126040)
126041
126042// InstanceLifecycleType_Values returns all elements of the InstanceLifecycleType enum
126043func InstanceLifecycleType_Values() []string {
126044	return []string{
126045		InstanceLifecycleTypeSpot,
126046		InstanceLifecycleTypeScheduled,
126047	}
126048}
126049
126050const (
126051	// InstanceMatchCriteriaOpen is a InstanceMatchCriteria enum value
126052	InstanceMatchCriteriaOpen = "open"
126053
126054	// InstanceMatchCriteriaTargeted is a InstanceMatchCriteria enum value
126055	InstanceMatchCriteriaTargeted = "targeted"
126056)
126057
126058// InstanceMatchCriteria_Values returns all elements of the InstanceMatchCriteria enum
126059func InstanceMatchCriteria_Values() []string {
126060	return []string{
126061		InstanceMatchCriteriaOpen,
126062		InstanceMatchCriteriaTargeted,
126063	}
126064}
126065
126066const (
126067	// InstanceMetadataEndpointStateDisabled is a InstanceMetadataEndpointState enum value
126068	InstanceMetadataEndpointStateDisabled = "disabled"
126069
126070	// InstanceMetadataEndpointStateEnabled is a InstanceMetadataEndpointState enum value
126071	InstanceMetadataEndpointStateEnabled = "enabled"
126072)
126073
126074// InstanceMetadataEndpointState_Values returns all elements of the InstanceMetadataEndpointState enum
126075func InstanceMetadataEndpointState_Values() []string {
126076	return []string{
126077		InstanceMetadataEndpointStateDisabled,
126078		InstanceMetadataEndpointStateEnabled,
126079	}
126080}
126081
126082const (
126083	// InstanceMetadataOptionsStatePending is a InstanceMetadataOptionsState enum value
126084	InstanceMetadataOptionsStatePending = "pending"
126085
126086	// InstanceMetadataOptionsStateApplied is a InstanceMetadataOptionsState enum value
126087	InstanceMetadataOptionsStateApplied = "applied"
126088)
126089
126090// InstanceMetadataOptionsState_Values returns all elements of the InstanceMetadataOptionsState enum
126091func InstanceMetadataOptionsState_Values() []string {
126092	return []string{
126093		InstanceMetadataOptionsStatePending,
126094		InstanceMetadataOptionsStateApplied,
126095	}
126096}
126097
126098const (
126099	// InstanceStateNamePending is a InstanceStateName enum value
126100	InstanceStateNamePending = "pending"
126101
126102	// InstanceStateNameRunning is a InstanceStateName enum value
126103	InstanceStateNameRunning = "running"
126104
126105	// InstanceStateNameShuttingDown is a InstanceStateName enum value
126106	InstanceStateNameShuttingDown = "shutting-down"
126107
126108	// InstanceStateNameTerminated is a InstanceStateName enum value
126109	InstanceStateNameTerminated = "terminated"
126110
126111	// InstanceStateNameStopping is a InstanceStateName enum value
126112	InstanceStateNameStopping = "stopping"
126113
126114	// InstanceStateNameStopped is a InstanceStateName enum value
126115	InstanceStateNameStopped = "stopped"
126116)
126117
126118// InstanceStateName_Values returns all elements of the InstanceStateName enum
126119func InstanceStateName_Values() []string {
126120	return []string{
126121		InstanceStateNamePending,
126122		InstanceStateNameRunning,
126123		InstanceStateNameShuttingDown,
126124		InstanceStateNameTerminated,
126125		InstanceStateNameStopping,
126126		InstanceStateNameStopped,
126127	}
126128}
126129
126130const (
126131	// InstanceTypeT1Micro is a InstanceType enum value
126132	InstanceTypeT1Micro = "t1.micro"
126133
126134	// InstanceTypeT2Nano is a InstanceType enum value
126135	InstanceTypeT2Nano = "t2.nano"
126136
126137	// InstanceTypeT2Micro is a InstanceType enum value
126138	InstanceTypeT2Micro = "t2.micro"
126139
126140	// InstanceTypeT2Small is a InstanceType enum value
126141	InstanceTypeT2Small = "t2.small"
126142
126143	// InstanceTypeT2Medium is a InstanceType enum value
126144	InstanceTypeT2Medium = "t2.medium"
126145
126146	// InstanceTypeT2Large is a InstanceType enum value
126147	InstanceTypeT2Large = "t2.large"
126148
126149	// InstanceTypeT2Xlarge is a InstanceType enum value
126150	InstanceTypeT2Xlarge = "t2.xlarge"
126151
126152	// InstanceTypeT22xlarge is a InstanceType enum value
126153	InstanceTypeT22xlarge = "t2.2xlarge"
126154
126155	// InstanceTypeT3Nano is a InstanceType enum value
126156	InstanceTypeT3Nano = "t3.nano"
126157
126158	// InstanceTypeT3Micro is a InstanceType enum value
126159	InstanceTypeT3Micro = "t3.micro"
126160
126161	// InstanceTypeT3Small is a InstanceType enum value
126162	InstanceTypeT3Small = "t3.small"
126163
126164	// InstanceTypeT3Medium is a InstanceType enum value
126165	InstanceTypeT3Medium = "t3.medium"
126166
126167	// InstanceTypeT3Large is a InstanceType enum value
126168	InstanceTypeT3Large = "t3.large"
126169
126170	// InstanceTypeT3Xlarge is a InstanceType enum value
126171	InstanceTypeT3Xlarge = "t3.xlarge"
126172
126173	// InstanceTypeT32xlarge is a InstanceType enum value
126174	InstanceTypeT32xlarge = "t3.2xlarge"
126175
126176	// InstanceTypeT3aNano is a InstanceType enum value
126177	InstanceTypeT3aNano = "t3a.nano"
126178
126179	// InstanceTypeT3aMicro is a InstanceType enum value
126180	InstanceTypeT3aMicro = "t3a.micro"
126181
126182	// InstanceTypeT3aSmall is a InstanceType enum value
126183	InstanceTypeT3aSmall = "t3a.small"
126184
126185	// InstanceTypeT3aMedium is a InstanceType enum value
126186	InstanceTypeT3aMedium = "t3a.medium"
126187
126188	// InstanceTypeT3aLarge is a InstanceType enum value
126189	InstanceTypeT3aLarge = "t3a.large"
126190
126191	// InstanceTypeT3aXlarge is a InstanceType enum value
126192	InstanceTypeT3aXlarge = "t3a.xlarge"
126193
126194	// InstanceTypeT3a2xlarge is a InstanceType enum value
126195	InstanceTypeT3a2xlarge = "t3a.2xlarge"
126196
126197	// InstanceTypeT4gNano is a InstanceType enum value
126198	InstanceTypeT4gNano = "t4g.nano"
126199
126200	// InstanceTypeT4gMicro is a InstanceType enum value
126201	InstanceTypeT4gMicro = "t4g.micro"
126202
126203	// InstanceTypeT4gSmall is a InstanceType enum value
126204	InstanceTypeT4gSmall = "t4g.small"
126205
126206	// InstanceTypeT4gMedium is a InstanceType enum value
126207	InstanceTypeT4gMedium = "t4g.medium"
126208
126209	// InstanceTypeT4gLarge is a InstanceType enum value
126210	InstanceTypeT4gLarge = "t4g.large"
126211
126212	// InstanceTypeT4gXlarge is a InstanceType enum value
126213	InstanceTypeT4gXlarge = "t4g.xlarge"
126214
126215	// InstanceTypeT4g2xlarge is a InstanceType enum value
126216	InstanceTypeT4g2xlarge = "t4g.2xlarge"
126217
126218	// InstanceTypeM1Small is a InstanceType enum value
126219	InstanceTypeM1Small = "m1.small"
126220
126221	// InstanceTypeM1Medium is a InstanceType enum value
126222	InstanceTypeM1Medium = "m1.medium"
126223
126224	// InstanceTypeM1Large is a InstanceType enum value
126225	InstanceTypeM1Large = "m1.large"
126226
126227	// InstanceTypeM1Xlarge is a InstanceType enum value
126228	InstanceTypeM1Xlarge = "m1.xlarge"
126229
126230	// InstanceTypeM3Medium is a InstanceType enum value
126231	InstanceTypeM3Medium = "m3.medium"
126232
126233	// InstanceTypeM3Large is a InstanceType enum value
126234	InstanceTypeM3Large = "m3.large"
126235
126236	// InstanceTypeM3Xlarge is a InstanceType enum value
126237	InstanceTypeM3Xlarge = "m3.xlarge"
126238
126239	// InstanceTypeM32xlarge is a InstanceType enum value
126240	InstanceTypeM32xlarge = "m3.2xlarge"
126241
126242	// InstanceTypeM4Large is a InstanceType enum value
126243	InstanceTypeM4Large = "m4.large"
126244
126245	// InstanceTypeM4Xlarge is a InstanceType enum value
126246	InstanceTypeM4Xlarge = "m4.xlarge"
126247
126248	// InstanceTypeM42xlarge is a InstanceType enum value
126249	InstanceTypeM42xlarge = "m4.2xlarge"
126250
126251	// InstanceTypeM44xlarge is a InstanceType enum value
126252	InstanceTypeM44xlarge = "m4.4xlarge"
126253
126254	// InstanceTypeM410xlarge is a InstanceType enum value
126255	InstanceTypeM410xlarge = "m4.10xlarge"
126256
126257	// InstanceTypeM416xlarge is a InstanceType enum value
126258	InstanceTypeM416xlarge = "m4.16xlarge"
126259
126260	// InstanceTypeM2Xlarge is a InstanceType enum value
126261	InstanceTypeM2Xlarge = "m2.xlarge"
126262
126263	// InstanceTypeM22xlarge is a InstanceType enum value
126264	InstanceTypeM22xlarge = "m2.2xlarge"
126265
126266	// InstanceTypeM24xlarge is a InstanceType enum value
126267	InstanceTypeM24xlarge = "m2.4xlarge"
126268
126269	// InstanceTypeCr18xlarge is a InstanceType enum value
126270	InstanceTypeCr18xlarge = "cr1.8xlarge"
126271
126272	// InstanceTypeR3Large is a InstanceType enum value
126273	InstanceTypeR3Large = "r3.large"
126274
126275	// InstanceTypeR3Xlarge is a InstanceType enum value
126276	InstanceTypeR3Xlarge = "r3.xlarge"
126277
126278	// InstanceTypeR32xlarge is a InstanceType enum value
126279	InstanceTypeR32xlarge = "r3.2xlarge"
126280
126281	// InstanceTypeR34xlarge is a InstanceType enum value
126282	InstanceTypeR34xlarge = "r3.4xlarge"
126283
126284	// InstanceTypeR38xlarge is a InstanceType enum value
126285	InstanceTypeR38xlarge = "r3.8xlarge"
126286
126287	// InstanceTypeR4Large is a InstanceType enum value
126288	InstanceTypeR4Large = "r4.large"
126289
126290	// InstanceTypeR4Xlarge is a InstanceType enum value
126291	InstanceTypeR4Xlarge = "r4.xlarge"
126292
126293	// InstanceTypeR42xlarge is a InstanceType enum value
126294	InstanceTypeR42xlarge = "r4.2xlarge"
126295
126296	// InstanceTypeR44xlarge is a InstanceType enum value
126297	InstanceTypeR44xlarge = "r4.4xlarge"
126298
126299	// InstanceTypeR48xlarge is a InstanceType enum value
126300	InstanceTypeR48xlarge = "r4.8xlarge"
126301
126302	// InstanceTypeR416xlarge is a InstanceType enum value
126303	InstanceTypeR416xlarge = "r4.16xlarge"
126304
126305	// InstanceTypeR5Large is a InstanceType enum value
126306	InstanceTypeR5Large = "r5.large"
126307
126308	// InstanceTypeR5Xlarge is a InstanceType enum value
126309	InstanceTypeR5Xlarge = "r5.xlarge"
126310
126311	// InstanceTypeR52xlarge is a InstanceType enum value
126312	InstanceTypeR52xlarge = "r5.2xlarge"
126313
126314	// InstanceTypeR54xlarge is a InstanceType enum value
126315	InstanceTypeR54xlarge = "r5.4xlarge"
126316
126317	// InstanceTypeR58xlarge is a InstanceType enum value
126318	InstanceTypeR58xlarge = "r5.8xlarge"
126319
126320	// InstanceTypeR512xlarge is a InstanceType enum value
126321	InstanceTypeR512xlarge = "r5.12xlarge"
126322
126323	// InstanceTypeR516xlarge is a InstanceType enum value
126324	InstanceTypeR516xlarge = "r5.16xlarge"
126325
126326	// InstanceTypeR524xlarge is a InstanceType enum value
126327	InstanceTypeR524xlarge = "r5.24xlarge"
126328
126329	// InstanceTypeR5Metal is a InstanceType enum value
126330	InstanceTypeR5Metal = "r5.metal"
126331
126332	// InstanceTypeR5aLarge is a InstanceType enum value
126333	InstanceTypeR5aLarge = "r5a.large"
126334
126335	// InstanceTypeR5aXlarge is a InstanceType enum value
126336	InstanceTypeR5aXlarge = "r5a.xlarge"
126337
126338	// InstanceTypeR5a2xlarge is a InstanceType enum value
126339	InstanceTypeR5a2xlarge = "r5a.2xlarge"
126340
126341	// InstanceTypeR5a4xlarge is a InstanceType enum value
126342	InstanceTypeR5a4xlarge = "r5a.4xlarge"
126343
126344	// InstanceTypeR5a8xlarge is a InstanceType enum value
126345	InstanceTypeR5a8xlarge = "r5a.8xlarge"
126346
126347	// InstanceTypeR5a12xlarge is a InstanceType enum value
126348	InstanceTypeR5a12xlarge = "r5a.12xlarge"
126349
126350	// InstanceTypeR5a16xlarge is a InstanceType enum value
126351	InstanceTypeR5a16xlarge = "r5a.16xlarge"
126352
126353	// InstanceTypeR5a24xlarge is a InstanceType enum value
126354	InstanceTypeR5a24xlarge = "r5a.24xlarge"
126355
126356	// InstanceTypeR5bLarge is a InstanceType enum value
126357	InstanceTypeR5bLarge = "r5b.large"
126358
126359	// InstanceTypeR5bXlarge is a InstanceType enum value
126360	InstanceTypeR5bXlarge = "r5b.xlarge"
126361
126362	// InstanceTypeR5b2xlarge is a InstanceType enum value
126363	InstanceTypeR5b2xlarge = "r5b.2xlarge"
126364
126365	// InstanceTypeR5b4xlarge is a InstanceType enum value
126366	InstanceTypeR5b4xlarge = "r5b.4xlarge"
126367
126368	// InstanceTypeR5b8xlarge is a InstanceType enum value
126369	InstanceTypeR5b8xlarge = "r5b.8xlarge"
126370
126371	// InstanceTypeR5b12xlarge is a InstanceType enum value
126372	InstanceTypeR5b12xlarge = "r5b.12xlarge"
126373
126374	// InstanceTypeR5b16xlarge is a InstanceType enum value
126375	InstanceTypeR5b16xlarge = "r5b.16xlarge"
126376
126377	// InstanceTypeR5b24xlarge is a InstanceType enum value
126378	InstanceTypeR5b24xlarge = "r5b.24xlarge"
126379
126380	// InstanceTypeR5bMetal is a InstanceType enum value
126381	InstanceTypeR5bMetal = "r5b.metal"
126382
126383	// InstanceTypeR5dLarge is a InstanceType enum value
126384	InstanceTypeR5dLarge = "r5d.large"
126385
126386	// InstanceTypeR5dXlarge is a InstanceType enum value
126387	InstanceTypeR5dXlarge = "r5d.xlarge"
126388
126389	// InstanceTypeR5d2xlarge is a InstanceType enum value
126390	InstanceTypeR5d2xlarge = "r5d.2xlarge"
126391
126392	// InstanceTypeR5d4xlarge is a InstanceType enum value
126393	InstanceTypeR5d4xlarge = "r5d.4xlarge"
126394
126395	// InstanceTypeR5d8xlarge is a InstanceType enum value
126396	InstanceTypeR5d8xlarge = "r5d.8xlarge"
126397
126398	// InstanceTypeR5d12xlarge is a InstanceType enum value
126399	InstanceTypeR5d12xlarge = "r5d.12xlarge"
126400
126401	// InstanceTypeR5d16xlarge is a InstanceType enum value
126402	InstanceTypeR5d16xlarge = "r5d.16xlarge"
126403
126404	// InstanceTypeR5d24xlarge is a InstanceType enum value
126405	InstanceTypeR5d24xlarge = "r5d.24xlarge"
126406
126407	// InstanceTypeR5dMetal is a InstanceType enum value
126408	InstanceTypeR5dMetal = "r5d.metal"
126409
126410	// InstanceTypeR5adLarge is a InstanceType enum value
126411	InstanceTypeR5adLarge = "r5ad.large"
126412
126413	// InstanceTypeR5adXlarge is a InstanceType enum value
126414	InstanceTypeR5adXlarge = "r5ad.xlarge"
126415
126416	// InstanceTypeR5ad2xlarge is a InstanceType enum value
126417	InstanceTypeR5ad2xlarge = "r5ad.2xlarge"
126418
126419	// InstanceTypeR5ad4xlarge is a InstanceType enum value
126420	InstanceTypeR5ad4xlarge = "r5ad.4xlarge"
126421
126422	// InstanceTypeR5ad8xlarge is a InstanceType enum value
126423	InstanceTypeR5ad8xlarge = "r5ad.8xlarge"
126424
126425	// InstanceTypeR5ad12xlarge is a InstanceType enum value
126426	InstanceTypeR5ad12xlarge = "r5ad.12xlarge"
126427
126428	// InstanceTypeR5ad16xlarge is a InstanceType enum value
126429	InstanceTypeR5ad16xlarge = "r5ad.16xlarge"
126430
126431	// InstanceTypeR5ad24xlarge is a InstanceType enum value
126432	InstanceTypeR5ad24xlarge = "r5ad.24xlarge"
126433
126434	// InstanceTypeR6gMetal is a InstanceType enum value
126435	InstanceTypeR6gMetal = "r6g.metal"
126436
126437	// InstanceTypeR6gMedium is a InstanceType enum value
126438	InstanceTypeR6gMedium = "r6g.medium"
126439
126440	// InstanceTypeR6gLarge is a InstanceType enum value
126441	InstanceTypeR6gLarge = "r6g.large"
126442
126443	// InstanceTypeR6gXlarge is a InstanceType enum value
126444	InstanceTypeR6gXlarge = "r6g.xlarge"
126445
126446	// InstanceTypeR6g2xlarge is a InstanceType enum value
126447	InstanceTypeR6g2xlarge = "r6g.2xlarge"
126448
126449	// InstanceTypeR6g4xlarge is a InstanceType enum value
126450	InstanceTypeR6g4xlarge = "r6g.4xlarge"
126451
126452	// InstanceTypeR6g8xlarge is a InstanceType enum value
126453	InstanceTypeR6g8xlarge = "r6g.8xlarge"
126454
126455	// InstanceTypeR6g12xlarge is a InstanceType enum value
126456	InstanceTypeR6g12xlarge = "r6g.12xlarge"
126457
126458	// InstanceTypeR6g16xlarge is a InstanceType enum value
126459	InstanceTypeR6g16xlarge = "r6g.16xlarge"
126460
126461	// InstanceTypeR6gdMetal is a InstanceType enum value
126462	InstanceTypeR6gdMetal = "r6gd.metal"
126463
126464	// InstanceTypeR6gdMedium is a InstanceType enum value
126465	InstanceTypeR6gdMedium = "r6gd.medium"
126466
126467	// InstanceTypeR6gdLarge is a InstanceType enum value
126468	InstanceTypeR6gdLarge = "r6gd.large"
126469
126470	// InstanceTypeR6gdXlarge is a InstanceType enum value
126471	InstanceTypeR6gdXlarge = "r6gd.xlarge"
126472
126473	// InstanceTypeR6gd2xlarge is a InstanceType enum value
126474	InstanceTypeR6gd2xlarge = "r6gd.2xlarge"
126475
126476	// InstanceTypeR6gd4xlarge is a InstanceType enum value
126477	InstanceTypeR6gd4xlarge = "r6gd.4xlarge"
126478
126479	// InstanceTypeR6gd8xlarge is a InstanceType enum value
126480	InstanceTypeR6gd8xlarge = "r6gd.8xlarge"
126481
126482	// InstanceTypeR6gd12xlarge is a InstanceType enum value
126483	InstanceTypeR6gd12xlarge = "r6gd.12xlarge"
126484
126485	// InstanceTypeR6gd16xlarge is a InstanceType enum value
126486	InstanceTypeR6gd16xlarge = "r6gd.16xlarge"
126487
126488	// InstanceTypeX116xlarge is a InstanceType enum value
126489	InstanceTypeX116xlarge = "x1.16xlarge"
126490
126491	// InstanceTypeX132xlarge is a InstanceType enum value
126492	InstanceTypeX132xlarge = "x1.32xlarge"
126493
126494	// InstanceTypeX1eXlarge is a InstanceType enum value
126495	InstanceTypeX1eXlarge = "x1e.xlarge"
126496
126497	// InstanceTypeX1e2xlarge is a InstanceType enum value
126498	InstanceTypeX1e2xlarge = "x1e.2xlarge"
126499
126500	// InstanceTypeX1e4xlarge is a InstanceType enum value
126501	InstanceTypeX1e4xlarge = "x1e.4xlarge"
126502
126503	// InstanceTypeX1e8xlarge is a InstanceType enum value
126504	InstanceTypeX1e8xlarge = "x1e.8xlarge"
126505
126506	// InstanceTypeX1e16xlarge is a InstanceType enum value
126507	InstanceTypeX1e16xlarge = "x1e.16xlarge"
126508
126509	// InstanceTypeX1e32xlarge is a InstanceType enum value
126510	InstanceTypeX1e32xlarge = "x1e.32xlarge"
126511
126512	// InstanceTypeI2Xlarge is a InstanceType enum value
126513	InstanceTypeI2Xlarge = "i2.xlarge"
126514
126515	// InstanceTypeI22xlarge is a InstanceType enum value
126516	InstanceTypeI22xlarge = "i2.2xlarge"
126517
126518	// InstanceTypeI24xlarge is a InstanceType enum value
126519	InstanceTypeI24xlarge = "i2.4xlarge"
126520
126521	// InstanceTypeI28xlarge is a InstanceType enum value
126522	InstanceTypeI28xlarge = "i2.8xlarge"
126523
126524	// InstanceTypeI3Large is a InstanceType enum value
126525	InstanceTypeI3Large = "i3.large"
126526
126527	// InstanceTypeI3Xlarge is a InstanceType enum value
126528	InstanceTypeI3Xlarge = "i3.xlarge"
126529
126530	// InstanceTypeI32xlarge is a InstanceType enum value
126531	InstanceTypeI32xlarge = "i3.2xlarge"
126532
126533	// InstanceTypeI34xlarge is a InstanceType enum value
126534	InstanceTypeI34xlarge = "i3.4xlarge"
126535
126536	// InstanceTypeI38xlarge is a InstanceType enum value
126537	InstanceTypeI38xlarge = "i3.8xlarge"
126538
126539	// InstanceTypeI316xlarge is a InstanceType enum value
126540	InstanceTypeI316xlarge = "i3.16xlarge"
126541
126542	// InstanceTypeI3Metal is a InstanceType enum value
126543	InstanceTypeI3Metal = "i3.metal"
126544
126545	// InstanceTypeI3enLarge is a InstanceType enum value
126546	InstanceTypeI3enLarge = "i3en.large"
126547
126548	// InstanceTypeI3enXlarge is a InstanceType enum value
126549	InstanceTypeI3enXlarge = "i3en.xlarge"
126550
126551	// InstanceTypeI3en2xlarge is a InstanceType enum value
126552	InstanceTypeI3en2xlarge = "i3en.2xlarge"
126553
126554	// InstanceTypeI3en3xlarge is a InstanceType enum value
126555	InstanceTypeI3en3xlarge = "i3en.3xlarge"
126556
126557	// InstanceTypeI3en6xlarge is a InstanceType enum value
126558	InstanceTypeI3en6xlarge = "i3en.6xlarge"
126559
126560	// InstanceTypeI3en12xlarge is a InstanceType enum value
126561	InstanceTypeI3en12xlarge = "i3en.12xlarge"
126562
126563	// InstanceTypeI3en24xlarge is a InstanceType enum value
126564	InstanceTypeI3en24xlarge = "i3en.24xlarge"
126565
126566	// InstanceTypeI3enMetal is a InstanceType enum value
126567	InstanceTypeI3enMetal = "i3en.metal"
126568
126569	// InstanceTypeHi14xlarge is a InstanceType enum value
126570	InstanceTypeHi14xlarge = "hi1.4xlarge"
126571
126572	// InstanceTypeHs18xlarge is a InstanceType enum value
126573	InstanceTypeHs18xlarge = "hs1.8xlarge"
126574
126575	// InstanceTypeC1Medium is a InstanceType enum value
126576	InstanceTypeC1Medium = "c1.medium"
126577
126578	// InstanceTypeC1Xlarge is a InstanceType enum value
126579	InstanceTypeC1Xlarge = "c1.xlarge"
126580
126581	// InstanceTypeC3Large is a InstanceType enum value
126582	InstanceTypeC3Large = "c3.large"
126583
126584	// InstanceTypeC3Xlarge is a InstanceType enum value
126585	InstanceTypeC3Xlarge = "c3.xlarge"
126586
126587	// InstanceTypeC32xlarge is a InstanceType enum value
126588	InstanceTypeC32xlarge = "c3.2xlarge"
126589
126590	// InstanceTypeC34xlarge is a InstanceType enum value
126591	InstanceTypeC34xlarge = "c3.4xlarge"
126592
126593	// InstanceTypeC38xlarge is a InstanceType enum value
126594	InstanceTypeC38xlarge = "c3.8xlarge"
126595
126596	// InstanceTypeC4Large is a InstanceType enum value
126597	InstanceTypeC4Large = "c4.large"
126598
126599	// InstanceTypeC4Xlarge is a InstanceType enum value
126600	InstanceTypeC4Xlarge = "c4.xlarge"
126601
126602	// InstanceTypeC42xlarge is a InstanceType enum value
126603	InstanceTypeC42xlarge = "c4.2xlarge"
126604
126605	// InstanceTypeC44xlarge is a InstanceType enum value
126606	InstanceTypeC44xlarge = "c4.4xlarge"
126607
126608	// InstanceTypeC48xlarge is a InstanceType enum value
126609	InstanceTypeC48xlarge = "c4.8xlarge"
126610
126611	// InstanceTypeC5Large is a InstanceType enum value
126612	InstanceTypeC5Large = "c5.large"
126613
126614	// InstanceTypeC5Xlarge is a InstanceType enum value
126615	InstanceTypeC5Xlarge = "c5.xlarge"
126616
126617	// InstanceTypeC52xlarge is a InstanceType enum value
126618	InstanceTypeC52xlarge = "c5.2xlarge"
126619
126620	// InstanceTypeC54xlarge is a InstanceType enum value
126621	InstanceTypeC54xlarge = "c5.4xlarge"
126622
126623	// InstanceTypeC59xlarge is a InstanceType enum value
126624	InstanceTypeC59xlarge = "c5.9xlarge"
126625
126626	// InstanceTypeC512xlarge is a InstanceType enum value
126627	InstanceTypeC512xlarge = "c5.12xlarge"
126628
126629	// InstanceTypeC518xlarge is a InstanceType enum value
126630	InstanceTypeC518xlarge = "c5.18xlarge"
126631
126632	// InstanceTypeC524xlarge is a InstanceType enum value
126633	InstanceTypeC524xlarge = "c5.24xlarge"
126634
126635	// InstanceTypeC5Metal is a InstanceType enum value
126636	InstanceTypeC5Metal = "c5.metal"
126637
126638	// InstanceTypeC5aLarge is a InstanceType enum value
126639	InstanceTypeC5aLarge = "c5a.large"
126640
126641	// InstanceTypeC5aXlarge is a InstanceType enum value
126642	InstanceTypeC5aXlarge = "c5a.xlarge"
126643
126644	// InstanceTypeC5a2xlarge is a InstanceType enum value
126645	InstanceTypeC5a2xlarge = "c5a.2xlarge"
126646
126647	// InstanceTypeC5a4xlarge is a InstanceType enum value
126648	InstanceTypeC5a4xlarge = "c5a.4xlarge"
126649
126650	// InstanceTypeC5a8xlarge is a InstanceType enum value
126651	InstanceTypeC5a8xlarge = "c5a.8xlarge"
126652
126653	// InstanceTypeC5a12xlarge is a InstanceType enum value
126654	InstanceTypeC5a12xlarge = "c5a.12xlarge"
126655
126656	// InstanceTypeC5a16xlarge is a InstanceType enum value
126657	InstanceTypeC5a16xlarge = "c5a.16xlarge"
126658
126659	// InstanceTypeC5a24xlarge is a InstanceType enum value
126660	InstanceTypeC5a24xlarge = "c5a.24xlarge"
126661
126662	// InstanceTypeC5adLarge is a InstanceType enum value
126663	InstanceTypeC5adLarge = "c5ad.large"
126664
126665	// InstanceTypeC5adXlarge is a InstanceType enum value
126666	InstanceTypeC5adXlarge = "c5ad.xlarge"
126667
126668	// InstanceTypeC5ad2xlarge is a InstanceType enum value
126669	InstanceTypeC5ad2xlarge = "c5ad.2xlarge"
126670
126671	// InstanceTypeC5ad4xlarge is a InstanceType enum value
126672	InstanceTypeC5ad4xlarge = "c5ad.4xlarge"
126673
126674	// InstanceTypeC5ad8xlarge is a InstanceType enum value
126675	InstanceTypeC5ad8xlarge = "c5ad.8xlarge"
126676
126677	// InstanceTypeC5ad12xlarge is a InstanceType enum value
126678	InstanceTypeC5ad12xlarge = "c5ad.12xlarge"
126679
126680	// InstanceTypeC5ad16xlarge is a InstanceType enum value
126681	InstanceTypeC5ad16xlarge = "c5ad.16xlarge"
126682
126683	// InstanceTypeC5ad24xlarge is a InstanceType enum value
126684	InstanceTypeC5ad24xlarge = "c5ad.24xlarge"
126685
126686	// InstanceTypeC5dLarge is a InstanceType enum value
126687	InstanceTypeC5dLarge = "c5d.large"
126688
126689	// InstanceTypeC5dXlarge is a InstanceType enum value
126690	InstanceTypeC5dXlarge = "c5d.xlarge"
126691
126692	// InstanceTypeC5d2xlarge is a InstanceType enum value
126693	InstanceTypeC5d2xlarge = "c5d.2xlarge"
126694
126695	// InstanceTypeC5d4xlarge is a InstanceType enum value
126696	InstanceTypeC5d4xlarge = "c5d.4xlarge"
126697
126698	// InstanceTypeC5d9xlarge is a InstanceType enum value
126699	InstanceTypeC5d9xlarge = "c5d.9xlarge"
126700
126701	// InstanceTypeC5d12xlarge is a InstanceType enum value
126702	InstanceTypeC5d12xlarge = "c5d.12xlarge"
126703
126704	// InstanceTypeC5d18xlarge is a InstanceType enum value
126705	InstanceTypeC5d18xlarge = "c5d.18xlarge"
126706
126707	// InstanceTypeC5d24xlarge is a InstanceType enum value
126708	InstanceTypeC5d24xlarge = "c5d.24xlarge"
126709
126710	// InstanceTypeC5dMetal is a InstanceType enum value
126711	InstanceTypeC5dMetal = "c5d.metal"
126712
126713	// InstanceTypeC5nLarge is a InstanceType enum value
126714	InstanceTypeC5nLarge = "c5n.large"
126715
126716	// InstanceTypeC5nXlarge is a InstanceType enum value
126717	InstanceTypeC5nXlarge = "c5n.xlarge"
126718
126719	// InstanceTypeC5n2xlarge is a InstanceType enum value
126720	InstanceTypeC5n2xlarge = "c5n.2xlarge"
126721
126722	// InstanceTypeC5n4xlarge is a InstanceType enum value
126723	InstanceTypeC5n4xlarge = "c5n.4xlarge"
126724
126725	// InstanceTypeC5n9xlarge is a InstanceType enum value
126726	InstanceTypeC5n9xlarge = "c5n.9xlarge"
126727
126728	// InstanceTypeC5n18xlarge is a InstanceType enum value
126729	InstanceTypeC5n18xlarge = "c5n.18xlarge"
126730
126731	// InstanceTypeC5nMetal is a InstanceType enum value
126732	InstanceTypeC5nMetal = "c5n.metal"
126733
126734	// InstanceTypeC6gMetal is a InstanceType enum value
126735	InstanceTypeC6gMetal = "c6g.metal"
126736
126737	// InstanceTypeC6gMedium is a InstanceType enum value
126738	InstanceTypeC6gMedium = "c6g.medium"
126739
126740	// InstanceTypeC6gLarge is a InstanceType enum value
126741	InstanceTypeC6gLarge = "c6g.large"
126742
126743	// InstanceTypeC6gXlarge is a InstanceType enum value
126744	InstanceTypeC6gXlarge = "c6g.xlarge"
126745
126746	// InstanceTypeC6g2xlarge is a InstanceType enum value
126747	InstanceTypeC6g2xlarge = "c6g.2xlarge"
126748
126749	// InstanceTypeC6g4xlarge is a InstanceType enum value
126750	InstanceTypeC6g4xlarge = "c6g.4xlarge"
126751
126752	// InstanceTypeC6g8xlarge is a InstanceType enum value
126753	InstanceTypeC6g8xlarge = "c6g.8xlarge"
126754
126755	// InstanceTypeC6g12xlarge is a InstanceType enum value
126756	InstanceTypeC6g12xlarge = "c6g.12xlarge"
126757
126758	// InstanceTypeC6g16xlarge is a InstanceType enum value
126759	InstanceTypeC6g16xlarge = "c6g.16xlarge"
126760
126761	// InstanceTypeC6gdMetal is a InstanceType enum value
126762	InstanceTypeC6gdMetal = "c6gd.metal"
126763
126764	// InstanceTypeC6gdMedium is a InstanceType enum value
126765	InstanceTypeC6gdMedium = "c6gd.medium"
126766
126767	// InstanceTypeC6gdLarge is a InstanceType enum value
126768	InstanceTypeC6gdLarge = "c6gd.large"
126769
126770	// InstanceTypeC6gdXlarge is a InstanceType enum value
126771	InstanceTypeC6gdXlarge = "c6gd.xlarge"
126772
126773	// InstanceTypeC6gd2xlarge is a InstanceType enum value
126774	InstanceTypeC6gd2xlarge = "c6gd.2xlarge"
126775
126776	// InstanceTypeC6gd4xlarge is a InstanceType enum value
126777	InstanceTypeC6gd4xlarge = "c6gd.4xlarge"
126778
126779	// InstanceTypeC6gd8xlarge is a InstanceType enum value
126780	InstanceTypeC6gd8xlarge = "c6gd.8xlarge"
126781
126782	// InstanceTypeC6gd12xlarge is a InstanceType enum value
126783	InstanceTypeC6gd12xlarge = "c6gd.12xlarge"
126784
126785	// InstanceTypeC6gd16xlarge is a InstanceType enum value
126786	InstanceTypeC6gd16xlarge = "c6gd.16xlarge"
126787
126788	// InstanceTypeC6gnMedium is a InstanceType enum value
126789	InstanceTypeC6gnMedium = "c6gn.medium"
126790
126791	// InstanceTypeC6gnLarge is a InstanceType enum value
126792	InstanceTypeC6gnLarge = "c6gn.large"
126793
126794	// InstanceTypeC6gnXlarge is a InstanceType enum value
126795	InstanceTypeC6gnXlarge = "c6gn.xlarge"
126796
126797	// InstanceTypeC6gn2xlarge is a InstanceType enum value
126798	InstanceTypeC6gn2xlarge = "c6gn.2xlarge"
126799
126800	// InstanceTypeC6gn4xlarge is a InstanceType enum value
126801	InstanceTypeC6gn4xlarge = "c6gn.4xlarge"
126802
126803	// InstanceTypeC6gn8xlarge is a InstanceType enum value
126804	InstanceTypeC6gn8xlarge = "c6gn.8xlarge"
126805
126806	// InstanceTypeC6gn12xlarge is a InstanceType enum value
126807	InstanceTypeC6gn12xlarge = "c6gn.12xlarge"
126808
126809	// InstanceTypeC6gn16xlarge is a InstanceType enum value
126810	InstanceTypeC6gn16xlarge = "c6gn.16xlarge"
126811
126812	// InstanceTypeCc14xlarge is a InstanceType enum value
126813	InstanceTypeCc14xlarge = "cc1.4xlarge"
126814
126815	// InstanceTypeCc28xlarge is a InstanceType enum value
126816	InstanceTypeCc28xlarge = "cc2.8xlarge"
126817
126818	// InstanceTypeG22xlarge is a InstanceType enum value
126819	InstanceTypeG22xlarge = "g2.2xlarge"
126820
126821	// InstanceTypeG28xlarge is a InstanceType enum value
126822	InstanceTypeG28xlarge = "g2.8xlarge"
126823
126824	// InstanceTypeG34xlarge is a InstanceType enum value
126825	InstanceTypeG34xlarge = "g3.4xlarge"
126826
126827	// InstanceTypeG38xlarge is a InstanceType enum value
126828	InstanceTypeG38xlarge = "g3.8xlarge"
126829
126830	// InstanceTypeG316xlarge is a InstanceType enum value
126831	InstanceTypeG316xlarge = "g3.16xlarge"
126832
126833	// InstanceTypeG3sXlarge is a InstanceType enum value
126834	InstanceTypeG3sXlarge = "g3s.xlarge"
126835
126836	// InstanceTypeG4ad4xlarge is a InstanceType enum value
126837	InstanceTypeG4ad4xlarge = "g4ad.4xlarge"
126838
126839	// InstanceTypeG4ad8xlarge is a InstanceType enum value
126840	InstanceTypeG4ad8xlarge = "g4ad.8xlarge"
126841
126842	// InstanceTypeG4ad16xlarge is a InstanceType enum value
126843	InstanceTypeG4ad16xlarge = "g4ad.16xlarge"
126844
126845	// InstanceTypeG4dnXlarge is a InstanceType enum value
126846	InstanceTypeG4dnXlarge = "g4dn.xlarge"
126847
126848	// InstanceTypeG4dn2xlarge is a InstanceType enum value
126849	InstanceTypeG4dn2xlarge = "g4dn.2xlarge"
126850
126851	// InstanceTypeG4dn4xlarge is a InstanceType enum value
126852	InstanceTypeG4dn4xlarge = "g4dn.4xlarge"
126853
126854	// InstanceTypeG4dn8xlarge is a InstanceType enum value
126855	InstanceTypeG4dn8xlarge = "g4dn.8xlarge"
126856
126857	// InstanceTypeG4dn12xlarge is a InstanceType enum value
126858	InstanceTypeG4dn12xlarge = "g4dn.12xlarge"
126859
126860	// InstanceTypeG4dn16xlarge is a InstanceType enum value
126861	InstanceTypeG4dn16xlarge = "g4dn.16xlarge"
126862
126863	// InstanceTypeG4dnMetal is a InstanceType enum value
126864	InstanceTypeG4dnMetal = "g4dn.metal"
126865
126866	// InstanceTypeCg14xlarge is a InstanceType enum value
126867	InstanceTypeCg14xlarge = "cg1.4xlarge"
126868
126869	// InstanceTypeP2Xlarge is a InstanceType enum value
126870	InstanceTypeP2Xlarge = "p2.xlarge"
126871
126872	// InstanceTypeP28xlarge is a InstanceType enum value
126873	InstanceTypeP28xlarge = "p2.8xlarge"
126874
126875	// InstanceTypeP216xlarge is a InstanceType enum value
126876	InstanceTypeP216xlarge = "p2.16xlarge"
126877
126878	// InstanceTypeP32xlarge is a InstanceType enum value
126879	InstanceTypeP32xlarge = "p3.2xlarge"
126880
126881	// InstanceTypeP38xlarge is a InstanceType enum value
126882	InstanceTypeP38xlarge = "p3.8xlarge"
126883
126884	// InstanceTypeP316xlarge is a InstanceType enum value
126885	InstanceTypeP316xlarge = "p3.16xlarge"
126886
126887	// InstanceTypeP3dn24xlarge is a InstanceType enum value
126888	InstanceTypeP3dn24xlarge = "p3dn.24xlarge"
126889
126890	// InstanceTypeP4d24xlarge is a InstanceType enum value
126891	InstanceTypeP4d24xlarge = "p4d.24xlarge"
126892
126893	// InstanceTypeD2Xlarge is a InstanceType enum value
126894	InstanceTypeD2Xlarge = "d2.xlarge"
126895
126896	// InstanceTypeD22xlarge is a InstanceType enum value
126897	InstanceTypeD22xlarge = "d2.2xlarge"
126898
126899	// InstanceTypeD24xlarge is a InstanceType enum value
126900	InstanceTypeD24xlarge = "d2.4xlarge"
126901
126902	// InstanceTypeD28xlarge is a InstanceType enum value
126903	InstanceTypeD28xlarge = "d2.8xlarge"
126904
126905	// InstanceTypeD3Xlarge is a InstanceType enum value
126906	InstanceTypeD3Xlarge = "d3.xlarge"
126907
126908	// InstanceTypeD32xlarge is a InstanceType enum value
126909	InstanceTypeD32xlarge = "d3.2xlarge"
126910
126911	// InstanceTypeD34xlarge is a InstanceType enum value
126912	InstanceTypeD34xlarge = "d3.4xlarge"
126913
126914	// InstanceTypeD38xlarge is a InstanceType enum value
126915	InstanceTypeD38xlarge = "d3.8xlarge"
126916
126917	// InstanceTypeD3enXlarge is a InstanceType enum value
126918	InstanceTypeD3enXlarge = "d3en.xlarge"
126919
126920	// InstanceTypeD3en2xlarge is a InstanceType enum value
126921	InstanceTypeD3en2xlarge = "d3en.2xlarge"
126922
126923	// InstanceTypeD3en4xlarge is a InstanceType enum value
126924	InstanceTypeD3en4xlarge = "d3en.4xlarge"
126925
126926	// InstanceTypeD3en6xlarge is a InstanceType enum value
126927	InstanceTypeD3en6xlarge = "d3en.6xlarge"
126928
126929	// InstanceTypeD3en8xlarge is a InstanceType enum value
126930	InstanceTypeD3en8xlarge = "d3en.8xlarge"
126931
126932	// InstanceTypeD3en12xlarge is a InstanceType enum value
126933	InstanceTypeD3en12xlarge = "d3en.12xlarge"
126934
126935	// InstanceTypeF12xlarge is a InstanceType enum value
126936	InstanceTypeF12xlarge = "f1.2xlarge"
126937
126938	// InstanceTypeF14xlarge is a InstanceType enum value
126939	InstanceTypeF14xlarge = "f1.4xlarge"
126940
126941	// InstanceTypeF116xlarge is a InstanceType enum value
126942	InstanceTypeF116xlarge = "f1.16xlarge"
126943
126944	// InstanceTypeM5Large is a InstanceType enum value
126945	InstanceTypeM5Large = "m5.large"
126946
126947	// InstanceTypeM5Xlarge is a InstanceType enum value
126948	InstanceTypeM5Xlarge = "m5.xlarge"
126949
126950	// InstanceTypeM52xlarge is a InstanceType enum value
126951	InstanceTypeM52xlarge = "m5.2xlarge"
126952
126953	// InstanceTypeM54xlarge is a InstanceType enum value
126954	InstanceTypeM54xlarge = "m5.4xlarge"
126955
126956	// InstanceTypeM58xlarge is a InstanceType enum value
126957	InstanceTypeM58xlarge = "m5.8xlarge"
126958
126959	// InstanceTypeM512xlarge is a InstanceType enum value
126960	InstanceTypeM512xlarge = "m5.12xlarge"
126961
126962	// InstanceTypeM516xlarge is a InstanceType enum value
126963	InstanceTypeM516xlarge = "m5.16xlarge"
126964
126965	// InstanceTypeM524xlarge is a InstanceType enum value
126966	InstanceTypeM524xlarge = "m5.24xlarge"
126967
126968	// InstanceTypeM5Metal is a InstanceType enum value
126969	InstanceTypeM5Metal = "m5.metal"
126970
126971	// InstanceTypeM5aLarge is a InstanceType enum value
126972	InstanceTypeM5aLarge = "m5a.large"
126973
126974	// InstanceTypeM5aXlarge is a InstanceType enum value
126975	InstanceTypeM5aXlarge = "m5a.xlarge"
126976
126977	// InstanceTypeM5a2xlarge is a InstanceType enum value
126978	InstanceTypeM5a2xlarge = "m5a.2xlarge"
126979
126980	// InstanceTypeM5a4xlarge is a InstanceType enum value
126981	InstanceTypeM5a4xlarge = "m5a.4xlarge"
126982
126983	// InstanceTypeM5a8xlarge is a InstanceType enum value
126984	InstanceTypeM5a8xlarge = "m5a.8xlarge"
126985
126986	// InstanceTypeM5a12xlarge is a InstanceType enum value
126987	InstanceTypeM5a12xlarge = "m5a.12xlarge"
126988
126989	// InstanceTypeM5a16xlarge is a InstanceType enum value
126990	InstanceTypeM5a16xlarge = "m5a.16xlarge"
126991
126992	// InstanceTypeM5a24xlarge is a InstanceType enum value
126993	InstanceTypeM5a24xlarge = "m5a.24xlarge"
126994
126995	// InstanceTypeM5dLarge is a InstanceType enum value
126996	InstanceTypeM5dLarge = "m5d.large"
126997
126998	// InstanceTypeM5dXlarge is a InstanceType enum value
126999	InstanceTypeM5dXlarge = "m5d.xlarge"
127000
127001	// InstanceTypeM5d2xlarge is a InstanceType enum value
127002	InstanceTypeM5d2xlarge = "m5d.2xlarge"
127003
127004	// InstanceTypeM5d4xlarge is a InstanceType enum value
127005	InstanceTypeM5d4xlarge = "m5d.4xlarge"
127006
127007	// InstanceTypeM5d8xlarge is a InstanceType enum value
127008	InstanceTypeM5d8xlarge = "m5d.8xlarge"
127009
127010	// InstanceTypeM5d12xlarge is a InstanceType enum value
127011	InstanceTypeM5d12xlarge = "m5d.12xlarge"
127012
127013	// InstanceTypeM5d16xlarge is a InstanceType enum value
127014	InstanceTypeM5d16xlarge = "m5d.16xlarge"
127015
127016	// InstanceTypeM5d24xlarge is a InstanceType enum value
127017	InstanceTypeM5d24xlarge = "m5d.24xlarge"
127018
127019	// InstanceTypeM5dMetal is a InstanceType enum value
127020	InstanceTypeM5dMetal = "m5d.metal"
127021
127022	// InstanceTypeM5adLarge is a InstanceType enum value
127023	InstanceTypeM5adLarge = "m5ad.large"
127024
127025	// InstanceTypeM5adXlarge is a InstanceType enum value
127026	InstanceTypeM5adXlarge = "m5ad.xlarge"
127027
127028	// InstanceTypeM5ad2xlarge is a InstanceType enum value
127029	InstanceTypeM5ad2xlarge = "m5ad.2xlarge"
127030
127031	// InstanceTypeM5ad4xlarge is a InstanceType enum value
127032	InstanceTypeM5ad4xlarge = "m5ad.4xlarge"
127033
127034	// InstanceTypeM5ad8xlarge is a InstanceType enum value
127035	InstanceTypeM5ad8xlarge = "m5ad.8xlarge"
127036
127037	// InstanceTypeM5ad12xlarge is a InstanceType enum value
127038	InstanceTypeM5ad12xlarge = "m5ad.12xlarge"
127039
127040	// InstanceTypeM5ad16xlarge is a InstanceType enum value
127041	InstanceTypeM5ad16xlarge = "m5ad.16xlarge"
127042
127043	// InstanceTypeM5ad24xlarge is a InstanceType enum value
127044	InstanceTypeM5ad24xlarge = "m5ad.24xlarge"
127045
127046	// InstanceTypeM5znLarge is a InstanceType enum value
127047	InstanceTypeM5znLarge = "m5zn.large"
127048
127049	// InstanceTypeM5znXlarge is a InstanceType enum value
127050	InstanceTypeM5znXlarge = "m5zn.xlarge"
127051
127052	// InstanceTypeM5zn2xlarge is a InstanceType enum value
127053	InstanceTypeM5zn2xlarge = "m5zn.2xlarge"
127054
127055	// InstanceTypeM5zn3xlarge is a InstanceType enum value
127056	InstanceTypeM5zn3xlarge = "m5zn.3xlarge"
127057
127058	// InstanceTypeM5zn6xlarge is a InstanceType enum value
127059	InstanceTypeM5zn6xlarge = "m5zn.6xlarge"
127060
127061	// InstanceTypeM5zn12xlarge is a InstanceType enum value
127062	InstanceTypeM5zn12xlarge = "m5zn.12xlarge"
127063
127064	// InstanceTypeM5znMetal is a InstanceType enum value
127065	InstanceTypeM5znMetal = "m5zn.metal"
127066
127067	// InstanceTypeH12xlarge is a InstanceType enum value
127068	InstanceTypeH12xlarge = "h1.2xlarge"
127069
127070	// InstanceTypeH14xlarge is a InstanceType enum value
127071	InstanceTypeH14xlarge = "h1.4xlarge"
127072
127073	// InstanceTypeH18xlarge is a InstanceType enum value
127074	InstanceTypeH18xlarge = "h1.8xlarge"
127075
127076	// InstanceTypeH116xlarge is a InstanceType enum value
127077	InstanceTypeH116xlarge = "h1.16xlarge"
127078
127079	// InstanceTypeZ1dLarge is a InstanceType enum value
127080	InstanceTypeZ1dLarge = "z1d.large"
127081
127082	// InstanceTypeZ1dXlarge is a InstanceType enum value
127083	InstanceTypeZ1dXlarge = "z1d.xlarge"
127084
127085	// InstanceTypeZ1d2xlarge is a InstanceType enum value
127086	InstanceTypeZ1d2xlarge = "z1d.2xlarge"
127087
127088	// InstanceTypeZ1d3xlarge is a InstanceType enum value
127089	InstanceTypeZ1d3xlarge = "z1d.3xlarge"
127090
127091	// InstanceTypeZ1d6xlarge is a InstanceType enum value
127092	InstanceTypeZ1d6xlarge = "z1d.6xlarge"
127093
127094	// InstanceTypeZ1d12xlarge is a InstanceType enum value
127095	InstanceTypeZ1d12xlarge = "z1d.12xlarge"
127096
127097	// InstanceTypeZ1dMetal is a InstanceType enum value
127098	InstanceTypeZ1dMetal = "z1d.metal"
127099
127100	// InstanceTypeU6tb1Metal is a InstanceType enum value
127101	InstanceTypeU6tb1Metal = "u-6tb1.metal"
127102
127103	// InstanceTypeU9tb1Metal is a InstanceType enum value
127104	InstanceTypeU9tb1Metal = "u-9tb1.metal"
127105
127106	// InstanceTypeU12tb1Metal is a InstanceType enum value
127107	InstanceTypeU12tb1Metal = "u-12tb1.metal"
127108
127109	// InstanceTypeU18tb1Metal is a InstanceType enum value
127110	InstanceTypeU18tb1Metal = "u-18tb1.metal"
127111
127112	// InstanceTypeU24tb1Metal is a InstanceType enum value
127113	InstanceTypeU24tb1Metal = "u-24tb1.metal"
127114
127115	// InstanceTypeA1Medium is a InstanceType enum value
127116	InstanceTypeA1Medium = "a1.medium"
127117
127118	// InstanceTypeA1Large is a InstanceType enum value
127119	InstanceTypeA1Large = "a1.large"
127120
127121	// InstanceTypeA1Xlarge is a InstanceType enum value
127122	InstanceTypeA1Xlarge = "a1.xlarge"
127123
127124	// InstanceTypeA12xlarge is a InstanceType enum value
127125	InstanceTypeA12xlarge = "a1.2xlarge"
127126
127127	// InstanceTypeA14xlarge is a InstanceType enum value
127128	InstanceTypeA14xlarge = "a1.4xlarge"
127129
127130	// InstanceTypeA1Metal is a InstanceType enum value
127131	InstanceTypeA1Metal = "a1.metal"
127132
127133	// InstanceTypeM5dnLarge is a InstanceType enum value
127134	InstanceTypeM5dnLarge = "m5dn.large"
127135
127136	// InstanceTypeM5dnXlarge is a InstanceType enum value
127137	InstanceTypeM5dnXlarge = "m5dn.xlarge"
127138
127139	// InstanceTypeM5dn2xlarge is a InstanceType enum value
127140	InstanceTypeM5dn2xlarge = "m5dn.2xlarge"
127141
127142	// InstanceTypeM5dn4xlarge is a InstanceType enum value
127143	InstanceTypeM5dn4xlarge = "m5dn.4xlarge"
127144
127145	// InstanceTypeM5dn8xlarge is a InstanceType enum value
127146	InstanceTypeM5dn8xlarge = "m5dn.8xlarge"
127147
127148	// InstanceTypeM5dn12xlarge is a InstanceType enum value
127149	InstanceTypeM5dn12xlarge = "m5dn.12xlarge"
127150
127151	// InstanceTypeM5dn16xlarge is a InstanceType enum value
127152	InstanceTypeM5dn16xlarge = "m5dn.16xlarge"
127153
127154	// InstanceTypeM5dn24xlarge is a InstanceType enum value
127155	InstanceTypeM5dn24xlarge = "m5dn.24xlarge"
127156
127157	// InstanceTypeM5nLarge is a InstanceType enum value
127158	InstanceTypeM5nLarge = "m5n.large"
127159
127160	// InstanceTypeM5nXlarge is a InstanceType enum value
127161	InstanceTypeM5nXlarge = "m5n.xlarge"
127162
127163	// InstanceTypeM5n2xlarge is a InstanceType enum value
127164	InstanceTypeM5n2xlarge = "m5n.2xlarge"
127165
127166	// InstanceTypeM5n4xlarge is a InstanceType enum value
127167	InstanceTypeM5n4xlarge = "m5n.4xlarge"
127168
127169	// InstanceTypeM5n8xlarge is a InstanceType enum value
127170	InstanceTypeM5n8xlarge = "m5n.8xlarge"
127171
127172	// InstanceTypeM5n12xlarge is a InstanceType enum value
127173	InstanceTypeM5n12xlarge = "m5n.12xlarge"
127174
127175	// InstanceTypeM5n16xlarge is a InstanceType enum value
127176	InstanceTypeM5n16xlarge = "m5n.16xlarge"
127177
127178	// InstanceTypeM5n24xlarge is a InstanceType enum value
127179	InstanceTypeM5n24xlarge = "m5n.24xlarge"
127180
127181	// InstanceTypeR5dnLarge is a InstanceType enum value
127182	InstanceTypeR5dnLarge = "r5dn.large"
127183
127184	// InstanceTypeR5dnXlarge is a InstanceType enum value
127185	InstanceTypeR5dnXlarge = "r5dn.xlarge"
127186
127187	// InstanceTypeR5dn2xlarge is a InstanceType enum value
127188	InstanceTypeR5dn2xlarge = "r5dn.2xlarge"
127189
127190	// InstanceTypeR5dn4xlarge is a InstanceType enum value
127191	InstanceTypeR5dn4xlarge = "r5dn.4xlarge"
127192
127193	// InstanceTypeR5dn8xlarge is a InstanceType enum value
127194	InstanceTypeR5dn8xlarge = "r5dn.8xlarge"
127195
127196	// InstanceTypeR5dn12xlarge is a InstanceType enum value
127197	InstanceTypeR5dn12xlarge = "r5dn.12xlarge"
127198
127199	// InstanceTypeR5dn16xlarge is a InstanceType enum value
127200	InstanceTypeR5dn16xlarge = "r5dn.16xlarge"
127201
127202	// InstanceTypeR5dn24xlarge is a InstanceType enum value
127203	InstanceTypeR5dn24xlarge = "r5dn.24xlarge"
127204
127205	// InstanceTypeR5nLarge is a InstanceType enum value
127206	InstanceTypeR5nLarge = "r5n.large"
127207
127208	// InstanceTypeR5nXlarge is a InstanceType enum value
127209	InstanceTypeR5nXlarge = "r5n.xlarge"
127210
127211	// InstanceTypeR5n2xlarge is a InstanceType enum value
127212	InstanceTypeR5n2xlarge = "r5n.2xlarge"
127213
127214	// InstanceTypeR5n4xlarge is a InstanceType enum value
127215	InstanceTypeR5n4xlarge = "r5n.4xlarge"
127216
127217	// InstanceTypeR5n8xlarge is a InstanceType enum value
127218	InstanceTypeR5n8xlarge = "r5n.8xlarge"
127219
127220	// InstanceTypeR5n12xlarge is a InstanceType enum value
127221	InstanceTypeR5n12xlarge = "r5n.12xlarge"
127222
127223	// InstanceTypeR5n16xlarge is a InstanceType enum value
127224	InstanceTypeR5n16xlarge = "r5n.16xlarge"
127225
127226	// InstanceTypeR5n24xlarge is a InstanceType enum value
127227	InstanceTypeR5n24xlarge = "r5n.24xlarge"
127228
127229	// InstanceTypeInf1Xlarge is a InstanceType enum value
127230	InstanceTypeInf1Xlarge = "inf1.xlarge"
127231
127232	// InstanceTypeInf12xlarge is a InstanceType enum value
127233	InstanceTypeInf12xlarge = "inf1.2xlarge"
127234
127235	// InstanceTypeInf16xlarge is a InstanceType enum value
127236	InstanceTypeInf16xlarge = "inf1.6xlarge"
127237
127238	// InstanceTypeInf124xlarge is a InstanceType enum value
127239	InstanceTypeInf124xlarge = "inf1.24xlarge"
127240
127241	// InstanceTypeM6gMetal is a InstanceType enum value
127242	InstanceTypeM6gMetal = "m6g.metal"
127243
127244	// InstanceTypeM6gMedium is a InstanceType enum value
127245	InstanceTypeM6gMedium = "m6g.medium"
127246
127247	// InstanceTypeM6gLarge is a InstanceType enum value
127248	InstanceTypeM6gLarge = "m6g.large"
127249
127250	// InstanceTypeM6gXlarge is a InstanceType enum value
127251	InstanceTypeM6gXlarge = "m6g.xlarge"
127252
127253	// InstanceTypeM6g2xlarge is a InstanceType enum value
127254	InstanceTypeM6g2xlarge = "m6g.2xlarge"
127255
127256	// InstanceTypeM6g4xlarge is a InstanceType enum value
127257	InstanceTypeM6g4xlarge = "m6g.4xlarge"
127258
127259	// InstanceTypeM6g8xlarge is a InstanceType enum value
127260	InstanceTypeM6g8xlarge = "m6g.8xlarge"
127261
127262	// InstanceTypeM6g12xlarge is a InstanceType enum value
127263	InstanceTypeM6g12xlarge = "m6g.12xlarge"
127264
127265	// InstanceTypeM6g16xlarge is a InstanceType enum value
127266	InstanceTypeM6g16xlarge = "m6g.16xlarge"
127267
127268	// InstanceTypeM6gdMetal is a InstanceType enum value
127269	InstanceTypeM6gdMetal = "m6gd.metal"
127270
127271	// InstanceTypeM6gdMedium is a InstanceType enum value
127272	InstanceTypeM6gdMedium = "m6gd.medium"
127273
127274	// InstanceTypeM6gdLarge is a InstanceType enum value
127275	InstanceTypeM6gdLarge = "m6gd.large"
127276
127277	// InstanceTypeM6gdXlarge is a InstanceType enum value
127278	InstanceTypeM6gdXlarge = "m6gd.xlarge"
127279
127280	// InstanceTypeM6gd2xlarge is a InstanceType enum value
127281	InstanceTypeM6gd2xlarge = "m6gd.2xlarge"
127282
127283	// InstanceTypeM6gd4xlarge is a InstanceType enum value
127284	InstanceTypeM6gd4xlarge = "m6gd.4xlarge"
127285
127286	// InstanceTypeM6gd8xlarge is a InstanceType enum value
127287	InstanceTypeM6gd8xlarge = "m6gd.8xlarge"
127288
127289	// InstanceTypeM6gd12xlarge is a InstanceType enum value
127290	InstanceTypeM6gd12xlarge = "m6gd.12xlarge"
127291
127292	// InstanceTypeM6gd16xlarge is a InstanceType enum value
127293	InstanceTypeM6gd16xlarge = "m6gd.16xlarge"
127294
127295	// InstanceTypeMac1Metal is a InstanceType enum value
127296	InstanceTypeMac1Metal = "mac1.metal"
127297
127298	// InstanceTypeX2gdMedium is a InstanceType enum value
127299	InstanceTypeX2gdMedium = "x2gd.medium"
127300
127301	// InstanceTypeX2gdLarge is a InstanceType enum value
127302	InstanceTypeX2gdLarge = "x2gd.large"
127303
127304	// InstanceTypeX2gdXlarge is a InstanceType enum value
127305	InstanceTypeX2gdXlarge = "x2gd.xlarge"
127306
127307	// InstanceTypeX2gd2xlarge is a InstanceType enum value
127308	InstanceTypeX2gd2xlarge = "x2gd.2xlarge"
127309
127310	// InstanceTypeX2gd4xlarge is a InstanceType enum value
127311	InstanceTypeX2gd4xlarge = "x2gd.4xlarge"
127312
127313	// InstanceTypeX2gd8xlarge is a InstanceType enum value
127314	InstanceTypeX2gd8xlarge = "x2gd.8xlarge"
127315
127316	// InstanceTypeX2gd12xlarge is a InstanceType enum value
127317	InstanceTypeX2gd12xlarge = "x2gd.12xlarge"
127318
127319	// InstanceTypeX2gd16xlarge is a InstanceType enum value
127320	InstanceTypeX2gd16xlarge = "x2gd.16xlarge"
127321
127322	// InstanceTypeX2gdMetal is a InstanceType enum value
127323	InstanceTypeX2gdMetal = "x2gd.metal"
127324)
127325
127326// InstanceType_Values returns all elements of the InstanceType enum
127327func InstanceType_Values() []string {
127328	return []string{
127329		InstanceTypeT1Micro,
127330		InstanceTypeT2Nano,
127331		InstanceTypeT2Micro,
127332		InstanceTypeT2Small,
127333		InstanceTypeT2Medium,
127334		InstanceTypeT2Large,
127335		InstanceTypeT2Xlarge,
127336		InstanceTypeT22xlarge,
127337		InstanceTypeT3Nano,
127338		InstanceTypeT3Micro,
127339		InstanceTypeT3Small,
127340		InstanceTypeT3Medium,
127341		InstanceTypeT3Large,
127342		InstanceTypeT3Xlarge,
127343		InstanceTypeT32xlarge,
127344		InstanceTypeT3aNano,
127345		InstanceTypeT3aMicro,
127346		InstanceTypeT3aSmall,
127347		InstanceTypeT3aMedium,
127348		InstanceTypeT3aLarge,
127349		InstanceTypeT3aXlarge,
127350		InstanceTypeT3a2xlarge,
127351		InstanceTypeT4gNano,
127352		InstanceTypeT4gMicro,
127353		InstanceTypeT4gSmall,
127354		InstanceTypeT4gMedium,
127355		InstanceTypeT4gLarge,
127356		InstanceTypeT4gXlarge,
127357		InstanceTypeT4g2xlarge,
127358		InstanceTypeM1Small,
127359		InstanceTypeM1Medium,
127360		InstanceTypeM1Large,
127361		InstanceTypeM1Xlarge,
127362		InstanceTypeM3Medium,
127363		InstanceTypeM3Large,
127364		InstanceTypeM3Xlarge,
127365		InstanceTypeM32xlarge,
127366		InstanceTypeM4Large,
127367		InstanceTypeM4Xlarge,
127368		InstanceTypeM42xlarge,
127369		InstanceTypeM44xlarge,
127370		InstanceTypeM410xlarge,
127371		InstanceTypeM416xlarge,
127372		InstanceTypeM2Xlarge,
127373		InstanceTypeM22xlarge,
127374		InstanceTypeM24xlarge,
127375		InstanceTypeCr18xlarge,
127376		InstanceTypeR3Large,
127377		InstanceTypeR3Xlarge,
127378		InstanceTypeR32xlarge,
127379		InstanceTypeR34xlarge,
127380		InstanceTypeR38xlarge,
127381		InstanceTypeR4Large,
127382		InstanceTypeR4Xlarge,
127383		InstanceTypeR42xlarge,
127384		InstanceTypeR44xlarge,
127385		InstanceTypeR48xlarge,
127386		InstanceTypeR416xlarge,
127387		InstanceTypeR5Large,
127388		InstanceTypeR5Xlarge,
127389		InstanceTypeR52xlarge,
127390		InstanceTypeR54xlarge,
127391		InstanceTypeR58xlarge,
127392		InstanceTypeR512xlarge,
127393		InstanceTypeR516xlarge,
127394		InstanceTypeR524xlarge,
127395		InstanceTypeR5Metal,
127396		InstanceTypeR5aLarge,
127397		InstanceTypeR5aXlarge,
127398		InstanceTypeR5a2xlarge,
127399		InstanceTypeR5a4xlarge,
127400		InstanceTypeR5a8xlarge,
127401		InstanceTypeR5a12xlarge,
127402		InstanceTypeR5a16xlarge,
127403		InstanceTypeR5a24xlarge,
127404		InstanceTypeR5bLarge,
127405		InstanceTypeR5bXlarge,
127406		InstanceTypeR5b2xlarge,
127407		InstanceTypeR5b4xlarge,
127408		InstanceTypeR5b8xlarge,
127409		InstanceTypeR5b12xlarge,
127410		InstanceTypeR5b16xlarge,
127411		InstanceTypeR5b24xlarge,
127412		InstanceTypeR5bMetal,
127413		InstanceTypeR5dLarge,
127414		InstanceTypeR5dXlarge,
127415		InstanceTypeR5d2xlarge,
127416		InstanceTypeR5d4xlarge,
127417		InstanceTypeR5d8xlarge,
127418		InstanceTypeR5d12xlarge,
127419		InstanceTypeR5d16xlarge,
127420		InstanceTypeR5d24xlarge,
127421		InstanceTypeR5dMetal,
127422		InstanceTypeR5adLarge,
127423		InstanceTypeR5adXlarge,
127424		InstanceTypeR5ad2xlarge,
127425		InstanceTypeR5ad4xlarge,
127426		InstanceTypeR5ad8xlarge,
127427		InstanceTypeR5ad12xlarge,
127428		InstanceTypeR5ad16xlarge,
127429		InstanceTypeR5ad24xlarge,
127430		InstanceTypeR6gMetal,
127431		InstanceTypeR6gMedium,
127432		InstanceTypeR6gLarge,
127433		InstanceTypeR6gXlarge,
127434		InstanceTypeR6g2xlarge,
127435		InstanceTypeR6g4xlarge,
127436		InstanceTypeR6g8xlarge,
127437		InstanceTypeR6g12xlarge,
127438		InstanceTypeR6g16xlarge,
127439		InstanceTypeR6gdMetal,
127440		InstanceTypeR6gdMedium,
127441		InstanceTypeR6gdLarge,
127442		InstanceTypeR6gdXlarge,
127443		InstanceTypeR6gd2xlarge,
127444		InstanceTypeR6gd4xlarge,
127445		InstanceTypeR6gd8xlarge,
127446		InstanceTypeR6gd12xlarge,
127447		InstanceTypeR6gd16xlarge,
127448		InstanceTypeX116xlarge,
127449		InstanceTypeX132xlarge,
127450		InstanceTypeX1eXlarge,
127451		InstanceTypeX1e2xlarge,
127452		InstanceTypeX1e4xlarge,
127453		InstanceTypeX1e8xlarge,
127454		InstanceTypeX1e16xlarge,
127455		InstanceTypeX1e32xlarge,
127456		InstanceTypeI2Xlarge,
127457		InstanceTypeI22xlarge,
127458		InstanceTypeI24xlarge,
127459		InstanceTypeI28xlarge,
127460		InstanceTypeI3Large,
127461		InstanceTypeI3Xlarge,
127462		InstanceTypeI32xlarge,
127463		InstanceTypeI34xlarge,
127464		InstanceTypeI38xlarge,
127465		InstanceTypeI316xlarge,
127466		InstanceTypeI3Metal,
127467		InstanceTypeI3enLarge,
127468		InstanceTypeI3enXlarge,
127469		InstanceTypeI3en2xlarge,
127470		InstanceTypeI3en3xlarge,
127471		InstanceTypeI3en6xlarge,
127472		InstanceTypeI3en12xlarge,
127473		InstanceTypeI3en24xlarge,
127474		InstanceTypeI3enMetal,
127475		InstanceTypeHi14xlarge,
127476		InstanceTypeHs18xlarge,
127477		InstanceTypeC1Medium,
127478		InstanceTypeC1Xlarge,
127479		InstanceTypeC3Large,
127480		InstanceTypeC3Xlarge,
127481		InstanceTypeC32xlarge,
127482		InstanceTypeC34xlarge,
127483		InstanceTypeC38xlarge,
127484		InstanceTypeC4Large,
127485		InstanceTypeC4Xlarge,
127486		InstanceTypeC42xlarge,
127487		InstanceTypeC44xlarge,
127488		InstanceTypeC48xlarge,
127489		InstanceTypeC5Large,
127490		InstanceTypeC5Xlarge,
127491		InstanceTypeC52xlarge,
127492		InstanceTypeC54xlarge,
127493		InstanceTypeC59xlarge,
127494		InstanceTypeC512xlarge,
127495		InstanceTypeC518xlarge,
127496		InstanceTypeC524xlarge,
127497		InstanceTypeC5Metal,
127498		InstanceTypeC5aLarge,
127499		InstanceTypeC5aXlarge,
127500		InstanceTypeC5a2xlarge,
127501		InstanceTypeC5a4xlarge,
127502		InstanceTypeC5a8xlarge,
127503		InstanceTypeC5a12xlarge,
127504		InstanceTypeC5a16xlarge,
127505		InstanceTypeC5a24xlarge,
127506		InstanceTypeC5adLarge,
127507		InstanceTypeC5adXlarge,
127508		InstanceTypeC5ad2xlarge,
127509		InstanceTypeC5ad4xlarge,
127510		InstanceTypeC5ad8xlarge,
127511		InstanceTypeC5ad12xlarge,
127512		InstanceTypeC5ad16xlarge,
127513		InstanceTypeC5ad24xlarge,
127514		InstanceTypeC5dLarge,
127515		InstanceTypeC5dXlarge,
127516		InstanceTypeC5d2xlarge,
127517		InstanceTypeC5d4xlarge,
127518		InstanceTypeC5d9xlarge,
127519		InstanceTypeC5d12xlarge,
127520		InstanceTypeC5d18xlarge,
127521		InstanceTypeC5d24xlarge,
127522		InstanceTypeC5dMetal,
127523		InstanceTypeC5nLarge,
127524		InstanceTypeC5nXlarge,
127525		InstanceTypeC5n2xlarge,
127526		InstanceTypeC5n4xlarge,
127527		InstanceTypeC5n9xlarge,
127528		InstanceTypeC5n18xlarge,
127529		InstanceTypeC5nMetal,
127530		InstanceTypeC6gMetal,
127531		InstanceTypeC6gMedium,
127532		InstanceTypeC6gLarge,
127533		InstanceTypeC6gXlarge,
127534		InstanceTypeC6g2xlarge,
127535		InstanceTypeC6g4xlarge,
127536		InstanceTypeC6g8xlarge,
127537		InstanceTypeC6g12xlarge,
127538		InstanceTypeC6g16xlarge,
127539		InstanceTypeC6gdMetal,
127540		InstanceTypeC6gdMedium,
127541		InstanceTypeC6gdLarge,
127542		InstanceTypeC6gdXlarge,
127543		InstanceTypeC6gd2xlarge,
127544		InstanceTypeC6gd4xlarge,
127545		InstanceTypeC6gd8xlarge,
127546		InstanceTypeC6gd12xlarge,
127547		InstanceTypeC6gd16xlarge,
127548		InstanceTypeC6gnMedium,
127549		InstanceTypeC6gnLarge,
127550		InstanceTypeC6gnXlarge,
127551		InstanceTypeC6gn2xlarge,
127552		InstanceTypeC6gn4xlarge,
127553		InstanceTypeC6gn8xlarge,
127554		InstanceTypeC6gn12xlarge,
127555		InstanceTypeC6gn16xlarge,
127556		InstanceTypeCc14xlarge,
127557		InstanceTypeCc28xlarge,
127558		InstanceTypeG22xlarge,
127559		InstanceTypeG28xlarge,
127560		InstanceTypeG34xlarge,
127561		InstanceTypeG38xlarge,
127562		InstanceTypeG316xlarge,
127563		InstanceTypeG3sXlarge,
127564		InstanceTypeG4ad4xlarge,
127565		InstanceTypeG4ad8xlarge,
127566		InstanceTypeG4ad16xlarge,
127567		InstanceTypeG4dnXlarge,
127568		InstanceTypeG4dn2xlarge,
127569		InstanceTypeG4dn4xlarge,
127570		InstanceTypeG4dn8xlarge,
127571		InstanceTypeG4dn12xlarge,
127572		InstanceTypeG4dn16xlarge,
127573		InstanceTypeG4dnMetal,
127574		InstanceTypeCg14xlarge,
127575		InstanceTypeP2Xlarge,
127576		InstanceTypeP28xlarge,
127577		InstanceTypeP216xlarge,
127578		InstanceTypeP32xlarge,
127579		InstanceTypeP38xlarge,
127580		InstanceTypeP316xlarge,
127581		InstanceTypeP3dn24xlarge,
127582		InstanceTypeP4d24xlarge,
127583		InstanceTypeD2Xlarge,
127584		InstanceTypeD22xlarge,
127585		InstanceTypeD24xlarge,
127586		InstanceTypeD28xlarge,
127587		InstanceTypeD3Xlarge,
127588		InstanceTypeD32xlarge,
127589		InstanceTypeD34xlarge,
127590		InstanceTypeD38xlarge,
127591		InstanceTypeD3enXlarge,
127592		InstanceTypeD3en2xlarge,
127593		InstanceTypeD3en4xlarge,
127594		InstanceTypeD3en6xlarge,
127595		InstanceTypeD3en8xlarge,
127596		InstanceTypeD3en12xlarge,
127597		InstanceTypeF12xlarge,
127598		InstanceTypeF14xlarge,
127599		InstanceTypeF116xlarge,
127600		InstanceTypeM5Large,
127601		InstanceTypeM5Xlarge,
127602		InstanceTypeM52xlarge,
127603		InstanceTypeM54xlarge,
127604		InstanceTypeM58xlarge,
127605		InstanceTypeM512xlarge,
127606		InstanceTypeM516xlarge,
127607		InstanceTypeM524xlarge,
127608		InstanceTypeM5Metal,
127609		InstanceTypeM5aLarge,
127610		InstanceTypeM5aXlarge,
127611		InstanceTypeM5a2xlarge,
127612		InstanceTypeM5a4xlarge,
127613		InstanceTypeM5a8xlarge,
127614		InstanceTypeM5a12xlarge,
127615		InstanceTypeM5a16xlarge,
127616		InstanceTypeM5a24xlarge,
127617		InstanceTypeM5dLarge,
127618		InstanceTypeM5dXlarge,
127619		InstanceTypeM5d2xlarge,
127620		InstanceTypeM5d4xlarge,
127621		InstanceTypeM5d8xlarge,
127622		InstanceTypeM5d12xlarge,
127623		InstanceTypeM5d16xlarge,
127624		InstanceTypeM5d24xlarge,
127625		InstanceTypeM5dMetal,
127626		InstanceTypeM5adLarge,
127627		InstanceTypeM5adXlarge,
127628		InstanceTypeM5ad2xlarge,
127629		InstanceTypeM5ad4xlarge,
127630		InstanceTypeM5ad8xlarge,
127631		InstanceTypeM5ad12xlarge,
127632		InstanceTypeM5ad16xlarge,
127633		InstanceTypeM5ad24xlarge,
127634		InstanceTypeM5znLarge,
127635		InstanceTypeM5znXlarge,
127636		InstanceTypeM5zn2xlarge,
127637		InstanceTypeM5zn3xlarge,
127638		InstanceTypeM5zn6xlarge,
127639		InstanceTypeM5zn12xlarge,
127640		InstanceTypeM5znMetal,
127641		InstanceTypeH12xlarge,
127642		InstanceTypeH14xlarge,
127643		InstanceTypeH18xlarge,
127644		InstanceTypeH116xlarge,
127645		InstanceTypeZ1dLarge,
127646		InstanceTypeZ1dXlarge,
127647		InstanceTypeZ1d2xlarge,
127648		InstanceTypeZ1d3xlarge,
127649		InstanceTypeZ1d6xlarge,
127650		InstanceTypeZ1d12xlarge,
127651		InstanceTypeZ1dMetal,
127652		InstanceTypeU6tb1Metal,
127653		InstanceTypeU9tb1Metal,
127654		InstanceTypeU12tb1Metal,
127655		InstanceTypeU18tb1Metal,
127656		InstanceTypeU24tb1Metal,
127657		InstanceTypeA1Medium,
127658		InstanceTypeA1Large,
127659		InstanceTypeA1Xlarge,
127660		InstanceTypeA12xlarge,
127661		InstanceTypeA14xlarge,
127662		InstanceTypeA1Metal,
127663		InstanceTypeM5dnLarge,
127664		InstanceTypeM5dnXlarge,
127665		InstanceTypeM5dn2xlarge,
127666		InstanceTypeM5dn4xlarge,
127667		InstanceTypeM5dn8xlarge,
127668		InstanceTypeM5dn12xlarge,
127669		InstanceTypeM5dn16xlarge,
127670		InstanceTypeM5dn24xlarge,
127671		InstanceTypeM5nLarge,
127672		InstanceTypeM5nXlarge,
127673		InstanceTypeM5n2xlarge,
127674		InstanceTypeM5n4xlarge,
127675		InstanceTypeM5n8xlarge,
127676		InstanceTypeM5n12xlarge,
127677		InstanceTypeM5n16xlarge,
127678		InstanceTypeM5n24xlarge,
127679		InstanceTypeR5dnLarge,
127680		InstanceTypeR5dnXlarge,
127681		InstanceTypeR5dn2xlarge,
127682		InstanceTypeR5dn4xlarge,
127683		InstanceTypeR5dn8xlarge,
127684		InstanceTypeR5dn12xlarge,
127685		InstanceTypeR5dn16xlarge,
127686		InstanceTypeR5dn24xlarge,
127687		InstanceTypeR5nLarge,
127688		InstanceTypeR5nXlarge,
127689		InstanceTypeR5n2xlarge,
127690		InstanceTypeR5n4xlarge,
127691		InstanceTypeR5n8xlarge,
127692		InstanceTypeR5n12xlarge,
127693		InstanceTypeR5n16xlarge,
127694		InstanceTypeR5n24xlarge,
127695		InstanceTypeInf1Xlarge,
127696		InstanceTypeInf12xlarge,
127697		InstanceTypeInf16xlarge,
127698		InstanceTypeInf124xlarge,
127699		InstanceTypeM6gMetal,
127700		InstanceTypeM6gMedium,
127701		InstanceTypeM6gLarge,
127702		InstanceTypeM6gXlarge,
127703		InstanceTypeM6g2xlarge,
127704		InstanceTypeM6g4xlarge,
127705		InstanceTypeM6g8xlarge,
127706		InstanceTypeM6g12xlarge,
127707		InstanceTypeM6g16xlarge,
127708		InstanceTypeM6gdMetal,
127709		InstanceTypeM6gdMedium,
127710		InstanceTypeM6gdLarge,
127711		InstanceTypeM6gdXlarge,
127712		InstanceTypeM6gd2xlarge,
127713		InstanceTypeM6gd4xlarge,
127714		InstanceTypeM6gd8xlarge,
127715		InstanceTypeM6gd12xlarge,
127716		InstanceTypeM6gd16xlarge,
127717		InstanceTypeMac1Metal,
127718		InstanceTypeX2gdMedium,
127719		InstanceTypeX2gdLarge,
127720		InstanceTypeX2gdXlarge,
127721		InstanceTypeX2gd2xlarge,
127722		InstanceTypeX2gd4xlarge,
127723		InstanceTypeX2gd8xlarge,
127724		InstanceTypeX2gd12xlarge,
127725		InstanceTypeX2gd16xlarge,
127726		InstanceTypeX2gdMetal,
127727	}
127728}
127729
127730const (
127731	// InstanceTypeHypervisorNitro is a InstanceTypeHypervisor enum value
127732	InstanceTypeHypervisorNitro = "nitro"
127733
127734	// InstanceTypeHypervisorXen is a InstanceTypeHypervisor enum value
127735	InstanceTypeHypervisorXen = "xen"
127736)
127737
127738// InstanceTypeHypervisor_Values returns all elements of the InstanceTypeHypervisor enum
127739func InstanceTypeHypervisor_Values() []string {
127740	return []string{
127741		InstanceTypeHypervisorNitro,
127742		InstanceTypeHypervisorXen,
127743	}
127744}
127745
127746const (
127747	// InterfacePermissionTypeInstanceAttach is a InterfacePermissionType enum value
127748	InterfacePermissionTypeInstanceAttach = "INSTANCE-ATTACH"
127749
127750	// InterfacePermissionTypeEipAssociate is a InterfacePermissionType enum value
127751	InterfacePermissionTypeEipAssociate = "EIP-ASSOCIATE"
127752)
127753
127754// InterfacePermissionType_Values returns all elements of the InterfacePermissionType enum
127755func InterfacePermissionType_Values() []string {
127756	return []string{
127757		InterfacePermissionTypeInstanceAttach,
127758		InterfacePermissionTypeEipAssociate,
127759	}
127760}
127761
127762const (
127763	// Ipv6SupportValueEnable is a Ipv6SupportValue enum value
127764	Ipv6SupportValueEnable = "enable"
127765
127766	// Ipv6SupportValueDisable is a Ipv6SupportValue enum value
127767	Ipv6SupportValueDisable = "disable"
127768)
127769
127770// Ipv6SupportValue_Values returns all elements of the Ipv6SupportValue enum
127771func Ipv6SupportValue_Values() []string {
127772	return []string{
127773		Ipv6SupportValueEnable,
127774		Ipv6SupportValueDisable,
127775	}
127776}
127777
127778const (
127779	// LaunchTemplateErrorCodeLaunchTemplateIdDoesNotExist is a LaunchTemplateErrorCode enum value
127780	LaunchTemplateErrorCodeLaunchTemplateIdDoesNotExist = "launchTemplateIdDoesNotExist"
127781
127782	// LaunchTemplateErrorCodeLaunchTemplateIdMalformed is a LaunchTemplateErrorCode enum value
127783	LaunchTemplateErrorCodeLaunchTemplateIdMalformed = "launchTemplateIdMalformed"
127784
127785	// LaunchTemplateErrorCodeLaunchTemplateNameDoesNotExist is a LaunchTemplateErrorCode enum value
127786	LaunchTemplateErrorCodeLaunchTemplateNameDoesNotExist = "launchTemplateNameDoesNotExist"
127787
127788	// LaunchTemplateErrorCodeLaunchTemplateNameMalformed is a LaunchTemplateErrorCode enum value
127789	LaunchTemplateErrorCodeLaunchTemplateNameMalformed = "launchTemplateNameMalformed"
127790
127791	// LaunchTemplateErrorCodeLaunchTemplateVersionDoesNotExist is a LaunchTemplateErrorCode enum value
127792	LaunchTemplateErrorCodeLaunchTemplateVersionDoesNotExist = "launchTemplateVersionDoesNotExist"
127793
127794	// LaunchTemplateErrorCodeUnexpectedError is a LaunchTemplateErrorCode enum value
127795	LaunchTemplateErrorCodeUnexpectedError = "unexpectedError"
127796)
127797
127798// LaunchTemplateErrorCode_Values returns all elements of the LaunchTemplateErrorCode enum
127799func LaunchTemplateErrorCode_Values() []string {
127800	return []string{
127801		LaunchTemplateErrorCodeLaunchTemplateIdDoesNotExist,
127802		LaunchTemplateErrorCodeLaunchTemplateIdMalformed,
127803		LaunchTemplateErrorCodeLaunchTemplateNameDoesNotExist,
127804		LaunchTemplateErrorCodeLaunchTemplateNameMalformed,
127805		LaunchTemplateErrorCodeLaunchTemplateVersionDoesNotExist,
127806		LaunchTemplateErrorCodeUnexpectedError,
127807	}
127808}
127809
127810const (
127811	// LaunchTemplateHttpTokensStateOptional is a LaunchTemplateHttpTokensState enum value
127812	LaunchTemplateHttpTokensStateOptional = "optional"
127813
127814	// LaunchTemplateHttpTokensStateRequired is a LaunchTemplateHttpTokensState enum value
127815	LaunchTemplateHttpTokensStateRequired = "required"
127816)
127817
127818// LaunchTemplateHttpTokensState_Values returns all elements of the LaunchTemplateHttpTokensState enum
127819func LaunchTemplateHttpTokensState_Values() []string {
127820	return []string{
127821		LaunchTemplateHttpTokensStateOptional,
127822		LaunchTemplateHttpTokensStateRequired,
127823	}
127824}
127825
127826const (
127827	// LaunchTemplateInstanceMetadataEndpointStateDisabled is a LaunchTemplateInstanceMetadataEndpointState enum value
127828	LaunchTemplateInstanceMetadataEndpointStateDisabled = "disabled"
127829
127830	// LaunchTemplateInstanceMetadataEndpointStateEnabled is a LaunchTemplateInstanceMetadataEndpointState enum value
127831	LaunchTemplateInstanceMetadataEndpointStateEnabled = "enabled"
127832)
127833
127834// LaunchTemplateInstanceMetadataEndpointState_Values returns all elements of the LaunchTemplateInstanceMetadataEndpointState enum
127835func LaunchTemplateInstanceMetadataEndpointState_Values() []string {
127836	return []string{
127837		LaunchTemplateInstanceMetadataEndpointStateDisabled,
127838		LaunchTemplateInstanceMetadataEndpointStateEnabled,
127839	}
127840}
127841
127842const (
127843	// LaunchTemplateInstanceMetadataOptionsStatePending is a LaunchTemplateInstanceMetadataOptionsState enum value
127844	LaunchTemplateInstanceMetadataOptionsStatePending = "pending"
127845
127846	// LaunchTemplateInstanceMetadataOptionsStateApplied is a LaunchTemplateInstanceMetadataOptionsState enum value
127847	LaunchTemplateInstanceMetadataOptionsStateApplied = "applied"
127848)
127849
127850// LaunchTemplateInstanceMetadataOptionsState_Values returns all elements of the LaunchTemplateInstanceMetadataOptionsState enum
127851func LaunchTemplateInstanceMetadataOptionsState_Values() []string {
127852	return []string{
127853		LaunchTemplateInstanceMetadataOptionsStatePending,
127854		LaunchTemplateInstanceMetadataOptionsStateApplied,
127855	}
127856}
127857
127858const (
127859	// ListingStateAvailable is a ListingState enum value
127860	ListingStateAvailable = "available"
127861
127862	// ListingStateSold is a ListingState enum value
127863	ListingStateSold = "sold"
127864
127865	// ListingStateCancelled is a ListingState enum value
127866	ListingStateCancelled = "cancelled"
127867
127868	// ListingStatePending is a ListingState enum value
127869	ListingStatePending = "pending"
127870)
127871
127872// ListingState_Values returns all elements of the ListingState enum
127873func ListingState_Values() []string {
127874	return []string{
127875		ListingStateAvailable,
127876		ListingStateSold,
127877		ListingStateCancelled,
127878		ListingStatePending,
127879	}
127880}
127881
127882const (
127883	// ListingStatusActive is a ListingStatus enum value
127884	ListingStatusActive = "active"
127885
127886	// ListingStatusPending is a ListingStatus enum value
127887	ListingStatusPending = "pending"
127888
127889	// ListingStatusCancelled is a ListingStatus enum value
127890	ListingStatusCancelled = "cancelled"
127891
127892	// ListingStatusClosed is a ListingStatus enum value
127893	ListingStatusClosed = "closed"
127894)
127895
127896// ListingStatus_Values returns all elements of the ListingStatus enum
127897func ListingStatus_Values() []string {
127898	return []string{
127899		ListingStatusActive,
127900		ListingStatusPending,
127901		ListingStatusCancelled,
127902		ListingStatusClosed,
127903	}
127904}
127905
127906const (
127907	// LocalGatewayRouteStatePending is a LocalGatewayRouteState enum value
127908	LocalGatewayRouteStatePending = "pending"
127909
127910	// LocalGatewayRouteStateActive is a LocalGatewayRouteState enum value
127911	LocalGatewayRouteStateActive = "active"
127912
127913	// LocalGatewayRouteStateBlackhole is a LocalGatewayRouteState enum value
127914	LocalGatewayRouteStateBlackhole = "blackhole"
127915
127916	// LocalGatewayRouteStateDeleting is a LocalGatewayRouteState enum value
127917	LocalGatewayRouteStateDeleting = "deleting"
127918
127919	// LocalGatewayRouteStateDeleted is a LocalGatewayRouteState enum value
127920	LocalGatewayRouteStateDeleted = "deleted"
127921)
127922
127923// LocalGatewayRouteState_Values returns all elements of the LocalGatewayRouteState enum
127924func LocalGatewayRouteState_Values() []string {
127925	return []string{
127926		LocalGatewayRouteStatePending,
127927		LocalGatewayRouteStateActive,
127928		LocalGatewayRouteStateBlackhole,
127929		LocalGatewayRouteStateDeleting,
127930		LocalGatewayRouteStateDeleted,
127931	}
127932}
127933
127934const (
127935	// LocalGatewayRouteTypeStatic is a LocalGatewayRouteType enum value
127936	LocalGatewayRouteTypeStatic = "static"
127937
127938	// LocalGatewayRouteTypePropagated is a LocalGatewayRouteType enum value
127939	LocalGatewayRouteTypePropagated = "propagated"
127940)
127941
127942// LocalGatewayRouteType_Values returns all elements of the LocalGatewayRouteType enum
127943func LocalGatewayRouteType_Values() []string {
127944	return []string{
127945		LocalGatewayRouteTypeStatic,
127946		LocalGatewayRouteTypePropagated,
127947	}
127948}
127949
127950const (
127951	// LocationTypeRegion is a LocationType enum value
127952	LocationTypeRegion = "region"
127953
127954	// LocationTypeAvailabilityZone is a LocationType enum value
127955	LocationTypeAvailabilityZone = "availability-zone"
127956
127957	// LocationTypeAvailabilityZoneId is a LocationType enum value
127958	LocationTypeAvailabilityZoneId = "availability-zone-id"
127959)
127960
127961// LocationType_Values returns all elements of the LocationType enum
127962func LocationType_Values() []string {
127963	return []string{
127964		LocationTypeRegion,
127965		LocationTypeAvailabilityZone,
127966		LocationTypeAvailabilityZoneId,
127967	}
127968}
127969
127970const (
127971	// LogDestinationTypeCloudWatchLogs is a LogDestinationType enum value
127972	LogDestinationTypeCloudWatchLogs = "cloud-watch-logs"
127973
127974	// LogDestinationTypeS3 is a LogDestinationType enum value
127975	LogDestinationTypeS3 = "s3"
127976)
127977
127978// LogDestinationType_Values returns all elements of the LogDestinationType enum
127979func LogDestinationType_Values() []string {
127980	return []string{
127981		LogDestinationTypeCloudWatchLogs,
127982		LogDestinationTypeS3,
127983	}
127984}
127985
127986const (
127987	// MarketTypeSpot is a MarketType enum value
127988	MarketTypeSpot = "spot"
127989)
127990
127991// MarketType_Values returns all elements of the MarketType enum
127992func MarketType_Values() []string {
127993	return []string{
127994		MarketTypeSpot,
127995	}
127996}
127997
127998const (
127999	// MembershipTypeStatic is a MembershipType enum value
128000	MembershipTypeStatic = "static"
128001
128002	// MembershipTypeIgmp is a MembershipType enum value
128003	MembershipTypeIgmp = "igmp"
128004)
128005
128006// MembershipType_Values returns all elements of the MembershipType enum
128007func MembershipType_Values() []string {
128008	return []string{
128009		MembershipTypeStatic,
128010		MembershipTypeIgmp,
128011	}
128012}
128013
128014const (
128015	// ModifyAvailabilityZoneOptInStatusOptedIn is a ModifyAvailabilityZoneOptInStatus enum value
128016	ModifyAvailabilityZoneOptInStatusOptedIn = "opted-in"
128017
128018	// ModifyAvailabilityZoneOptInStatusNotOptedIn is a ModifyAvailabilityZoneOptInStatus enum value
128019	ModifyAvailabilityZoneOptInStatusNotOptedIn = "not-opted-in"
128020)
128021
128022// ModifyAvailabilityZoneOptInStatus_Values returns all elements of the ModifyAvailabilityZoneOptInStatus enum
128023func ModifyAvailabilityZoneOptInStatus_Values() []string {
128024	return []string{
128025		ModifyAvailabilityZoneOptInStatusOptedIn,
128026		ModifyAvailabilityZoneOptInStatusNotOptedIn,
128027	}
128028}
128029
128030const (
128031	// MonitoringStateDisabled is a MonitoringState enum value
128032	MonitoringStateDisabled = "disabled"
128033
128034	// MonitoringStateDisabling is a MonitoringState enum value
128035	MonitoringStateDisabling = "disabling"
128036
128037	// MonitoringStateEnabled is a MonitoringState enum value
128038	MonitoringStateEnabled = "enabled"
128039
128040	// MonitoringStatePending is a MonitoringState enum value
128041	MonitoringStatePending = "pending"
128042)
128043
128044// MonitoringState_Values returns all elements of the MonitoringState enum
128045func MonitoringState_Values() []string {
128046	return []string{
128047		MonitoringStateDisabled,
128048		MonitoringStateDisabling,
128049		MonitoringStateEnabled,
128050		MonitoringStatePending,
128051	}
128052}
128053
128054const (
128055	// MoveStatusMovingToVpc is a MoveStatus enum value
128056	MoveStatusMovingToVpc = "movingToVpc"
128057
128058	// MoveStatusRestoringToClassic is a MoveStatus enum value
128059	MoveStatusRestoringToClassic = "restoringToClassic"
128060)
128061
128062// MoveStatus_Values returns all elements of the MoveStatus enum
128063func MoveStatus_Values() []string {
128064	return []string{
128065		MoveStatusMovingToVpc,
128066		MoveStatusRestoringToClassic,
128067	}
128068}
128069
128070const (
128071	// MulticastSupportValueEnable is a MulticastSupportValue enum value
128072	MulticastSupportValueEnable = "enable"
128073
128074	// MulticastSupportValueDisable is a MulticastSupportValue enum value
128075	MulticastSupportValueDisable = "disable"
128076)
128077
128078// MulticastSupportValue_Values returns all elements of the MulticastSupportValue enum
128079func MulticastSupportValue_Values() []string {
128080	return []string{
128081		MulticastSupportValueEnable,
128082		MulticastSupportValueDisable,
128083	}
128084}
128085
128086const (
128087	// NatGatewayStatePending is a NatGatewayState enum value
128088	NatGatewayStatePending = "pending"
128089
128090	// NatGatewayStateFailed is a NatGatewayState enum value
128091	NatGatewayStateFailed = "failed"
128092
128093	// NatGatewayStateAvailable is a NatGatewayState enum value
128094	NatGatewayStateAvailable = "available"
128095
128096	// NatGatewayStateDeleting is a NatGatewayState enum value
128097	NatGatewayStateDeleting = "deleting"
128098
128099	// NatGatewayStateDeleted is a NatGatewayState enum value
128100	NatGatewayStateDeleted = "deleted"
128101)
128102
128103// NatGatewayState_Values returns all elements of the NatGatewayState enum
128104func NatGatewayState_Values() []string {
128105	return []string{
128106		NatGatewayStatePending,
128107		NatGatewayStateFailed,
128108		NatGatewayStateAvailable,
128109		NatGatewayStateDeleting,
128110		NatGatewayStateDeleted,
128111	}
128112}
128113
128114const (
128115	// NetworkInterfaceAttributeDescription is a NetworkInterfaceAttribute enum value
128116	NetworkInterfaceAttributeDescription = "description"
128117
128118	// NetworkInterfaceAttributeGroupSet is a NetworkInterfaceAttribute enum value
128119	NetworkInterfaceAttributeGroupSet = "groupSet"
128120
128121	// NetworkInterfaceAttributeSourceDestCheck is a NetworkInterfaceAttribute enum value
128122	NetworkInterfaceAttributeSourceDestCheck = "sourceDestCheck"
128123
128124	// NetworkInterfaceAttributeAttachment is a NetworkInterfaceAttribute enum value
128125	NetworkInterfaceAttributeAttachment = "attachment"
128126)
128127
128128// NetworkInterfaceAttribute_Values returns all elements of the NetworkInterfaceAttribute enum
128129func NetworkInterfaceAttribute_Values() []string {
128130	return []string{
128131		NetworkInterfaceAttributeDescription,
128132		NetworkInterfaceAttributeGroupSet,
128133		NetworkInterfaceAttributeSourceDestCheck,
128134		NetworkInterfaceAttributeAttachment,
128135	}
128136}
128137
128138const (
128139	// NetworkInterfaceCreationTypeEfa is a NetworkInterfaceCreationType enum value
128140	NetworkInterfaceCreationTypeEfa = "efa"
128141)
128142
128143// NetworkInterfaceCreationType_Values returns all elements of the NetworkInterfaceCreationType enum
128144func NetworkInterfaceCreationType_Values() []string {
128145	return []string{
128146		NetworkInterfaceCreationTypeEfa,
128147	}
128148}
128149
128150const (
128151	// NetworkInterfacePermissionStateCodePending is a NetworkInterfacePermissionStateCode enum value
128152	NetworkInterfacePermissionStateCodePending = "pending"
128153
128154	// NetworkInterfacePermissionStateCodeGranted is a NetworkInterfacePermissionStateCode enum value
128155	NetworkInterfacePermissionStateCodeGranted = "granted"
128156
128157	// NetworkInterfacePermissionStateCodeRevoking is a NetworkInterfacePermissionStateCode enum value
128158	NetworkInterfacePermissionStateCodeRevoking = "revoking"
128159
128160	// NetworkInterfacePermissionStateCodeRevoked is a NetworkInterfacePermissionStateCode enum value
128161	NetworkInterfacePermissionStateCodeRevoked = "revoked"
128162)
128163
128164// NetworkInterfacePermissionStateCode_Values returns all elements of the NetworkInterfacePermissionStateCode enum
128165func NetworkInterfacePermissionStateCode_Values() []string {
128166	return []string{
128167		NetworkInterfacePermissionStateCodePending,
128168		NetworkInterfacePermissionStateCodeGranted,
128169		NetworkInterfacePermissionStateCodeRevoking,
128170		NetworkInterfacePermissionStateCodeRevoked,
128171	}
128172}
128173
128174const (
128175	// NetworkInterfaceStatusAvailable is a NetworkInterfaceStatus enum value
128176	NetworkInterfaceStatusAvailable = "available"
128177
128178	// NetworkInterfaceStatusAssociated is a NetworkInterfaceStatus enum value
128179	NetworkInterfaceStatusAssociated = "associated"
128180
128181	// NetworkInterfaceStatusAttaching is a NetworkInterfaceStatus enum value
128182	NetworkInterfaceStatusAttaching = "attaching"
128183
128184	// NetworkInterfaceStatusInUse is a NetworkInterfaceStatus enum value
128185	NetworkInterfaceStatusInUse = "in-use"
128186
128187	// NetworkInterfaceStatusDetaching is a NetworkInterfaceStatus enum value
128188	NetworkInterfaceStatusDetaching = "detaching"
128189)
128190
128191// NetworkInterfaceStatus_Values returns all elements of the NetworkInterfaceStatus enum
128192func NetworkInterfaceStatus_Values() []string {
128193	return []string{
128194		NetworkInterfaceStatusAvailable,
128195		NetworkInterfaceStatusAssociated,
128196		NetworkInterfaceStatusAttaching,
128197		NetworkInterfaceStatusInUse,
128198		NetworkInterfaceStatusDetaching,
128199	}
128200}
128201
128202const (
128203	// NetworkInterfaceTypeInterface is a NetworkInterfaceType enum value
128204	NetworkInterfaceTypeInterface = "interface"
128205
128206	// NetworkInterfaceTypeNatGateway is a NetworkInterfaceType enum value
128207	NetworkInterfaceTypeNatGateway = "natGateway"
128208
128209	// NetworkInterfaceTypeEfa is a NetworkInterfaceType enum value
128210	NetworkInterfaceTypeEfa = "efa"
128211)
128212
128213// NetworkInterfaceType_Values returns all elements of the NetworkInterfaceType enum
128214func NetworkInterfaceType_Values() []string {
128215	return []string{
128216		NetworkInterfaceTypeInterface,
128217		NetworkInterfaceTypeNatGateway,
128218		NetworkInterfaceTypeEfa,
128219	}
128220}
128221
128222const (
128223	// OfferingClassTypeStandard is a OfferingClassType enum value
128224	OfferingClassTypeStandard = "standard"
128225
128226	// OfferingClassTypeConvertible is a OfferingClassType enum value
128227	OfferingClassTypeConvertible = "convertible"
128228)
128229
128230// OfferingClassType_Values returns all elements of the OfferingClassType enum
128231func OfferingClassType_Values() []string {
128232	return []string{
128233		OfferingClassTypeStandard,
128234		OfferingClassTypeConvertible,
128235	}
128236}
128237
128238const (
128239	// OfferingTypeValuesHeavyUtilization is a OfferingTypeValues enum value
128240	OfferingTypeValuesHeavyUtilization = "Heavy Utilization"
128241
128242	// OfferingTypeValuesMediumUtilization is a OfferingTypeValues enum value
128243	OfferingTypeValuesMediumUtilization = "Medium Utilization"
128244
128245	// OfferingTypeValuesLightUtilization is a OfferingTypeValues enum value
128246	OfferingTypeValuesLightUtilization = "Light Utilization"
128247
128248	// OfferingTypeValuesNoUpfront is a OfferingTypeValues enum value
128249	OfferingTypeValuesNoUpfront = "No Upfront"
128250
128251	// OfferingTypeValuesPartialUpfront is a OfferingTypeValues enum value
128252	OfferingTypeValuesPartialUpfront = "Partial Upfront"
128253
128254	// OfferingTypeValuesAllUpfront is a OfferingTypeValues enum value
128255	OfferingTypeValuesAllUpfront = "All Upfront"
128256)
128257
128258// OfferingTypeValues_Values returns all elements of the OfferingTypeValues enum
128259func OfferingTypeValues_Values() []string {
128260	return []string{
128261		OfferingTypeValuesHeavyUtilization,
128262		OfferingTypeValuesMediumUtilization,
128263		OfferingTypeValuesLightUtilization,
128264		OfferingTypeValuesNoUpfront,
128265		OfferingTypeValuesPartialUpfront,
128266		OfferingTypeValuesAllUpfront,
128267	}
128268}
128269
128270const (
128271	// OnDemandAllocationStrategyLowestPrice is a OnDemandAllocationStrategy enum value
128272	OnDemandAllocationStrategyLowestPrice = "lowestPrice"
128273
128274	// OnDemandAllocationStrategyPrioritized is a OnDemandAllocationStrategy enum value
128275	OnDemandAllocationStrategyPrioritized = "prioritized"
128276)
128277
128278// OnDemandAllocationStrategy_Values returns all elements of the OnDemandAllocationStrategy enum
128279func OnDemandAllocationStrategy_Values() []string {
128280	return []string{
128281		OnDemandAllocationStrategyLowestPrice,
128282		OnDemandAllocationStrategyPrioritized,
128283	}
128284}
128285
128286const (
128287	// OperationTypeAdd is a OperationType enum value
128288	OperationTypeAdd = "add"
128289
128290	// OperationTypeRemove is a OperationType enum value
128291	OperationTypeRemove = "remove"
128292)
128293
128294// OperationType_Values returns all elements of the OperationType enum
128295func OperationType_Values() []string {
128296	return []string{
128297		OperationTypeAdd,
128298		OperationTypeRemove,
128299	}
128300}
128301
128302const (
128303	// PartitionLoadFrequencyNone is a PartitionLoadFrequency enum value
128304	PartitionLoadFrequencyNone = "none"
128305
128306	// PartitionLoadFrequencyDaily is a PartitionLoadFrequency enum value
128307	PartitionLoadFrequencyDaily = "daily"
128308
128309	// PartitionLoadFrequencyWeekly is a PartitionLoadFrequency enum value
128310	PartitionLoadFrequencyWeekly = "weekly"
128311
128312	// PartitionLoadFrequencyMonthly is a PartitionLoadFrequency enum value
128313	PartitionLoadFrequencyMonthly = "monthly"
128314)
128315
128316// PartitionLoadFrequency_Values returns all elements of the PartitionLoadFrequency enum
128317func PartitionLoadFrequency_Values() []string {
128318	return []string{
128319		PartitionLoadFrequencyNone,
128320		PartitionLoadFrequencyDaily,
128321		PartitionLoadFrequencyWeekly,
128322		PartitionLoadFrequencyMonthly,
128323	}
128324}
128325
128326const (
128327	// PaymentOptionAllUpfront is a PaymentOption enum value
128328	PaymentOptionAllUpfront = "AllUpfront"
128329
128330	// PaymentOptionPartialUpfront is a PaymentOption enum value
128331	PaymentOptionPartialUpfront = "PartialUpfront"
128332
128333	// PaymentOptionNoUpfront is a PaymentOption enum value
128334	PaymentOptionNoUpfront = "NoUpfront"
128335)
128336
128337// PaymentOption_Values returns all elements of the PaymentOption enum
128338func PaymentOption_Values() []string {
128339	return []string{
128340		PaymentOptionAllUpfront,
128341		PaymentOptionPartialUpfront,
128342		PaymentOptionNoUpfront,
128343	}
128344}
128345
128346const (
128347	// PermissionGroupAll is a PermissionGroup enum value
128348	PermissionGroupAll = "all"
128349)
128350
128351// PermissionGroup_Values returns all elements of the PermissionGroup enum
128352func PermissionGroup_Values() []string {
128353	return []string{
128354		PermissionGroupAll,
128355	}
128356}
128357
128358const (
128359	// PlacementGroupStatePending is a PlacementGroupState enum value
128360	PlacementGroupStatePending = "pending"
128361
128362	// PlacementGroupStateAvailable is a PlacementGroupState enum value
128363	PlacementGroupStateAvailable = "available"
128364
128365	// PlacementGroupStateDeleting is a PlacementGroupState enum value
128366	PlacementGroupStateDeleting = "deleting"
128367
128368	// PlacementGroupStateDeleted is a PlacementGroupState enum value
128369	PlacementGroupStateDeleted = "deleted"
128370)
128371
128372// PlacementGroupState_Values returns all elements of the PlacementGroupState enum
128373func PlacementGroupState_Values() []string {
128374	return []string{
128375		PlacementGroupStatePending,
128376		PlacementGroupStateAvailable,
128377		PlacementGroupStateDeleting,
128378		PlacementGroupStateDeleted,
128379	}
128380}
128381
128382const (
128383	// PlacementGroupStrategyCluster is a PlacementGroupStrategy enum value
128384	PlacementGroupStrategyCluster = "cluster"
128385
128386	// PlacementGroupStrategyPartition is a PlacementGroupStrategy enum value
128387	PlacementGroupStrategyPartition = "partition"
128388
128389	// PlacementGroupStrategySpread is a PlacementGroupStrategy enum value
128390	PlacementGroupStrategySpread = "spread"
128391)
128392
128393// PlacementGroupStrategy_Values returns all elements of the PlacementGroupStrategy enum
128394func PlacementGroupStrategy_Values() []string {
128395	return []string{
128396		PlacementGroupStrategyCluster,
128397		PlacementGroupStrategyPartition,
128398		PlacementGroupStrategySpread,
128399	}
128400}
128401
128402const (
128403	// PlacementStrategyCluster is a PlacementStrategy enum value
128404	PlacementStrategyCluster = "cluster"
128405
128406	// PlacementStrategySpread is a PlacementStrategy enum value
128407	PlacementStrategySpread = "spread"
128408
128409	// PlacementStrategyPartition is a PlacementStrategy enum value
128410	PlacementStrategyPartition = "partition"
128411)
128412
128413// PlacementStrategy_Values returns all elements of the PlacementStrategy enum
128414func PlacementStrategy_Values() []string {
128415	return []string{
128416		PlacementStrategyCluster,
128417		PlacementStrategySpread,
128418		PlacementStrategyPartition,
128419	}
128420}
128421
128422const (
128423	// PlatformValuesWindows is a PlatformValues enum value
128424	PlatformValuesWindows = "Windows"
128425)
128426
128427// PlatformValues_Values returns all elements of the PlatformValues enum
128428func PlatformValues_Values() []string {
128429	return []string{
128430		PlatformValuesWindows,
128431	}
128432}
128433
128434const (
128435	// PrefixListStateCreateInProgress is a PrefixListState enum value
128436	PrefixListStateCreateInProgress = "create-in-progress"
128437
128438	// PrefixListStateCreateComplete is a PrefixListState enum value
128439	PrefixListStateCreateComplete = "create-complete"
128440
128441	// PrefixListStateCreateFailed is a PrefixListState enum value
128442	PrefixListStateCreateFailed = "create-failed"
128443
128444	// PrefixListStateModifyInProgress is a PrefixListState enum value
128445	PrefixListStateModifyInProgress = "modify-in-progress"
128446
128447	// PrefixListStateModifyComplete is a PrefixListState enum value
128448	PrefixListStateModifyComplete = "modify-complete"
128449
128450	// PrefixListStateModifyFailed is a PrefixListState enum value
128451	PrefixListStateModifyFailed = "modify-failed"
128452
128453	// PrefixListStateRestoreInProgress is a PrefixListState enum value
128454	PrefixListStateRestoreInProgress = "restore-in-progress"
128455
128456	// PrefixListStateRestoreComplete is a PrefixListState enum value
128457	PrefixListStateRestoreComplete = "restore-complete"
128458
128459	// PrefixListStateRestoreFailed is a PrefixListState enum value
128460	PrefixListStateRestoreFailed = "restore-failed"
128461
128462	// PrefixListStateDeleteInProgress is a PrefixListState enum value
128463	PrefixListStateDeleteInProgress = "delete-in-progress"
128464
128465	// PrefixListStateDeleteComplete is a PrefixListState enum value
128466	PrefixListStateDeleteComplete = "delete-complete"
128467
128468	// PrefixListStateDeleteFailed is a PrefixListState enum value
128469	PrefixListStateDeleteFailed = "delete-failed"
128470)
128471
128472// PrefixListState_Values returns all elements of the PrefixListState enum
128473func PrefixListState_Values() []string {
128474	return []string{
128475		PrefixListStateCreateInProgress,
128476		PrefixListStateCreateComplete,
128477		PrefixListStateCreateFailed,
128478		PrefixListStateModifyInProgress,
128479		PrefixListStateModifyComplete,
128480		PrefixListStateModifyFailed,
128481		PrefixListStateRestoreInProgress,
128482		PrefixListStateRestoreComplete,
128483		PrefixListStateRestoreFailed,
128484		PrefixListStateDeleteInProgress,
128485		PrefixListStateDeleteComplete,
128486		PrefixListStateDeleteFailed,
128487	}
128488}
128489
128490const (
128491	// PrincipalTypeAll is a PrincipalType enum value
128492	PrincipalTypeAll = "All"
128493
128494	// PrincipalTypeService is a PrincipalType enum value
128495	PrincipalTypeService = "Service"
128496
128497	// PrincipalTypeOrganizationUnit is a PrincipalType enum value
128498	PrincipalTypeOrganizationUnit = "OrganizationUnit"
128499
128500	// PrincipalTypeAccount is a PrincipalType enum value
128501	PrincipalTypeAccount = "Account"
128502
128503	// PrincipalTypeUser is a PrincipalType enum value
128504	PrincipalTypeUser = "User"
128505
128506	// PrincipalTypeRole is a PrincipalType enum value
128507	PrincipalTypeRole = "Role"
128508)
128509
128510// PrincipalType_Values returns all elements of the PrincipalType enum
128511func PrincipalType_Values() []string {
128512	return []string{
128513		PrincipalTypeAll,
128514		PrincipalTypeService,
128515		PrincipalTypeOrganizationUnit,
128516		PrincipalTypeAccount,
128517		PrincipalTypeUser,
128518		PrincipalTypeRole,
128519	}
128520}
128521
128522const (
128523	// ProductCodeValuesDevpay is a ProductCodeValues enum value
128524	ProductCodeValuesDevpay = "devpay"
128525
128526	// ProductCodeValuesMarketplace is a ProductCodeValues enum value
128527	ProductCodeValuesMarketplace = "marketplace"
128528)
128529
128530// ProductCodeValues_Values returns all elements of the ProductCodeValues enum
128531func ProductCodeValues_Values() []string {
128532	return []string{
128533		ProductCodeValuesDevpay,
128534		ProductCodeValuesMarketplace,
128535	}
128536}
128537
128538const (
128539	// ProtocolTcp is a Protocol enum value
128540	ProtocolTcp = "tcp"
128541
128542	// ProtocolUdp is a Protocol enum value
128543	ProtocolUdp = "udp"
128544)
128545
128546// Protocol_Values returns all elements of the Protocol enum
128547func Protocol_Values() []string {
128548	return []string{
128549		ProtocolTcp,
128550		ProtocolUdp,
128551	}
128552}
128553
128554const (
128555	// ProtocolValueGre is a ProtocolValue enum value
128556	ProtocolValueGre = "gre"
128557)
128558
128559// ProtocolValue_Values returns all elements of the ProtocolValue enum
128560func ProtocolValue_Values() []string {
128561	return []string{
128562		ProtocolValueGre,
128563	}
128564}
128565
128566const (
128567	// RIProductDescriptionLinuxUnix is a RIProductDescription enum value
128568	RIProductDescriptionLinuxUnix = "Linux/UNIX"
128569
128570	// RIProductDescriptionLinuxUnixamazonVpc is a RIProductDescription enum value
128571	RIProductDescriptionLinuxUnixamazonVpc = "Linux/UNIX (Amazon VPC)"
128572
128573	// RIProductDescriptionWindows is a RIProductDescription enum value
128574	RIProductDescriptionWindows = "Windows"
128575
128576	// RIProductDescriptionWindowsAmazonVpc is a RIProductDescription enum value
128577	RIProductDescriptionWindowsAmazonVpc = "Windows (Amazon VPC)"
128578)
128579
128580// RIProductDescription_Values returns all elements of the RIProductDescription enum
128581func RIProductDescription_Values() []string {
128582	return []string{
128583		RIProductDescriptionLinuxUnix,
128584		RIProductDescriptionLinuxUnixamazonVpc,
128585		RIProductDescriptionWindows,
128586		RIProductDescriptionWindowsAmazonVpc,
128587	}
128588}
128589
128590const (
128591	// RecurringChargeFrequencyHourly is a RecurringChargeFrequency enum value
128592	RecurringChargeFrequencyHourly = "Hourly"
128593)
128594
128595// RecurringChargeFrequency_Values returns all elements of the RecurringChargeFrequency enum
128596func RecurringChargeFrequency_Values() []string {
128597	return []string{
128598		RecurringChargeFrequencyHourly,
128599	}
128600}
128601
128602const (
128603	// ReplaceRootVolumeTaskStatePending is a ReplaceRootVolumeTaskState enum value
128604	ReplaceRootVolumeTaskStatePending = "pending"
128605
128606	// ReplaceRootVolumeTaskStateInProgress is a ReplaceRootVolumeTaskState enum value
128607	ReplaceRootVolumeTaskStateInProgress = "in-progress"
128608
128609	// ReplaceRootVolumeTaskStateFailing is a ReplaceRootVolumeTaskState enum value
128610	ReplaceRootVolumeTaskStateFailing = "failing"
128611
128612	// ReplaceRootVolumeTaskStateSucceeded is a ReplaceRootVolumeTaskState enum value
128613	ReplaceRootVolumeTaskStateSucceeded = "succeeded"
128614
128615	// ReplaceRootVolumeTaskStateFailed is a ReplaceRootVolumeTaskState enum value
128616	ReplaceRootVolumeTaskStateFailed = "failed"
128617
128618	// ReplaceRootVolumeTaskStateFailedDetached is a ReplaceRootVolumeTaskState enum value
128619	ReplaceRootVolumeTaskStateFailedDetached = "failed-detached"
128620)
128621
128622// ReplaceRootVolumeTaskState_Values returns all elements of the ReplaceRootVolumeTaskState enum
128623func ReplaceRootVolumeTaskState_Values() []string {
128624	return []string{
128625		ReplaceRootVolumeTaskStatePending,
128626		ReplaceRootVolumeTaskStateInProgress,
128627		ReplaceRootVolumeTaskStateFailing,
128628		ReplaceRootVolumeTaskStateSucceeded,
128629		ReplaceRootVolumeTaskStateFailed,
128630		ReplaceRootVolumeTaskStateFailedDetached,
128631	}
128632}
128633
128634const (
128635	// ReplacementStrategyLaunch is a ReplacementStrategy enum value
128636	ReplacementStrategyLaunch = "launch"
128637)
128638
128639// ReplacementStrategy_Values returns all elements of the ReplacementStrategy enum
128640func ReplacementStrategy_Values() []string {
128641	return []string{
128642		ReplacementStrategyLaunch,
128643	}
128644}
128645
128646const (
128647	// ReportInstanceReasonCodesInstanceStuckInState is a ReportInstanceReasonCodes enum value
128648	ReportInstanceReasonCodesInstanceStuckInState = "instance-stuck-in-state"
128649
128650	// ReportInstanceReasonCodesUnresponsive is a ReportInstanceReasonCodes enum value
128651	ReportInstanceReasonCodesUnresponsive = "unresponsive"
128652
128653	// ReportInstanceReasonCodesNotAcceptingCredentials is a ReportInstanceReasonCodes enum value
128654	ReportInstanceReasonCodesNotAcceptingCredentials = "not-accepting-credentials"
128655
128656	// ReportInstanceReasonCodesPasswordNotAvailable is a ReportInstanceReasonCodes enum value
128657	ReportInstanceReasonCodesPasswordNotAvailable = "password-not-available"
128658
128659	// ReportInstanceReasonCodesPerformanceNetwork is a ReportInstanceReasonCodes enum value
128660	ReportInstanceReasonCodesPerformanceNetwork = "performance-network"
128661
128662	// ReportInstanceReasonCodesPerformanceInstanceStore is a ReportInstanceReasonCodes enum value
128663	ReportInstanceReasonCodesPerformanceInstanceStore = "performance-instance-store"
128664
128665	// ReportInstanceReasonCodesPerformanceEbsVolume is a ReportInstanceReasonCodes enum value
128666	ReportInstanceReasonCodesPerformanceEbsVolume = "performance-ebs-volume"
128667
128668	// ReportInstanceReasonCodesPerformanceOther is a ReportInstanceReasonCodes enum value
128669	ReportInstanceReasonCodesPerformanceOther = "performance-other"
128670
128671	// ReportInstanceReasonCodesOther is a ReportInstanceReasonCodes enum value
128672	ReportInstanceReasonCodesOther = "other"
128673)
128674
128675// ReportInstanceReasonCodes_Values returns all elements of the ReportInstanceReasonCodes enum
128676func ReportInstanceReasonCodes_Values() []string {
128677	return []string{
128678		ReportInstanceReasonCodesInstanceStuckInState,
128679		ReportInstanceReasonCodesUnresponsive,
128680		ReportInstanceReasonCodesNotAcceptingCredentials,
128681		ReportInstanceReasonCodesPasswordNotAvailable,
128682		ReportInstanceReasonCodesPerformanceNetwork,
128683		ReportInstanceReasonCodesPerformanceInstanceStore,
128684		ReportInstanceReasonCodesPerformanceEbsVolume,
128685		ReportInstanceReasonCodesPerformanceOther,
128686		ReportInstanceReasonCodesOther,
128687	}
128688}
128689
128690const (
128691	// ReportStatusTypeOk is a ReportStatusType enum value
128692	ReportStatusTypeOk = "ok"
128693
128694	// ReportStatusTypeImpaired is a ReportStatusType enum value
128695	ReportStatusTypeImpaired = "impaired"
128696)
128697
128698// ReportStatusType_Values returns all elements of the ReportStatusType enum
128699func ReportStatusType_Values() []string {
128700	return []string{
128701		ReportStatusTypeOk,
128702		ReportStatusTypeImpaired,
128703	}
128704}
128705
128706const (
128707	// ReservationStatePaymentPending is a ReservationState enum value
128708	ReservationStatePaymentPending = "payment-pending"
128709
128710	// ReservationStatePaymentFailed is a ReservationState enum value
128711	ReservationStatePaymentFailed = "payment-failed"
128712
128713	// ReservationStateActive is a ReservationState enum value
128714	ReservationStateActive = "active"
128715
128716	// ReservationStateRetired is a ReservationState enum value
128717	ReservationStateRetired = "retired"
128718)
128719
128720// ReservationState_Values returns all elements of the ReservationState enum
128721func ReservationState_Values() []string {
128722	return []string{
128723		ReservationStatePaymentPending,
128724		ReservationStatePaymentFailed,
128725		ReservationStateActive,
128726		ReservationStateRetired,
128727	}
128728}
128729
128730const (
128731	// ReservedInstanceStatePaymentPending is a ReservedInstanceState enum value
128732	ReservedInstanceStatePaymentPending = "payment-pending"
128733
128734	// ReservedInstanceStateActive is a ReservedInstanceState enum value
128735	ReservedInstanceStateActive = "active"
128736
128737	// ReservedInstanceStatePaymentFailed is a ReservedInstanceState enum value
128738	ReservedInstanceStatePaymentFailed = "payment-failed"
128739
128740	// ReservedInstanceStateRetired is a ReservedInstanceState enum value
128741	ReservedInstanceStateRetired = "retired"
128742
128743	// ReservedInstanceStateQueued is a ReservedInstanceState enum value
128744	ReservedInstanceStateQueued = "queued"
128745
128746	// ReservedInstanceStateQueuedDeleted is a ReservedInstanceState enum value
128747	ReservedInstanceStateQueuedDeleted = "queued-deleted"
128748)
128749
128750// ReservedInstanceState_Values returns all elements of the ReservedInstanceState enum
128751func ReservedInstanceState_Values() []string {
128752	return []string{
128753		ReservedInstanceStatePaymentPending,
128754		ReservedInstanceStateActive,
128755		ReservedInstanceStatePaymentFailed,
128756		ReservedInstanceStateRetired,
128757		ReservedInstanceStateQueued,
128758		ReservedInstanceStateQueuedDeleted,
128759	}
128760}
128761
128762const (
128763	// ResetFpgaImageAttributeNameLoadPermission is a ResetFpgaImageAttributeName enum value
128764	ResetFpgaImageAttributeNameLoadPermission = "loadPermission"
128765)
128766
128767// ResetFpgaImageAttributeName_Values returns all elements of the ResetFpgaImageAttributeName enum
128768func ResetFpgaImageAttributeName_Values() []string {
128769	return []string{
128770		ResetFpgaImageAttributeNameLoadPermission,
128771	}
128772}
128773
128774const (
128775	// ResetImageAttributeNameLaunchPermission is a ResetImageAttributeName enum value
128776	ResetImageAttributeNameLaunchPermission = "launchPermission"
128777)
128778
128779// ResetImageAttributeName_Values returns all elements of the ResetImageAttributeName enum
128780func ResetImageAttributeName_Values() []string {
128781	return []string{
128782		ResetImageAttributeNameLaunchPermission,
128783	}
128784}
128785
128786const (
128787	// ResourceTypeClientVpnEndpoint is a ResourceType enum value
128788	ResourceTypeClientVpnEndpoint = "client-vpn-endpoint"
128789
128790	// ResourceTypeCustomerGateway is a ResourceType enum value
128791	ResourceTypeCustomerGateway = "customer-gateway"
128792
128793	// ResourceTypeDedicatedHost is a ResourceType enum value
128794	ResourceTypeDedicatedHost = "dedicated-host"
128795
128796	// ResourceTypeDhcpOptions is a ResourceType enum value
128797	ResourceTypeDhcpOptions = "dhcp-options"
128798
128799	// ResourceTypeEgressOnlyInternetGateway is a ResourceType enum value
128800	ResourceTypeEgressOnlyInternetGateway = "egress-only-internet-gateway"
128801
128802	// ResourceTypeElasticIp is a ResourceType enum value
128803	ResourceTypeElasticIp = "elastic-ip"
128804
128805	// ResourceTypeElasticGpu is a ResourceType enum value
128806	ResourceTypeElasticGpu = "elastic-gpu"
128807
128808	// ResourceTypeExportImageTask is a ResourceType enum value
128809	ResourceTypeExportImageTask = "export-image-task"
128810
128811	// ResourceTypeExportInstanceTask is a ResourceType enum value
128812	ResourceTypeExportInstanceTask = "export-instance-task"
128813
128814	// ResourceTypeFleet is a ResourceType enum value
128815	ResourceTypeFleet = "fleet"
128816
128817	// ResourceTypeFpgaImage is a ResourceType enum value
128818	ResourceTypeFpgaImage = "fpga-image"
128819
128820	// ResourceTypeHostReservation is a ResourceType enum value
128821	ResourceTypeHostReservation = "host-reservation"
128822
128823	// ResourceTypeImage is a ResourceType enum value
128824	ResourceTypeImage = "image"
128825
128826	// ResourceTypeImportImageTask is a ResourceType enum value
128827	ResourceTypeImportImageTask = "import-image-task"
128828
128829	// ResourceTypeImportSnapshotTask is a ResourceType enum value
128830	ResourceTypeImportSnapshotTask = "import-snapshot-task"
128831
128832	// ResourceTypeInstance is a ResourceType enum value
128833	ResourceTypeInstance = "instance"
128834
128835	// ResourceTypeInternetGateway is a ResourceType enum value
128836	ResourceTypeInternetGateway = "internet-gateway"
128837
128838	// ResourceTypeKeyPair is a ResourceType enum value
128839	ResourceTypeKeyPair = "key-pair"
128840
128841	// ResourceTypeLaunchTemplate is a ResourceType enum value
128842	ResourceTypeLaunchTemplate = "launch-template"
128843
128844	// ResourceTypeLocalGatewayRouteTableVpcAssociation is a ResourceType enum value
128845	ResourceTypeLocalGatewayRouteTableVpcAssociation = "local-gateway-route-table-vpc-association"
128846
128847	// ResourceTypeNatgateway is a ResourceType enum value
128848	ResourceTypeNatgateway = "natgateway"
128849
128850	// ResourceTypeNetworkAcl is a ResourceType enum value
128851	ResourceTypeNetworkAcl = "network-acl"
128852
128853	// ResourceTypeNetworkInterface is a ResourceType enum value
128854	ResourceTypeNetworkInterface = "network-interface"
128855
128856	// ResourceTypeNetworkInsightsAnalysis is a ResourceType enum value
128857	ResourceTypeNetworkInsightsAnalysis = "network-insights-analysis"
128858
128859	// ResourceTypeNetworkInsightsPath is a ResourceType enum value
128860	ResourceTypeNetworkInsightsPath = "network-insights-path"
128861
128862	// ResourceTypePlacementGroup is a ResourceType enum value
128863	ResourceTypePlacementGroup = "placement-group"
128864
128865	// ResourceTypeReservedInstances is a ResourceType enum value
128866	ResourceTypeReservedInstances = "reserved-instances"
128867
128868	// ResourceTypeRouteTable is a ResourceType enum value
128869	ResourceTypeRouteTable = "route-table"
128870
128871	// ResourceTypeSecurityGroup is a ResourceType enum value
128872	ResourceTypeSecurityGroup = "security-group"
128873
128874	// ResourceTypeSnapshot is a ResourceType enum value
128875	ResourceTypeSnapshot = "snapshot"
128876
128877	// ResourceTypeSpotFleetRequest is a ResourceType enum value
128878	ResourceTypeSpotFleetRequest = "spot-fleet-request"
128879
128880	// ResourceTypeSpotInstancesRequest is a ResourceType enum value
128881	ResourceTypeSpotInstancesRequest = "spot-instances-request"
128882
128883	// ResourceTypeSubnet is a ResourceType enum value
128884	ResourceTypeSubnet = "subnet"
128885
128886	// ResourceTypeTrafficMirrorFilter is a ResourceType enum value
128887	ResourceTypeTrafficMirrorFilter = "traffic-mirror-filter"
128888
128889	// ResourceTypeTrafficMirrorSession is a ResourceType enum value
128890	ResourceTypeTrafficMirrorSession = "traffic-mirror-session"
128891
128892	// ResourceTypeTrafficMirrorTarget is a ResourceType enum value
128893	ResourceTypeTrafficMirrorTarget = "traffic-mirror-target"
128894
128895	// ResourceTypeTransitGateway is a ResourceType enum value
128896	ResourceTypeTransitGateway = "transit-gateway"
128897
128898	// ResourceTypeTransitGatewayAttachment is a ResourceType enum value
128899	ResourceTypeTransitGatewayAttachment = "transit-gateway-attachment"
128900
128901	// ResourceTypeTransitGatewayConnectPeer is a ResourceType enum value
128902	ResourceTypeTransitGatewayConnectPeer = "transit-gateway-connect-peer"
128903
128904	// ResourceTypeTransitGatewayMulticastDomain is a ResourceType enum value
128905	ResourceTypeTransitGatewayMulticastDomain = "transit-gateway-multicast-domain"
128906
128907	// ResourceTypeTransitGatewayRouteTable is a ResourceType enum value
128908	ResourceTypeTransitGatewayRouteTable = "transit-gateway-route-table"
128909
128910	// ResourceTypeVolume is a ResourceType enum value
128911	ResourceTypeVolume = "volume"
128912
128913	// ResourceTypeVpc is a ResourceType enum value
128914	ResourceTypeVpc = "vpc"
128915
128916	// ResourceTypeVpcPeeringConnection is a ResourceType enum value
128917	ResourceTypeVpcPeeringConnection = "vpc-peering-connection"
128918
128919	// ResourceTypeVpnConnection is a ResourceType enum value
128920	ResourceTypeVpnConnection = "vpn-connection"
128921
128922	// ResourceTypeVpnGateway is a ResourceType enum value
128923	ResourceTypeVpnGateway = "vpn-gateway"
128924
128925	// ResourceTypeVpcFlowLog is a ResourceType enum value
128926	ResourceTypeVpcFlowLog = "vpc-flow-log"
128927)
128928
128929// ResourceType_Values returns all elements of the ResourceType enum
128930func ResourceType_Values() []string {
128931	return []string{
128932		ResourceTypeClientVpnEndpoint,
128933		ResourceTypeCustomerGateway,
128934		ResourceTypeDedicatedHost,
128935		ResourceTypeDhcpOptions,
128936		ResourceTypeEgressOnlyInternetGateway,
128937		ResourceTypeElasticIp,
128938		ResourceTypeElasticGpu,
128939		ResourceTypeExportImageTask,
128940		ResourceTypeExportInstanceTask,
128941		ResourceTypeFleet,
128942		ResourceTypeFpgaImage,
128943		ResourceTypeHostReservation,
128944		ResourceTypeImage,
128945		ResourceTypeImportImageTask,
128946		ResourceTypeImportSnapshotTask,
128947		ResourceTypeInstance,
128948		ResourceTypeInternetGateway,
128949		ResourceTypeKeyPair,
128950		ResourceTypeLaunchTemplate,
128951		ResourceTypeLocalGatewayRouteTableVpcAssociation,
128952		ResourceTypeNatgateway,
128953		ResourceTypeNetworkAcl,
128954		ResourceTypeNetworkInterface,
128955		ResourceTypeNetworkInsightsAnalysis,
128956		ResourceTypeNetworkInsightsPath,
128957		ResourceTypePlacementGroup,
128958		ResourceTypeReservedInstances,
128959		ResourceTypeRouteTable,
128960		ResourceTypeSecurityGroup,
128961		ResourceTypeSnapshot,
128962		ResourceTypeSpotFleetRequest,
128963		ResourceTypeSpotInstancesRequest,
128964		ResourceTypeSubnet,
128965		ResourceTypeTrafficMirrorFilter,
128966		ResourceTypeTrafficMirrorSession,
128967		ResourceTypeTrafficMirrorTarget,
128968		ResourceTypeTransitGateway,
128969		ResourceTypeTransitGatewayAttachment,
128970		ResourceTypeTransitGatewayConnectPeer,
128971		ResourceTypeTransitGatewayMulticastDomain,
128972		ResourceTypeTransitGatewayRouteTable,
128973		ResourceTypeVolume,
128974		ResourceTypeVpc,
128975		ResourceTypeVpcPeeringConnection,
128976		ResourceTypeVpnConnection,
128977		ResourceTypeVpnGateway,
128978		ResourceTypeVpcFlowLog,
128979	}
128980}
128981
128982const (
128983	// RootDeviceTypeEbs is a RootDeviceType enum value
128984	RootDeviceTypeEbs = "ebs"
128985
128986	// RootDeviceTypeInstanceStore is a RootDeviceType enum value
128987	RootDeviceTypeInstanceStore = "instance-store"
128988)
128989
128990// RootDeviceType_Values returns all elements of the RootDeviceType enum
128991func RootDeviceType_Values() []string {
128992	return []string{
128993		RootDeviceTypeEbs,
128994		RootDeviceTypeInstanceStore,
128995	}
128996}
128997
128998const (
128999	// RouteOriginCreateRouteTable is a RouteOrigin enum value
129000	RouteOriginCreateRouteTable = "CreateRouteTable"
129001
129002	// RouteOriginCreateRoute is a RouteOrigin enum value
129003	RouteOriginCreateRoute = "CreateRoute"
129004
129005	// RouteOriginEnableVgwRoutePropagation is a RouteOrigin enum value
129006	RouteOriginEnableVgwRoutePropagation = "EnableVgwRoutePropagation"
129007)
129008
129009// RouteOrigin_Values returns all elements of the RouteOrigin enum
129010func RouteOrigin_Values() []string {
129011	return []string{
129012		RouteOriginCreateRouteTable,
129013		RouteOriginCreateRoute,
129014		RouteOriginEnableVgwRoutePropagation,
129015	}
129016}
129017
129018const (
129019	// RouteStateActive is a RouteState enum value
129020	RouteStateActive = "active"
129021
129022	// RouteStateBlackhole is a RouteState enum value
129023	RouteStateBlackhole = "blackhole"
129024)
129025
129026// RouteState_Values returns all elements of the RouteState enum
129027func RouteState_Values() []string {
129028	return []string{
129029		RouteStateActive,
129030		RouteStateBlackhole,
129031	}
129032}
129033
129034const (
129035	// RouteTableAssociationStateCodeAssociating is a RouteTableAssociationStateCode enum value
129036	RouteTableAssociationStateCodeAssociating = "associating"
129037
129038	// RouteTableAssociationStateCodeAssociated is a RouteTableAssociationStateCode enum value
129039	RouteTableAssociationStateCodeAssociated = "associated"
129040
129041	// RouteTableAssociationStateCodeDisassociating is a RouteTableAssociationStateCode enum value
129042	RouteTableAssociationStateCodeDisassociating = "disassociating"
129043
129044	// RouteTableAssociationStateCodeDisassociated is a RouteTableAssociationStateCode enum value
129045	RouteTableAssociationStateCodeDisassociated = "disassociated"
129046
129047	// RouteTableAssociationStateCodeFailed is a RouteTableAssociationStateCode enum value
129048	RouteTableAssociationStateCodeFailed = "failed"
129049)
129050
129051// RouteTableAssociationStateCode_Values returns all elements of the RouteTableAssociationStateCode enum
129052func RouteTableAssociationStateCode_Values() []string {
129053	return []string{
129054		RouteTableAssociationStateCodeAssociating,
129055		RouteTableAssociationStateCodeAssociated,
129056		RouteTableAssociationStateCodeDisassociating,
129057		RouteTableAssociationStateCodeDisassociated,
129058		RouteTableAssociationStateCodeFailed,
129059	}
129060}
129061
129062const (
129063	// RuleActionAllow is a RuleAction enum value
129064	RuleActionAllow = "allow"
129065
129066	// RuleActionDeny is a RuleAction enum value
129067	RuleActionDeny = "deny"
129068)
129069
129070// RuleAction_Values returns all elements of the RuleAction enum
129071func RuleAction_Values() []string {
129072	return []string{
129073		RuleActionAllow,
129074		RuleActionDeny,
129075	}
129076}
129077
129078const (
129079	// ScopeAvailabilityZone is a Scope enum value
129080	ScopeAvailabilityZone = "Availability Zone"
129081
129082	// ScopeRegion is a Scope enum value
129083	ScopeRegion = "Region"
129084)
129085
129086// Scope_Values returns all elements of the Scope enum
129087func Scope_Values() []string {
129088	return []string{
129089		ScopeAvailabilityZone,
129090		ScopeRegion,
129091	}
129092}
129093
129094const (
129095	// SelfServicePortalEnabled is a SelfServicePortal enum value
129096	SelfServicePortalEnabled = "enabled"
129097
129098	// SelfServicePortalDisabled is a SelfServicePortal enum value
129099	SelfServicePortalDisabled = "disabled"
129100)
129101
129102// SelfServicePortal_Values returns all elements of the SelfServicePortal enum
129103func SelfServicePortal_Values() []string {
129104	return []string{
129105		SelfServicePortalEnabled,
129106		SelfServicePortalDisabled,
129107	}
129108}
129109
129110const (
129111	// ServiceStatePending is a ServiceState enum value
129112	ServiceStatePending = "Pending"
129113
129114	// ServiceStateAvailable is a ServiceState enum value
129115	ServiceStateAvailable = "Available"
129116
129117	// ServiceStateDeleting is a ServiceState enum value
129118	ServiceStateDeleting = "Deleting"
129119
129120	// ServiceStateDeleted is a ServiceState enum value
129121	ServiceStateDeleted = "Deleted"
129122
129123	// ServiceStateFailed is a ServiceState enum value
129124	ServiceStateFailed = "Failed"
129125)
129126
129127// ServiceState_Values returns all elements of the ServiceState enum
129128func ServiceState_Values() []string {
129129	return []string{
129130		ServiceStatePending,
129131		ServiceStateAvailable,
129132		ServiceStateDeleting,
129133		ServiceStateDeleted,
129134		ServiceStateFailed,
129135	}
129136}
129137
129138const (
129139	// ServiceTypeInterface is a ServiceType enum value
129140	ServiceTypeInterface = "Interface"
129141
129142	// ServiceTypeGateway is a ServiceType enum value
129143	ServiceTypeGateway = "Gateway"
129144
129145	// ServiceTypeGatewayLoadBalancer is a ServiceType enum value
129146	ServiceTypeGatewayLoadBalancer = "GatewayLoadBalancer"
129147)
129148
129149// ServiceType_Values returns all elements of the ServiceType enum
129150func ServiceType_Values() []string {
129151	return []string{
129152		ServiceTypeInterface,
129153		ServiceTypeGateway,
129154		ServiceTypeGatewayLoadBalancer,
129155	}
129156}
129157
129158const (
129159	// ShutdownBehaviorStop is a ShutdownBehavior enum value
129160	ShutdownBehaviorStop = "stop"
129161
129162	// ShutdownBehaviorTerminate is a ShutdownBehavior enum value
129163	ShutdownBehaviorTerminate = "terminate"
129164)
129165
129166// ShutdownBehavior_Values returns all elements of the ShutdownBehavior enum
129167func ShutdownBehavior_Values() []string {
129168	return []string{
129169		ShutdownBehaviorStop,
129170		ShutdownBehaviorTerminate,
129171	}
129172}
129173
129174const (
129175	// SnapshotAttributeNameProductCodes is a SnapshotAttributeName enum value
129176	SnapshotAttributeNameProductCodes = "productCodes"
129177
129178	// SnapshotAttributeNameCreateVolumePermission is a SnapshotAttributeName enum value
129179	SnapshotAttributeNameCreateVolumePermission = "createVolumePermission"
129180)
129181
129182// SnapshotAttributeName_Values returns all elements of the SnapshotAttributeName enum
129183func SnapshotAttributeName_Values() []string {
129184	return []string{
129185		SnapshotAttributeNameProductCodes,
129186		SnapshotAttributeNameCreateVolumePermission,
129187	}
129188}
129189
129190const (
129191	// SnapshotStatePending is a SnapshotState enum value
129192	SnapshotStatePending = "pending"
129193
129194	// SnapshotStateCompleted is a SnapshotState enum value
129195	SnapshotStateCompleted = "completed"
129196
129197	// SnapshotStateError is a SnapshotState enum value
129198	SnapshotStateError = "error"
129199)
129200
129201// SnapshotState_Values returns all elements of the SnapshotState enum
129202func SnapshotState_Values() []string {
129203	return []string{
129204		SnapshotStatePending,
129205		SnapshotStateCompleted,
129206		SnapshotStateError,
129207	}
129208}
129209
129210const (
129211	// SpotAllocationStrategyLowestPrice is a SpotAllocationStrategy enum value
129212	SpotAllocationStrategyLowestPrice = "lowest-price"
129213
129214	// SpotAllocationStrategyDiversified is a SpotAllocationStrategy enum value
129215	SpotAllocationStrategyDiversified = "diversified"
129216
129217	// SpotAllocationStrategyCapacityOptimized is a SpotAllocationStrategy enum value
129218	SpotAllocationStrategyCapacityOptimized = "capacity-optimized"
129219
129220	// SpotAllocationStrategyCapacityOptimizedPrioritized is a SpotAllocationStrategy enum value
129221	SpotAllocationStrategyCapacityOptimizedPrioritized = "capacity-optimized-prioritized"
129222)
129223
129224// SpotAllocationStrategy_Values returns all elements of the SpotAllocationStrategy enum
129225func SpotAllocationStrategy_Values() []string {
129226	return []string{
129227		SpotAllocationStrategyLowestPrice,
129228		SpotAllocationStrategyDiversified,
129229		SpotAllocationStrategyCapacityOptimized,
129230		SpotAllocationStrategyCapacityOptimizedPrioritized,
129231	}
129232}
129233
129234const (
129235	// SpotInstanceInterruptionBehaviorHibernate is a SpotInstanceInterruptionBehavior enum value
129236	SpotInstanceInterruptionBehaviorHibernate = "hibernate"
129237
129238	// SpotInstanceInterruptionBehaviorStop is a SpotInstanceInterruptionBehavior enum value
129239	SpotInstanceInterruptionBehaviorStop = "stop"
129240
129241	// SpotInstanceInterruptionBehaviorTerminate is a SpotInstanceInterruptionBehavior enum value
129242	SpotInstanceInterruptionBehaviorTerminate = "terminate"
129243)
129244
129245// SpotInstanceInterruptionBehavior_Values returns all elements of the SpotInstanceInterruptionBehavior enum
129246func SpotInstanceInterruptionBehavior_Values() []string {
129247	return []string{
129248		SpotInstanceInterruptionBehaviorHibernate,
129249		SpotInstanceInterruptionBehaviorStop,
129250		SpotInstanceInterruptionBehaviorTerminate,
129251	}
129252}
129253
129254const (
129255	// SpotInstanceStateOpen is a SpotInstanceState enum value
129256	SpotInstanceStateOpen = "open"
129257
129258	// SpotInstanceStateActive is a SpotInstanceState enum value
129259	SpotInstanceStateActive = "active"
129260
129261	// SpotInstanceStateClosed is a SpotInstanceState enum value
129262	SpotInstanceStateClosed = "closed"
129263
129264	// SpotInstanceStateCancelled is a SpotInstanceState enum value
129265	SpotInstanceStateCancelled = "cancelled"
129266
129267	// SpotInstanceStateFailed is a SpotInstanceState enum value
129268	SpotInstanceStateFailed = "failed"
129269)
129270
129271// SpotInstanceState_Values returns all elements of the SpotInstanceState enum
129272func SpotInstanceState_Values() []string {
129273	return []string{
129274		SpotInstanceStateOpen,
129275		SpotInstanceStateActive,
129276		SpotInstanceStateClosed,
129277		SpotInstanceStateCancelled,
129278		SpotInstanceStateFailed,
129279	}
129280}
129281
129282const (
129283	// SpotInstanceTypeOneTime is a SpotInstanceType enum value
129284	SpotInstanceTypeOneTime = "one-time"
129285
129286	// SpotInstanceTypePersistent is a SpotInstanceType enum value
129287	SpotInstanceTypePersistent = "persistent"
129288)
129289
129290// SpotInstanceType_Values returns all elements of the SpotInstanceType enum
129291func SpotInstanceType_Values() []string {
129292	return []string{
129293		SpotInstanceTypeOneTime,
129294		SpotInstanceTypePersistent,
129295	}
129296}
129297
129298const (
129299	// StatePendingAcceptance is a State enum value
129300	StatePendingAcceptance = "PendingAcceptance"
129301
129302	// StatePending is a State enum value
129303	StatePending = "Pending"
129304
129305	// StateAvailable is a State enum value
129306	StateAvailable = "Available"
129307
129308	// StateDeleting is a State enum value
129309	StateDeleting = "Deleting"
129310
129311	// StateDeleted is a State enum value
129312	StateDeleted = "Deleted"
129313
129314	// StateRejected is a State enum value
129315	StateRejected = "Rejected"
129316
129317	// StateFailed is a State enum value
129318	StateFailed = "Failed"
129319
129320	// StateExpired is a State enum value
129321	StateExpired = "Expired"
129322)
129323
129324// State_Values returns all elements of the State enum
129325func State_Values() []string {
129326	return []string{
129327		StatePendingAcceptance,
129328		StatePending,
129329		StateAvailable,
129330		StateDeleting,
129331		StateDeleted,
129332		StateRejected,
129333		StateFailed,
129334		StateExpired,
129335	}
129336}
129337
129338const (
129339	// StaticSourcesSupportValueEnable is a StaticSourcesSupportValue enum value
129340	StaticSourcesSupportValueEnable = "enable"
129341
129342	// StaticSourcesSupportValueDisable is a StaticSourcesSupportValue enum value
129343	StaticSourcesSupportValueDisable = "disable"
129344)
129345
129346// StaticSourcesSupportValue_Values returns all elements of the StaticSourcesSupportValue enum
129347func StaticSourcesSupportValue_Values() []string {
129348	return []string{
129349		StaticSourcesSupportValueEnable,
129350		StaticSourcesSupportValueDisable,
129351	}
129352}
129353
129354const (
129355	// StatusMoveInProgress is a Status enum value
129356	StatusMoveInProgress = "MoveInProgress"
129357
129358	// StatusInVpc is a Status enum value
129359	StatusInVpc = "InVpc"
129360
129361	// StatusInClassic is a Status enum value
129362	StatusInClassic = "InClassic"
129363)
129364
129365// Status_Values returns all elements of the Status enum
129366func Status_Values() []string {
129367	return []string{
129368		StatusMoveInProgress,
129369		StatusInVpc,
129370		StatusInClassic,
129371	}
129372}
129373
129374const (
129375	// StatusNameReachability is a StatusName enum value
129376	StatusNameReachability = "reachability"
129377)
129378
129379// StatusName_Values returns all elements of the StatusName enum
129380func StatusName_Values() []string {
129381	return []string{
129382		StatusNameReachability,
129383	}
129384}
129385
129386const (
129387	// StatusTypePassed is a StatusType enum value
129388	StatusTypePassed = "passed"
129389
129390	// StatusTypeFailed is a StatusType enum value
129391	StatusTypeFailed = "failed"
129392
129393	// StatusTypeInsufficientData is a StatusType enum value
129394	StatusTypeInsufficientData = "insufficient-data"
129395
129396	// StatusTypeInitializing is a StatusType enum value
129397	StatusTypeInitializing = "initializing"
129398)
129399
129400// StatusType_Values returns all elements of the StatusType enum
129401func StatusType_Values() []string {
129402	return []string{
129403		StatusTypePassed,
129404		StatusTypeFailed,
129405		StatusTypeInsufficientData,
129406		StatusTypeInitializing,
129407	}
129408}
129409
129410const (
129411	// SubnetCidrBlockStateCodeAssociating is a SubnetCidrBlockStateCode enum value
129412	SubnetCidrBlockStateCodeAssociating = "associating"
129413
129414	// SubnetCidrBlockStateCodeAssociated is a SubnetCidrBlockStateCode enum value
129415	SubnetCidrBlockStateCodeAssociated = "associated"
129416
129417	// SubnetCidrBlockStateCodeDisassociating is a SubnetCidrBlockStateCode enum value
129418	SubnetCidrBlockStateCodeDisassociating = "disassociating"
129419
129420	// SubnetCidrBlockStateCodeDisassociated is a SubnetCidrBlockStateCode enum value
129421	SubnetCidrBlockStateCodeDisassociated = "disassociated"
129422
129423	// SubnetCidrBlockStateCodeFailing is a SubnetCidrBlockStateCode enum value
129424	SubnetCidrBlockStateCodeFailing = "failing"
129425
129426	// SubnetCidrBlockStateCodeFailed is a SubnetCidrBlockStateCode enum value
129427	SubnetCidrBlockStateCodeFailed = "failed"
129428)
129429
129430// SubnetCidrBlockStateCode_Values returns all elements of the SubnetCidrBlockStateCode enum
129431func SubnetCidrBlockStateCode_Values() []string {
129432	return []string{
129433		SubnetCidrBlockStateCodeAssociating,
129434		SubnetCidrBlockStateCodeAssociated,
129435		SubnetCidrBlockStateCodeDisassociating,
129436		SubnetCidrBlockStateCodeDisassociated,
129437		SubnetCidrBlockStateCodeFailing,
129438		SubnetCidrBlockStateCodeFailed,
129439	}
129440}
129441
129442const (
129443	// SubnetStatePending is a SubnetState enum value
129444	SubnetStatePending = "pending"
129445
129446	// SubnetStateAvailable is a SubnetState enum value
129447	SubnetStateAvailable = "available"
129448)
129449
129450// SubnetState_Values returns all elements of the SubnetState enum
129451func SubnetState_Values() []string {
129452	return []string{
129453		SubnetStatePending,
129454		SubnetStateAvailable,
129455	}
129456}
129457
129458const (
129459	// SummaryStatusOk is a SummaryStatus enum value
129460	SummaryStatusOk = "ok"
129461
129462	// SummaryStatusImpaired is a SummaryStatus enum value
129463	SummaryStatusImpaired = "impaired"
129464
129465	// SummaryStatusInsufficientData is a SummaryStatus enum value
129466	SummaryStatusInsufficientData = "insufficient-data"
129467
129468	// SummaryStatusNotApplicable is a SummaryStatus enum value
129469	SummaryStatusNotApplicable = "not-applicable"
129470
129471	// SummaryStatusInitializing is a SummaryStatus enum value
129472	SummaryStatusInitializing = "initializing"
129473)
129474
129475// SummaryStatus_Values returns all elements of the SummaryStatus enum
129476func SummaryStatus_Values() []string {
129477	return []string{
129478		SummaryStatusOk,
129479		SummaryStatusImpaired,
129480		SummaryStatusInsufficientData,
129481		SummaryStatusNotApplicable,
129482		SummaryStatusInitializing,
129483	}
129484}
129485
129486const (
129487	// TelemetryStatusUp is a TelemetryStatus enum value
129488	TelemetryStatusUp = "UP"
129489
129490	// TelemetryStatusDown is a TelemetryStatus enum value
129491	TelemetryStatusDown = "DOWN"
129492)
129493
129494// TelemetryStatus_Values returns all elements of the TelemetryStatus enum
129495func TelemetryStatus_Values() []string {
129496	return []string{
129497		TelemetryStatusUp,
129498		TelemetryStatusDown,
129499	}
129500}
129501
129502const (
129503	// TenancyDefault is a Tenancy enum value
129504	TenancyDefault = "default"
129505
129506	// TenancyDedicated is a Tenancy enum value
129507	TenancyDedicated = "dedicated"
129508
129509	// TenancyHost is a Tenancy enum value
129510	TenancyHost = "host"
129511)
129512
129513// Tenancy_Values returns all elements of the Tenancy enum
129514func Tenancy_Values() []string {
129515	return []string{
129516		TenancyDefault,
129517		TenancyDedicated,
129518		TenancyHost,
129519	}
129520}
129521
129522const (
129523	// TrafficDirectionIngress is a TrafficDirection enum value
129524	TrafficDirectionIngress = "ingress"
129525
129526	// TrafficDirectionEgress is a TrafficDirection enum value
129527	TrafficDirectionEgress = "egress"
129528)
129529
129530// TrafficDirection_Values returns all elements of the TrafficDirection enum
129531func TrafficDirection_Values() []string {
129532	return []string{
129533		TrafficDirectionIngress,
129534		TrafficDirectionEgress,
129535	}
129536}
129537
129538const (
129539	// TrafficMirrorFilterRuleFieldDestinationPortRange is a TrafficMirrorFilterRuleField enum value
129540	TrafficMirrorFilterRuleFieldDestinationPortRange = "destination-port-range"
129541
129542	// TrafficMirrorFilterRuleFieldSourcePortRange is a TrafficMirrorFilterRuleField enum value
129543	TrafficMirrorFilterRuleFieldSourcePortRange = "source-port-range"
129544
129545	// TrafficMirrorFilterRuleFieldProtocol is a TrafficMirrorFilterRuleField enum value
129546	TrafficMirrorFilterRuleFieldProtocol = "protocol"
129547
129548	// TrafficMirrorFilterRuleFieldDescription is a TrafficMirrorFilterRuleField enum value
129549	TrafficMirrorFilterRuleFieldDescription = "description"
129550)
129551
129552// TrafficMirrorFilterRuleField_Values returns all elements of the TrafficMirrorFilterRuleField enum
129553func TrafficMirrorFilterRuleField_Values() []string {
129554	return []string{
129555		TrafficMirrorFilterRuleFieldDestinationPortRange,
129556		TrafficMirrorFilterRuleFieldSourcePortRange,
129557		TrafficMirrorFilterRuleFieldProtocol,
129558		TrafficMirrorFilterRuleFieldDescription,
129559	}
129560}
129561
129562const (
129563	// TrafficMirrorNetworkServiceAmazonDns is a TrafficMirrorNetworkService enum value
129564	TrafficMirrorNetworkServiceAmazonDns = "amazon-dns"
129565)
129566
129567// TrafficMirrorNetworkService_Values returns all elements of the TrafficMirrorNetworkService enum
129568func TrafficMirrorNetworkService_Values() []string {
129569	return []string{
129570		TrafficMirrorNetworkServiceAmazonDns,
129571	}
129572}
129573
129574const (
129575	// TrafficMirrorRuleActionAccept is a TrafficMirrorRuleAction enum value
129576	TrafficMirrorRuleActionAccept = "accept"
129577
129578	// TrafficMirrorRuleActionReject is a TrafficMirrorRuleAction enum value
129579	TrafficMirrorRuleActionReject = "reject"
129580)
129581
129582// TrafficMirrorRuleAction_Values returns all elements of the TrafficMirrorRuleAction enum
129583func TrafficMirrorRuleAction_Values() []string {
129584	return []string{
129585		TrafficMirrorRuleActionAccept,
129586		TrafficMirrorRuleActionReject,
129587	}
129588}
129589
129590const (
129591	// TrafficMirrorSessionFieldPacketLength is a TrafficMirrorSessionField enum value
129592	TrafficMirrorSessionFieldPacketLength = "packet-length"
129593
129594	// TrafficMirrorSessionFieldDescription is a TrafficMirrorSessionField enum value
129595	TrafficMirrorSessionFieldDescription = "description"
129596
129597	// TrafficMirrorSessionFieldVirtualNetworkId is a TrafficMirrorSessionField enum value
129598	TrafficMirrorSessionFieldVirtualNetworkId = "virtual-network-id"
129599)
129600
129601// TrafficMirrorSessionField_Values returns all elements of the TrafficMirrorSessionField enum
129602func TrafficMirrorSessionField_Values() []string {
129603	return []string{
129604		TrafficMirrorSessionFieldPacketLength,
129605		TrafficMirrorSessionFieldDescription,
129606		TrafficMirrorSessionFieldVirtualNetworkId,
129607	}
129608}
129609
129610const (
129611	// TrafficMirrorTargetTypeNetworkInterface is a TrafficMirrorTargetType enum value
129612	TrafficMirrorTargetTypeNetworkInterface = "network-interface"
129613
129614	// TrafficMirrorTargetTypeNetworkLoadBalancer is a TrafficMirrorTargetType enum value
129615	TrafficMirrorTargetTypeNetworkLoadBalancer = "network-load-balancer"
129616)
129617
129618// TrafficMirrorTargetType_Values returns all elements of the TrafficMirrorTargetType enum
129619func TrafficMirrorTargetType_Values() []string {
129620	return []string{
129621		TrafficMirrorTargetTypeNetworkInterface,
129622		TrafficMirrorTargetTypeNetworkLoadBalancer,
129623	}
129624}
129625
129626const (
129627	// TrafficTypeAccept is a TrafficType enum value
129628	TrafficTypeAccept = "ACCEPT"
129629
129630	// TrafficTypeReject is a TrafficType enum value
129631	TrafficTypeReject = "REJECT"
129632
129633	// TrafficTypeAll is a TrafficType enum value
129634	TrafficTypeAll = "ALL"
129635)
129636
129637// TrafficType_Values returns all elements of the TrafficType enum
129638func TrafficType_Values() []string {
129639	return []string{
129640		TrafficTypeAccept,
129641		TrafficTypeReject,
129642		TrafficTypeAll,
129643	}
129644}
129645
129646const (
129647	// TransitGatewayAssociationStateAssociating is a TransitGatewayAssociationState enum value
129648	TransitGatewayAssociationStateAssociating = "associating"
129649
129650	// TransitGatewayAssociationStateAssociated is a TransitGatewayAssociationState enum value
129651	TransitGatewayAssociationStateAssociated = "associated"
129652
129653	// TransitGatewayAssociationStateDisassociating is a TransitGatewayAssociationState enum value
129654	TransitGatewayAssociationStateDisassociating = "disassociating"
129655
129656	// TransitGatewayAssociationStateDisassociated is a TransitGatewayAssociationState enum value
129657	TransitGatewayAssociationStateDisassociated = "disassociated"
129658)
129659
129660// TransitGatewayAssociationState_Values returns all elements of the TransitGatewayAssociationState enum
129661func TransitGatewayAssociationState_Values() []string {
129662	return []string{
129663		TransitGatewayAssociationStateAssociating,
129664		TransitGatewayAssociationStateAssociated,
129665		TransitGatewayAssociationStateDisassociating,
129666		TransitGatewayAssociationStateDisassociated,
129667	}
129668}
129669
129670const (
129671	// TransitGatewayAttachmentResourceTypeVpc is a TransitGatewayAttachmentResourceType enum value
129672	TransitGatewayAttachmentResourceTypeVpc = "vpc"
129673
129674	// TransitGatewayAttachmentResourceTypeVpn is a TransitGatewayAttachmentResourceType enum value
129675	TransitGatewayAttachmentResourceTypeVpn = "vpn"
129676
129677	// TransitGatewayAttachmentResourceTypeDirectConnectGateway is a TransitGatewayAttachmentResourceType enum value
129678	TransitGatewayAttachmentResourceTypeDirectConnectGateway = "direct-connect-gateway"
129679
129680	// TransitGatewayAttachmentResourceTypeConnect is a TransitGatewayAttachmentResourceType enum value
129681	TransitGatewayAttachmentResourceTypeConnect = "connect"
129682
129683	// TransitGatewayAttachmentResourceTypePeering is a TransitGatewayAttachmentResourceType enum value
129684	TransitGatewayAttachmentResourceTypePeering = "peering"
129685
129686	// TransitGatewayAttachmentResourceTypeTgwPeering is a TransitGatewayAttachmentResourceType enum value
129687	TransitGatewayAttachmentResourceTypeTgwPeering = "tgw-peering"
129688)
129689
129690// TransitGatewayAttachmentResourceType_Values returns all elements of the TransitGatewayAttachmentResourceType enum
129691func TransitGatewayAttachmentResourceType_Values() []string {
129692	return []string{
129693		TransitGatewayAttachmentResourceTypeVpc,
129694		TransitGatewayAttachmentResourceTypeVpn,
129695		TransitGatewayAttachmentResourceTypeDirectConnectGateway,
129696		TransitGatewayAttachmentResourceTypeConnect,
129697		TransitGatewayAttachmentResourceTypePeering,
129698		TransitGatewayAttachmentResourceTypeTgwPeering,
129699	}
129700}
129701
129702const (
129703	// TransitGatewayAttachmentStateInitiating is a TransitGatewayAttachmentState enum value
129704	TransitGatewayAttachmentStateInitiating = "initiating"
129705
129706	// TransitGatewayAttachmentStateInitiatingRequest is a TransitGatewayAttachmentState enum value
129707	TransitGatewayAttachmentStateInitiatingRequest = "initiatingRequest"
129708
129709	// TransitGatewayAttachmentStatePendingAcceptance is a TransitGatewayAttachmentState enum value
129710	TransitGatewayAttachmentStatePendingAcceptance = "pendingAcceptance"
129711
129712	// TransitGatewayAttachmentStateRollingBack is a TransitGatewayAttachmentState enum value
129713	TransitGatewayAttachmentStateRollingBack = "rollingBack"
129714
129715	// TransitGatewayAttachmentStatePending is a TransitGatewayAttachmentState enum value
129716	TransitGatewayAttachmentStatePending = "pending"
129717
129718	// TransitGatewayAttachmentStateAvailable is a TransitGatewayAttachmentState enum value
129719	TransitGatewayAttachmentStateAvailable = "available"
129720
129721	// TransitGatewayAttachmentStateModifying is a TransitGatewayAttachmentState enum value
129722	TransitGatewayAttachmentStateModifying = "modifying"
129723
129724	// TransitGatewayAttachmentStateDeleting is a TransitGatewayAttachmentState enum value
129725	TransitGatewayAttachmentStateDeleting = "deleting"
129726
129727	// TransitGatewayAttachmentStateDeleted is a TransitGatewayAttachmentState enum value
129728	TransitGatewayAttachmentStateDeleted = "deleted"
129729
129730	// TransitGatewayAttachmentStateFailed is a TransitGatewayAttachmentState enum value
129731	TransitGatewayAttachmentStateFailed = "failed"
129732
129733	// TransitGatewayAttachmentStateRejected is a TransitGatewayAttachmentState enum value
129734	TransitGatewayAttachmentStateRejected = "rejected"
129735
129736	// TransitGatewayAttachmentStateRejecting is a TransitGatewayAttachmentState enum value
129737	TransitGatewayAttachmentStateRejecting = "rejecting"
129738
129739	// TransitGatewayAttachmentStateFailing is a TransitGatewayAttachmentState enum value
129740	TransitGatewayAttachmentStateFailing = "failing"
129741)
129742
129743// TransitGatewayAttachmentState_Values returns all elements of the TransitGatewayAttachmentState enum
129744func TransitGatewayAttachmentState_Values() []string {
129745	return []string{
129746		TransitGatewayAttachmentStateInitiating,
129747		TransitGatewayAttachmentStateInitiatingRequest,
129748		TransitGatewayAttachmentStatePendingAcceptance,
129749		TransitGatewayAttachmentStateRollingBack,
129750		TransitGatewayAttachmentStatePending,
129751		TransitGatewayAttachmentStateAvailable,
129752		TransitGatewayAttachmentStateModifying,
129753		TransitGatewayAttachmentStateDeleting,
129754		TransitGatewayAttachmentStateDeleted,
129755		TransitGatewayAttachmentStateFailed,
129756		TransitGatewayAttachmentStateRejected,
129757		TransitGatewayAttachmentStateRejecting,
129758		TransitGatewayAttachmentStateFailing,
129759	}
129760}
129761
129762const (
129763	// TransitGatewayConnectPeerStatePending is a TransitGatewayConnectPeerState enum value
129764	TransitGatewayConnectPeerStatePending = "pending"
129765
129766	// TransitGatewayConnectPeerStateAvailable is a TransitGatewayConnectPeerState enum value
129767	TransitGatewayConnectPeerStateAvailable = "available"
129768
129769	// TransitGatewayConnectPeerStateDeleting is a TransitGatewayConnectPeerState enum value
129770	TransitGatewayConnectPeerStateDeleting = "deleting"
129771
129772	// TransitGatewayConnectPeerStateDeleted is a TransitGatewayConnectPeerState enum value
129773	TransitGatewayConnectPeerStateDeleted = "deleted"
129774)
129775
129776// TransitGatewayConnectPeerState_Values returns all elements of the TransitGatewayConnectPeerState enum
129777func TransitGatewayConnectPeerState_Values() []string {
129778	return []string{
129779		TransitGatewayConnectPeerStatePending,
129780		TransitGatewayConnectPeerStateAvailable,
129781		TransitGatewayConnectPeerStateDeleting,
129782		TransitGatewayConnectPeerStateDeleted,
129783	}
129784}
129785
129786const (
129787	// TransitGatewayMulitcastDomainAssociationStatePendingAcceptance is a TransitGatewayMulitcastDomainAssociationState enum value
129788	TransitGatewayMulitcastDomainAssociationStatePendingAcceptance = "pendingAcceptance"
129789
129790	// TransitGatewayMulitcastDomainAssociationStateAssociating is a TransitGatewayMulitcastDomainAssociationState enum value
129791	TransitGatewayMulitcastDomainAssociationStateAssociating = "associating"
129792
129793	// TransitGatewayMulitcastDomainAssociationStateAssociated is a TransitGatewayMulitcastDomainAssociationState enum value
129794	TransitGatewayMulitcastDomainAssociationStateAssociated = "associated"
129795
129796	// TransitGatewayMulitcastDomainAssociationStateDisassociating is a TransitGatewayMulitcastDomainAssociationState enum value
129797	TransitGatewayMulitcastDomainAssociationStateDisassociating = "disassociating"
129798
129799	// TransitGatewayMulitcastDomainAssociationStateDisassociated is a TransitGatewayMulitcastDomainAssociationState enum value
129800	TransitGatewayMulitcastDomainAssociationStateDisassociated = "disassociated"
129801
129802	// TransitGatewayMulitcastDomainAssociationStateRejected is a TransitGatewayMulitcastDomainAssociationState enum value
129803	TransitGatewayMulitcastDomainAssociationStateRejected = "rejected"
129804
129805	// TransitGatewayMulitcastDomainAssociationStateFailed is a TransitGatewayMulitcastDomainAssociationState enum value
129806	TransitGatewayMulitcastDomainAssociationStateFailed = "failed"
129807)
129808
129809// TransitGatewayMulitcastDomainAssociationState_Values returns all elements of the TransitGatewayMulitcastDomainAssociationState enum
129810func TransitGatewayMulitcastDomainAssociationState_Values() []string {
129811	return []string{
129812		TransitGatewayMulitcastDomainAssociationStatePendingAcceptance,
129813		TransitGatewayMulitcastDomainAssociationStateAssociating,
129814		TransitGatewayMulitcastDomainAssociationStateAssociated,
129815		TransitGatewayMulitcastDomainAssociationStateDisassociating,
129816		TransitGatewayMulitcastDomainAssociationStateDisassociated,
129817		TransitGatewayMulitcastDomainAssociationStateRejected,
129818		TransitGatewayMulitcastDomainAssociationStateFailed,
129819	}
129820}
129821
129822const (
129823	// TransitGatewayMulticastDomainStatePending is a TransitGatewayMulticastDomainState enum value
129824	TransitGatewayMulticastDomainStatePending = "pending"
129825
129826	// TransitGatewayMulticastDomainStateAvailable is a TransitGatewayMulticastDomainState enum value
129827	TransitGatewayMulticastDomainStateAvailable = "available"
129828
129829	// TransitGatewayMulticastDomainStateDeleting is a TransitGatewayMulticastDomainState enum value
129830	TransitGatewayMulticastDomainStateDeleting = "deleting"
129831
129832	// TransitGatewayMulticastDomainStateDeleted is a TransitGatewayMulticastDomainState enum value
129833	TransitGatewayMulticastDomainStateDeleted = "deleted"
129834)
129835
129836// TransitGatewayMulticastDomainState_Values returns all elements of the TransitGatewayMulticastDomainState enum
129837func TransitGatewayMulticastDomainState_Values() []string {
129838	return []string{
129839		TransitGatewayMulticastDomainStatePending,
129840		TransitGatewayMulticastDomainStateAvailable,
129841		TransitGatewayMulticastDomainStateDeleting,
129842		TransitGatewayMulticastDomainStateDeleted,
129843	}
129844}
129845
129846const (
129847	// TransitGatewayPrefixListReferenceStatePending is a TransitGatewayPrefixListReferenceState enum value
129848	TransitGatewayPrefixListReferenceStatePending = "pending"
129849
129850	// TransitGatewayPrefixListReferenceStateAvailable is a TransitGatewayPrefixListReferenceState enum value
129851	TransitGatewayPrefixListReferenceStateAvailable = "available"
129852
129853	// TransitGatewayPrefixListReferenceStateModifying is a TransitGatewayPrefixListReferenceState enum value
129854	TransitGatewayPrefixListReferenceStateModifying = "modifying"
129855
129856	// TransitGatewayPrefixListReferenceStateDeleting is a TransitGatewayPrefixListReferenceState enum value
129857	TransitGatewayPrefixListReferenceStateDeleting = "deleting"
129858)
129859
129860// TransitGatewayPrefixListReferenceState_Values returns all elements of the TransitGatewayPrefixListReferenceState enum
129861func TransitGatewayPrefixListReferenceState_Values() []string {
129862	return []string{
129863		TransitGatewayPrefixListReferenceStatePending,
129864		TransitGatewayPrefixListReferenceStateAvailable,
129865		TransitGatewayPrefixListReferenceStateModifying,
129866		TransitGatewayPrefixListReferenceStateDeleting,
129867	}
129868}
129869
129870const (
129871	// TransitGatewayPropagationStateEnabling is a TransitGatewayPropagationState enum value
129872	TransitGatewayPropagationStateEnabling = "enabling"
129873
129874	// TransitGatewayPropagationStateEnabled is a TransitGatewayPropagationState enum value
129875	TransitGatewayPropagationStateEnabled = "enabled"
129876
129877	// TransitGatewayPropagationStateDisabling is a TransitGatewayPropagationState enum value
129878	TransitGatewayPropagationStateDisabling = "disabling"
129879
129880	// TransitGatewayPropagationStateDisabled is a TransitGatewayPropagationState enum value
129881	TransitGatewayPropagationStateDisabled = "disabled"
129882)
129883
129884// TransitGatewayPropagationState_Values returns all elements of the TransitGatewayPropagationState enum
129885func TransitGatewayPropagationState_Values() []string {
129886	return []string{
129887		TransitGatewayPropagationStateEnabling,
129888		TransitGatewayPropagationStateEnabled,
129889		TransitGatewayPropagationStateDisabling,
129890		TransitGatewayPropagationStateDisabled,
129891	}
129892}
129893
129894const (
129895	// TransitGatewayRouteStatePending is a TransitGatewayRouteState enum value
129896	TransitGatewayRouteStatePending = "pending"
129897
129898	// TransitGatewayRouteStateActive is a TransitGatewayRouteState enum value
129899	TransitGatewayRouteStateActive = "active"
129900
129901	// TransitGatewayRouteStateBlackhole is a TransitGatewayRouteState enum value
129902	TransitGatewayRouteStateBlackhole = "blackhole"
129903
129904	// TransitGatewayRouteStateDeleting is a TransitGatewayRouteState enum value
129905	TransitGatewayRouteStateDeleting = "deleting"
129906
129907	// TransitGatewayRouteStateDeleted is a TransitGatewayRouteState enum value
129908	TransitGatewayRouteStateDeleted = "deleted"
129909)
129910
129911// TransitGatewayRouteState_Values returns all elements of the TransitGatewayRouteState enum
129912func TransitGatewayRouteState_Values() []string {
129913	return []string{
129914		TransitGatewayRouteStatePending,
129915		TransitGatewayRouteStateActive,
129916		TransitGatewayRouteStateBlackhole,
129917		TransitGatewayRouteStateDeleting,
129918		TransitGatewayRouteStateDeleted,
129919	}
129920}
129921
129922const (
129923	// TransitGatewayRouteTableStatePending is a TransitGatewayRouteTableState enum value
129924	TransitGatewayRouteTableStatePending = "pending"
129925
129926	// TransitGatewayRouteTableStateAvailable is a TransitGatewayRouteTableState enum value
129927	TransitGatewayRouteTableStateAvailable = "available"
129928
129929	// TransitGatewayRouteTableStateDeleting is a TransitGatewayRouteTableState enum value
129930	TransitGatewayRouteTableStateDeleting = "deleting"
129931
129932	// TransitGatewayRouteTableStateDeleted is a TransitGatewayRouteTableState enum value
129933	TransitGatewayRouteTableStateDeleted = "deleted"
129934)
129935
129936// TransitGatewayRouteTableState_Values returns all elements of the TransitGatewayRouteTableState enum
129937func TransitGatewayRouteTableState_Values() []string {
129938	return []string{
129939		TransitGatewayRouteTableStatePending,
129940		TransitGatewayRouteTableStateAvailable,
129941		TransitGatewayRouteTableStateDeleting,
129942		TransitGatewayRouteTableStateDeleted,
129943	}
129944}
129945
129946const (
129947	// TransitGatewayRouteTypeStatic is a TransitGatewayRouteType enum value
129948	TransitGatewayRouteTypeStatic = "static"
129949
129950	// TransitGatewayRouteTypePropagated is a TransitGatewayRouteType enum value
129951	TransitGatewayRouteTypePropagated = "propagated"
129952)
129953
129954// TransitGatewayRouteType_Values returns all elements of the TransitGatewayRouteType enum
129955func TransitGatewayRouteType_Values() []string {
129956	return []string{
129957		TransitGatewayRouteTypeStatic,
129958		TransitGatewayRouteTypePropagated,
129959	}
129960}
129961
129962const (
129963	// TransitGatewayStatePending is a TransitGatewayState enum value
129964	TransitGatewayStatePending = "pending"
129965
129966	// TransitGatewayStateAvailable is a TransitGatewayState enum value
129967	TransitGatewayStateAvailable = "available"
129968
129969	// TransitGatewayStateModifying is a TransitGatewayState enum value
129970	TransitGatewayStateModifying = "modifying"
129971
129972	// TransitGatewayStateDeleting is a TransitGatewayState enum value
129973	TransitGatewayStateDeleting = "deleting"
129974
129975	// TransitGatewayStateDeleted is a TransitGatewayState enum value
129976	TransitGatewayStateDeleted = "deleted"
129977)
129978
129979// TransitGatewayState_Values returns all elements of the TransitGatewayState enum
129980func TransitGatewayState_Values() []string {
129981	return []string{
129982		TransitGatewayStatePending,
129983		TransitGatewayStateAvailable,
129984		TransitGatewayStateModifying,
129985		TransitGatewayStateDeleting,
129986		TransitGatewayStateDeleted,
129987	}
129988}
129989
129990const (
129991	// TransportProtocolTcp is a TransportProtocol enum value
129992	TransportProtocolTcp = "tcp"
129993
129994	// TransportProtocolUdp is a TransportProtocol enum value
129995	TransportProtocolUdp = "udp"
129996)
129997
129998// TransportProtocol_Values returns all elements of the TransportProtocol enum
129999func TransportProtocol_Values() []string {
130000	return []string{
130001		TransportProtocolTcp,
130002		TransportProtocolUdp,
130003	}
130004}
130005
130006const (
130007	// TunnelInsideIpVersionIpv4 is a TunnelInsideIpVersion enum value
130008	TunnelInsideIpVersionIpv4 = "ipv4"
130009
130010	// TunnelInsideIpVersionIpv6 is a TunnelInsideIpVersion enum value
130011	TunnelInsideIpVersionIpv6 = "ipv6"
130012)
130013
130014// TunnelInsideIpVersion_Values returns all elements of the TunnelInsideIpVersion enum
130015func TunnelInsideIpVersion_Values() []string {
130016	return []string{
130017		TunnelInsideIpVersionIpv4,
130018		TunnelInsideIpVersionIpv6,
130019	}
130020}
130021
130022const (
130023	// UnlimitedSupportedInstanceFamilyT2 is a UnlimitedSupportedInstanceFamily enum value
130024	UnlimitedSupportedInstanceFamilyT2 = "t2"
130025
130026	// UnlimitedSupportedInstanceFamilyT3 is a UnlimitedSupportedInstanceFamily enum value
130027	UnlimitedSupportedInstanceFamilyT3 = "t3"
130028
130029	// UnlimitedSupportedInstanceFamilyT3a is a UnlimitedSupportedInstanceFamily enum value
130030	UnlimitedSupportedInstanceFamilyT3a = "t3a"
130031
130032	// UnlimitedSupportedInstanceFamilyT4g is a UnlimitedSupportedInstanceFamily enum value
130033	UnlimitedSupportedInstanceFamilyT4g = "t4g"
130034)
130035
130036// UnlimitedSupportedInstanceFamily_Values returns all elements of the UnlimitedSupportedInstanceFamily enum
130037func UnlimitedSupportedInstanceFamily_Values() []string {
130038	return []string{
130039		UnlimitedSupportedInstanceFamilyT2,
130040		UnlimitedSupportedInstanceFamilyT3,
130041		UnlimitedSupportedInstanceFamilyT3a,
130042		UnlimitedSupportedInstanceFamilyT4g,
130043	}
130044}
130045
130046const (
130047	// UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdMalformed is a UnsuccessfulInstanceCreditSpecificationErrorCode enum value
130048	UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdMalformed = "InvalidInstanceID.Malformed"
130049
130050	// UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdNotFound is a UnsuccessfulInstanceCreditSpecificationErrorCode enum value
130051	UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdNotFound = "InvalidInstanceID.NotFound"
130052
130053	// UnsuccessfulInstanceCreditSpecificationErrorCodeIncorrectInstanceState is a UnsuccessfulInstanceCreditSpecificationErrorCode enum value
130054	UnsuccessfulInstanceCreditSpecificationErrorCodeIncorrectInstanceState = "IncorrectInstanceState"
130055
130056	// UnsuccessfulInstanceCreditSpecificationErrorCodeInstanceCreditSpecificationNotSupported is a UnsuccessfulInstanceCreditSpecificationErrorCode enum value
130057	UnsuccessfulInstanceCreditSpecificationErrorCodeInstanceCreditSpecificationNotSupported = "InstanceCreditSpecification.NotSupported"
130058)
130059
130060// UnsuccessfulInstanceCreditSpecificationErrorCode_Values returns all elements of the UnsuccessfulInstanceCreditSpecificationErrorCode enum
130061func UnsuccessfulInstanceCreditSpecificationErrorCode_Values() []string {
130062	return []string{
130063		UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdMalformed,
130064		UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdNotFound,
130065		UnsuccessfulInstanceCreditSpecificationErrorCodeIncorrectInstanceState,
130066		UnsuccessfulInstanceCreditSpecificationErrorCodeInstanceCreditSpecificationNotSupported,
130067	}
130068}
130069
130070const (
130071	// UsageClassTypeSpot is a UsageClassType enum value
130072	UsageClassTypeSpot = "spot"
130073
130074	// UsageClassTypeOnDemand is a UsageClassType enum value
130075	UsageClassTypeOnDemand = "on-demand"
130076)
130077
130078// UsageClassType_Values returns all elements of the UsageClassType enum
130079func UsageClassType_Values() []string {
130080	return []string{
130081		UsageClassTypeSpot,
130082		UsageClassTypeOnDemand,
130083	}
130084}
130085
130086const (
130087	// VirtualizationTypeHvm is a VirtualizationType enum value
130088	VirtualizationTypeHvm = "hvm"
130089
130090	// VirtualizationTypeParavirtual is a VirtualizationType enum value
130091	VirtualizationTypeParavirtual = "paravirtual"
130092)
130093
130094// VirtualizationType_Values returns all elements of the VirtualizationType enum
130095func VirtualizationType_Values() []string {
130096	return []string{
130097		VirtualizationTypeHvm,
130098		VirtualizationTypeParavirtual,
130099	}
130100}
130101
130102const (
130103	// VolumeAttachmentStateAttaching is a VolumeAttachmentState enum value
130104	VolumeAttachmentStateAttaching = "attaching"
130105
130106	// VolumeAttachmentStateAttached is a VolumeAttachmentState enum value
130107	VolumeAttachmentStateAttached = "attached"
130108
130109	// VolumeAttachmentStateDetaching is a VolumeAttachmentState enum value
130110	VolumeAttachmentStateDetaching = "detaching"
130111
130112	// VolumeAttachmentStateDetached is a VolumeAttachmentState enum value
130113	VolumeAttachmentStateDetached = "detached"
130114
130115	// VolumeAttachmentStateBusy is a VolumeAttachmentState enum value
130116	VolumeAttachmentStateBusy = "busy"
130117)
130118
130119// VolumeAttachmentState_Values returns all elements of the VolumeAttachmentState enum
130120func VolumeAttachmentState_Values() []string {
130121	return []string{
130122		VolumeAttachmentStateAttaching,
130123		VolumeAttachmentStateAttached,
130124		VolumeAttachmentStateDetaching,
130125		VolumeAttachmentStateDetached,
130126		VolumeAttachmentStateBusy,
130127	}
130128}
130129
130130const (
130131	// VolumeAttributeNameAutoEnableIo is a VolumeAttributeName enum value
130132	VolumeAttributeNameAutoEnableIo = "autoEnableIO"
130133
130134	// VolumeAttributeNameProductCodes is a VolumeAttributeName enum value
130135	VolumeAttributeNameProductCodes = "productCodes"
130136)
130137
130138// VolumeAttributeName_Values returns all elements of the VolumeAttributeName enum
130139func VolumeAttributeName_Values() []string {
130140	return []string{
130141		VolumeAttributeNameAutoEnableIo,
130142		VolumeAttributeNameProductCodes,
130143	}
130144}
130145
130146const (
130147	// VolumeModificationStateModifying is a VolumeModificationState enum value
130148	VolumeModificationStateModifying = "modifying"
130149
130150	// VolumeModificationStateOptimizing is a VolumeModificationState enum value
130151	VolumeModificationStateOptimizing = "optimizing"
130152
130153	// VolumeModificationStateCompleted is a VolumeModificationState enum value
130154	VolumeModificationStateCompleted = "completed"
130155
130156	// VolumeModificationStateFailed is a VolumeModificationState enum value
130157	VolumeModificationStateFailed = "failed"
130158)
130159
130160// VolumeModificationState_Values returns all elements of the VolumeModificationState enum
130161func VolumeModificationState_Values() []string {
130162	return []string{
130163		VolumeModificationStateModifying,
130164		VolumeModificationStateOptimizing,
130165		VolumeModificationStateCompleted,
130166		VolumeModificationStateFailed,
130167	}
130168}
130169
130170const (
130171	// VolumeStateCreating is a VolumeState enum value
130172	VolumeStateCreating = "creating"
130173
130174	// VolumeStateAvailable is a VolumeState enum value
130175	VolumeStateAvailable = "available"
130176
130177	// VolumeStateInUse is a VolumeState enum value
130178	VolumeStateInUse = "in-use"
130179
130180	// VolumeStateDeleting is a VolumeState enum value
130181	VolumeStateDeleting = "deleting"
130182
130183	// VolumeStateDeleted is a VolumeState enum value
130184	VolumeStateDeleted = "deleted"
130185
130186	// VolumeStateError is a VolumeState enum value
130187	VolumeStateError = "error"
130188)
130189
130190// VolumeState_Values returns all elements of the VolumeState enum
130191func VolumeState_Values() []string {
130192	return []string{
130193		VolumeStateCreating,
130194		VolumeStateAvailable,
130195		VolumeStateInUse,
130196		VolumeStateDeleting,
130197		VolumeStateDeleted,
130198		VolumeStateError,
130199	}
130200}
130201
130202const (
130203	// VolumeStatusInfoStatusOk is a VolumeStatusInfoStatus enum value
130204	VolumeStatusInfoStatusOk = "ok"
130205
130206	// VolumeStatusInfoStatusImpaired is a VolumeStatusInfoStatus enum value
130207	VolumeStatusInfoStatusImpaired = "impaired"
130208
130209	// VolumeStatusInfoStatusInsufficientData is a VolumeStatusInfoStatus enum value
130210	VolumeStatusInfoStatusInsufficientData = "insufficient-data"
130211)
130212
130213// VolumeStatusInfoStatus_Values returns all elements of the VolumeStatusInfoStatus enum
130214func VolumeStatusInfoStatus_Values() []string {
130215	return []string{
130216		VolumeStatusInfoStatusOk,
130217		VolumeStatusInfoStatusImpaired,
130218		VolumeStatusInfoStatusInsufficientData,
130219	}
130220}
130221
130222const (
130223	// VolumeStatusNameIoEnabled is a VolumeStatusName enum value
130224	VolumeStatusNameIoEnabled = "io-enabled"
130225
130226	// VolumeStatusNameIoPerformance is a VolumeStatusName enum value
130227	VolumeStatusNameIoPerformance = "io-performance"
130228)
130229
130230// VolumeStatusName_Values returns all elements of the VolumeStatusName enum
130231func VolumeStatusName_Values() []string {
130232	return []string{
130233		VolumeStatusNameIoEnabled,
130234		VolumeStatusNameIoPerformance,
130235	}
130236}
130237
130238const (
130239	// VolumeTypeStandard is a VolumeType enum value
130240	VolumeTypeStandard = "standard"
130241
130242	// VolumeTypeIo1 is a VolumeType enum value
130243	VolumeTypeIo1 = "io1"
130244
130245	// VolumeTypeIo2 is a VolumeType enum value
130246	VolumeTypeIo2 = "io2"
130247
130248	// VolumeTypeGp2 is a VolumeType enum value
130249	VolumeTypeGp2 = "gp2"
130250
130251	// VolumeTypeSc1 is a VolumeType enum value
130252	VolumeTypeSc1 = "sc1"
130253
130254	// VolumeTypeSt1 is a VolumeType enum value
130255	VolumeTypeSt1 = "st1"
130256
130257	// VolumeTypeGp3 is a VolumeType enum value
130258	VolumeTypeGp3 = "gp3"
130259)
130260
130261// VolumeType_Values returns all elements of the VolumeType enum
130262func VolumeType_Values() []string {
130263	return []string{
130264		VolumeTypeStandard,
130265		VolumeTypeIo1,
130266		VolumeTypeIo2,
130267		VolumeTypeGp2,
130268		VolumeTypeSc1,
130269		VolumeTypeSt1,
130270		VolumeTypeGp3,
130271	}
130272}
130273
130274const (
130275	// VpcAttributeNameEnableDnsSupport is a VpcAttributeName enum value
130276	VpcAttributeNameEnableDnsSupport = "enableDnsSupport"
130277
130278	// VpcAttributeNameEnableDnsHostnames is a VpcAttributeName enum value
130279	VpcAttributeNameEnableDnsHostnames = "enableDnsHostnames"
130280)
130281
130282// VpcAttributeName_Values returns all elements of the VpcAttributeName enum
130283func VpcAttributeName_Values() []string {
130284	return []string{
130285		VpcAttributeNameEnableDnsSupport,
130286		VpcAttributeNameEnableDnsHostnames,
130287	}
130288}
130289
130290const (
130291	// VpcCidrBlockStateCodeAssociating is a VpcCidrBlockStateCode enum value
130292	VpcCidrBlockStateCodeAssociating = "associating"
130293
130294	// VpcCidrBlockStateCodeAssociated is a VpcCidrBlockStateCode enum value
130295	VpcCidrBlockStateCodeAssociated = "associated"
130296
130297	// VpcCidrBlockStateCodeDisassociating is a VpcCidrBlockStateCode enum value
130298	VpcCidrBlockStateCodeDisassociating = "disassociating"
130299
130300	// VpcCidrBlockStateCodeDisassociated is a VpcCidrBlockStateCode enum value
130301	VpcCidrBlockStateCodeDisassociated = "disassociated"
130302
130303	// VpcCidrBlockStateCodeFailing is a VpcCidrBlockStateCode enum value
130304	VpcCidrBlockStateCodeFailing = "failing"
130305
130306	// VpcCidrBlockStateCodeFailed is a VpcCidrBlockStateCode enum value
130307	VpcCidrBlockStateCodeFailed = "failed"
130308)
130309
130310// VpcCidrBlockStateCode_Values returns all elements of the VpcCidrBlockStateCode enum
130311func VpcCidrBlockStateCode_Values() []string {
130312	return []string{
130313		VpcCidrBlockStateCodeAssociating,
130314		VpcCidrBlockStateCodeAssociated,
130315		VpcCidrBlockStateCodeDisassociating,
130316		VpcCidrBlockStateCodeDisassociated,
130317		VpcCidrBlockStateCodeFailing,
130318		VpcCidrBlockStateCodeFailed,
130319	}
130320}
130321
130322const (
130323	// VpcEndpointTypeInterface is a VpcEndpointType enum value
130324	VpcEndpointTypeInterface = "Interface"
130325
130326	// VpcEndpointTypeGateway is a VpcEndpointType enum value
130327	VpcEndpointTypeGateway = "Gateway"
130328
130329	// VpcEndpointTypeGatewayLoadBalancer is a VpcEndpointType enum value
130330	VpcEndpointTypeGatewayLoadBalancer = "GatewayLoadBalancer"
130331)
130332
130333// VpcEndpointType_Values returns all elements of the VpcEndpointType enum
130334func VpcEndpointType_Values() []string {
130335	return []string{
130336		VpcEndpointTypeInterface,
130337		VpcEndpointTypeGateway,
130338		VpcEndpointTypeGatewayLoadBalancer,
130339	}
130340}
130341
130342const (
130343	// VpcPeeringConnectionStateReasonCodeInitiatingRequest is a VpcPeeringConnectionStateReasonCode enum value
130344	VpcPeeringConnectionStateReasonCodeInitiatingRequest = "initiating-request"
130345
130346	// VpcPeeringConnectionStateReasonCodePendingAcceptance is a VpcPeeringConnectionStateReasonCode enum value
130347	VpcPeeringConnectionStateReasonCodePendingAcceptance = "pending-acceptance"
130348
130349	// VpcPeeringConnectionStateReasonCodeActive is a VpcPeeringConnectionStateReasonCode enum value
130350	VpcPeeringConnectionStateReasonCodeActive = "active"
130351
130352	// VpcPeeringConnectionStateReasonCodeDeleted is a VpcPeeringConnectionStateReasonCode enum value
130353	VpcPeeringConnectionStateReasonCodeDeleted = "deleted"
130354
130355	// VpcPeeringConnectionStateReasonCodeRejected is a VpcPeeringConnectionStateReasonCode enum value
130356	VpcPeeringConnectionStateReasonCodeRejected = "rejected"
130357
130358	// VpcPeeringConnectionStateReasonCodeFailed is a VpcPeeringConnectionStateReasonCode enum value
130359	VpcPeeringConnectionStateReasonCodeFailed = "failed"
130360
130361	// VpcPeeringConnectionStateReasonCodeExpired is a VpcPeeringConnectionStateReasonCode enum value
130362	VpcPeeringConnectionStateReasonCodeExpired = "expired"
130363
130364	// VpcPeeringConnectionStateReasonCodeProvisioning is a VpcPeeringConnectionStateReasonCode enum value
130365	VpcPeeringConnectionStateReasonCodeProvisioning = "provisioning"
130366
130367	// VpcPeeringConnectionStateReasonCodeDeleting is a VpcPeeringConnectionStateReasonCode enum value
130368	VpcPeeringConnectionStateReasonCodeDeleting = "deleting"
130369)
130370
130371// VpcPeeringConnectionStateReasonCode_Values returns all elements of the VpcPeeringConnectionStateReasonCode enum
130372func VpcPeeringConnectionStateReasonCode_Values() []string {
130373	return []string{
130374		VpcPeeringConnectionStateReasonCodeInitiatingRequest,
130375		VpcPeeringConnectionStateReasonCodePendingAcceptance,
130376		VpcPeeringConnectionStateReasonCodeActive,
130377		VpcPeeringConnectionStateReasonCodeDeleted,
130378		VpcPeeringConnectionStateReasonCodeRejected,
130379		VpcPeeringConnectionStateReasonCodeFailed,
130380		VpcPeeringConnectionStateReasonCodeExpired,
130381		VpcPeeringConnectionStateReasonCodeProvisioning,
130382		VpcPeeringConnectionStateReasonCodeDeleting,
130383	}
130384}
130385
130386const (
130387	// VpcStatePending is a VpcState enum value
130388	VpcStatePending = "pending"
130389
130390	// VpcStateAvailable is a VpcState enum value
130391	VpcStateAvailable = "available"
130392)
130393
130394// VpcState_Values returns all elements of the VpcState enum
130395func VpcState_Values() []string {
130396	return []string{
130397		VpcStatePending,
130398		VpcStateAvailable,
130399	}
130400}
130401
130402const (
130403	// VpcTenancyDefault is a VpcTenancy enum value
130404	VpcTenancyDefault = "default"
130405)
130406
130407// VpcTenancy_Values returns all elements of the VpcTenancy enum
130408func VpcTenancy_Values() []string {
130409	return []string{
130410		VpcTenancyDefault,
130411	}
130412}
130413
130414const (
130415	// VpnEcmpSupportValueEnable is a VpnEcmpSupportValue enum value
130416	VpnEcmpSupportValueEnable = "enable"
130417
130418	// VpnEcmpSupportValueDisable is a VpnEcmpSupportValue enum value
130419	VpnEcmpSupportValueDisable = "disable"
130420)
130421
130422// VpnEcmpSupportValue_Values returns all elements of the VpnEcmpSupportValue enum
130423func VpnEcmpSupportValue_Values() []string {
130424	return []string{
130425		VpnEcmpSupportValueEnable,
130426		VpnEcmpSupportValueDisable,
130427	}
130428}
130429
130430const (
130431	// VpnProtocolOpenvpn is a VpnProtocol enum value
130432	VpnProtocolOpenvpn = "openvpn"
130433)
130434
130435// VpnProtocol_Values returns all elements of the VpnProtocol enum
130436func VpnProtocol_Values() []string {
130437	return []string{
130438		VpnProtocolOpenvpn,
130439	}
130440}
130441
130442const (
130443	// VpnStatePending is a VpnState enum value
130444	VpnStatePending = "pending"
130445
130446	// VpnStateAvailable is a VpnState enum value
130447	VpnStateAvailable = "available"
130448
130449	// VpnStateDeleting is a VpnState enum value
130450	VpnStateDeleting = "deleting"
130451
130452	// VpnStateDeleted is a VpnState enum value
130453	VpnStateDeleted = "deleted"
130454)
130455
130456// VpnState_Values returns all elements of the VpnState enum
130457func VpnState_Values() []string {
130458	return []string{
130459		VpnStatePending,
130460		VpnStateAvailable,
130461		VpnStateDeleting,
130462		VpnStateDeleted,
130463	}
130464}
130465
130466const (
130467	// VpnStaticRouteSourceStatic is a VpnStaticRouteSource enum value
130468	VpnStaticRouteSourceStatic = "Static"
130469)
130470
130471// VpnStaticRouteSource_Values returns all elements of the VpnStaticRouteSource enum
130472func VpnStaticRouteSource_Values() []string {
130473	return []string{
130474		VpnStaticRouteSourceStatic,
130475	}
130476}
130477